@robot-admin/naive-ui-components 0.13.0 → 0.13.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 (103) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +37 -0
  3. package/README_EN.md +37 -0
  4. package/dist/C_Guide.css +123 -0
  5. package/dist/C_Guide.d.cts +2 -2
  6. package/dist/C_Guide.d.ts +2 -2
  7. package/dist/C_Guide2.cjs +1 -1
  8. package/dist/C_Guide2.js +1 -1
  9. package/dist/C_Login.css +76 -76
  10. package/dist/C_Login2.cjs +1 -1
  11. package/dist/C_Login2.js +1 -1
  12. package/dist/constants.d.cts +4 -4
  13. package/dist/constants.d.ts +4 -4
  14. package/dist/constants2.d.cts +4 -4
  15. package/dist/constants2.d.ts +4 -4
  16. package/dist/constants3.d.cts +3 -3
  17. package/dist/constants3.d.ts +3 -3
  18. package/dist/constants4.d.cts +4 -4
  19. package/dist/constants4.d.ts +4 -4
  20. package/dist/constants5.d.cts +2 -2
  21. package/dist/constants5.d.ts +2 -2
  22. package/dist/data.d.cts +8 -8
  23. package/dist/data.d.ts +8 -8
  24. package/dist/index.d.cts +2 -2
  25. package/dist/index.d.ts +2 -2
  26. package/dist/index.vue.d.cts +8 -8
  27. package/dist/index.vue.d.ts +8 -8
  28. package/dist/index10.vue.d.cts +6 -6
  29. package/dist/index10.vue.d.ts +3 -3
  30. package/dist/index11.vue.d.cts +3 -3
  31. package/dist/index11.vue.d.ts +3 -3
  32. package/dist/index12.vue.d.cts +3 -3
  33. package/dist/index13.vue.d.ts +33 -7
  34. package/dist/index14.vue.d.cts +33 -7
  35. package/dist/index14.vue.d.ts +5 -5
  36. package/dist/index15.vue.d.cts +5 -5
  37. package/dist/index15.vue.d.ts +3 -3
  38. package/dist/index16.vue.d.cts +3 -3
  39. package/dist/index16.vue.d.ts +10 -1
  40. package/dist/index17.vue.d.cts +10 -1
  41. package/dist/index17.vue.d.ts +4 -4
  42. package/dist/index18.vue.d.cts +4 -4
  43. package/dist/index19.vue.d.cts +1 -1
  44. package/dist/index19.vue.d.ts +1 -1
  45. package/dist/index2.vue.d.cts +3 -3
  46. package/dist/index2.vue.d.ts +3 -3
  47. package/dist/index20.vue.d.cts +1 -1
  48. package/dist/index20.vue.d.ts +1 -1
  49. package/dist/index21.vue.d.cts +2 -2
  50. package/dist/index21.vue.d.ts +2 -2
  51. package/dist/index24.vue.d.cts +4 -4
  52. package/dist/index24.vue.d.ts +4 -4
  53. package/dist/index25.vue.d.cts +1 -1
  54. package/dist/index25.vue.d.ts +1 -1
  55. package/dist/index26.vue.d.cts +2 -2
  56. package/dist/index26.vue.d.ts +2 -2
  57. package/dist/index27.vue.d.cts +3 -3
  58. package/dist/index27.vue.d.ts +3 -3
  59. package/dist/index3.vue.d.cts +6 -6
  60. package/dist/index3.vue.d.ts +6 -6
  61. package/dist/index5.vue.d.ts +2 -2
  62. package/dist/index6.vue.d.cts +2 -2
  63. package/dist/index7.vue.d.ts +2 -2
  64. package/dist/index8.vue.d.cts +2 -2
  65. package/dist/index8.vue.d.ts +1 -1
  66. package/dist/index9.vue.d.cts +1 -1
  67. package/dist/index9.vue.d.ts +6 -6
  68. package/dist/mapUtils.d.cts +2 -2
  69. package/dist/mapUtils.d.ts +2 -2
  70. package/dist/presets.d.cts +1 -1
  71. package/dist/presets.d.ts +1 -1
  72. package/dist/style.css +201 -76
  73. package/dist/useCalendarEvents.d.cts +1 -1
  74. package/dist/useCalendarEvents.d.ts +1 -1
  75. package/dist/useCollapsePanel.d.cts +3 -3
  76. package/dist/useCollapsePanel.d.ts +3 -3
  77. package/dist/useCropperCore.d.cts +3 -3
  78. package/dist/useCropperCore.d.ts +3 -3
  79. package/dist/useDraggableLayout.d.cts +4 -4
  80. package/dist/useDraggableLayout.d.ts +4 -4
  81. package/dist/useDynamicFormState.d.cts +2 -2
  82. package/dist/useDynamicFormState.d.ts +2 -2
  83. package/dist/useEdgeInteraction.d.cts +3 -3
  84. package/dist/useEdgeInteraction.d.ts +3 -3
  85. package/dist/useQRCode.d.cts +6 -6
  86. package/dist/useQRCode.d.ts +6 -6
  87. package/dist/useSearchState.d.cts +8 -8
  88. package/dist/useSearchState.d.ts +8 -8
  89. package/dist/useSignatureHistory.d.cts +6 -6
  90. package/dist/useSignatureHistory.d.ts +6 -6
  91. package/dist/useSplitResize.d.cts +5 -5
  92. package/dist/useSplitResize.d.ts +5 -5
  93. package/dist/useTableQuery.d.cts +1 -1
  94. package/dist/useTableQuery.d.ts +1 -1
  95. package/dist/useTimeSelection.d.cts +4 -4
  96. package/dist/useTimeSelection.d.ts +4 -4
  97. package/dist/useTreeOperations.d.cts +5 -5
  98. package/dist/useTreeOperations.d.ts +5 -5
  99. package/dist/useWorkflowValidation.d.cts +7 -7
  100. package/dist/useWorkflowValidation.d.ts +7 -7
  101. package/dist/verification.d.cts +3 -3
  102. package/dist/verification.d.ts +3 -3
  103. package/package.json +1 -1
package/dist/style.css CHANGED
@@ -7668,6 +7668,131 @@ to {
7668
7668
  }
7669
7669
 
7670
7670
 
7671
+ /* --- C_Guide --- */
7672
+ /* unplugin-vue-components disabled *//*
7673
+ * @Author: ChenYu ycyplus@gmail.com
7674
+ * @Date: 2026-10-04
7675
+ * @Description: 引导入口键盘焦点样式,不依赖宿主样式
7676
+ * Copyright (c) 2026 by CHENY, All Rights Reserved 😎.
7677
+ */
7678
+ [data-v-1dcaf6fa] .n-button:focus-visible {
7679
+ outline: 2px solid var(--c-primary, #2080f0);
7680
+ outline-offset: 4px;
7681
+ border-radius: 4px;
7682
+ }
7683
+ /* unplugin-vue-components disabled *//*
7684
+ * @Author: ChenYu ycyplus@gmail.com
7685
+ * @Date: 2026-10-04
7686
+ * @FilePath: \naive-ui-components\src\components\C_Guide\popover.scss
7687
+ * @Description: 组件库通用引导主题,弹层由 Driver.js 挂载到 body
7688
+ * Copyright (c) 2026 by CHENY, All Rights Reserved 😎.
7689
+ */
7690
+ .driver-popover.c-guide-popover {
7691
+ box-sizing: border-box;
7692
+ width: 328px;
7693
+ min-width: 0;
7694
+ max-width: calc(100vw - 24px);
7695
+ padding: 20px;
7696
+ color: var(--c-guide-text, var(--c-text-1, #262626));
7697
+ background: var(--c-guide-bg, var(--c-bg-surface, #fff));
7698
+ border: 1px solid var(--c-guide-border, var(--c-border, #e5e7eb));
7699
+ border-radius: var(--c-guide-radius, 14px);
7700
+ box-shadow: var(--c-shadow-lg, 0 12px 32px rgba(0, 0, 0, 0.2));
7701
+ font-family: inherit;
7702
+ }
7703
+ .driver-popover.c-guide-popover .driver-popover-title {
7704
+ padding-right: 20px;
7705
+ color: var(--c-guide-text, var(--c-text-1, #262626));
7706
+ font-size: 18px;
7707
+ font-weight: 650;
7708
+ line-height: 1.5;
7709
+ }
7710
+ .driver-popover.c-guide-popover .driver-popover-description {
7711
+ color: var(--c-guide-text-secondary, var(--c-text-2, #525252));
7712
+ font-size: 13px;
7713
+ line-height: 1.7;
7714
+ }
7715
+ .driver-popover.c-guide-popover .c-guide-figure {
7716
+ padding: 4px 0;
7717
+ color: var(--c-guide-primary, var(--c-primary, #2080f0));
7718
+ background: color-mix(in srgb, var(--c-guide-primary, var(--c-primary, #2080f0)) 8%, var(--c-guide-bg, var(--c-bg-surface, #fff)));
7719
+ border-radius: 9px;
7720
+ }
7721
+ .driver-popover.c-guide-popover .c-guide-figure svg {
7722
+ display: block;
7723
+ width: 100%;
7724
+ height: 96px;
7725
+ }
7726
+ .driver-popover.c-guide-popover .c-guide-copy {
7727
+ margin: 14px 0 0;
7728
+ }
7729
+ .driver-popover.c-guide-popover .driver-popover-footer {
7730
+ margin-top: 18px;
7731
+ padding: 0;
7732
+ gap: 8px;
7733
+ }
7734
+ .driver-popover.c-guide-popover .driver-popover-footer .c-guide-skip-btn {
7735
+ flex-shrink: 0;
7736
+ padding: 5px 0;
7737
+ color: var(--c-guide-text-muted, #767676);
7738
+ background: transparent;
7739
+ border: none;
7740
+ }
7741
+ .driver-popover.c-guide-popover .driver-popover-footer .c-guide-skip-btn:hover {
7742
+ color: var(--c-guide-primary, #2080f0);
7743
+ background: transparent;
7744
+ }
7745
+ .driver-popover.c-guide-popover .driver-popover-footer button {
7746
+ min-height: 32px;
7747
+ padding: 5px 12px;
7748
+ color: var(--c-guide-text, var(--c-text-1, #262626));
7749
+ background: var(--c-guide-bg, var(--c-bg-surface, #fff));
7750
+ border: 1px solid var(--c-guide-border, var(--c-border, #e5e7eb));
7751
+ border-radius: 7px;
7752
+ font-size: 12px;
7753
+ text-shadow: none;
7754
+ }
7755
+ .driver-popover.c-guide-popover .driver-popover-footer button:disabled {
7756
+ opacity: 0.5;
7757
+ pointer-events: none;
7758
+ }
7759
+ .driver-popover.c-guide-popover .driver-popover-footer button:hover {
7760
+ background: color-mix(in srgb, var(--c-guide-primary, #2080f0) 8%, var(--c-guide-bg, #fff));
7761
+ }
7762
+ .driver-popover.c-guide-popover .driver-popover-footer button:focus-visible {
7763
+ outline: 2px solid var(--c-guide-primary, var(--c-primary, #2080f0));
7764
+ outline-offset: 2px;
7765
+ }
7766
+ .driver-popover.c-guide-popover .driver-popover-footer .driver-popover-next-btn {
7767
+ color: #fff;
7768
+ background: var(--c-guide-primary, var(--c-primary, #2080f0));
7769
+ border-color: var(--c-guide-primary, var(--c-primary, #2080f0));
7770
+ }
7771
+ .driver-popover.c-guide-popover .driver-popover-footer .driver-popover-next-btn:hover {
7772
+ background: var(--c-guide-primary-hover, #4098fc);
7773
+ }
7774
+ .driver-popover.c-guide-popover .driver-popover-close-btn {
7775
+ top: 14px;
7776
+ right: 12px;
7777
+ color: var(--c-guide-text-muted, var(--c-text-3, #a3a3a3));
7778
+ }
7779
+ .driver-popover.c-guide-popover .driver-popover-close-btn:hover, .driver-popover.c-guide-popover .driver-popover-close-btn:focus {
7780
+ color: var(--c-guide-text, var(--c-text-1, #262626));
7781
+ }
7782
+ .driver-popover.c-guide-popover .driver-popover-arrow-side-left {
7783
+ border-left-color: var(--c-guide-bg, var(--c-bg-surface, #fff));
7784
+ }
7785
+ .driver-popover.c-guide-popover .driver-popover-arrow-side-right {
7786
+ border-right-color: var(--c-guide-bg, var(--c-bg-surface, #fff));
7787
+ }
7788
+ .driver-popover.c-guide-popover .driver-popover-arrow-side-top {
7789
+ border-top-color: var(--c-guide-bg, var(--c-bg-surface, #fff));
7790
+ }
7791
+ .driver-popover.c-guide-popover .driver-popover-arrow-side-bottom {
7792
+ border-bottom-color: var(--c-guide-bg, var(--c-bg-surface, #fff));
7793
+ }
7794
+
7795
+
7671
7796
  /* --- C_Icon --- */
7672
7797
  /* unplugin-vue-components disabled */.c-icon[data-v-711aedcd] {
7673
7798
  display: inline-flex;
@@ -7869,7 +7994,7 @@ to {
7869
7994
  * }
7870
7995
  */
7871
7996
  /* ===== CSS 变量默认值(暗色玻璃风格) ===== */
7872
- .c-login-panel[data-v-73103033] {
7997
+ .c-login-panel[data-v-8a92d34b] {
7873
7998
  /* 面板 */
7874
7999
  --cl-panel-bg: rgba(255, 255, 255, 0.1);
7875
8000
  --cl-panel-border: rgba(255, 255, 255, 0.18);
@@ -7918,7 +8043,7 @@ to {
7918
8043
  }
7919
8044
 
7920
8045
  /* ===== 面板容器 ===== */
7921
- .c-login-panel[data-v-73103033] {
8046
+ .c-login-panel[data-v-8a92d34b] {
7922
8047
  width: var(--cl-panel-width);
7923
8048
  background: var(--cl-panel-bg);
7924
8049
  border: 1px solid var(--cl-panel-border);
@@ -7931,7 +8056,7 @@ to {
7931
8056
  transition: box-shadow 0.3s ease;
7932
8057
  /* 顶部光泽线 */
7933
8058
  }
7934
- .c-login-panel[data-v-73103033]::before {
8059
+ .c-login-panel[data-v-8a92d34b]::before {
7935
8060
  content: "";
7936
8061
  position: absolute;
7937
8062
  top: 0;
@@ -7941,10 +8066,10 @@ to {
7941
8066
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.45) 50%, rgba(255, 255, 255, 0) 100%);
7942
8067
  pointer-events: none;
7943
8068
  }
7944
- .c-login-panel[data-v-73103033] {
8069
+ .c-login-panel[data-v-8a92d34b] {
7945
8070
  /* 玻璃内衬 */
7946
8071
  }
7947
- .c-login-panel[data-v-73103033]::after {
8072
+ .c-login-panel[data-v-8a92d34b]::after {
7948
8073
  content: "";
7949
8074
  position: absolute;
7950
8075
  inset: 0;
@@ -7953,19 +8078,19 @@ to {
7953
8078
  border-radius: inherit;
7954
8079
  z-index: 0;
7955
8080
  }
7956
- .c-login-panel[data-v-73103033] > * {
8081
+ .c-login-panel[data-v-8a92d34b] > * {
7957
8082
  position: relative;
7958
8083
  z-index: 1;
7959
8084
  }
7960
8085
 
7961
8086
  /* ===== Header ===== */
7962
- .c-login__header[data-v-73103033] {
8087
+ .c-login__header[data-v-8a92d34b] {
7963
8088
  text-align: center;
7964
8089
  margin-bottom: 10px;
7965
8090
  }
7966
8091
 
7967
8092
  /* ===== 返回按钮(登录/注册下方块级按钮) ===== */
7968
- .c-login__back-btn[data-v-73103033] {
8093
+ .c-login__back-btn[data-v-8a92d34b] {
7969
8094
  margin-top: 10px;
7970
8095
  height: var(--cl-btn-height) !important;
7971
8096
  border-radius: var(--cl-btn-radius) !important;
@@ -7977,41 +8102,41 @@ to {
7977
8102
  letter-spacing: 2px;
7978
8103
  transition: all 0.25s ease !important;
7979
8104
  }
7980
- .c-login__back-btn[data-v-73103033]:hover {
8105
+ .c-login__back-btn[data-v-8a92d34b]:hover {
7981
8106
  background: rgba(255, 255, 255, 0.06) !important;
7982
8107
  border-color: var(--cl-input-underline-hover) !important;
7983
8108
  color: var(--cl-text-primary) !important;
7984
8109
  }
7985
- .c-login__logo[data-v-73103033] {
8110
+ .c-login__logo[data-v-8a92d34b] {
7986
8111
  display: flex;
7987
8112
  justify-content: center;
7988
8113
  margin-bottom: 4px;
7989
8114
  }
7990
- .c-login__logo .c-login__logo-icon[data-v-73103033] {
8115
+ .c-login__logo .c-login__logo-icon[data-v-8a92d34b] {
7991
8116
  color: var(--cl-text-primary);
7992
8117
  filter: drop-shadow(0 2px 8px rgba(24, 89, 233, 0.4));
7993
8118
  }
7994
- .c-login__title[data-v-73103033] {
8119
+ .c-login__title[data-v-8a92d34b] {
7995
8120
  margin: 0 0 2px;
7996
8121
  font-size: 20px;
7997
8122
  font-weight: 600;
7998
8123
  color: var(--cl-text-primary);
7999
8124
  letter-spacing: 0.5px;
8000
8125
  }
8001
- .c-login__subtitle[data-v-73103033] {
8126
+ .c-login__subtitle[data-v-8a92d34b] {
8002
8127
  margin: 0;
8003
8128
  font-size: 13px;
8004
8129
  color: var(--cl-text-secondary);
8005
8130
  }
8006
8131
 
8007
8132
  /* ===== 登录方式切换(底部) ===== */
8008
- .c-login__mode-switch[data-v-73103033] {
8133
+ .c-login__mode-switch[data-v-8a92d34b] {
8009
8134
  margin-top: 14px;
8010
8135
  display: grid;
8011
8136
  grid-template-columns: 1fr 1fr;
8012
8137
  gap: 10px;
8013
8138
  }
8014
- .c-login__mode-btn[data-v-73103033] {
8139
+ .c-login__mode-btn[data-v-8a92d34b] {
8015
8140
  --n-border: none !important;
8016
8141
  --n-border-hover: none !important;
8017
8142
  --n-border-pressed: none !important;
@@ -8024,51 +8149,51 @@ to {
8024
8149
  color: var(--cl-text-secondary) !important;
8025
8150
  transition: all 0.2s ease !important;
8026
8151
  }
8027
- .c-login__mode-btn[data-v-73103033]:hover {
8152
+ .c-login__mode-btn[data-v-8a92d34b]:hover {
8028
8153
  background: rgba(255, 255, 255, 0.1) !important;
8029
8154
  color: var(--cl-text-primary) !important;
8030
8155
  }
8031
- .c-login__mode-btn.is-active[data-v-73103033] {
8156
+ .c-login__mode-btn.is-active[data-v-8a92d34b] {
8032
8157
  background: color-mix(in srgb, var(--cl-tab-bar) 22%, transparent) !important;
8033
8158
  color: var(--cl-tab-active) !important;
8034
8159
  }
8035
8160
 
8036
8161
  /* ===== 表单 ===== */
8037
- .c-login__form[data-v-73103033] {
8162
+ .c-login__form[data-v-8a92d34b] {
8038
8163
  margin-top: 6px;
8039
8164
  }
8040
- .c-login__form-item[data-v-73103033] {
8165
+ .c-login__form-item[data-v-8a92d34b] {
8041
8166
  margin-bottom: 6px !important;
8042
8167
  /* 彻底干掉 NaiveUI FormItem 内置间距 CSS 变量 */
8043
8168
  }
8044
- .c-login__form-item[data-v-73103033] .n-form-item {
8169
+ .c-login__form-item[data-v-8a92d34b] .n-form-item {
8045
8170
  --n-feedback-padding: 2px 0 0 0 !important;
8046
8171
  --n-feedback-height: 0 !important;
8047
8172
  --n-blank-height: 0 !important;
8048
8173
  --n-label-height: 0 !important;
8049
8174
  }
8050
- .c-login__form-item[data-v-73103033] .n-form-item-label {
8175
+ .c-login__form-item[data-v-8a92d34b] .n-form-item-label {
8051
8176
  display: none;
8052
8177
  }
8053
- .c-login__form-item[data-v-73103033] {
8178
+ .c-login__form-item[data-v-8a92d34b] {
8054
8179
  /* 校验信息减少占用 */
8055
8180
  }
8056
- .c-login__form-item[data-v-73103033] .n-form-item-feedback-wrapper {
8181
+ .c-login__form-item[data-v-8a92d34b] .n-form-item-feedback-wrapper {
8057
8182
  min-height: 0 !important;
8058
8183
  padding-top: 0 !important;
8059
8184
  line-height: 1.4;
8060
8185
  }
8061
- .c-login__form-item[data-v-73103033] .n-form-item-feedback {
8186
+ .c-login__form-item[data-v-8a92d34b] .n-form-item-feedback {
8062
8187
  font-size: 11px !important;
8063
8188
  line-height: 1.4;
8064
8189
  }
8065
- .c-login__form-item[data-v-73103033] .n-form-item-blank {
8190
+ .c-login__form-item[data-v-8a92d34b] .n-form-item-blank {
8066
8191
  min-height: 0 !important;
8067
8192
  }
8068
- .c-login__form-item[data-v-73103033] {
8193
+ .c-login__form-item[data-v-8a92d34b] {
8069
8194
  /* 底线风格输入框 */
8070
8195
  }
8071
- .c-login__form-item[data-v-73103033] .n-input {
8196
+ .c-login__form-item[data-v-8a92d34b] .n-input {
8072
8197
  --n-border: none !important;
8073
8198
  --n-border-hover: none !important;
8074
8199
  --n-border-focus: none !important;
@@ -8084,58 +8209,58 @@ to {
8084
8209
  padding: 5px 2px !important;
8085
8210
  transition: border-color 0.25s ease;
8086
8211
  }
8087
- .c-login__form-item[data-v-73103033] .n-input:hover {
8212
+ .c-login__form-item[data-v-8a92d34b] .n-input:hover {
8088
8213
  border-bottom-color: var(--cl-input-underline-hover) !important;
8089
8214
  }
8090
- .c-login__form-item[data-v-73103033] .n-input:focus-within {
8215
+ .c-login__form-item[data-v-8a92d34b] .n-input:focus-within {
8091
8216
  border-bottom-color: var(--cl-input-underline-focus) !important;
8092
8217
  }
8093
- .c-login__form-item[data-v-73103033] .n-input .n-input__input-el {
8218
+ .c-login__form-item[data-v-8a92d34b] .n-input .n-input__input-el {
8094
8219
  color: var(--cl-input-text) !important;
8095
8220
  }
8096
- .c-login__form-item[data-v-73103033] .n-input .n-input__input-el::placeholder {
8221
+ .c-login__form-item[data-v-8a92d34b] .n-input .n-input__input-el::placeholder {
8097
8222
  color: var(--cl-input-placeholder) !important;
8098
8223
  }
8099
- .c-login__form-item[data-v-73103033] .n-input .n-input__prefix,
8100
- .c-login__form-item[data-v-73103033] .n-input .n-input__suffix {
8224
+ .c-login__form-item[data-v-8a92d34b] .n-input .n-input__prefix,
8225
+ .c-login__form-item[data-v-8a92d34b] .n-input .n-input__suffix {
8101
8226
  color: var(--cl-input-icon) !important;
8102
8227
  }
8103
8228
 
8104
8229
  /* ===== 辅助行:记住我 + 忘记密码 ===== */
8105
- .c-login__aux-row[data-v-73103033] {
8230
+ .c-login__aux-row[data-v-8a92d34b] {
8106
8231
  display: flex;
8107
8232
  justify-content: space-between;
8108
8233
  align-items: center;
8109
8234
  margin-top: 8px;
8110
8235
  margin-bottom: 14px;
8111
8236
  }
8112
- .c-login__remember[data-v-73103033] .n-checkbox__label {
8237
+ .c-login__remember[data-v-8a92d34b] .n-checkbox__label {
8113
8238
  color: var(--cl-text-secondary) !important;
8114
8239
  font-size: 13px;
8115
8240
  }
8116
- .c-login__remember[data-v-73103033] .n-checkbox-box {
8241
+ .c-login__remember[data-v-8a92d34b] .n-checkbox-box {
8117
8242
  --n-border: 1px solid var(--cl-input-underline) !important;
8118
8243
  }
8119
- .c-login__forgot[data-v-73103033] {
8244
+ .c-login__forgot[data-v-8a92d34b] {
8120
8245
  font-size: 13px;
8121
8246
  color: var(--cl-link-color);
8122
8247
  cursor: pointer;
8123
8248
  transition: color 0.2s ease;
8124
8249
  }
8125
- .c-login__forgot[data-v-73103033]:hover {
8250
+ .c-login__forgot[data-v-8a92d34b]:hover {
8126
8251
  color: var(--cl-link-hover);
8127
8252
  }
8128
8253
 
8129
8254
  /* ===== 验证码行 ===== */
8130
- .c-login__code-row[data-v-73103033] {
8255
+ .c-login__code-row[data-v-8a92d34b] {
8131
8256
  display: flex;
8132
8257
  gap: 10px;
8133
8258
  width: 100%;
8134
8259
  }
8135
- .c-login__code-input[data-v-73103033] {
8260
+ .c-login__code-input[data-v-8a92d34b] {
8136
8261
  flex: 1;
8137
8262
  }
8138
- .c-login__send-code-btn[data-v-73103033] {
8263
+ .c-login__send-code-btn[data-v-8a92d34b] {
8139
8264
  flex-shrink: 0;
8140
8265
  white-space: nowrap;
8141
8266
  background: rgba(255, 255, 255, 0.08) !important;
@@ -8145,13 +8270,13 @@ to {
8145
8270
  font-size: 13px;
8146
8271
  transition: all 0.25s ease;
8147
8272
  }
8148
- .c-login__send-code-btn[data-v-73103033]:not(:disabled):hover {
8273
+ .c-login__send-code-btn[data-v-8a92d34b]:not(:disabled):hover {
8149
8274
  background: rgba(255, 255, 255, 0.16) !important;
8150
8275
  color: var(--cl-text-primary) !important;
8151
8276
  }
8152
8277
 
8153
8278
  /* ===== 登录按钮 ===== */
8154
- .c-login__submit-btn[data-v-73103033] {
8279
+ .c-login__submit-btn[data-v-8a92d34b] {
8155
8280
  height: var(--cl-btn-height) !important;
8156
8281
  background: var(--cl-btn-bg) !important;
8157
8282
  border: none !important;
@@ -8166,7 +8291,7 @@ to {
8166
8291
  margin-top: 14px;
8167
8292
  /* 光泽扫过动画 */
8168
8293
  }
8169
- .c-login__submit-btn[data-v-73103033]::before {
8294
+ .c-login__submit-btn[data-v-8a92d34b]::before {
8170
8295
  content: "";
8171
8296
  position: absolute;
8172
8297
  top: 0;
@@ -8177,34 +8302,34 @@ to {
8177
8302
  transform: skewX(-25deg);
8178
8303
  transition: left 0.6s ease;
8179
8304
  }
8180
- .c-login__submit-btn[data-v-73103033]:not(:disabled):hover {
8305
+ .c-login__submit-btn[data-v-8a92d34b]:not(:disabled):hover {
8181
8306
  background: var(--cl-btn-bg-hover) !important;
8182
8307
  transform: translateY(-1px);
8183
8308
  box-shadow: var(--cl-btn-shadow-hover) !important;
8184
8309
  }
8185
- .c-login__submit-btn[data-v-73103033]:not(:disabled):hover::before {
8310
+ .c-login__submit-btn[data-v-8a92d34b]:not(:disabled):hover::before {
8186
8311
  left: 150%;
8187
8312
  }
8188
- .c-login__submit-btn[data-v-73103033]:active {
8313
+ .c-login__submit-btn[data-v-8a92d34b]:active {
8189
8314
  transform: translateY(0) !important;
8190
8315
  }
8191
8316
 
8192
8317
  /* ===== 人机验证 ===== */
8193
- .c-login__captcha-wrap[data-v-73103033] {
8318
+ .c-login__captcha-wrap[data-v-8a92d34b] {
8194
8319
  margin-top: 10px;
8195
8320
  display: flex;
8196
8321
  justify-content: center;
8197
8322
  }
8198
8323
 
8199
8324
  /* ===== 扫码登录面板 ===== */
8200
- .c-login__qr-panel[data-v-73103033] {
8325
+ .c-login__qr-panel[data-v-8a92d34b] {
8201
8326
  display: flex;
8202
8327
  flex-direction: column;
8203
8328
  align-items: center;
8204
8329
  padding: 8px 0 4px;
8205
8330
  gap: 14px;
8206
8331
  }
8207
- .c-login__qr-frame[data-v-73103033] {
8332
+ .c-login__qr-frame[data-v-8a92d34b] {
8208
8333
  position: relative;
8209
8334
  width: 164px;
8210
8335
  height: 164px;
@@ -8213,7 +8338,7 @@ to {
8213
8338
  background: rgba(0, 0, 0, 0.35);
8214
8339
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 8px 28px rgba(0, 0, 0, 0.4);
8215
8340
  }
8216
- .c-login__qr-frame .c-login__qr-placeholder[data-v-73103033] {
8341
+ .c-login__qr-frame .c-login__qr-placeholder[data-v-8a92d34b] {
8217
8342
  display: flex;
8218
8343
  align-items: center;
8219
8344
  justify-content: center;
@@ -8223,10 +8348,10 @@ to {
8223
8348
  font-size: 13px;
8224
8349
  text-align: center;
8225
8350
  }
8226
- .c-login__qr-frame[data-v-73103033] {
8351
+ .c-login__qr-frame[data-v-8a92d34b] {
8227
8352
  /* 扫描动画线 */
8228
8353
  }
8229
- @keyframes qr-scan-73103033 {
8354
+ @keyframes qr-scan-8a92d34b {
8230
8355
  0% {
8231
8356
  transform: translateY(0);
8232
8357
  opacity: 1;
@@ -8242,12 +8367,12 @@ to {
8242
8367
  }
8243
8368
 
8244
8369
  /* C_QRCode 居中在 frame 内 */
8245
- .c-login__qr-frame[data-v-73103033] {
8370
+ .c-login__qr-frame[data-v-8a92d34b] {
8246
8371
  display: flex;
8247
8372
  align-items: center;
8248
8373
  justify-content: center;
8249
8374
  }
8250
- .c-login__qr-scan-line[data-v-73103033] {
8375
+ .c-login__qr-scan-line[data-v-8a92d34b] {
8251
8376
  position: absolute;
8252
8377
  top: 10px;
8253
8378
  left: 10px;
@@ -8256,12 +8381,12 @@ to {
8256
8381
  background: linear-gradient(90deg, transparent 0%, rgba(24, 89, 233, 0.7) 30%, rgb(100, 160, 255) 50%, rgba(24, 89, 233, 0.7) 70%, transparent 100%);
8257
8382
  border-radius: 1px;
8258
8383
  box-shadow: 0 0 6px rgba(24, 89, 233, 0.8);
8259
- animation: qr-scan-73103033 2.4s ease-in-out infinite;
8384
+ animation: qr-scan-8a92d34b 2.4s ease-in-out infinite;
8260
8385
  pointer-events: none;
8261
8386
  }
8262
8387
 
8263
8388
  /* 四角刻度装饰 */
8264
- .c-login__qr-corner[data-v-73103033] {
8389
+ .c-login__qr-corner[data-v-8a92d34b] {
8265
8390
  position: absolute;
8266
8391
  width: 14px;
8267
8392
  height: 14px;
@@ -8269,31 +8394,31 @@ to {
8269
8394
  border-style: solid;
8270
8395
  pointer-events: none;
8271
8396
  }
8272
- .c-login__qr-corner--tl[data-v-73103033] {
8397
+ .c-login__qr-corner--tl[data-v-8a92d34b] {
8273
8398
  top: 6px;
8274
8399
  left: 6px;
8275
8400
  border-width: 2px 0 0 2px;
8276
8401
  border-radius: 3px 0 0 0;
8277
8402
  }
8278
- .c-login__qr-corner--tr[data-v-73103033] {
8403
+ .c-login__qr-corner--tr[data-v-8a92d34b] {
8279
8404
  top: 6px;
8280
8405
  right: 6px;
8281
8406
  border-width: 2px 2px 0 0;
8282
8407
  border-radius: 0 3px 0 0;
8283
8408
  }
8284
- .c-login__qr-corner--bl[data-v-73103033] {
8409
+ .c-login__qr-corner--bl[data-v-8a92d34b] {
8285
8410
  bottom: 6px;
8286
8411
  left: 6px;
8287
8412
  border-width: 0 0 2px 2px;
8288
8413
  border-radius: 0 0 0 3px;
8289
8414
  }
8290
- .c-login__qr-corner--br[data-v-73103033] {
8415
+ .c-login__qr-corner--br[data-v-8a92d34b] {
8291
8416
  bottom: 6px;
8292
8417
  right: 6px;
8293
8418
  border-width: 0 2px 2px 0;
8294
8419
  border-radius: 0 0 3px 0;
8295
8420
  }
8296
- .c-login__qr-hint[data-v-73103033] {
8421
+ .c-login__qr-hint[data-v-8a92d34b] {
8297
8422
  margin: 0;
8298
8423
  display: flex;
8299
8424
  align-items: center;
@@ -8302,22 +8427,22 @@ to {
8302
8427
  color: var(--cl-text-hint);
8303
8428
  letter-spacing: 0.3px;
8304
8429
  }
8305
- .c-login__qr-refresh[data-v-73103033] {
8430
+ .c-login__qr-refresh[data-v-8a92d34b] {
8306
8431
  color: var(--cl-text-secondary) !important;
8307
8432
  font-size: 11px !important;
8308
8433
  }
8309
- .c-login__qr-refresh[data-v-73103033]:hover {
8434
+ .c-login__qr-refresh[data-v-8a92d34b]:hover {
8310
8435
  color: var(--cl-tab-bar) !important;
8311
8436
  }
8312
8437
 
8313
8438
  /* ===== 分割线 ===== */
8314
- .c-login__divider[data-v-73103033] {
8439
+ .c-login__divider[data-v-8a92d34b] {
8315
8440
  margin: 12px 10px 10px !important;
8316
8441
  }
8317
- .c-login__divider[data-v-73103033] .n-divider__line {
8442
+ .c-login__divider[data-v-8a92d34b] .n-divider__line {
8318
8443
  background: var(--cl-divider-color) !important;
8319
8444
  }
8320
- .c-login__divider[data-v-73103033] .n-divider__title {
8445
+ .c-login__divider[data-v-8a92d34b] .n-divider__title {
8321
8446
  color: var(--cl-text-hint) !important;
8322
8447
  font-size: 12px;
8323
8448
  white-space: nowrap;
@@ -8325,13 +8450,13 @@ to {
8325
8450
  }
8326
8451
 
8327
8452
  /* ===== 社交登录 ===== */
8328
- .c-login__social-row[data-v-73103033] {
8453
+ .c-login__social-row[data-v-8a92d34b] {
8329
8454
  display: flex;
8330
8455
  justify-content: center;
8331
8456
  gap: 14px;
8332
8457
  margin-bottom: 6px;
8333
8458
  }
8334
- .c-login__social-btn[data-v-73103033] {
8459
+ .c-login__social-btn[data-v-8a92d34b] {
8335
8460
  width: var(--cl-social-size) !important;
8336
8461
  height: var(--cl-social-size) !important;
8337
8462
  background: var(--cl-social-btn-bg) !important;
@@ -8339,38 +8464,38 @@ to {
8339
8464
  color: var(--cl-text-secondary) !important;
8340
8465
  transition: all 0.25s ease !important;
8341
8466
  }
8342
- .c-login__social-btn[data-v-73103033]:hover {
8467
+ .c-login__social-btn[data-v-8a92d34b]:hover {
8343
8468
  background: var(--cl-social-btn-hover-bg) !important;
8344
8469
  color: var(--cl-text-primary) !important;
8345
8470
  transform: translateY(-2px);
8346
8471
  }
8347
8472
 
8348
8473
  /* ===== 注册 ===== */
8349
- .c-login__register-row[data-v-73103033] {
8474
+ .c-login__register-row[data-v-8a92d34b] {
8350
8475
  text-align: center;
8351
8476
  margin-top: 14px;
8352
8477
  font-size: 13px;
8353
8478
  }
8354
- .c-login__register-hint[data-v-73103033] {
8479
+ .c-login__register-hint[data-v-8a92d34b] {
8355
8480
  color: var(--cl-text-hint);
8356
8481
  }
8357
- .c-login__register-link[data-v-73103033] {
8482
+ .c-login__register-link[data-v-8a92d34b] {
8358
8483
  color: var(--cl-tab-bar);
8359
8484
  cursor: pointer;
8360
8485
  margin-left: 4px;
8361
8486
  transition: opacity 0.2s ease;
8362
8487
  }
8363
- .c-login__register-link[data-v-73103033]:hover {
8488
+ .c-login__register-link[data-v-8a92d34b]:hover {
8364
8489
  opacity: 0.8;
8365
8490
  }
8366
8491
 
8367
8492
  /* ===== 输入图标 ===== */
8368
- .c-login__input-icon[data-v-73103033] {
8493
+ .c-login__input-icon[data-v-8a92d34b] {
8369
8494
  color: var(--cl-input-icon);
8370
8495
  }
8371
8496
 
8372
8497
  /* ===== 亮色主题预设(父级加 .c-login--light 类可切换) ===== */
8373
- .c-login--light .c-login-panel[data-v-73103033] {
8498
+ .c-login--light .c-login-panel[data-v-8a92d34b] {
8374
8499
  --cl-panel-bg: rgba(255, 255, 255, 0.96);
8375
8500
  --cl-panel-border: rgba(0, 0, 0, 0.08);
8376
8501
  --cl-panel-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
@@ -66,8 +66,8 @@ declare const __VLS_export: vue.DefineComponent<CalendarProps, CalendarExpose, {
66
66
  }) => any) | undefined;
67
67
  "onEvent-dropped"?: ((event: Partial<CalendarEvent>) => any) | undefined;
68
68
  }>, {
69
- initialView: CalendarViewType;
70
69
  editable: boolean;
70
+ initialView: CalendarViewType;
71
71
  events: CalendarEvent[];
72
72
  showAddDialog: boolean;
73
73
  showEditDialog: boolean;
@@ -66,8 +66,8 @@ declare const __VLS_export: vue.DefineComponent<CalendarProps, CalendarExpose, {
66
66
  }) => any) | undefined;
67
67
  "onEvent-dropped"?: ((event: Partial<CalendarEvent>) => any) | undefined;
68
68
  }>, {
69
- initialView: CalendarViewType;
70
69
  editable: boolean;
70
+ initialView: CalendarViewType;
71
71
  events: CalendarEvent[];
72
72
  showAddDialog: boolean;
73
73
  showEditDialog: boolean;
@@ -72,21 +72,21 @@ type __VLS_Slots = {} & { [K in NonNullable<typeof __VLS_7>]?: (props: typeof __
72
72
  declare const __VLS_base: vue.DefineComponent<Props, CollapsePanelExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
73
73
  change: (activeKeys: string[]) => any;
74
74
  expand: (key: string) => any;
75
- collapse: (key: string) => any;
76
75
  "update:activeKeys": (keys: string[]) => any;
76
+ collapse: (key: string) => any;
77
77
  }, string, vue.PublicProps, Readonly<Props> & Readonly<{
78
78
  onChange?: ((activeKeys: string[]) => any) | undefined;
79
79
  onExpand?: ((key: string) => any) | undefined;
80
- onCollapse?: ((key: string) => any) | undefined;
81
80
  "onUpdate:activeKeys"?: ((keys: string[]) => any) | undefined;
81
+ onCollapse?: ((key: string) => any) | undefined;
82
82
  }>, {
83
83
  bordered: boolean;
84
- persistKey: string;
85
84
  activeKeys: string[];
86
85
  defaultActiveKeys: string[];
87
86
  accordion: boolean;
88
87
  variant: CollapsePanelVariant;
89
88
  expandIconPosition: ExpandIconPosition;
89
+ persistKey: string;
90
90
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
91
91
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
92
92
  declare const _default: typeof __VLS_export;
@@ -72,21 +72,21 @@ type __VLS_Slots = {} & { [K in NonNullable<typeof __VLS_7>]?: (props: typeof __
72
72
  declare const __VLS_base: vue.DefineComponent<Props, CollapsePanelExpose, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
73
73
  change: (activeKeys: string[]) => any;
74
74
  expand: (key: string) => any;
75
- collapse: (key: string) => any;
76
75
  "update:activeKeys": (keys: string[]) => any;
76
+ collapse: (key: string) => any;
77
77
  }, string, vue.PublicProps, Readonly<Props> & Readonly<{
78
78
  onChange?: ((activeKeys: string[]) => any) | undefined;
79
79
  onExpand?: ((key: string) => any) | undefined;
80
- onCollapse?: ((key: string) => any) | undefined;
81
80
  "onUpdate:activeKeys"?: ((keys: string[]) => any) | undefined;
81
+ onCollapse?: ((key: string) => any) | undefined;
82
82
  }>, {
83
83
  bordered: boolean;
84
- persistKey: string;
85
84
  activeKeys: string[];
86
85
  defaultActiveKeys: string[];
87
86
  accordion: boolean;
88
87
  variant: CollapsePanelVariant;
89
88
  expandIconPosition: ExpandIconPosition;
89
+ persistKey: string;
90
90
  }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
91
91
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
92
92
  declare const _default: typeof __VLS_export;