@duxweb/dvha-pro 1.0.47 → 1.0.49

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 (49) hide show
  1. package/dist/cjs/component.cjs +1 -1
  2. package/dist/cjs/dvha-pro.css +1 -1
  3. package/dist/cjs/index.cjs +1 -1
  4. package/dist/cjs/langs/en-US.json.cjs +1 -1
  5. package/dist/cjs/langs/zh-CN.json.cjs +1 -1
  6. package/dist/cjs/pages/authLayout.cjs +1 -1
  7. package/dist/cjs/pages/layout/page.cjs +1 -1
  8. package/dist/cjs/pages/layout/tab.cjs +1 -1
  9. package/dist/cjs/pages/menu/avatar.cjs +1 -1
  10. package/dist/cjs/pages/menu/button.cjs +1 -1
  11. package/dist/cjs/pages/menu/dark.cjs +1 -0
  12. package/dist/cjs/pages/menu/menuApp.cjs +1 -0
  13. package/dist/cjs/pages/menu/menuMain.cjs +1 -0
  14. package/dist/cjs/pages/menu/mobile.cjs +1 -1
  15. package/dist/cjs/pages/menu/notice.cjs +1 -0
  16. package/dist/cjs/pages/pageException.cjs +1 -0
  17. package/dist/cjs/pages/pageStatus.cjs +1 -1
  18. package/dist/cjs/theme/uno.css.cjs +20 -4
  19. package/dist/esm/component.js +1 -1
  20. package/dist/esm/dvha-pro.css +1 -1
  21. package/dist/esm/index.js +115 -109
  22. package/dist/esm/langs/en-US.json.js +1 -1
  23. package/dist/esm/langs/zh-CN.json.js +2 -2
  24. package/dist/esm/pages/authLayout.js +20 -17
  25. package/dist/esm/pages/layout/page.js +1 -1
  26. package/dist/esm/pages/layout/tab.js +2 -2
  27. package/dist/esm/pages/menu/avatar.js +83 -71
  28. package/dist/esm/pages/menu/button.js +12 -13
  29. package/dist/esm/pages/menu/dark.js +54 -0
  30. package/dist/esm/pages/menu/menuApp.js +207 -0
  31. package/dist/esm/pages/menu/{main.js → menuMain.js} +46 -41
  32. package/dist/esm/pages/menu/mobile.js +16 -13
  33. package/dist/esm/pages/menu/notice.js +205 -0
  34. package/dist/esm/pages/pageException.js +45 -0
  35. package/dist/esm/pages/pageStatus.js +1 -1
  36. package/dist/esm/theme/uno.css.js +20 -4
  37. package/dist/types/index.d.ts +0 -1
  38. package/dist/types/main.d.ts +12 -0
  39. package/dist/types/pages/index.d.ts +1 -0
  40. package/dist/types/pages/menu/avatar.d.ts +18 -0
  41. package/dist/types/pages/menu/button.d.ts +9 -9
  42. package/dist/types/pages/menu/dark.d.ts +2 -0
  43. package/dist/types/pages/menu/index.d.ts +4 -1
  44. package/dist/types/pages/menu/{main.d.ts → menuApp.d.ts} +1 -1
  45. package/dist/types/pages/menu/menuMain.d.ts +22 -0
  46. package/dist/types/pages/menu/notice.d.ts +14 -0
  47. package/dist/types/pages/pageException.d.ts +1 -0
  48. package/package.json +3 -3
  49. package/dist/cjs/pages/menu/main.cjs +0 -1
@@ -1,5 +1,5 @@
1
1
  "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=`/* layer: properties */
2
- @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*, ::before, ::after, ::backdrop{--un-text-opacity:100%;--un-bg-opacity:100%;--un-divide-y-reverse:initial;--un-border-style:solid;--un-from-opacity:100%;--un-divide-x-reverse:initial;--un-divide-opacity:100%;--un-border-opacity:100%;--un-translate-x:initial;--un-translate-y:initial;--un-translate-z:initial;--un-shadow-opacity:100%;--un-ease:initial;--un-to-opacity:100%;--un-outline-style:solid;--un-fill-opacity:100%;--un-space-y-reverse:initial;}}
2
+ @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))){*, ::before, ::after, ::backdrop{--un-from-opacity:100%;--un-text-opacity:100%;--un-bg-opacity:100%;--un-divide-y-reverse:initial;--un-border-style:solid;--un-divide-x-reverse:initial;--un-divide-opacity:100%;--un-shadow-opacity:100%;--un-border-opacity:100%;--un-translate-x:initial;--un-translate-y:initial;--un-translate-z:initial;--un-ease:initial;--un-to-opacity:100%;--un-outline-style:solid;--un-fill-opacity:100%;--un-space-y-reverse:initial;}}
3
3
  @property --un-text-opacity{syntax:"<percentage>";inherits:false;initial-value:100%;}
4
4
  @property --un-outline-style{syntax:"*";inherits:false;initial-value:solid;}
5
5
  @property --un-border-opacity{syntax:"<percentage>";inherits:false;initial-value:100%;}
@@ -927,6 +927,7 @@ input:where([type='button'], [type='reset'], [type='submit']),
927
927
  .i-tabler\\:arrow-right{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 12h14m-6 6l6-6m-6-6l6 6'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
928
928
  .i-tabler\\:arrows-move{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m18 9l3 3l-3 3m-3-3h6M6 9l-3 3l3 3m-3-3h6m0 6l3 3l3-3m-3-3v6m3-15l-3-3l-3 3m3-3v6'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
929
929
  .i-tabler\\:at{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M8 12a4 4 0 1 0 8 0a4 4 0 1 0-8 0'/%3E%3Cpath d='M16 12v1.5a2.5 2.5 0 0 0 5 0V12a9 9 0 1 0-5.5 8.28'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
930
+ .i-tabler\\:bell{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M10 5a2 2 0 1 1 4 0a7 7 0 0 1 4 6v3a4 4 0 0 0 2 3H4a4 4 0 0 0 2-3v-3a7 7 0 0 1 4-6M9 17v1a3 3 0 0 0 6 0v-1'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
930
931
  .i-tabler\\:binary-tree{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 20a2 2 0 1 0-4 0a2 2 0 0 0 4 0M16 4a2 2 0 1 0-4 0a2 2 0 0 0 4 0m0 16a2 2 0 1 0-4 0a2 2 0 0 0 4 0m-5-8a2 2 0 1 0-4 0a2 2 0 0 0 4 0m10 0a2 2 0 1 0-4 0a2 2 0 0 0 4 0M5.058 18.306l2.88-4.606m2.123-3.397l2.877-4.604m-2.873 8.006l2.876 4.6M15.063 5.7l2.881 4.61'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
931
932
  .i-tabler\\:box{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m12 3l8 4.5v9L12 21l-8-4.5v-9zm0 9l8-4.5M12 12v9m0-9L4 7.5'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
932
933
  .i-tabler\\:brightness-half{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M12 9a3 3 0 0 0 0 6z'/%3E%3Cpath d='M6 6h3.5L12 3.5L14.5 6H18v3.5l2.5 2.5l-2.5 2.5V18h-3.5L12 20.5L9.5 18H6v-3.5L3.5 12L6 9.5z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
@@ -944,6 +945,7 @@ input:where([type='button'], [type='reset'], [type='submit']),
944
945
  .i-tabler\\:cursor-text{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M10 12h4M9 4a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3m6-16a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
945
946
  .i-tabler\\:database-export{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M4 6c0 1.657 3.582 3 8 3s8-1.343 8-3s-3.582-3-8-3s-8 1.343-8 3'/%3E%3Cpath d='M4 6v6c0 1.657 3.582 3 8 3c1.118 0 2.183-.086 3.15-.241M20 12V6'/%3E%3Cpath d='M4 12v6c0 1.657 3.582 3 8 3q.235 0 .466-.005M16 19h6m-3-3l3 3l-3 3'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
946
947
  .i-tabler\\:database-import{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M4 6c0 1.657 3.582 3 8 3s8-1.343 8-3s-3.582-3-8-3s-8 1.343-8 3'/%3E%3Cpath d='M4 6v6c0 1.657 3.582 3 8 3c.856 0 1.68-.05 2.454-.144M20 12V6'/%3E%3Cpath d='M4 12v6c0 1.657 3.582 3 8 3q.256 0 .51-.006M19 22v-6m3 3l-3-3l-3 3'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
948
+ .i-tabler\\:device-desktop{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 5a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1zm4 15h10m-8-4v4m6-4v4'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
947
949
  .i-tabler\\:device-desktop-up{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.5 16H4a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v7.5M19 22v-6m3 3l-3-3l-3 3m-9 1h5m-3-4v4'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
948
950
  .i-tabler\\:device-floppy{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'%3E%3Cpath d='M6 4h10l4 4v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2'/%3E%3Cpath d='M10 14a2 2 0 1 0 4 0a2 2 0 1 0-4 0m4-10v4H8V4'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
949
951
  .i-tabler\\:directions{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' width='1em' height='1em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 21v-4m0-4V9m0-4V3m-2 18h4M8 5v4h11l2-2l-2-2zm6 8v4H6l-2-2l2-2z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit;width:1em;height:1em;}
@@ -1055,7 +1057,9 @@ input:where([type='button'], [type='reset'], [type='submit']),
1055
1057
  .text-warning{color:color-mix(in srgb, var(--colors-warning-DEFAULT) var(--un-text-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-warning)) var(--un-text-opacity, 100%), transparent) */;}
1056
1058
  .text-white{color:color-mix(in srgb, var(--colors-white-DEFAULT) var(--un-text-opacity), transparent) /* rgb(var(--ui-color-white)) */;}
1057
1059
  .text-white\\/90{color:color-mix(in srgb, var(--colors-white-DEFAULT) 90%, transparent) /* rgb(var(--ui-color-white)) */;}
1060
+ .hover\\:text-primary-hover:hover{color:color-mix(in srgb, var(--colors-primary-hover) var(--un-text-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-primary-hover)) var(--un-text-opacity, 100%), transparent) */;}
1058
1061
  .hover\\:text-primary:hover{color:color-mix(in srgb, var(--colors-primary-DEFAULT) var(--un-text-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-primary)) var(--un-text-opacity, 100%), transparent) */;}
1062
+ .hover\\:text-white:hover{color:color-mix(in srgb, var(--colors-white-DEFAULT) var(--un-text-opacity), transparent) /* rgb(var(--ui-color-white)) */;}
1059
1063
  .font-bold{--un-font-weight:var(--fontWeight-bold);font-weight:var(--fontWeight-bold);}
1060
1064
  .font-medium{--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);}
1061
1065
  .font-mono{font-family:var(--font-mono);}
@@ -1077,6 +1081,7 @@ input:where([type='button'], [type='reset'], [type='submit']),
1077
1081
  .my-6{margin-block:calc(var(--spacing) * 6);}
1078
1082
  .mb-2{margin-bottom:calc(var(--spacing) * 2);}
1079
1083
  .ml-2{margin-left:calc(var(--spacing) * 2);}
1084
+ .ml-2\\.5{margin-left:calc(var(--spacing) * 2.5);}
1080
1085
  .mr-2{margin-right:calc(var(--spacing) * 2);}
1081
1086
  .mt-1{margin-top:calc(var(--spacing) * 1);}
1082
1087
  .mt-2{margin-top:calc(var(--spacing) * 2);}
@@ -1170,6 +1175,8 @@ input:where([type='button'], [type='reset'], [type='submit']),
1170
1175
  .bg-gray-900\\/30{background-color:color-mix(in srgb, var(--colors-gray-900) 30%, transparent) /* color-mix(in oklab, rgb(var(--ui-color-gray-900)) var(--un-text-opacity, 100%), transparent) */;}
1171
1176
  .bg-gray\\/5{background-color:color-mix(in srgb, var(--colors-gray-DEFAULT) 5%, transparent) /* color-mix(in oklab, rgb(var(--ui-color-gray)) var(--un-text-opacity, 100%), transparent) */;}
1172
1177
  .bg-primary{background-color:color-mix(in srgb, var(--colors-primary-DEFAULT) var(--un-bg-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-primary)) var(--un-text-opacity, 100%), transparent) */;}
1178
+ .bg-primary-950,
1179
+ .dark .dark\\:bg-primary-950{background-color:color-mix(in srgb, var(--colors-primary-950) var(--un-bg-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-primary-950)) var(--un-text-opacity, 100%), transparent) */;}
1173
1180
  .bg-primary\\/10{background-color:color-mix(in srgb, var(--colors-primary-DEFAULT) 10%, transparent) /* color-mix(in oklab, rgb(var(--ui-color-primary)) var(--un-text-opacity, 100%), transparent) */;}
1174
1181
  .bg-primary\\/5{background-color:color-mix(in srgb, var(--colors-primary-DEFAULT) 5%, transparent) /* color-mix(in oklab, rgb(var(--ui-color-primary)) var(--un-text-opacity, 100%), transparent) */;}
1175
1182
  .bg-red{background-color:color-mix(in srgb, var(--colors-red-DEFAULT) var(--un-bg-opacity), transparent) /* oklch(70.4% 0.191 22.216) */;}
@@ -1182,7 +1189,6 @@ input:where([type='button'], [type='reset'], [type='submit']),
1182
1189
  .dark .dark\\:bg-gray-800\\/50{background-color:color-mix(in srgb, var(--colors-gray-800) 50%, transparent) /* color-mix(in oklab, rgb(var(--ui-color-gray-800)) var(--un-text-opacity, 100%), transparent) */;}
1183
1190
  .dark .dark\\:bg-gray-800\\/60{background-color:color-mix(in srgb, var(--colors-gray-800) 60%, transparent) /* color-mix(in oklab, rgb(var(--ui-color-gray-800)) var(--un-text-opacity, 100%), transparent) */;}
1184
1191
  .dark .dark\\:bg-gray-900\\/70{background-color:color-mix(in srgb, var(--colors-gray-900) 70%, transparent) /* color-mix(in oklab, rgb(var(--ui-color-gray-900)) var(--un-text-opacity, 100%), transparent) */;}
1185
- .dark .dark\\:bg-primary-950{background-color:color-mix(in srgb, var(--colors-primary-950) var(--un-bg-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-primary-950)) var(--un-text-opacity, 100%), transparent) */;}
1186
1192
  .hover\\:bg-black\\/5:hover{background-color:color-mix(in srgb, var(--colors-black-DEFAULT) 5%, transparent) /* rgb(var(--ui-color-black)) */;}
1187
1193
  .hover\\:bg-primary-hover:hover{background-color:color-mix(in srgb, var(--colors-primary-hover) var(--un-bg-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-primary-hover)) var(--un-text-opacity, 100%), transparent) */;}
1188
1194
  .hover\\:bg-primary\\/10:hover{background-color:color-mix(in srgb, var(--colors-primary-DEFAULT) 10%, transparent) /* color-mix(in oklab, rgb(var(--ui-color-primary)) var(--un-text-opacity, 100%), transparent) */;}
@@ -1250,6 +1256,7 @@ input:where([type='button'], [type='reset'], [type='submit']),
1250
1256
  .h-12{height:calc(var(--spacing) * 12);}
1251
1257
  .h-13{height:calc(var(--spacing) * 13);}
1252
1258
  .h-16{height:calc(var(--spacing) * 16);}
1259
+ .h-2{height:calc(var(--spacing) * 2);}
1253
1260
  .h-20{height:calc(var(--spacing) * 20);}
1254
1261
  .h-30{height:calc(var(--spacing) * 30);}
1255
1262
  .h-4{height:calc(var(--spacing) * 4);}
@@ -1279,7 +1286,10 @@ input:where([type='button'], [type='reset'], [type='submit']),
1279
1286
  .w-120{width:calc(var(--spacing) * 120);}
1280
1287
  .w-120px{width:120px;}
1281
1288
  .w-15{width:calc(var(--spacing) * 15);}
1289
+ .w-16{width:calc(var(--spacing) * 16);}
1290
+ .w-160px{width:160px;}
1282
1291
  .w-180px{width:180px;}
1292
+ .w-2{width:calc(var(--spacing) * 2);}
1283
1293
  .w-200px{width:200px;}
1284
1294
  .w-220px{width:220px;}
1285
1295
  .w-26{width:calc(var(--spacing) * 26);}
@@ -1325,8 +1335,10 @@ input:where([type='button'], [type='reset'], [type='submit']),
1325
1335
  .shadow-xl{--un-shadow:0 20px 25px -5px var(--un-shadow-color, rgb(0 0 0 / 0.1)),0 8px 10px -6px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);}
1326
1336
  .shadow-xs{--un-shadow:0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);}
1327
1337
  .hover\\:shadow-md:hover{--un-shadow:0 4px 6px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1)),0 2px 4px -2px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);}
1328
- .hover\\:shadow-xs:hover{--un-shadow:0 1px 2px 0 var(--un-shadow-color, rgb(0 0 0 / 0.05));box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);}
1329
- .-translate-x-1\\/2{--un-translate-x:-50%;translate:var(--un-translate-x) var(--un-translate-y);}
1338
+ .hover\\:shadow-sm:hover{--un-shadow:0 1px 3px 0 var(--un-shadow-color, rgb(0 0 0 / 0.1)),0 1px 2px -1px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);}
1339
+ .-translate-x-1\\/2,
1340
+ .translate-x-\\[-50\\%\\]{--un-translate-x:-50%;translate:var(--un-translate-x) var(--un-translate-y);}
1341
+ .translate-x-0{--un-translate-x:calc(var(--spacing) * 0);translate:var(--un-translate-x) var(--un-translate-y);}
1330
1342
  .translate-y-0{--un-translate-y:calc(var(--spacing) * 0);translate:var(--un-translate-x) var(--un-translate-y);}
1331
1343
  .translate-y-full{--un-translate-y:100%;translate:var(--un-translate-x) var(--un-translate-y);}
1332
1344
  .rotate-180{rotate:180deg;}
@@ -1406,6 +1418,7 @@ input:where([type='button'], [type='reset'], [type='submit']),
1406
1418
  .backdrop-blur{--un-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);}
1407
1419
  .filter{filter:var(--un-blur,) var(--un-brightness,) var(--un-contrast,) var(--un-grayscale,) var(--un-hue-rotate,) var(--un-invert,) var(--un-saturate,) var(--un-sepia,) var(--un-drop-shadow,);}
1408
1420
  .backdrop-filter{-webkit-backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);}
1421
+ .line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;}
1409
1422
  .table{display:table;}
1410
1423
  .border-collapse{border-collapse:collapse;}
1411
1424
  .table-fixed{table-layout:fixed;}
@@ -1464,7 +1477,9 @@ input:where([type='button'], [type='reset'], [type='submit']),
1464
1477
  .text-warning{color:color-mix(in oklab, var(--colors-warning-DEFAULT) var(--un-text-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-warning)) var(--un-text-opacity, 100%), transparent) */;}
1465
1478
  .text-white{color:color-mix(in oklab, var(--colors-white-DEFAULT) var(--un-text-opacity), transparent) /* rgb(var(--ui-color-white)) */;}
1466
1479
  .text-white\\/90{color:color-mix(in oklab, var(--colors-white-DEFAULT) 90%, transparent) /* rgb(var(--ui-color-white)) */;}
1480
+ .hover\\:text-primary-hover:hover{color:color-mix(in oklab, var(--colors-primary-hover) var(--un-text-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-primary-hover)) var(--un-text-opacity, 100%), transparent) */;}
1467
1481
  .hover\\:text-primary:hover{color:color-mix(in oklab, var(--colors-primary-DEFAULT) var(--un-text-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-primary)) var(--un-text-opacity, 100%), transparent) */;}
1482
+ .hover\\:text-white:hover{color:color-mix(in oklab, var(--colors-white-DEFAULT) var(--un-text-opacity), transparent) /* rgb(var(--ui-color-white)) */;}
1468
1483
  .\\!border-white{border-color:color-mix(in oklab, var(--colors-white-DEFAULT) var(--un-border-opacity), transparent) /* rgb(var(--ui-color-white)) */ !important;}
1469
1484
  .border-blue-200{border-color:color-mix(in oklab, var(--colors-blue-200) var(--un-border-opacity), transparent) /* rgb(var(--base-color-blue-200)) */;}
1470
1485
  .border-blue-400{border-color:color-mix(in oklab, var(--colors-blue-400) var(--un-border-opacity), transparent) /* rgb(var(--base-color-blue-400)) */;}
@@ -1484,6 +1499,7 @@ input:where([type='button'], [type='reset'], [type='submit']),
1484
1499
  .bg-gray-900\\/30{background-color:color-mix(in oklab, var(--colors-gray-900) 30%, transparent) /* color-mix(in oklab, rgb(var(--ui-color-gray-900)) var(--un-text-opacity, 100%), transparent) */;}
1485
1500
  .bg-gray\\/5{background-color:color-mix(in oklab, var(--colors-gray-DEFAULT) 5%, transparent) /* color-mix(in oklab, rgb(var(--ui-color-gray)) var(--un-text-opacity, 100%), transparent) */;}
1486
1501
  .bg-primary{background-color:color-mix(in oklab, var(--colors-primary-DEFAULT) var(--un-bg-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-primary)) var(--un-text-opacity, 100%), transparent) */;}
1502
+ .bg-primary-950{background-color:color-mix(in oklab, var(--colors-primary-950) var(--un-bg-opacity), transparent) /* color-mix(in oklab, rgb(var(--ui-color-primary-950)) var(--un-text-opacity, 100%), transparent) */;}
1487
1503
  .bg-primary\\/10{background-color:color-mix(in oklab, var(--colors-primary-DEFAULT) 10%, transparent) /* color-mix(in oklab, rgb(var(--ui-color-primary)) var(--un-text-opacity, 100%), transparent) */;}
1488
1504
  .bg-primary\\/5{background-color:color-mix(in oklab, var(--colors-primary-DEFAULT) 5%, transparent) /* color-mix(in oklab, rgb(var(--ui-color-primary)) var(--un-text-opacity, 100%), transparent) */;}
1489
1505
  .bg-red{background-color:color-mix(in oklab, var(--colors-red-DEFAULT) var(--un-bg-opacity), transparent) /* oklch(70.4% 0.191 22.216) */;}
@@ -49,7 +49,7 @@ import { DuxAuthLayout as B } from "./pages/authLayout.js";
49
49
  import { DuxLayout as H } from "./pages/layout.js";
50
50
  import { DuxLoginPage as U } from "./pages/login.js";
51
51
  import { DuxMenuCmd as v } from "./pages/menu/cmd.js";
52
- import { DuxMenuMain as N } from "./pages/menu/main.js";
52
+ import { DuxMenuMain as N } from "./pages/menu/menuMain.js";
53
53
  import { DuxMobileMenu as Q } from "./pages/menu/mobile.js";
54
54
  import { DuxPage as R } from "./pages/page.js";
55
55
  import { DuxPage403 as W } from "./pages/page403.js";
@@ -1 +1 @@
1
- @charset "UTF-8";.vue-flow__handle{transition:box-shadow .2s ease}.vue-flow__handle:hover{box-shadow:0 0 0 3px #3b82f680}.n-popover-shared .n-popover-arrow-wrapper .n-popover-arrow{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.n-dropdown-menu{min-width:130px}.icon-gradient{color:rgb(var(--ui-color-primary));animation:icon-color-cycle 12s ease-in-out infinite}@keyframes icon-color-cycle{0%{color:rgb(var(--ui-color-primary))}20%{color:rgb(var(--ui-color-info))}40%{color:rgb(var(--ui-color-success))}60%{color:rgb(var(--ui-color-warning))}80%{color:rgb(var(--ui-color-error))}to{color:rgb(var(--ui-color-primary))}}@keyframes icon-gradient-shift{0%{background-position:0% 50%}25%{background-position:50% 0%}50%{background-position:100% 50%}75%{background-position:50% 100%}to{background-position:0% 50%}}.app-page-tabs.n-tabs .n-tabs-nav.n-tabs-nav--card-type .n-tabs-pad{border:none}.app-page-tabs.n-tabs .n-tabs-nav.n-tabs-nav--card-type .n-tabs-nav__prefix,.app-page-tabs.n-tabs .n-tabs-nav.n-tabs-nav--card-type .n-tabs-nav__suffix{border-bottom:none}.app-page-tabs.n-tabs .n-tabs-nav.n-tabs-nav--card-type .n-tabs-tab{padding:0;border-bottom:none;border-radius:0;background-color:transparent}.app-page-tabs.n-tabs .n-tabs-nav.n-tabs-nav--top.n-tabs-nav--card-type .n-tabs-tab-pad{height:20px;width:1px;background-color:#0000001a;border-bottom:none;position:absolute;top:50%;transform:translateY(-50%)}.app-page-tabs.n-tabs .n-tabs-nav.n-tabs-nav--top.n-tabs-nav--card-type .n-tabs-tab{background-color:transparent;border-bottom:none;border:none;position:relative}.app-page-tabs.n-tabs .n-tabs-nav.n-tabs-nav--top.n-tabs-nav--card-type .n-tabs-tab.n-tabs-tab--active{background-color:transparent}.dark .app-page-tabs.n-tabs .n-tabs-nav.n-tabs-nav--top.n-tabs-nav--card-type .n-tabs-tab-pad{background-color:#ffffff1a}.app-modal-tabs.n-tabs .n-tabs-wrapper{padding:0 16px}.app-modal-tabs.n-tabs .n-tabs-nav{background-color:rgb(var(--ui-color-gray-200)/.2)}.app-modal-tabs.n-tabs .n-tabs-tab{padding:12px 4px;font-size:var(--n-font-size)}.dark .app-modal-tabs.n-tabs .n-tabs-nav{background-color:rgb(var(--ui-bg-elevated)/.5)}.app-page-tabs.n-tabs{display:flex;height:100%;flex-direction:column}.app-page-tabs.n-tabs .n-tabs-nav{flex:none}.app-page-tabs.n-tabs .n-tab-pane{flex:1;min-height:0;overflow-y:auto;padding:20px}.app-page-tabs.n-tabs .n-tabs-tab{font-size:.85rem;padding:1rem}.n-data-table .n-data-table-thead{border:1px solid rgb(var(--ui-border-muted))}.n-data-table .n-data-table-thead .n-data-table-tr>.n-data-table-th:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-left:1px solid rgba(var(--ui-border-accented)/.5)}.n-data-table .n-data-table-thead .n-data-table-tr>.n-data-table-th--last{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-right:1px solid rgba(var(--ui-border-accented)/.5)}.n-data-table .n-data-table-th{border-top:1px solid rgba(var(--ui-border-accented)/.5);border-bottom:1px solid rgba(var(--ui-border-accented)/.5)}.command-palette [command-dialog-mask]{background-color:rgb(var(--ui-bg-inverted)/.3);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);height:100vh;width:100vw;position:fixed;top:0;left:0;z-index:1000}.command-palette [command-dialog-wrapper]{position:relative;flex-direction:column;margin:20vh auto auto;max-width:560px;background-color:rgb(var(--ui-bg)/.9);border-radius:6px}.command-palette [command-group-heading]{color:rgba(var(--ui-text-muted));padding:6px}.command-palette [command-separator]{border-bottom:1px solid rgb(var(--ui-border-muted));margin:6px 0}.command-palette [command-list]{border-top:1px solid rgb(var(--ui-border-muted));padding:0 6px 6px}.command-palette [command-item]{padding:6px 12px;display:flex;align-items:center;gap:6px;border-radius:3px;color:rgba(var(--ui-text-toned))}.command-palette [command-item][aria-selected=true],.command-palette [command-item]:active{background-color:rgb(var(--ui-bg-accented)/.8);color:rgba(var(--ui-color-primary-500))}.dark .command-palette [command-dialog-mask]{background-color:rgb(var(--ui-bg-inverted)/.02)}.dark .command-palette [command-dialog-wrapper]{background-color:rgb(var(--ui-bg-elevated)/.95)}.dark .command-palette [command-separator]{border-bottom:1px solid rgb(var(--ui-border)/.5)}.dark .command-palette [command-list]{border-top:1px solid rgb(var(--ui-border)/.5)}.n-menu.n-menu--collapsed .n-menu-item-content .n-menu-item-content-header{opacity:1}.n-menu.n-menu--collapsed .n-menu-item-content .n-menu-item-content__arrow{display:none}.app-login-bg{background-image:repeating-linear-gradient(90deg,hsla(298,16%,68%,.06) 0px,hsla(298,16%,68%,.06) 1px,transparent 1px,transparent 21px,hsla(298,16%,68%,.06) 21px,hsla(298,16%,68%,.06) 22px,transparent 22px,transparent 72px),repeating-linear-gradient(0deg,hsla(298,16%,68%,.06) 0px,hsla(298,16%,68%,.06) 1px,transparent 1px,transparent 21px,hsla(298,16%,68%,.06) 21px,hsla(298,16%,68%,.06) 22px,transparent 22px,transparent 72px),repeating-linear-gradient(135deg,hsla(298,16%,68%,.06) 0px,hsla(298,16%,68%,.06) 1px,transparent 1px,transparent 21px,hsla(298,16%,68%,.06) 21px,hsla(298,16%,68%,.06) 22px,transparent 22px,transparent 72px),linear-gradient(90deg,#f7f7f8,#f7f7f8)}.app-login-dark-bg{background-image:repeating-linear-gradient(90deg,rgba(90,90,90,.06) 0px,rgba(90,90,90,.06) 1px,transparent 1px,transparent 21px,rgba(90,90,90,.06) 21px,rgba(90,90,90,.06) 22px,transparent 22px,transparent 72px),repeating-linear-gradient(0deg,rgba(90,90,90,.06) 0px,rgba(90,90,90,.06) 1px,transparent 1px,transparent 21px,rgba(90,90,90,.06) 21px,rgba(90,90,90,.06) 22px,transparent 22px,transparent 72px),repeating-linear-gradient(135deg,rgba(90,90,90,.06) 0px,rgba(90,90,90,.06) 1px,transparent 1px,transparent 21px,rgba(90,90,90,.06) 21px,rgba(90,90,90,.06) 22px,transparent 22px,transparent 72px),linear-gradient(90deg,#101014,#101014)}.app-loading{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;background-color:rgb(var(--ui-bg));overflow:hidden}.app-box-loading{width:50px;height:50px;position:relative}.app-box-loading:before{content:"";width:50px;height:5px;background:rgb(var(--ui-color-gray-200));opacity:.3;position:absolute;top:59px;left:0;border-radius:50%;animation:shadow .5s linear infinite}.app-box-loading:after{content:"";width:50px;height:50px;background:rgba(var(--ui-color-primary));animation:animate .5s linear infinite;position:absolute;top:0;left:0;border-radius:3px}@keyframes animate{17%{border-bottom-right-radius:3px}25%{transform:translateY(9px) rotate(22.5deg)}50%{transform:translateY(18px) scaleY(.9) rotate(45deg);border-bottom-right-radius:40px}75%{transform:translateY(9px) rotate(67.5deg)}to{transform:translateY(0) rotate(90deg)}}@keyframes shadow{0%,to{transform:scale(1)}50%{transform:scaleX(1.2)}}html{color-scheme:light;background-color:rgb(var(--ui-color-primary-700)/.05)}html.dark{color-scheme:dark;background-color:rgb(var(--ui-bg)/.5)}[un-cloak]{display:none}.app-remote-loader{height:100%}.tab-fade-leave-active,.tab-fade-enter-active{transition:all .3s}.tab-fade-enter-from{opacity:0;transform:translate(-30px)}.tab-fade-enter-to{opacity:1;transform:translate(0)}.tab-fade-leave-to{opacity:0;transform:translate(30px)}
1
+ @charset "UTF-8";.vue-flow__handle{transition:box-shadow .2s ease}.vue-flow__handle:hover{box-shadow:0 0 0 3px #3b82f680}.n-popover-shared .n-popover-arrow-wrapper .n-popover-arrow{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.n-dropdown-menu{min-width:130px}.icon-gradient{color:rgb(var(--ui-color-primary));animation:icon-color-cycle 12s ease-in-out infinite}@keyframes icon-color-cycle{0%{color:rgb(var(--ui-color-primary))}20%{color:rgb(var(--ui-color-info))}40%{color:rgb(var(--ui-color-success))}60%{color:rgb(var(--ui-color-warning))}80%{color:rgb(var(--ui-color-error))}to{color:rgb(var(--ui-color-primary))}}@keyframes icon-gradient-shift{0%{background-position:0% 50%}25%{background-position:50% 0%}50%{background-position:100% 50%}75%{background-position:50% 100%}to{background-position:0% 50%}}.app-page-tabs.n-tabs .n-tabs-nav.n-tabs-nav--card-type .n-tabs-pad{border:none}.app-page-tabs.n-tabs .n-tabs-nav.n-tabs-nav--card-type .n-tabs-nav__prefix,.app-page-tabs.n-tabs .n-tabs-nav.n-tabs-nav--card-type .n-tabs-nav__suffix{border-bottom:none}.app-page-tabs.n-tabs .n-tabs-nav.n-tabs-nav--card-type .n-tabs-tab{padding:0;border-bottom:none;border-radius:0;background-color:transparent}.app-page-tabs.n-tabs .n-tabs-nav.n-tabs-nav--top.n-tabs-nav--card-type .n-tabs-tab-pad{height:20px;width:1px;background-color:#0000001a;border-bottom:none;position:absolute;top:50%;transform:translateY(-50%)}.app-page-tabs.n-tabs .n-tabs-nav.n-tabs-nav--top.n-tabs-nav--card-type .n-tabs-tab{background-color:transparent;border-bottom:none;border:none;position:relative}.app-page-tabs.n-tabs .n-tabs-nav.n-tabs-nav--top.n-tabs-nav--card-type .n-tabs-tab.n-tabs-tab--active{background-color:transparent}.dark .app-page-tabs.n-tabs .n-tabs-nav.n-tabs-nav--top.n-tabs-nav--card-type .n-tabs-tab-pad{background-color:#ffffff1a}.app-modal-tabs.n-tabs .n-tabs-wrapper{padding:0 16px}.app-modal-tabs.n-tabs .n-tabs-nav{background-color:rgb(var(--ui-color-gray-200)/.2)}.app-modal-tabs.n-tabs .n-tabs-tab{padding:12px 4px;font-size:var(--n-font-size)}.dark .app-modal-tabs.n-tabs .n-tabs-nav{background-color:rgb(var(--ui-bg-elevated)/.5)}.app-page-tabs.n-tabs{display:flex;height:100%;flex-direction:column}.app-page-tabs.n-tabs .n-tabs-nav{flex:none}.app-page-tabs.n-tabs .n-tab-pane{flex:1;min-height:0;overflow-y:auto;padding:20px}.app-page-tabs.n-tabs .n-tabs-tab{font-size:.85rem;padding:1rem}.n-data-table .n-data-table-thead{border:1px solid rgb(var(--ui-border-muted))}.n-data-table .n-data-table-thead .n-data-table-tr>.n-data-table-th:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-left:1px solid rgba(var(--ui-border-accented)/.5)}.n-data-table .n-data-table-thead .n-data-table-tr>.n-data-table-th--last{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-right:1px solid rgba(var(--ui-border-accented)/.5)}.n-data-table .n-data-table-th{border-top:1px solid rgba(var(--ui-border-accented)/.5);border-bottom:1px solid rgba(var(--ui-border-accented)/.5)}.command-palette [command-dialog-mask]{background-color:rgb(var(--ui-bg-inverted)/.3);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);height:100vh;width:100vw;position:fixed;top:0;left:0;z-index:1000}.command-palette [command-dialog-wrapper]{position:relative;flex-direction:column;margin:20vh auto auto;max-width:560px;background-color:rgb(var(--ui-bg)/.9);border-radius:6px}.command-palette [command-group-heading]{color:rgba(var(--ui-text-muted));padding:6px}.command-palette [command-separator]{border-bottom:1px solid rgb(var(--ui-border-muted));margin:6px 0}.command-palette [command-list]{border-top:1px solid rgb(var(--ui-border-muted));padding:0 6px 6px}.command-palette [command-item]{padding:6px 12px;display:flex;align-items:center;gap:6px;border-radius:3px;color:rgba(var(--ui-text-toned))}.command-palette [command-item][aria-selected=true],.command-palette [command-item]:active{background-color:rgb(var(--ui-bg-accented)/.8);color:rgba(var(--ui-color-primary-500))}.dark .command-palette [command-dialog-mask]{background-color:rgb(var(--ui-bg-inverted)/.02)}.dark .command-palette [command-dialog-wrapper]{background-color:rgb(var(--ui-bg-elevated)/.95)}.dark .command-palette [command-separator]{border-bottom:1px solid rgb(var(--ui-border)/.5)}.dark .command-palette [command-list]{border-top:1px solid rgb(var(--ui-border)/.5)}.app-menu.n-menu.n-menu--collapsed .n-menu-item-content .n-menu-item-content-header{opacity:1}.app-menu.n-menu.n-menu--collapsed .n-menu-item-content .n-menu-item-content__arrow{display:none}.app-login-bg{background-image:repeating-linear-gradient(90deg,hsla(298,16%,68%,.06) 0px,hsla(298,16%,68%,.06) 1px,transparent 1px,transparent 21px,hsla(298,16%,68%,.06) 21px,hsla(298,16%,68%,.06) 22px,transparent 22px,transparent 72px),repeating-linear-gradient(0deg,hsla(298,16%,68%,.06) 0px,hsla(298,16%,68%,.06) 1px,transparent 1px,transparent 21px,hsla(298,16%,68%,.06) 21px,hsla(298,16%,68%,.06) 22px,transparent 22px,transparent 72px),repeating-linear-gradient(135deg,hsla(298,16%,68%,.06) 0px,hsla(298,16%,68%,.06) 1px,transparent 1px,transparent 21px,hsla(298,16%,68%,.06) 21px,hsla(298,16%,68%,.06) 22px,transparent 22px,transparent 72px),linear-gradient(90deg,#f7f7f8,#f7f7f8)}.app-login-dark-bg{background-image:repeating-linear-gradient(90deg,rgba(90,90,90,.06) 0px,rgba(90,90,90,.06) 1px,transparent 1px,transparent 21px,rgba(90,90,90,.06) 21px,rgba(90,90,90,.06) 22px,transparent 22px,transparent 72px),repeating-linear-gradient(0deg,rgba(90,90,90,.06) 0px,rgba(90,90,90,.06) 1px,transparent 1px,transparent 21px,rgba(90,90,90,.06) 21px,rgba(90,90,90,.06) 22px,transparent 22px,transparent 72px),repeating-linear-gradient(135deg,rgba(90,90,90,.06) 0px,rgba(90,90,90,.06) 1px,transparent 1px,transparent 21px,rgba(90,90,90,.06) 21px,rgba(90,90,90,.06) 22px,transparent 22px,transparent 72px),linear-gradient(90deg,#101014,#101014)}.app-loading{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;background-color:rgb(var(--ui-bg));overflow:hidden}.app-box-loading{width:50px;height:50px;position:relative}.app-box-loading:before{content:"";width:50px;height:5px;background:rgb(var(--ui-color-gray-200));opacity:.3;position:absolute;top:59px;left:0;border-radius:50%;animation:shadow .5s linear infinite}.app-box-loading:after{content:"";width:50px;height:50px;background:rgba(var(--ui-color-primary));animation:animate .5s linear infinite;position:absolute;top:0;left:0;border-radius:3px}@keyframes animate{17%{border-bottom-right-radius:3px}25%{transform:translateY(9px) rotate(22.5deg)}50%{transform:translateY(18px) scaleY(.9) rotate(45deg);border-bottom-right-radius:40px}75%{transform:translateY(9px) rotate(67.5deg)}to{transform:translateY(0) rotate(90deg)}}@keyframes shadow{0%,to{transform:scale(1)}50%{transform:scaleX(1.2)}}html{color-scheme:light;background-color:rgb(var(--ui-color-primary-700)/.05)}html.dark{color-scheme:dark;background-color:rgb(var(--ui-bg)/.5)}[un-cloak]{display:none}.app-remote-loader{height:100%}.tab-fade-leave-active,.tab-fade-enter-active{transition:all .3s}.tab-fade-enter-from{opacity:0;transform:translate(-30px)}.tab-fade-enter-to{opacity:1;transform:translate(0)}.tab-fade-leave-to{opacity:0;transform:translate(30px)}
package/dist/esm/index.js CHANGED
@@ -7,8 +7,8 @@ import { DuxCodeEditor as c } from "./components/code/code.js";
7
7
  import { DuxImageCrop as C } from "./components/crop/imageCrop.js";
8
8
  import { DuxImageCropModal as F } from "./components/crop/imageCropModal.js";
9
9
  import { DuxDashboardHello as h } from "./components/dashboard/hello.js";
10
- import { DuxDashboardHelloBig as y } from "./components/dashboard/helloBig.js";
11
- import { DuxDashboardQuick as M, DuxDashboardQuickItem as L } from "./components/dashboard/quick.js";
10
+ import { DuxDashboardHelloBig as M } from "./components/dashboard/helloBig.js";
11
+ import { DuxDashboardQuick as w, DuxDashboardQuickItem as N } from "./components/dashboard/quick.js";
12
12
  import { DuxDynamicData as I } from "./components/data/dynamicData.js";
13
13
  import { DuxDynamicSelect as R } from "./components/data/dynamicSelect.js";
14
14
  import "vue";
@@ -16,9 +16,9 @@ import "@duxweb/dvha-core";
16
16
  import "naive-ui";
17
17
  import { useAction as B, useActionButton as U, useActionDropdown as k } from "./hooks/action.js";
18
18
  import { useDialog as W } from "./hooks/dialog.js";
19
- import { useDownload as G } from "./hooks/download.js";
20
- import { useDrawer as Q } from "./hooks/drawer.js";
21
- import { useEchartBar as z, useEchartCommon as K, useEchartFunnel as Y, useEchartLine as j, useEchartMap as q, useEchartPie as J, useEchartRadar as X, useEchartRing as Z, useEchartRose as $, useEchartTreeMap as oo, useEchartType as ro } from "./hooks/echart.js";
19
+ import { useDownload as H } from "./hooks/download.js";
20
+ import { useDrawer as V } from "./hooks/drawer.js";
21
+ import { useEchartBar as z, useEchartCommon as Y, useEchartFunnel as j, useEchartLine as q, useEchartMap as J, useEchartPie as K, useEchartRadar as X, useEchartRing as Z, useEchartRose as $, useEchartTreeMap as oo, useEchartType as ro } from "./hooks/echart.js";
22
22
  import { useImagePreview as to } from "./hooks/image.js";
23
23
  import { useLevel as mo } from "./hooks/level.js";
24
24
  import { useModal as ao } from "./hooks/modal.js";
@@ -30,18 +30,18 @@ import { useTableColumnMap as co } from "./hooks/table/map.js";
30
30
  import { useTableColumnMedia as Co } from "./hooks/table/media.js";
31
31
  import { useTableColumnStatus as Fo } from "./hooks/table/status.js";
32
32
  import { useTableColumnSwitch as ho } from "./hooks/table/switch.js";
33
- import { useUI as yo } from "./hooks/ui.js";
34
- import { DuxModal as Mo } from "./components/modal/modal.js";
35
- import { default as No } from "./components/modal/modalPage.js";
33
+ import { useUI as Mo } from "./hooks/ui.js";
34
+ import { DuxModal as wo } from "./components/modal/modal.js";
35
+ import { default as Lo } from "./components/modal/modalPage.js";
36
36
  import { default as Ao } from "./components/modal/modalTab.js";
37
37
  import { duxFormEditorGrid as vo } from "./components/designEditor/components/grid.js";
38
38
  import { DuxDesignEditor as Uo } from "./components/designEditor/editor.js";
39
39
  import { useEditor as Oo } from "./components/designEditor/editor/hook.js";
40
- import { DuxWidgetEditorPreview as Vo } from "./components/designEditor/editor/preview.js";
41
- import { WidgetEditorSetting as Ho, WidgetEditorSettingCard as Qo } from "./components/designEditor/editor/setting.js";
40
+ import { DuxWidgetEditorPreview as Go } from "./components/designEditor/editor/preview.js";
41
+ import { WidgetEditorSetting as Qo, WidgetEditorSettingCard as Vo } from "./components/designEditor/editor/setting.js";
42
42
  import { default as zo } from "./components/dialog/dialog.js";
43
- import { DuxDrawApps as Yo } from "./components/draw/drawApps.js";
44
- import { DuxDrawAuth as qo } from "./components/draw/drawAuth.js";
43
+ import { DuxDrawApps as jo } from "./components/draw/drawApps.js";
44
+ import { DuxDrawAuth as Jo } from "./components/draw/drawAuth.js";
45
45
  import { DuxDrawEmpty as Xo } from "./components/draw/drawEmpty.js";
46
46
  import { DuxDrawEmptyForm as $o } from "./components/draw/drawEmptyForm.js";
47
47
  import { DuxDrawError as rr } from "./components/draw/drawError.js";
@@ -56,20 +56,20 @@ import { defaultNodes as Er } from "./components/flowEditor/nodes/index.js";
56
56
  import { FIELD_TYPE_OPTIONS as Pr, getFieldTypeOptions as Cr, useNodeDataFlow as Tr } from "./components/flowEditor/utils/nodeDataUtils.js";
57
57
  import { DuxDrawerForm as Sr } from "./components/form/drawerForm.js";
58
58
  import { DuxFormItem as br } from "./components/form/formItem.js";
59
- import { DuxFormLayout as wr } from "./components/form/formLayout.js";
60
- import { DuxModalForm as Lr } from "./components/form/modalForm.js";
59
+ import { DuxFormLayout as yr } from "./components/form/formLayout.js";
60
+ import { DuxModalForm as Nr } from "./components/form/modalForm.js";
61
61
  import { DuxPageForm as Ir } from "./components/form/pageForm.js";
62
62
  import { DuxPageTabForm as Rr } from "./components/form/pageTabForm.js";
63
63
  import { DuxSettingForm as Br } from "./components/form/settingForm.js";
64
64
  import { DuxFormEditor as kr } from "./components/formEditor/editor.js";
65
65
  import { DuxFormRenderer as Wr } from "./components/formEditor/renderer.js";
66
- import { DuxIconPicker as Gr } from "./components/icon/icon.js";
66
+ import { DuxIconPicker as Hr } from "./components/icon/icon.js";
67
67
  import "@iconify-json/tabler/icons.json";
68
68
  import "@vueuse/core";
69
- import { DuxTableFilter as Qr } from "./components/layout/filter.js";
69
+ import { DuxTableFilter as Vr } from "./components/layout/filter.js";
70
70
  import { DuxFilterLayout as zr } from "./components/layout/filterLayout.js";
71
- import { DuxGrid as Yr } from "./components/layout/grid.js";
72
- import { DuxListLayout as qr } from "./components/layout/list.js";
71
+ import { DuxGrid as jr } from "./components/layout/grid.js";
72
+ import { DuxListLayout as Jr } from "./components/layout/list.js";
73
73
  import { DuxTableLayout as Xr } from "./components/layout/table.js";
74
74
  import { DuxTableTools as $r } from "./components/layout/tools.js";
75
75
  import { DuxLevel as re } from "./components/level/level.js";
@@ -83,19 +83,19 @@ import { elementConfigs as ne, elementRegistry as ge, getElementConfig as Ee, ge
83
83
  import { usePosterEditor as Ce } from "./components/posterEditor/hooks/usePosterEditor.js";
84
84
  import { DuxPosterEditor as Fe } from "./components/posterEditor/posterEditor.js";
85
85
  import { DuxSelectCard as he } from "./components/select/cardSelect.js";
86
- import { DuxStatsNumber as ye } from "./components/stats/number.js";
87
- import { DuxStatsRealTime as Me } from "./components/stats/realTime.js";
88
- import { DuxBlockEmpty as Ne } from "./components/status/blockEmpty.js";
86
+ import { DuxStatsNumber as Me } from "./components/stats/number.js";
87
+ import { DuxStatsRealTime as we } from "./components/stats/realTime.js";
88
+ import { DuxBlockEmpty as Le } from "./components/status/blockEmpty.js";
89
89
  import { DuxListEmpty as Ae } from "./components/status/listEmpty.js";
90
90
  import { DuxTable as ve } from "./components/table/table.js";
91
91
  import { DuxTablePage as Ue } from "./components/table/tablePage.js";
92
92
  import { DuxTreeFilter as Oe } from "./components/tree/treeFilter.js";
93
- import { DuxFileUpload as Ve } from "./components/upload/file.js";
94
- import { DuxImageUpload as He } from "./components/upload/image.js";
93
+ import { DuxFileUpload as Ge } from "./components/upload/file.js";
94
+ import { DuxImageUpload as Qe } from "./components/upload/image.js";
95
95
  import { default as _e } from "./components/upload/manager.js";
96
- import { DuxSelectUpload as Ke } from "./components/upload/selectFile.js";
97
- import { DuxAvatar as je } from "./components/widget/avatar.js";
98
- import { DuxWidgetConnect as Je } from "./components/widget/connect.js";
96
+ import { DuxSelectUpload as Ye } from "./components/upload/selectFile.js";
97
+ import { DuxAvatar as qe } from "./components/widget/avatar.js";
98
+ import { DuxWidgetConnect as Ke } from "./components/widget/connect.js";
99
99
  import { DuxPlaceholder as Ze } from "./components/widget/placeholder.js";
100
100
  import { DuxAuthLayout as ot } from "./pages/authLayout.js";
101
101
  import { DuxLayout as et } from "./pages/layout.js";
@@ -103,34 +103,37 @@ import { DuxLoginPage as xt } from "./pages/login.js";
103
103
  import { default as ut } from "./pages/menu/avatar.js";
104
104
  import { default as pt } from "./pages/menu/button.js";
105
105
  import { DuxMenuCmd as Dt } from "./pages/menu/cmd.js";
106
- import { DuxMenuMain as st } from "./pages/menu/main.js";
107
- import { DuxMobileMenu as dt } from "./pages/menu/mobile.js";
108
- import { DuxPage as gt } from "./pages/page.js";
109
- import { DuxPage403 as ct } from "./pages/page403.js";
110
- import { DuxPage404 as Ct } from "./pages/page404.js";
111
- import { DuxPage500 as Ft } from "./pages/page500.js";
112
- import { DuxPageEmpty as ht } from "./pages/pageEmpty.js";
113
- import { DuxPageLoading as yt } from "./pages/pageLoading.js";
114
- import { DuxPageStatus as Mt } from "./pages/pageStatus.js";
115
- import { generateRainbowFromColor as Nt, getTheme as It } from "./config/echart.js";
116
- import { config as Rt } from "./config/uno.js";
117
- import { initVeeValidate as Bt } from "./config/validate.js";
118
- import { default as kt } from "./langs/en-US.json.js";
119
- import { default as Wt } from "./langs/zh-CN.json.js";
120
- import { createDuxPro as Gt } from "./main.js";
121
- import { useUIStore as Qt } from "./stores/ui.js";
122
- import { themeOverrides as zt } from "./theme/naiveTheme.js";
123
- import { presetTheme as Yt } from "./theme/presetTheme.js";
124
- import { default as qt } from "vue-konva";
125
- import { EndNode as Xt, EndNodeSetting as Zt, getEndNodeRegistry as $t } from "./components/flowEditor/nodes/endNode.js";
126
- import { ProcessNode as rx, ProcessNodeSetting as ex, getProcessNodeRegistry as tx } from "./components/flowEditor/nodes/processNode.js";
127
- import { StartNode as mx, StartNodeSetting as ux, getStartNodeRegistry as ax } from "./components/flowEditor/nodes/startNode.js";
106
+ import { default as st } from "./pages/menu/dark.js";
107
+ import { DuxMenuApp as dt } from "./pages/menu/menuApp.js";
108
+ import { DuxMenuMain as gt } from "./pages/menu/menuMain.js";
109
+ import { default as ct } from "./pages/menu/notice.js";
110
+ import { DuxMobileMenu as Ct } from "./pages/menu/mobile.js";
111
+ import { DuxPage as Ft } from "./pages/page.js";
112
+ import { DuxPage403 as ht } from "./pages/page403.js";
113
+ import { DuxPage404 as Mt } from "./pages/page404.js";
114
+ import { DuxPage500 as wt } from "./pages/page500.js";
115
+ import { DuxPageEmpty as Lt } from "./pages/pageEmpty.js";
116
+ import { DuxPageException as At } from "./pages/pageException.js";
117
+ import { DuxPageLoading as vt } from "./pages/pageLoading.js";
118
+ import { DuxPageStatus as Ut } from "./pages/pageStatus.js";
119
+ import { generateRainbowFromColor as Ot, getTheme as Wt } from "./config/echart.js";
120
+ import { config as Ht } from "./config/uno.js";
121
+ import { initVeeValidate as Vt } from "./config/validate.js";
122
+ import { default as zt } from "./langs/en-US.json.js";
123
+ import { default as jt } from "./langs/zh-CN.json.js";
124
+ import { createDuxPro as Jt } from "./main.js";
125
+ import { useUIStore as Xt } from "./stores/ui.js";
126
+ import { themeOverrides as $t } from "./theme/naiveTheme.js";
127
+ import { presetTheme as rx } from "./theme/presetTheme.js";
128
+ import { EndNode as tx, EndNodeSetting as xx, getEndNodeRegistry as mx } from "./components/flowEditor/nodes/endNode.js";
129
+ import { ProcessNode as ax, ProcessNodeSetting as px, getProcessNodeRegistry as fx } from "./components/flowEditor/nodes/processNode.js";
130
+ import { StartNode as lx, StartNodeSetting as sx, getStartNodeRegistry as ix } from "./components/flowEditor/nodes/startNode.js";
128
131
  export {
129
132
  ar as DuxAiEditor,
130
133
  a as DuxApp,
131
134
  ot as DuxAuthLayout,
132
- je as DuxAvatar,
133
- Ne as DuxBlockEmpty,
135
+ qe as DuxAvatar,
136
+ Le as DuxBlockEmpty,
134
137
  f as DuxCard,
135
138
  te as DuxCardPage,
136
139
  d as DuxCarousel,
@@ -138,13 +141,13 @@ export {
138
141
  c as DuxCodeEditor,
139
142
  ie as DuxCollapsePanel,
140
143
  h as DuxDashboardHello,
141
- y as DuxDashboardHelloBig,
142
- M as DuxDashboardQuick,
143
- L as DuxDashboardQuickItem,
144
+ M as DuxDashboardHelloBig,
145
+ w as DuxDashboardQuick,
146
+ N as DuxDashboardQuickItem,
144
147
  Uo as DuxDesignEditor,
145
148
  zo as DuxDialog,
146
- Yo as DuxDrawApps,
147
- qo as DuxDrawAuth,
149
+ jo as DuxDrawApps,
150
+ Jo as DuxDrawAuth,
148
151
  Xo as DuxDrawEmpty,
149
152
  $o as DuxDrawEmptyForm,
150
153
  rr as DuxDrawError,
@@ -154,105 +157,108 @@ export {
154
157
  I as DuxDynamicData,
155
158
  R as DuxDynamicSelect,
156
159
  _e as DuxFileManage,
157
- Ve as DuxFileUpload,
160
+ Ge as DuxFileUpload,
158
161
  zr as DuxFilterLayout,
159
162
  nr as DuxFlowEditor,
160
163
  kr as DuxFormEditor,
161
164
  br as DuxFormItem,
162
- wr as DuxFormLayout,
165
+ yr as DuxFormLayout,
163
166
  Wr as DuxFormRenderer,
164
- Yr as DuxGrid,
165
- Gr as DuxIconPicker,
167
+ jr as DuxGrid,
168
+ Hr as DuxIconPicker,
166
169
  C as DuxImageCrop,
167
170
  F as DuxImageCropModal,
168
- He as DuxImageUpload,
171
+ Qe as DuxImageUpload,
169
172
  et as DuxLayout,
170
173
  re as DuxLevel,
171
174
  Ae as DuxListEmpty,
172
- qr as DuxListLayout,
175
+ Jr as DuxListLayout,
173
176
  me as DuxListPage,
174
177
  xt as DuxLoginPage,
175
178
  ae as DuxMedia,
179
+ dt as DuxMenuApp,
176
180
  ut as DuxMenuAvatar,
177
181
  pt as DuxMenuButton,
178
182
  Dt as DuxMenuCmd,
179
- st as DuxMenuMain,
180
- dt as DuxMobileMenu,
181
- Mo as DuxModal,
182
- Lr as DuxModalForm,
183
- No as DuxModalPage,
183
+ st as DuxMenuDark,
184
+ gt as DuxMenuMain,
185
+ ct as DuxMenuNotice,
186
+ Ct as DuxMobileMenu,
187
+ wo as DuxModal,
188
+ Nr as DuxModalForm,
189
+ Lo as DuxModalPage,
184
190
  Ao as DuxModalTab,
185
- gt as DuxPage,
186
- ct as DuxPage403,
187
- Ct as DuxPage404,
188
- Ft as DuxPage500,
189
- ht as DuxPageEmpty,
191
+ Ft as DuxPage,
192
+ ht as DuxPage403,
193
+ Mt as DuxPage404,
194
+ wt as DuxPage500,
195
+ Lt as DuxPageEmpty,
196
+ At as DuxPageException,
190
197
  Ir as DuxPageForm,
191
- yt as DuxPageLoading,
192
- Mt as DuxPageStatus,
198
+ vt as DuxPageLoading,
199
+ Ut as DuxPageStatus,
193
200
  Rr as DuxPageTabForm,
194
201
  fe as DuxPanelAlert,
195
202
  le as DuxPanelCard,
196
203
  Ze as DuxPlaceholder,
197
204
  Fe as DuxPosterEditor,
198
205
  he as DuxSelectCard,
199
- Ke as DuxSelectUpload,
206
+ Ye as DuxSelectUpload,
200
207
  Br as DuxSettingForm,
201
- ye as DuxStatsNumber,
202
- Me as DuxStatsRealTime,
208
+ Me as DuxStatsNumber,
209
+ we as DuxStatsRealTime,
203
210
  l as DuxStatsStore,
204
211
  s as DuxStatsStoreItem,
205
212
  ve as DuxTable,
206
- Qr as DuxTableFilter,
213
+ Vr as DuxTableFilter,
207
214
  Xr as DuxTableLayout,
208
215
  Ue as DuxTablePage,
209
216
  $r as DuxTableTools,
210
217
  Oe as DuxTreeFilter,
211
- Je as DuxWidgetConnect,
212
- Vo as DuxWidgetEditorPreview,
213
- Xt as EndNode,
214
- Zt as EndNodeSetting,
218
+ Ke as DuxWidgetConnect,
219
+ Go as DuxWidgetEditorPreview,
220
+ tx as EndNode,
221
+ xx as EndNodeSetting,
215
222
  Pr as FIELD_TYPE_OPTIONS,
216
223
  fr as FlowNodeCard,
217
224
  lr as FlowSetting,
218
225
  ir as FlowToolbar,
219
- rx as ProcessNode,
220
- ex as ProcessNodeSetting,
221
- mx as StartNode,
222
- ux as StartNodeSetting,
223
- qt as VueKonva,
224
- Ho as WidgetEditorSetting,
225
- Qo as WidgetEditorSettingCard,
226
- Rt as config,
227
- Gt as createDuxPro,
226
+ ax as ProcessNode,
227
+ px as ProcessNodeSetting,
228
+ lx as StartNode,
229
+ sx as StartNodeSetting,
230
+ Qo as WidgetEditorSetting,
231
+ Vo as WidgetEditorSettingCard,
232
+ Ht as config,
233
+ Jt as createDuxPro,
228
234
  Er as defaultNodes,
229
235
  vo as duxFormEditorGrid,
230
236
  ne as elementConfigs,
231
237
  ge as elementRegistry,
232
- kt as enUS,
233
- Nt as generateRainbowFromColor,
238
+ zt as enUS,
239
+ Ot as generateRainbowFromColor,
234
240
  Ee as getElementConfig,
235
241
  ce as getElementsByCategory,
236
- $t as getEndNodeRegistry,
242
+ mx as getEndNodeRegistry,
237
243
  Cr as getFieldTypeOptions,
238
- tx as getProcessNodeRegistry,
239
- ax as getStartNodeRegistry,
240
- It as getTheme,
241
- Bt as initVeeValidate,
242
- Yt as presetTheme,
243
- zt as themeOverrides,
244
+ fx as getProcessNodeRegistry,
245
+ ix as getStartNodeRegistry,
246
+ Wt as getTheme,
247
+ Vt as initVeeValidate,
248
+ rx as presetTheme,
249
+ $t as themeOverrides,
244
250
  B as useAction,
245
251
  U as useActionButton,
246
252
  k as useActionDropdown,
247
253
  W as useDialog,
248
- G as useDownload,
249
- Q as useDrawer,
254
+ H as useDownload,
255
+ V as useDrawer,
250
256
  z as useEchartBar,
251
- K as useEchartCommon,
252
- Y as useEchartFunnel,
253
- j as useEchartLine,
254
- q as useEchartMap,
255
- J as useEchartPie,
257
+ Y as useEchartCommon,
258
+ j as useEchartFunnel,
259
+ q as useEchartLine,
260
+ J as useEchartMap,
261
+ K as useEchartPie,
256
262
  X as useEchartRadar,
257
263
  Z as useEchartRing,
258
264
  $ as useEchartRose,
@@ -272,7 +278,7 @@ export {
272
278
  Co as useTableColumnMedia,
273
279
  Fo as useTableColumnStatus,
274
280
  ho as useTableColumnSwitch,
275
- yo as useUI,
276
- Qt as useUIStore,
277
- Wt as zhCN
281
+ Mo as useUI,
282
+ Xt as useUIStore,
283
+ jt as zhCN
278
284
  };
@@ -1,4 +1,4 @@
1
- const e = { search: "Search", empty: "No data", menu: "Menu", theme: "Theme", dark: "Dark", light: "Light", back: "Back", loading: "Loading...", success: "Success", error: "Error", unknownError: "Unknown error", preview: "Preview" }, a = { tab: { lock: "Lock", closeOther: "Close Other", closeLeft: "Close Left", closeRight: "Close Right" }, dialog: { confirm: { title: "Confirm", content: "Are you sure you want to confirm?" }, cancel: { title: "Cancel", content: "Are you sure you want to cancel?" }, success: { title: "Success", content: "Your operation has been successful" }, error: { title: "Error", content: "Your operation has been failed" }, prompt: { title: "Prompt" } }, button: { confirm: "Confirm", cancel: "Cancel", submit: "Submit", reset: "Reset", delete: "Delete", search: "Search", advanced: "Advanced", export: "Export", import: "Import", autoRefresh: "Auto Refresh", filter: "Filter", refresh: "Refresh", select: "Select", create: "Create", download: "Download", rename: "Rename", preview: "Preview" }, form: { edit: "Edit", create: "Create" }, list: { selectAll: "Select All", columnSetting: "Column Setting", selectedItems: "Selected Items: {num}", total: "Total: {total}", batchTitle: "Batch Operation Confirmation", batchContent: "Are you sure you want to execute this batch operation?" }, editor: { placeholder: "Please enter content" }, upload: { fileManager: "File Manager", uploadFile: "Upload File", cancel: "Cancel", delete: "Delete", error: "Upload failed", empty: "No files", desc: "Click or drag files to this area", dropHere: "Drop files here", allFormats: "Support any format files", supportFormats: "Support {formats} format files", maxSize: "Max file size: {size}MB", success: "Upload success", failed: "Upload failed", fileExtension: "{ext} file", status: { pending: "Pending", uploading: "Uploading", success: "Success", cancelled: "Cancelled", error: "Error" }, file: { name: "File Name", size: "Size", type: "Type", status: "Status" }, actions: "Actions", selectUpload: { clickOrDrag: "Click to select files or drag here", selectedFiles: "Selected {count} files", multipleSupport: "Support multiple file selection", defaultDesc: "Support uploading specified file types", acceptDesc: "Only support uploading {accept} format files", maxFiles: "Max {max} files" } }, uploadManage: { title: "File Manager", all: "All", image: "Images", media: "Media", docs: "Documents", upload: "Upload", empty: "No files", emptyDesc: "No more files, please upload files", back: "Back to parent", parentLevel: "Parent Level", namePlaceholder: "Please enter name", createError: "Create failed", editError: "Edit failed", delError: "Delete failed", delTitle: "Confirm Delete", delDesc: "Are you sure you want to delete the selected files? This action cannot be undone." }, crop: { title: "Crop", select: "Select", confirm: "Confirm" }, stats: { realTimeData: "Real-time Data" }, data: { selectTitle: "Please select data" }, menu: { language: "Language", chinese: "中文", english: "English", color: "Color", primaryColor: "Primary Color", neutralColor: "Neutral Color", theme: "Theme", followSystem: "Follow System", lightMode: "Light", darkMode: "Dark", logout: "Logout" }, iconPicker: { title: "Icon Picker" }, designEditor: { layout: "Layout", all: "All", grid: { label: "Grid", title: "Grid Settings", columns: "Columns", spacing: "Spacing", columnsPlaceholder: "Enter columns", spacingPlaceholder: "Enter spacing" } }, flowEditor: { properties: "Properties", nodeInfo: "Node Info", nodeConfig: "Node Config", label: "Label", description: "Description", descriptionPlaceholder: "Please enter node description", selectNodeOrEdge: "Select a node or edge to configure", edgeSettings: "Edge Settings", edgeDescription: "Configure connection properties between nodes", editJSON: "Edit JSON", saveFlow: "Save Flow", clearFlow: "Clear Flow", flowCleared: "Flow cleared", flowSaved: "Flow data saved", editFlowJSON: "Edit Flow JSON", deleteEdge: "Delete Edge", edgeDeleted: "Edge deleted", from: "From", to: "To", connectionType: "Connection Type", pass: "Pass", reject: "Reject", categories: { start: "Start", process: "Process", condition: "Condition", end: "End" }, nodes: { start: { label: "Start", description: "Starting node of the process" }, end: { label: "End", description: "Ending node of the process" } }, fieldTypes: { text: "Text", number: "Number", boolean: "Boolean", date: "Date", array: "Array", object: "Object" }, toolbar: { releaseToAdd: "Release to add node" }, setting: { operations: "Operations", node: "Node", connection: "Connection" }, nodeCard: { delete: "Delete", copy: "Copy" }, jsonEditor: { copiedToClipboard: "Copied to clipboard", dataApplied: "Data applied to flow", jsonFormatError: "JSON format error" }, processNode: { label: "Process", description: "Generic process node" }, startNode: { label: "Start", description: "Starting node of the process", configTitle: "Start Node Configuration" } }, formEditor: { config: "Component Config", options: "Option Config", data: "Data", common: { componentConfig: "Component Config", optionConfig: "Option Config", optionData: "Option Data", dataConfig: "Data Config", dataEdit: "Data Edit", label: "Label", placeholder: "Placeholder", disabled: "Disabled", clearable: "Clearable", multiple: "Multiple", defaultValue: "Default Value", readonly: "Readonly", showCount: "Show Count", prefix: "Prefix", suffix: "Suffix", status: "Status", minLength: "Min Length", maxLength: "Max Length", minValue: "Min Value", maxValue: "Max Value", minCount: "Min Count", maxCount: "Max Count", optionLabel: "Option Label", optionValue: "Option Value", labelField: "Label Field", valueField: "Value Field", dataInterface: "Data Interface", cascade: "Cascade", showPath: "Show Path", uploadUrl: "Upload URL", showAlpha: "Show Alpha", timeFormat: "Time Format", hour12: "12 Hours", dateType: "Date Type", inputType: "Input Type", formDirection: "Form Direction", leftAlign: "Left Align", topAlign: "Top Align", settingAlign: "Setting Layout", pageAlign: "Page Layout", name: "Name", desc: "Description" }, setting: { title: "Form Settings" }, validation: "Validation Rules", componentConfig: "Component Config", input: { label: "Text", types: { text: "Text", textarea: "Textarea", password: "Password" } }, inputNumber: { label: "Number" }, select: { label: "Select", configDesc: "Config options" }, radio: { label: "Radio", configDesc: "Config options" }, checkbox: { label: "Checkbox", configDesc: "Config options" }, switch: { label: "Switch" }, date: { label: "Date", placeholder: "Select date", dateType: "Date Type", date: "Date", daterange: "Date Range", datetime: "DateTime", datetimerange: "DateTime Range", month: "Month", monthrange: "Month Range", year: "Year", yearrange: "Year Range", quarter: "Quarter", quarterrange: "Quarter Range", week: "Week" }, time: { label: "Time", placeholder: "Select time", timeFormat: "Format", use12Hours: "12 Hours" }, color: { label: "Color", showAlpha: "Show Alpha" }, cascader: { label: "Cascader", desc: "Cascader options data in JSON array format", configDesc: "Config options", optionDesc: "JSON array format", optionsDescription: "Config cascader options", cascade: "Cascade", showPath: "Show Path" }, cascaderAsync: { label: "Cascader", dataApi: "Data API", apiPlaceholder: "Enter API URL", cascade: "Cascade", showPath: "Show Path" }, dynamicInput: { label: "Dynamic" }, editor: { label: "Editor", placeholder: "Enter content", uploadUrlDesc: "Editor image upload URL" }, aiEditor: { label: "Editor", uploadUrl: "Upload URL", uploadUrlFeedback: "Image upload URL" }, sider: { name: "Slider", step: "Step", min: "Min", max: "Max" }, dynamicTags: { name: "Tags", max: "Max Count" }, mentionAsync: { name: "Mention", clearable: "Clearable", path: "Data API", labelField: "Label Field", valueField: "Value Field" }, region: { name: "Region", Path: "Data API", labelField: "Label Field", valueField: "Value Field" }, selectAsync: { name: "Select", pagination: "Pagination", path: "Data API", labelField: "Label Field", valueField: "Value Field", imageField: "Image Field", descField: "Desc Field" }, transferAsync: { name: "Transfer" }, treeSelect: { name: "Tree" }, treeSelectAsync: { name: "Tree Select", path: "Data API", labelField: "Label Field", keyField: "Key Field" }, tree: { disabled: "Disabled" }, groups: { form: "Form", select: "Selector", async: "Async" }, imageUpload: { label: "Image Upload", maxSize: "Max File Size (MB)", maxSizePlaceholder: "Enter max file size", maxNumPlaceholder: "Enter max file count", manager: "File Manager" }, fileUpload: { label: "File Upload", accept: "Accept File Types", acceptPlaceholder: "Enter accepted file types, e.g.: image/*,video/*", maxSize: "Max File Size (MB)", maxSizePlaceholder: "Enter max file size", maxNumPlaceholder: "Enter max file count", manager: "File Manager" }, main: { label: "Main Content", categories: { form: "Form", select: "Selector", async: "Async" }, actions: { jsonOutput: "Json Output", save: "Save" } } } }, t = { table: { exportSuccess: "Export data successfully", exportProgress: "Exporting data, please wait...", exportFailed: "Export data failed", exportSuccessContent: "Successfully exported {count} records", exportProgressContent: "Page {page} data", exportFailedContent: "Export data failed: {error}", importSuccess: "Import data successfully", importProgress: "Importing data, please wait...", importFailed: "Import data failed", importSuccessContent: "Successfully imported {count} records", importProgressContent: "{processed} / {total} records", importFailedContent: "Import data failed: {error}", saveSuccess: "Save successfully", copySuccess: "Copy successfully", copyFailed: "Copy failed" }, download: { failed: "Download failed" } }, o = { 400: { title: "400", desc: "Request error" }, 401: { title: "401", desc: "You do not have permission to access this page" }, 403: { title: "403", desc: "You do not have permission to access this page" }, 404: { title: "404", desc: "Page not found" }, 500: { title: "500", desc: "Server error" }, empty: { title: "No data", desc: "No more data, please try again later" }, loading: { title: "Loading", desc: "Data is loading, please try again later" }, login: { success: "Login success", error: "Login failed, please check your username and password", placeholder: { username: "Please enter username", password: "Please enter password" }, buttons: { login: "Login" } } }, l = { "zh-CN": "Chinese", "en-US": "English", "ja-JP": "Japanese", "ko-KR": "Korean", "ru-RU": "Russian" }, i = {
1
+ const e = { search: "Search", empty: "No data", menu: "Menu", theme: "Theme", dark: "Dark", light: "Light", back: "Back", loading: "Loading...", success: "Success", error: "Error", unknownError: "Unknown error", preview: "Preview" }, a = { tab: { lock: "Lock", closeOther: "Close Other", closeLeft: "Close Left", closeRight: "Close Right" }, dialog: { confirm: { title: "Confirm", content: "Are you sure you want to confirm?" }, cancel: { title: "Cancel", content: "Are you sure you want to cancel?" }, success: { title: "Success", content: "Your operation has been successful" }, error: { title: "Error", content: "Your operation has been failed" }, prompt: { title: "Prompt" } }, button: { confirm: "Confirm", cancel: "Cancel", submit: "Submit", reset: "Reset", delete: "Delete", search: "Search", advanced: "Advanced", export: "Export", import: "Import", autoRefresh: "Auto Refresh", filter: "Filter", refresh: "Refresh", select: "Select", create: "Create", download: "Download", rename: "Rename", preview: "Preview" }, form: { edit: "Edit", create: "Create" }, list: { selectAll: "Select All", columnSetting: "Column Setting", selectedItems: "Selected Items: {num}", total: "Total: {total}", batchTitle: "Batch Operation Confirmation", batchContent: "Are you sure you want to execute this batch operation?" }, editor: { placeholder: "Please enter content" }, upload: { fileManager: "File Manager", uploadFile: "Upload File", cancel: "Cancel", delete: "Delete", error: "Upload failed", empty: "No files", desc: "Click or drag files to this area", dropHere: "Drop files here", allFormats: "Support any format files", supportFormats: "Support {formats} format files", maxSize: "Max file size: {size}MB", success: "Upload success", failed: "Upload failed", fileExtension: "{ext} file", status: { pending: "Pending", uploading: "Uploading", success: "Success", cancelled: "Cancelled", error: "Error" }, file: { name: "File Name", size: "Size", type: "Type", status: "Status" }, actions: "Actions", selectUpload: { clickOrDrag: "Click to select files or drag here", selectedFiles: "Selected {count} files", multipleSupport: "Support multiple file selection", defaultDesc: "Support uploading specified file types", acceptDesc: "Only support uploading {accept} format files", maxFiles: "Max {max} files" } }, uploadManage: { title: "File Manager", all: "All", image: "Images", media: "Media", docs: "Documents", upload: "Upload", empty: "No files", emptyDesc: "No more files, please upload files", back: "Back to parent", parentLevel: "Parent Level", namePlaceholder: "Please enter name", createError: "Create failed", editError: "Edit failed", delError: "Delete failed", delTitle: "Confirm Delete", delDesc: "Are you sure you want to delete the selected files? This action cannot be undone." }, crop: { title: "Crop", select: "Select", confirm: "Confirm" }, stats: { realTimeData: "Real-time Data" }, data: { selectTitle: "Please select data" }, menu: { language: "Language", chinese: "中文", english: "English", color: "Color", primaryColor: "Primary Color", neutralColor: "Neutral Color", theme: "Theme", followSystem: "Follow System", lightMode: "Light", darkMode: "Dark", logout: "Logout", notice: "Notice", noNotice: "No notices", markAllRead: "Mark all read", viewAllNotices: "View all notices", themeToggle: "Theme Toggle" }, iconPicker: { title: "Icon Picker" }, designEditor: { layout: "Layout", all: "All", grid: { label: "Grid", title: "Grid Settings", columns: "Columns", spacing: "Spacing", columnsPlaceholder: "Enter columns", spacingPlaceholder: "Enter spacing" } }, flowEditor: { properties: "Properties", nodeInfo: "Node Info", nodeConfig: "Node Config", label: "Label", description: "Description", descriptionPlaceholder: "Please enter node description", selectNodeOrEdge: "Select a node or edge to configure", edgeSettings: "Edge Settings", edgeDescription: "Configure connection properties between nodes", editJSON: "Edit JSON", saveFlow: "Save Flow", clearFlow: "Clear Flow", flowCleared: "Flow cleared", flowSaved: "Flow data saved", editFlowJSON: "Edit Flow JSON", deleteEdge: "Delete Edge", edgeDeleted: "Edge deleted", from: "From", to: "To", connectionType: "Connection Type", pass: "Pass", reject: "Reject", categories: { start: "Start", process: "Process", condition: "Condition", end: "End" }, nodes: { start: { label: "Start", description: "Starting node of the process" }, end: { label: "End", description: "Ending node of the process" } }, fieldTypes: { text: "Text", number: "Number", boolean: "Boolean", date: "Date", array: "Array", object: "Object" }, toolbar: { releaseToAdd: "Release to add node" }, setting: { operations: "Operations", node: "Node", connection: "Connection" }, nodeCard: { delete: "Delete", copy: "Copy" }, jsonEditor: { copiedToClipboard: "Copied to clipboard", dataApplied: "Data applied to flow", jsonFormatError: "JSON format error" }, processNode: { label: "Process", description: "Generic process node" }, startNode: { label: "Start", description: "Starting node of the process", configTitle: "Start Node Configuration" } }, formEditor: { config: "Component Config", options: "Option Config", data: "Data", common: { componentConfig: "Component Config", optionConfig: "Option Config", optionData: "Option Data", dataConfig: "Data Config", dataEdit: "Data Edit", label: "Label", placeholder: "Placeholder", disabled: "Disabled", clearable: "Clearable", multiple: "Multiple", defaultValue: "Default Value", readonly: "Readonly", showCount: "Show Count", prefix: "Prefix", suffix: "Suffix", status: "Status", minLength: "Min Length", maxLength: "Max Length", minValue: "Min Value", maxValue: "Max Value", minCount: "Min Count", maxCount: "Max Count", optionLabel: "Option Label", optionValue: "Option Value", labelField: "Label Field", valueField: "Value Field", dataInterface: "Data Interface", cascade: "Cascade", showPath: "Show Path", uploadUrl: "Upload URL", showAlpha: "Show Alpha", timeFormat: "Time Format", hour12: "12 Hours", dateType: "Date Type", inputType: "Input Type", formDirection: "Form Direction", leftAlign: "Left Align", topAlign: "Top Align", settingAlign: "Setting Layout", pageAlign: "Page Layout", name: "Name", desc: "Description" }, setting: { title: "Form Settings" }, validation: "Validation Rules", componentConfig: "Component Config", input: { label: "Text", types: { text: "Text", textarea: "Textarea", password: "Password" } }, inputNumber: { label: "Number" }, select: { label: "Select", configDesc: "Config options" }, radio: { label: "Radio", configDesc: "Config options" }, checkbox: { label: "Checkbox", configDesc: "Config options" }, switch: { label: "Switch" }, date: { label: "Date", placeholder: "Select date", dateType: "Date Type", date: "Date", daterange: "Date Range", datetime: "DateTime", datetimerange: "DateTime Range", month: "Month", monthrange: "Month Range", year: "Year", yearrange: "Year Range", quarter: "Quarter", quarterrange: "Quarter Range", week: "Week" }, time: { label: "Time", placeholder: "Select time", timeFormat: "Format", use12Hours: "12 Hours" }, color: { label: "Color", showAlpha: "Show Alpha" }, cascader: { label: "Cascader", desc: "Cascader options data in JSON array format", configDesc: "Config options", optionDesc: "JSON array format", optionsDescription: "Config cascader options", cascade: "Cascade", showPath: "Show Path" }, cascaderAsync: { label: "Cascader", dataApi: "Data API", apiPlaceholder: "Enter API URL", cascade: "Cascade", showPath: "Show Path" }, dynamicInput: { label: "Dynamic" }, editor: { label: "Editor", placeholder: "Enter content", uploadUrlDesc: "Editor image upload URL" }, aiEditor: { label: "Editor", uploadUrl: "Upload URL", uploadUrlFeedback: "Image upload URL" }, sider: { name: "Slider", step: "Step", min: "Min", max: "Max" }, dynamicTags: { name: "Tags", max: "Max Count" }, mentionAsync: { name: "Mention", clearable: "Clearable", path: "Data API", labelField: "Label Field", valueField: "Value Field" }, region: { name: "Region", Path: "Data API", labelField: "Label Field", valueField: "Value Field" }, selectAsync: { name: "Select", pagination: "Pagination", path: "Data API", labelField: "Label Field", valueField: "Value Field", imageField: "Image Field", descField: "Desc Field" }, transferAsync: { name: "Transfer" }, treeSelect: { name: "Tree" }, treeSelectAsync: { name: "Tree Select", path: "Data API", labelField: "Label Field", keyField: "Key Field" }, tree: { disabled: "Disabled" }, groups: { form: "Form", select: "Selector", async: "Async" }, imageUpload: { label: "Image Upload", maxSize: "Max File Size (MB)", maxSizePlaceholder: "Enter max file size", maxNumPlaceholder: "Enter max file count", manager: "File Manager" }, fileUpload: { label: "File Upload", accept: "Accept File Types", acceptPlaceholder: "Enter accepted file types, e.g.: image/*,video/*", maxSize: "Max File Size (MB)", maxSizePlaceholder: "Enter max file size", maxNumPlaceholder: "Enter max file count", manager: "File Manager" }, main: { label: "Main Content", categories: { form: "Form", select: "Selector", async: "Async" }, actions: { jsonOutput: "Json Output", save: "Save" } } } }, t = { table: { exportSuccess: "Export data successfully", exportProgress: "Exporting data, please wait...", exportFailed: "Export data failed", exportSuccessContent: "Successfully exported {count} records", exportProgressContent: "Page {page} data", exportFailedContent: "Export data failed: {error}", importSuccess: "Import data successfully", importProgress: "Importing data, please wait...", importFailed: "Import data failed", importSuccessContent: "Successfully imported {count} records", importProgressContent: "{processed} / {total} records", importFailedContent: "Import data failed: {error}", saveSuccess: "Save successfully", copySuccess: "Copy successfully", copyFailed: "Copy failed" }, download: { failed: "Download failed" } }, o = { 400: { title: "400", desc: "Request error" }, 401: { title: "401", desc: "You do not have permission to access this page" }, 403: { title: "403", desc: "You do not have permission to access this page" }, 404: { title: "404", desc: "Page not found" }, 500: { title: "500", desc: "Server error" }, empty: { title: "No data", desc: "No more data, please try again later" }, loading: { title: "Loading", desc: "Data is loading, please try again later" }, exception: { title: "System Exception", desc: "A system exception occurred. Please check the console for details" }, login: { success: "Login success", error: "Login failed, please check your username and password", placeholder: { username: "Please enter username", password: "Please enter password" }, buttons: { login: "Login" } } }, l = { "zh-CN": "Chinese", "en-US": "English", "ja-JP": "Japanese", "ko-KR": "Korean", "ru-RU": "Russian" }, i = {
2
2
  common: e,
3
3
  components: a,
4
4
  hooks: t,