@robot-admin/naive-ui-components 0.13.8 → 0.14.0

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 (180) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +63 -5
  3. package/README_EN.md +63 -5
  4. package/dist/C_ActionBar.css +11 -10
  5. package/dist/C_AntV.css +206 -204
  6. package/dist/C_AudioPlayer.css +11 -10
  7. package/dist/C_AvatarGroup.css +7 -5
  8. package/dist/C_Barcode.css +3 -1
  9. package/dist/C_Breadcrumb.css +17 -16
  10. package/dist/C_Captcha.css +14 -13
  11. package/dist/C_Cascade.css +7 -5
  12. package/dist/C_Chat.css +9 -8
  13. package/dist/C_City.css +8 -6
  14. package/dist/C_Code.css +15 -14
  15. package/dist/C_CollapsePanel.css +12 -11
  16. package/dist/C_ContextMenu.css +28 -28
  17. package/dist/C_Cron.cjs +1 -1
  18. package/dist/C_Cron.css +472 -251
  19. package/dist/C_Cron.d.cts +2 -2
  20. package/dist/C_Cron.d.ts +2 -2
  21. package/dist/C_Cron.js +1 -1
  22. package/dist/C_Cron2.cjs +1 -1
  23. package/dist/C_Cron2.js +1 -1
  24. package/dist/C_Date.css +2 -1
  25. package/dist/C_Draggable.css +2 -1
  26. package/dist/C_Editor.css +2 -1
  27. package/dist/C_FilePreview.css +185 -184
  28. package/dist/C_Form.base.css +334 -332
  29. package/dist/C_Form.css +333 -332
  30. package/dist/C_FormModal.css +13 -11
  31. package/dist/C_FormSearch.css +2 -1
  32. package/dist/C_FormulaEditor.cjs +1 -1
  33. package/dist/C_FormulaEditor.css +430 -273
  34. package/dist/C_FormulaEditor.d.cts +2 -2
  35. package/dist/C_FormulaEditor.d.ts +2 -2
  36. package/dist/C_FormulaEditor.js +1 -1
  37. package/dist/C_FullCalendar.css +12 -11
  38. package/dist/C_GlobalSearch.css +13 -11
  39. package/dist/C_Guide.css +8 -8
  40. package/dist/C_Icon.css +9 -7
  41. package/dist/C_ImageCropper.css +70 -68
  42. package/dist/C_Language.css +8 -8
  43. package/dist/C_Loading.css +10 -8
  44. package/dist/C_Login.css +20 -21
  45. package/dist/C_Map.css +24 -22
  46. package/dist/C_Markdown.css +8 -6
  47. package/dist/C_Menu.css +2 -1
  48. package/dist/C_NotificationCenter.css +362 -360
  49. package/dist/C_OrgChart.css +6 -5
  50. package/dist/C_PageLoading.cjs +1 -0
  51. package/dist/C_PageLoading.css +153 -0
  52. package/dist/C_PageLoading.d.cts +2 -0
  53. package/dist/C_PageLoading.d.ts +2 -0
  54. package/dist/C_PageLoading.js +1 -0
  55. package/dist/C_Progress.css +1 -1
  56. package/dist/C_QRCode.css +7 -5
  57. package/dist/C_Signature.css +7 -5
  58. package/dist/C_Skeleton.css +8 -6
  59. package/dist/C_SplitPane.css +25 -23
  60. package/dist/C_Steps.css +7 -5
  61. package/dist/C_Table.base.css +536 -537
  62. package/dist/C_Table.css +536 -538
  63. package/dist/C_Tabs.css +78 -1
  64. package/dist/C_TagsView.css +8 -8
  65. package/dist/C_Theme.css +9 -7
  66. package/dist/C_Time.css +3 -1
  67. package/dist/C_Timeline.css +9 -8
  68. package/dist/C_Transfer.css +10 -9
  69. package/dist/C_Tree.css +2 -1
  70. package/dist/C_Upload.css +176 -174
  71. package/dist/C_VideoPlayer.css +186 -184
  72. package/dist/C_VtableGantt.css +2 -1
  73. package/dist/C_WaterFall.css +19 -17
  74. package/dist/C_WorkFlow.css +976 -976
  75. package/dist/constants.d.cts +15 -20
  76. package/dist/constants.d.ts +15 -20
  77. package/dist/constants2.d.cts +44 -19
  78. package/dist/constants2.d.ts +44 -19
  79. package/dist/constants3.d.cts +4 -4
  80. package/dist/constants3.d.ts +4 -4
  81. package/dist/constants4.d.cts +6 -6
  82. package/dist/constants4.d.ts +6 -6
  83. package/dist/constants5.d.cts +2 -2
  84. package/dist/constants5.d.ts +2 -2
  85. package/dist/createPageLoading.cjs +1 -0
  86. package/dist/createPageLoading.d.cts +32 -0
  87. package/dist/createPageLoading.d.ts +32 -0
  88. package/dist/createPageLoading.js +1 -0
  89. package/dist/data.d.cts +8 -8
  90. package/dist/data.d.ts +8 -8
  91. package/dist/index.cjs +1 -1
  92. package/dist/index.d.cts +24 -23
  93. package/dist/index.d.ts +24 -23
  94. package/dist/index.js +1 -1
  95. package/dist/index.vue.d.cts +4 -4
  96. package/dist/index.vue.d.ts +4 -4
  97. package/dist/index10.vue.d.cts +3 -3
  98. package/dist/index10.vue.d.ts +1 -1
  99. package/dist/index11.vue.d.cts +1 -1
  100. package/dist/index11.vue.d.ts +2 -2
  101. package/dist/index12.vue.d.cts +2 -2
  102. package/dist/index12.vue.d.ts +2 -2
  103. package/dist/index13.vue.d.cts +2 -2
  104. package/dist/index13.vue.d.ts +5 -5
  105. package/dist/index14.vue.d.cts +5 -5
  106. package/dist/index14.vue.d.ts +6 -6
  107. package/dist/index15.vue.d.cts +6 -6
  108. package/dist/index15.vue.d.ts +1 -1
  109. package/dist/index16.vue.d.cts +1 -1
  110. package/dist/index17.vue.d.ts +1 -1
  111. package/dist/index18.vue.d.cts +1 -1
  112. package/dist/index18.vue.d.ts +5 -5
  113. package/dist/index19.vue.d.cts +5 -5
  114. package/dist/index19.vue.d.ts +1 -1
  115. package/dist/index2.vue.d.cts +2 -2
  116. package/dist/index2.vue.d.ts +2 -2
  117. package/dist/index20.vue.d.cts +1 -1
  118. package/dist/index20.vue.d.ts +1 -1
  119. package/dist/index21.vue.d.cts +1 -1
  120. package/dist/index21.vue.d.ts +1 -1
  121. package/dist/index22.vue.d.cts +1 -1
  122. package/dist/index22.vue.d.ts +1 -1
  123. package/dist/index23.vue.d.cts +2 -2
  124. package/dist/index23.vue.d.ts +2 -2
  125. package/dist/index25.vue.d.cts +4 -4
  126. package/dist/index25.vue.d.ts +4 -4
  127. package/dist/index27.vue.d.cts +2 -2
  128. package/dist/index27.vue.d.ts +2 -2
  129. package/dist/index28.vue.d.cts +1 -1
  130. package/dist/index28.vue.d.ts +1 -1
  131. package/dist/index3.vue.d.cts +4 -4
  132. package/dist/index3.vue.d.ts +4 -4
  133. package/dist/index4.vue.d.cts +1 -1
  134. package/dist/index6.vue.d.ts +2 -2
  135. package/dist/index7.vue.d.cts +2 -2
  136. package/dist/index8.vue.d.ts +3 -3
  137. package/dist/index9.vue.d.cts +3 -3
  138. package/dist/index9.vue.d.ts +3 -3
  139. package/dist/mapUtils.d.cts +2 -2
  140. package/dist/mapUtils.d.ts +2 -2
  141. package/dist/presets.d.cts +1 -1
  142. package/dist/presets.d.ts +1 -1
  143. package/dist/resolver.cjs +1 -1
  144. package/dist/resolver.d.cts +1 -1
  145. package/dist/resolver.d.ts +1 -1
  146. package/dist/resolver.js +1 -1
  147. package/dist/style.css +9976 -9652
  148. package/dist/useCropperCore.d.cts +9 -9
  149. package/dist/useCropperCore.d.ts +9 -9
  150. package/dist/useDraggableLayout.d.cts +6 -6
  151. package/dist/useDraggableLayout.d.ts +6 -6
  152. package/dist/useDynamicFormState.d.cts +2 -2
  153. package/dist/useDynamicFormState.d.ts +2 -2
  154. package/dist/useEdgeInteraction.d.cts +2 -2
  155. package/dist/useEdgeInteraction.d.ts +2 -2
  156. package/dist/useFormulaEvaluator.cjs +2 -0
  157. package/dist/useFormulaEvaluator.js +2 -0
  158. package/dist/useInfiniteScroll.d.cts +2 -2
  159. package/dist/useInfiniteScroll.d.ts +2 -2
  160. package/dist/useQRCode.d.cts +4 -4
  161. package/dist/useQRCode.d.ts +4 -4
  162. package/dist/useSearchState.d.cts +8 -8
  163. package/dist/useSearchState.d.ts +8 -8
  164. package/dist/useSignatureHistory.d.cts +3 -3
  165. package/dist/useSignatureHistory.d.ts +3 -3
  166. package/dist/useSplitResize.d.cts +4 -4
  167. package/dist/useSplitResize.d.ts +4 -4
  168. package/dist/useTableQuery.d.cts +1 -1
  169. package/dist/useTableQuery.d.ts +1 -1
  170. package/dist/useTimeSelection.d.cts +1 -1
  171. package/dist/useTimeSelection.d.ts +1 -1
  172. package/dist/useTreeOperations.d.cts +5 -5
  173. package/dist/useTreeOperations.d.ts +5 -5
  174. package/dist/useWorkflowValidation.d.cts +4 -4
  175. package/dist/useWorkflowValidation.d.ts +4 -4
  176. package/dist/verification.d.cts +4 -4
  177. package/dist/verification.d.ts +4 -4
  178. package/package.json +1 -1
  179. package/dist/C_FormulaEditor2.cjs +0 -2
  180. package/dist/C_FormulaEditor2.js +0 -2
@@ -1,188 +1,470 @@
1
- /* unplugin-vue-components disabled *//* FormulaInput 组件样式 */
2
- .formula-input[data-v-154f1a9b] {
3
- background: var(--c-bg-card);
4
- transition: background var(--c-transition, 0.2s ease);
5
- border-bottom: 1px solid var(--c-border);
1
+ :root{--c-primary: var(--primary-color, #2080f0);--c-primary-hover: var(--primary-color-hover, #4098fc);--c-primary-pressed: var(--primary-color-pressed, #1060c9);--c-success: var(--success-color, #18a058);--c-warning: var(--warning-color, #f0a020);--c-error: var(--error-color, #d03050);--c-info: var(--info-color, #2080f0);--c-bg-body: var(--body-color, #ffffff);--c-bg-card: var(--card-color, #ffffff);--c-bg-surface: var(--popover-color, #ffffff);--c-text-1: var(--text-color-1, #262626);--c-text-2: var(--text-color-2, #525252);--c-text-3: var(--text-color-3, #a3a3a3);--c-text-4: var(--text-color-4, #c0c0c0);--c-border: var(--border-color, #e5e7eb);--c-radius-sm: var(--border-radius-small, 4px);--c-radius: var(--border-radius, 6px);--c-transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);--c-transition-base: 0.3s cubic-bezier(0.4, 0, 0.2, 1);--c-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);--c-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);--c-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1)}
2
+
3
+ /* unplugin-vue-components disabled */
4
+ /* layer: default */
5
+ .inline-flex[data-v-075758a0]{display:inline-flex;}
6
+ .transform[data-v-075758a0]{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
7
+ .px[data-v-075758a0]{padding-left:1rem;padding-right:1rem;}
8
+
9
+ /* unplugin-vue-components disabled */.c-icon[data-v-075758a0] {
10
+ display: inline-flex;
11
+ align-items: center;
12
+ justify-content: center;
13
+ position: relative;
14
+ flex-shrink: 0;
15
+ vertical-align: middle;
16
+ user-select: none;
17
+ transition: all 0.2s ease-in-out;
18
+ }
19
+ .c-icon--clickable[data-v-075758a0] {
20
+ cursor: pointer;
21
+ }
22
+ .c-icon--clickable[data-v-075758a0]:hover {
23
+ opacity: 0.8;
24
+ transform: scale(1.05);
6
25
  }
7
- .formula-input--error[data-v-154f1a9b] {
8
- background: color-mix(in srgb, var(--error-color) 3%, var(--c-bg-card));
26
+ .c-icon--clickable[data-v-075758a0]:active {
27
+ transform: scale(0.95);
9
28
  }
10
- .formula-input--disabled[data-v-154f1a9b] {
29
+ .c-icon--clickable[data-v-075758a0]:focus-visible {
30
+ outline: 2px solid currentColor;
31
+ outline-offset: 2px;
32
+ border-radius: 4px;
33
+ }
34
+ .c-icon--loading[data-v-075758a0] {
11
35
  opacity: 0.6;
12
- pointer-events: none;
36
+ cursor: wait;
13
37
  }
14
- .formula-input__header[data-v-154f1a9b] {
38
+ .c-icon__loading[data-v-075758a0] {
39
+ position: absolute;
40
+ inset: 0;
41
+ }
42
+ .c-icon__spinner[data-v-075758a0] {
43
+ width: 100%;
44
+ height: 100%;
45
+ border: 2px solid currentColor;
46
+ border-radius: 50%;
47
+ border-top-color: transparent;
48
+ animation: spin-075758a0 1s linear infinite;
49
+ }
50
+ .c-icon__error[data-v-075758a0] {
51
+ font-size: 0.8em;
52
+ opacity: 0.5;
53
+ }
54
+ .c-icon__rotatable[data-v-075758a0] {
55
+ transition: transform 0.3s ease-in-out;
56
+ }
57
+ .c-icon__flippable[data-v-075758a0] {
58
+ transition: transform 0.3s ease-in-out;
59
+ }
60
+ @keyframes spin-075758a0 {
61
+ 0% {
62
+ transform: rotate(0deg);
63
+ }
64
+ 100% {
65
+ transform: rotate(360deg);
66
+ }
67
+ }
68
+ /* unplugin-vue-components disabled */
69
+ /* layer: default */
70
+ .px[data-v-fdb8dd69]{padding-left:1rem;padding-right:1rem;}
71
+
72
+ /* unplugin-vue-components disabled *//* 公式工作区:变量、原生输入与试算结果共享一个模型。 */
73
+ .c-formula[data-v-fdb8dd69] {
74
+ container: formula-editor/inline-size;
75
+ overflow: auto;
76
+ border: 1px solid var(--c-border);
77
+ border-radius: 16px;
78
+ background: var(--c-bg-card);
79
+ color: var(--c-text-2);
80
+ }
81
+ .c-formula h2[data-v-fdb8dd69],
82
+ .c-formula p[data-v-fdb8dd69] {
83
+ margin: 0;
84
+ }
85
+ .c-formula__title-row[data-v-fdb8dd69] {
15
86
  display: flex;
16
87
  align-items: center;
17
88
  justify-content: space-between;
18
- padding: 10px 16px 0;
89
+ flex-wrap: wrap;
90
+ gap: 16px;
91
+ padding: 24px;
92
+ border-bottom: 1px solid var(--c-border);
93
+ }
94
+ .c-formula__title-row h2[data-v-fdb8dd69] {
95
+ margin-top: 8px;
96
+ color: var(--c-text-1);
97
+ font-size: 22px;
98
+ letter-spacing: -0.4px;
19
99
  }
20
- .formula-input__label[data-v-154f1a9b] {
100
+ .c-formula__title-row p[data-v-fdb8dd69] {
101
+ margin-top: 6px;
21
102
  font-size: 13px;
22
- font-weight: 600;
23
- color: var(--c-text-2);
24
103
  }
25
- .formula-input__clear[data-v-154f1a9b] {
104
+ .c-formula__eyebrow[data-v-fdb8dd69] {
105
+ color: var(--c-primary);
106
+ font: 600 10px ui-monospace, monospace;
107
+ letter-spacing: 2px;
108
+ }
109
+ .c-formula__actions[data-v-fdb8dd69] {
110
+ display: flex;
111
+ align-items: center;
112
+ gap: 12px;
113
+ }
114
+ .c-formula__templates[data-v-fdb8dd69] {
115
+ display: grid;
116
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
117
+ gap: 8px;
118
+ padding: 16px 24px;
119
+ border-bottom: 1px solid var(--c-border);
120
+ }
121
+ .c-formula__templates button[data-v-fdb8dd69] {
26
122
  appearance: none;
27
- border: 0;
123
+ display: flex;
124
+ flex-direction: column;
125
+ text-align: left;
126
+ gap: 4px;
127
+ border: 1px solid var(--c-border);
128
+ border-radius: 10px;
129
+ padding: 12px 16px;
28
130
  background: transparent;
29
- padding: 0;
131
+ color: var(--c-text-2);
30
132
  font: inherit;
31
- font-size: 12px;
32
- color: var(--c-primary);
33
133
  cursor: pointer;
34
- user-select: none;
35
134
  }
36
- .formula-input__clear[data-v-154f1a9b]:focus-visible {
135
+ .c-formula__templates button strong[data-v-fdb8dd69] {
136
+ color: var(--c-text-1);
137
+ font-size: 12px;
138
+ }
139
+ .c-formula__templates button span[data-v-fdb8dd69] {
140
+ font-size: 11px;
141
+ }
142
+ .c-formula__templates button[aria-pressed=true][data-v-fdb8dd69], .c-formula__templates button[data-v-fdb8dd69]:hover:enabled {
143
+ border-color: var(--c-primary);
144
+ background: color-mix(in srgb, var(--c-primary) 6%, transparent);
145
+ }
146
+ .c-formula__templates button[data-v-fdb8dd69]:disabled {
147
+ opacity: 0.5;
148
+ cursor: not-allowed;
149
+ }
150
+ .c-formula__templates button[data-v-fdb8dd69]:focus-visible {
37
151
  outline: 2px solid var(--c-primary);
38
152
  outline-offset: 2px;
39
153
  }
40
- .formula-input__clear[data-v-154f1a9b]:hover {
41
- opacity: 0.8;
154
+ .c-formula__body[data-v-fdb8dd69] {
155
+ display: grid;
156
+ grid-template-columns: 210px minmax(0, 1fr) 300px;
157
+ align-items: stretch;
42
158
  }
43
- .formula-input__editor[data-v-154f1a9b] {
44
- min-height: 72px;
45
- max-height: 180px;
46
- padding: 8px 16px 12px;
47
- font-size: 14px;
48
- line-height: 2;
159
+ .c-formula__body--no-sidebar[data-v-fdb8dd69] {
160
+ grid-template-columns: minmax(0, 1fr) 300px;
161
+ }
162
+ .c-formula__body--no-preview[data-v-fdb8dd69] {
163
+ grid-template-columns: 210px minmax(0, 1fr);
164
+ }
165
+ .c-formula__body--no-sidebar.c-formula__body--no-preview[data-v-fdb8dd69] {
166
+ grid-template-columns: minmax(0, 1fr);
167
+ }
168
+ .c-formula__sidebar[data-v-fdb8dd69] {
169
+ min-width: 0;
170
+ border-right: 1px solid var(--c-border);
171
+ }
172
+ .c-formula__main[data-v-fdb8dd69] {
173
+ min-width: 0;
174
+ padding: 24px;
175
+ }
176
+ .c-formula__keyboard[data-v-fdb8dd69] {
177
+ margin-top: 20px;
178
+ border: 1px solid var(--c-border);
179
+ border-radius: 10px;
180
+ }
181
+ .c-formula__keyboard summary[data-v-fdb8dd69] {
182
+ padding: 12px 16px;
183
+ font-size: 12px;
184
+ cursor: pointer;
49
185
  color: var(--c-text-1);
50
- outline: none;
51
- overflow-y: auto;
52
- word-break: break-all;
53
- white-space: pre-wrap;
54
186
  }
55
- .formula-input__editor[data-v-154f1a9b]:empty::before {
56
- content: attr(data-placeholder);
57
- color: var(--c-text-4);
58
- pointer-events: none;
187
+ .c-formula__keyboard summary span[data-v-fdb8dd69] {
188
+ margin-left: 8px;
189
+ color: var(--c-text-3);
190
+ font-size: 11px;
59
191
  }
60
- .formula-input__editor[data-v-154f1a9b] {
61
- /* 变量 chip */
192
+ .c-formula__keyboard summary[data-v-fdb8dd69]:focus-visible {
193
+ outline: 2px solid var(--c-primary);
62
194
  }
63
- .formula-input__editor[data-v-154f1a9b] .formula-chip {
64
- display: inline-flex;
195
+ .c-formula__keyboard[data-v-fdb8dd69] .virtual-keyboard {
196
+ padding: 0 16px 16px;
197
+ }
198
+ .c-formula__guide[data-v-fdb8dd69] {
199
+ display: flex;
200
+ align-items: flex-start;
201
+ gap: 8px;
202
+ margin-top: 20px;
203
+ font-size: 11px;
204
+ color: var(--c-text-3);
205
+ line-height: 1.8;
206
+ }
207
+ .c-formula__guide[data-v-fdb8dd69] > :first-child {
208
+ flex-shrink: 0;
209
+ margin-top: 3px;
210
+ }
211
+ .c-formula__guide code[data-v-fdb8dd69] {
212
+ color: var(--c-primary);
213
+ }
214
+ @container formula-editor (max-width: 980px) {
215
+ .c-formula__body[data-v-fdb8dd69] {
216
+ grid-template-columns: 190px minmax(0, 1fr);
217
+ }
218
+ .c-formula__body--no-sidebar[data-v-fdb8dd69] {
219
+ grid-template-columns: minmax(0, 1fr);
220
+ }
221
+ .c-formula__body[data-v-fdb8dd69] > .formula-preview {
222
+ grid-column: 1/-1;
223
+ border-left: 0;
224
+ border-top: 1px solid var(--c-border);
225
+ }
226
+ }
227
+ @container formula-editor (max-width: 580px) {
228
+ .c-formula__body[data-v-fdb8dd69] {
229
+ grid-template-columns: minmax(0, 1fr);
230
+ }
231
+ .c-formula__sidebar[data-v-fdb8dd69] {
232
+ border-right: 0;
233
+ border-bottom: 1px solid var(--c-border);
234
+ }
235
+ .c-formula__title-row[data-v-fdb8dd69],
236
+ .c-formula__main[data-v-fdb8dd69] {
237
+ padding: 18px;
238
+ }
239
+ }
240
+ /* unplugin-vue-components disabled *//* 原生文本输入与转义后的结构预览,避免 contenteditable 光标和样式副作用。 */
241
+ .formula-input__header[data-v-6bf933c2] {
242
+ display: flex;
243
+ justify-content: space-between;
65
244
  align-items: center;
66
- padding: 1px 8px;
67
- margin: 0 2px;
68
- border-radius: 4px;
69
- background: color-mix(in srgb, var(--c-primary) 12%, transparent);
245
+ gap: 12px;
246
+ margin-bottom: 16px;
247
+ }
248
+ .formula-input__label[data-v-6bf933c2] {
249
+ color: var(--c-text-1);
250
+ font-size: 13px;
251
+ font-weight: 600;
252
+ }
253
+ .formula-input__clear[data-v-6bf933c2] {
254
+ appearance: none;
255
+ border: 0;
256
+ background: transparent;
70
257
  color: var(--c-primary);
71
- font-weight: 500;
258
+ font: inherit;
259
+ font-size: 12px;
260
+ cursor: pointer;
261
+ }
262
+ .formula-input__editor[data-v-6bf933c2] {
263
+ display: block;
264
+ width: 100%;
265
+ box-sizing: border-box;
266
+ min-height: 168px;
267
+ resize: vertical;
268
+ padding: 18px;
269
+ border: 1px solid var(--c-border);
270
+ border-radius: 12px;
271
+ background: color-mix(in srgb, var(--c-primary) 2%, var(--c-bg-card));
272
+ color: var(--c-text-1);
273
+ font: 15px/1.9 ui-monospace, "SFMono-Regular", Consolas, monospace;
274
+ outline: none;
275
+ overflow-wrap: anywhere;
276
+ }
277
+ .formula-input__editor[data-v-6bf933c2]:focus {
278
+ border-color: var(--c-primary);
279
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-primary) 12%, transparent);
280
+ }
281
+ .formula-input__editor[data-v-6bf933c2]::placeholder {
72
282
  font-size: 13px;
73
- line-height: 22px;
74
- vertical-align: baseline;
75
- user-select: none;
76
- cursor: default;
283
+ color: var(--c-text-3);
77
284
  }
78
- .formula-input__editor[data-v-154f1a9b] {
79
- /* 函数名 */
285
+ .formula-input__editor[data-v-6bf933c2]:read-only {
286
+ background: color-mix(in srgb, var(--c-border) 25%, var(--c-bg-card));
80
287
  }
81
- .formula-input__editor[data-v-154f1a9b] .formula-func {
82
- color: color-mix(in srgb, var(--c-primary) 80%, #8b5cf6);
83
- font-weight: 600;
288
+ .formula-input--error .formula-input__editor[data-v-6bf933c2] {
289
+ border-color: var(--c-error);
84
290
  }
85
- .formula-input__editor[data-v-154f1a9b] {
86
- /* 运算符 */
291
+ .formula-input__tokens[data-v-6bf933c2] {
292
+ margin-top: 16px;
293
+ padding: 14px 16px;
294
+ border: 1px dashed var(--c-border);
295
+ border-radius: 10px;
296
+ font: 12px/2 ui-monospace, monospace;
297
+ white-space: pre-wrap;
298
+ overflow-wrap: anywhere;
87
299
  }
88
- .formula-input__editor[data-v-154f1a9b] .formula-op {
89
- color: var(--warning-color, #f0a020);
90
- font-weight: 600;
300
+ .formula-input__tokens > span[data-v-6bf933c2]:first-child {
301
+ display: block;
302
+ font: 11px/1.5 sans-serif;
303
+ margin-bottom: 8px;
304
+ color: var(--c-text-3);
91
305
  }
92
- .formula-input__editor[data-v-154f1a9b] {
93
- /* 数字 */
306
+ .formula-input__validation[data-v-6bf933c2] {
307
+ display: flex;
308
+ align-items: center;
309
+ justify-content: space-between;
310
+ gap: 10px;
311
+ margin-top: 12px;
312
+ font-size: 12px;
313
+ color: var(--c-text-3);
314
+ line-height: 1.7;
94
315
  }
95
- .formula-input__editor[data-v-154f1a9b] .formula-num {
96
- color: color-mix(in srgb, var(--success-color, #18a058) 90%, transparent);
316
+ .formula-input__validation button[data-v-6bf933c2] {
317
+ appearance: none;
318
+ flex-shrink: 0;
319
+ border: 0;
320
+ padding: 2px 0;
321
+ color: var(--c-primary);
322
+ background: transparent;
323
+ cursor: pointer;
324
+ font: inherit;
97
325
  }
98
- .formula-input__editor[data-v-154f1a9b] {
99
- /* 括号 */
326
+ .formula-input--error .formula-input__validation[data-v-6bf933c2] {
327
+ color: var(--c-error);
100
328
  }
101
- .formula-input__editor[data-v-154f1a9b] .formula-paren {
102
- color: var(--c-text-2);
329
+ .formula-input button[data-v-6bf933c2]:focus-visible {
330
+ outline: 2px solid var(--c-primary);
331
+ outline-offset: 3px;
332
+ }
333
+ .formula-input .formula-token--variable[data-v-6bf933c2] {
334
+ color: var(--c-primary);
335
+ padding: 2px 5px;
336
+ border-radius: 4px;
337
+ background: color-mix(in srgb, var(--c-primary) 9%, transparent);
338
+ }
339
+ .formula-input .formula-token--function[data-v-6bf933c2] {
340
+ color: var(--c-success);
103
341
  font-weight: 600;
104
342
  }
105
- .formula-input__error[data-v-154f1a9b] {
343
+ .formula-input .formula-token--operator[data-v-6bf933c2] {
344
+ color: var(--c-primary);
345
+ }
346
+ .formula-input .formula-token--number[data-v-6bf933c2] {
347
+ color: var(--c-warning);
348
+ }
349
+ /* unplugin-vue-components disabled *//* 隔离试算值与明确结果,组件宽度变化时自然换行。 */
350
+ .formula-preview[data-v-b2656900] {
351
+ min-width: 0;
352
+ padding: 24px;
353
+ border-left: 1px solid var(--c-border);
354
+ background: color-mix(in srgb, var(--c-primary) 3%, var(--c-bg-card));
355
+ }
356
+ .formula-preview header[data-v-b2656900] {
106
357
  display: flex;
358
+ gap: 12px;
107
359
  align-items: center;
108
- gap: 4px;
109
- padding: 4px 16px 8px;
360
+ }
361
+ .formula-preview h3[data-v-b2656900],
362
+ .formula-preview p[data-v-b2656900] {
363
+ margin: 0;
364
+ }
365
+ .formula-preview h3[data-v-b2656900] {
366
+ font-size: 15px;
367
+ color: var(--c-text-1);
368
+ }
369
+ .formula-preview header p[data-v-b2656900] {
370
+ margin-top: 4px;
110
371
  font-size: 12px;
111
- color: var(--error-color);
372
+ line-height: 1.7;
373
+ color: var(--c-text-2);
112
374
  }
113
- .formula-input[data-v-154f1a9b] {
114
- /* ─── 校验信息区 ────────────── */
375
+ .formula-preview__step[data-v-b2656900] {
376
+ font: 600 12px ui-monospace, monospace;
377
+ color: var(--c-primary);
115
378
  }
116
- .formula-input__validation[data-v-154f1a9b] {
117
- padding: 10px 16px 12px;
118
- border-top: 1px solid var(--c-border);
119
- min-height: 40px;
379
+ .formula-preview__result[data-v-b2656900] {
120
380
  display: flex;
121
- align-items: center;
381
+ flex-direction: column;
122
382
  gap: 12px;
383
+ margin: 24px 0;
384
+ padding: 20px;
385
+ border-radius: 12px;
386
+ background: color-mix(in srgb, var(--c-primary) 7%, var(--c-bg-card));
387
+ border: 1px solid color-mix(in srgb, var(--c-primary) 20%, var(--c-border));
388
+ min-height: 120px;
123
389
  }
124
- .formula-input__validation-label[data-v-154f1a9b] {
125
- font-size: 13px;
126
- font-weight: 600;
127
- color: var(--c-text-2);
128
- flex-shrink: 0;
129
- min-width: 28px;
390
+ .formula-preview__result--error[data-v-b2656900] {
391
+ border-color: color-mix(in srgb, var(--c-error) 30%, var(--c-border));
392
+ background: color-mix(in srgb, var(--c-error) 4%, var(--c-bg-card));
130
393
  }
131
- .formula-input__validation-hint[data-v-154f1a9b] {
132
- display: inline-flex;
133
- align-items: center;
134
- gap: 4px;
394
+ .formula-preview__result-label[data-v-b2656900] {
395
+ color: var(--c-primary);
135
396
  font-size: 12px;
136
- color: var(--c-text-4);
137
397
  }
138
- .formula-input__validation-success[data-v-154f1a9b] {
139
- display: inline-flex;
140
- align-items: center;
141
- gap: 4px;
398
+ .formula-preview__result-value[data-v-b2656900] {
399
+ color: var(--c-text-1);
400
+ font: 600 32px/1.5 ui-monospace, monospace;
401
+ overflow-wrap: anywhere;
402
+ }
403
+ .formula-preview__result-empty[data-v-b2656900] {
404
+ color: var(--c-text-2);
142
405
  font-size: 12px;
143
- color: var(--success-color, #18a058);
406
+ line-height: 1.7;
144
407
  }
145
- .formula-input__validation-error[data-v-154f1a9b] {
146
- display: inline-flex;
147
- align-items: center;
148
- gap: 4px;
408
+ .formula-preview__vars-title[data-v-b2656900] {
409
+ display: flex;
410
+ justify-content: space-between;
149
411
  font-size: 12px;
150
- color: var(--error-color);
412
+ font-weight: 600;
151
413
  }
152
- /* unplugin-vue-components disabled */
153
- /* layer: shortcuts */
154
- .container[data-v-154f1a9b]{width:100%;}
155
- @media (min-width: 640px){
156
- .container[data-v-154f1a9b]{max-width:640px;}
414
+ .formula-preview__vars-title span[data-v-b2656900] {
415
+ color: var(--c-text-3);
416
+ font-weight: 400;
417
+ }
418
+ .formula-preview__var-row[data-v-b2656900] {
419
+ padding-top: 16px;
420
+ }
421
+ .formula-preview__var-row p[data-v-b2656900] {
422
+ color: var(--c-text-3);
423
+ font-size: 11px;
424
+ margin-top: 5px;
425
+ }
426
+ .formula-preview__var-heading[data-v-b2656900] {
427
+ display: flex;
428
+ justify-content: space-between;
429
+ gap: 8px;
430
+ margin-bottom: 7px;
157
431
  }
158
- @media (min-width: 768px){
159
- .container[data-v-154f1a9b]{max-width:768px;}
432
+ .formula-preview__var-heading label[data-v-b2656900] {
433
+ font-size: 12px;
434
+ color: var(--c-text-1);
160
435
  }
161
- @media (min-width: 1024px){
162
- .container[data-v-154f1a9b]{max-width:1024px;}
436
+ .formula-preview__var-heading code[data-v-b2656900] {
437
+ color: var(--c-text-3);
438
+ font-size: 10px;
439
+ overflow-wrap: anywhere;
163
440
  }
164
- @media (min-width: 1280px){
165
- .container[data-v-154f1a9b]{max-width:1280px;}
441
+ .formula-preview__var-value[data-v-b2656900] {
442
+ font-family: ui-monospace, monospace;
166
443
  }
167
- @media (min-width: 1536px){
168
- .container[data-v-154f1a9b]{max-width:1536px;}
444
+ .formula-preview__empty[data-v-b2656900], .formula-preview__note[data-v-b2656900] {
445
+ font-size: 11px;
446
+ color: var(--c-text-3);
447
+ line-height: 1.8;
448
+ margin-top: 16px !important;
449
+ }
450
+ .formula-preview__note[data-v-b2656900] {
451
+ margin-top: 24px !important;
452
+ padding-top: 16px;
453
+ border-top: 1px solid var(--c-border);
169
454
  }
170
- /* layer: default */
171
- .blur[data-v-154f1a9b]{--un-blur:blur(8px);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia);}
172
-
173
455
  /* unplugin-vue-components disabled *//* VariablePanel 组件样式 */
174
- .variable-panel[data-v-001647c9] {
456
+ .variable-panel[data-v-2d73fec7] {
175
457
  display: flex;
176
458
  flex-direction: column;
177
459
  background: var(--c-bg-card);
178
460
  overflow: hidden;
179
461
  height: 100%;
180
462
  }
181
- .variable-panel__tabs[data-v-001647c9] {
463
+ .variable-panel__tabs[data-v-2d73fec7] {
182
464
  display: flex;
183
465
  border-bottom: 1px solid var(--c-border);
184
466
  }
185
- .variable-panel__tab[data-v-001647c9] {
467
+ .variable-panel__tab[data-v-2d73fec7] {
186
468
  appearance: none;
187
469
  border: 0;
188
470
  background: transparent;
@@ -197,23 +479,23 @@
197
479
  transition: all var(--c-transition, 0.2s ease);
198
480
  user-select: none;
199
481
  }
200
- .variable-panel__tab[data-v-001647c9]:hover {
482
+ .variable-panel__tab[data-v-2d73fec7]:hover {
201
483
  color: var(--c-primary);
202
484
  }
203
- .variable-panel__tab--active[data-v-001647c9] {
485
+ .variable-panel__tab--active[data-v-2d73fec7] {
204
486
  color: var(--c-primary);
205
487
  border-bottom: 2px solid var(--c-primary);
206
488
  }
207
- .variable-panel__search[data-v-001647c9] {
489
+ .variable-panel__search[data-v-2d73fec7] {
208
490
  padding: 8px 10px;
209
491
  border-bottom: 1px solid var(--c-border);
210
492
  }
211
- .variable-panel__list[data-v-001647c9] {
493
+ .variable-panel__list[data-v-2d73fec7] {
212
494
  flex: 1;
213
495
  max-height: 360px;
214
496
  padding: 4px 0;
215
497
  }
216
- .variable-panel__group-title[data-v-001647c9] {
498
+ .variable-panel__group-title[data-v-2d73fec7] {
217
499
  appearance: none;
218
500
  width: 100%;
219
501
  border: 0;
@@ -230,13 +512,13 @@
230
512
  cursor: pointer;
231
513
  user-select: none;
232
514
  }
233
- .variable-panel__group-title[data-v-001647c9]:hover {
515
+ .variable-panel__group-title[data-v-2d73fec7]:hover {
234
516
  color: var(--c-text-1);
235
517
  }
236
- .variable-panel__items[data-v-001647c9] {
518
+ .variable-panel__items[data-v-2d73fec7] {
237
519
  padding: 0 4px;
238
520
  }
239
- .variable-panel__item[data-v-001647c9] {
521
+ .variable-panel__item[data-v-2d73fec7] {
240
522
  appearance: none;
241
523
  width: 100%;
242
524
  border: 0;
@@ -253,15 +535,15 @@
253
535
  border-radius: 4px;
254
536
  transition: background 0.15s;
255
537
  }
256
- .variable-panel__item[data-v-001647c9]:hover {
538
+ .variable-panel__item[data-v-2d73fec7]:hover {
257
539
  background: var(--hover-color);
258
540
  }
259
- .variable-panel__item-icon[data-v-001647c9] {
541
+ .variable-panel__item-icon[data-v-2d73fec7] {
260
542
  font-size: 15px;
261
543
  color: var(--c-primary);
262
544
  flex-shrink: 0;
263
545
  }
264
- .variable-panel__func[data-v-001647c9] {
546
+ .variable-panel__func[data-v-2d73fec7] {
265
547
  appearance: none;
266
548
  width: calc(100% - 8px);
267
549
  border: 0;
@@ -274,10 +556,10 @@
274
556
  margin: 2px 4px;
275
557
  transition: background 0.15s;
276
558
  }
277
- .variable-panel__func[data-v-001647c9]:hover {
559
+ .variable-panel__func[data-v-2d73fec7]:hover {
278
560
  background: var(--hover-color);
279
561
  }
280
- .variable-panel__func-name[data-v-001647c9] {
562
+ .variable-panel__func-name[data-v-2d73fec7] {
281
563
  display: flex;
282
564
  align-items: center;
283
565
  gap: 6px;
@@ -285,7 +567,7 @@
285
567
  font-weight: 500;
286
568
  color: var(--c-text-1);
287
569
  }
288
- .variable-panel__func-badge[data-v-001647c9] {
570
+ .variable-panel__func-badge[data-v-2d73fec7] {
289
571
  display: inline-flex;
290
572
  align-items: center;
291
573
  justify-content: center;
@@ -298,13 +580,13 @@
298
580
  font-weight: 700;
299
581
  font-style: italic;
300
582
  }
301
- .variable-panel__func-desc[data-v-001647c9] {
583
+ .variable-panel__func-desc[data-v-2d73fec7] {
302
584
  padding-left: 24px;
303
585
  font-size: 12px;
304
586
  color: var(--c-text-4);
305
587
  margin-top: 2px;
306
588
  }
307
- .variable-panel__func-sig[data-v-001647c9] {
589
+ .variable-panel__func-sig[data-v-2d73fec7] {
308
590
  padding-left: 24px;
309
591
  font-size: 11px;
310
592
  font-family: "Courier New", Courier, monospace;
@@ -312,14 +594,24 @@
312
594
  margin-top: 2px;
313
595
  opacity: 0.7;
314
596
  }
315
- .variable-panel button[data-v-001647c9]:focus-visible {
597
+ .variable-panel button[data-v-2d73fec7]:focus-visible {
316
598
  outline: 2px solid var(--c-primary);
317
599
  outline-offset: -2px;
318
600
  }
319
- .variable-panel button[data-v-001647c9]:disabled {
601
+ .variable-panel button[data-v-2d73fec7]:disabled {
320
602
  cursor: not-allowed;
321
603
  opacity: 0.6;
322
604
  }
605
+ .variable-panel__item span[data-v-2d73fec7] {
606
+ text-align: left;
607
+ min-width: 0;
608
+ }
609
+ .variable-panel__item small[data-v-2d73fec7] {
610
+ display: block;
611
+ font-size: 10px;
612
+ color: var(--c-text-3);
613
+ margin-top: 3px;
614
+ }
323
615
  /* unplugin-vue-components disabled *//* VirtualKeyboard 组件样式 */
324
616
  .vk[data-v-8c874c05] {
325
617
  /* ═══════ 标题行 ═══════ */
@@ -454,139 +746,4 @@
454
746
  color: var(--error-color);
455
747
  border-color: color-mix(in srgb, var(--error-color) 40%, transparent);
456
748
  border-bottom-color: color-mix(in srgb, var(--error-color) 55%, transparent);
457
- }
458
- /* unplugin-vue-components disabled *//* FormulaPreview 组件样式 */
459
- .formula-preview[data-v-228604d7] {
460
- padding: 12px 16px 14px;
461
- border-top: 1px solid var(--c-border);
462
- background: color-mix(in srgb, var(--c-text-2) 2%, var(--c-bg-card));
463
- }
464
- .formula-preview__header[data-v-228604d7] {
465
- display: flex;
466
- align-items: center;
467
- gap: 6px;
468
- font-weight: 600;
469
- font-size: 13px;
470
- margin-bottom: 8px;
471
- color: var(--c-text-2);
472
- }
473
- .formula-preview__empty[data-v-228604d7] {
474
- font-size: 12px;
475
- color: var(--c-text-4);
476
- padding: 8px 0;
477
- }
478
- .formula-preview__vars-title[data-v-228604d7] {
479
- font-size: 11px;
480
- color: var(--c-text-4);
481
- margin-bottom: 4px;
482
- }
483
- .formula-preview__var-row[data-v-228604d7] {
484
- display: flex;
485
- align-items: center;
486
- gap: 6px;
487
- padding: 2px 0;
488
- font-size: 12px;
489
- }
490
- .formula-preview__var-name[data-v-228604d7] {
491
- color: var(--c-primary);
492
- font-weight: 500;
493
- }
494
- .formula-preview__var-eq[data-v-228604d7] {
495
- color: var(--c-text-4);
496
- }
497
- .formula-preview__var-value[data-v-228604d7] {
498
- font-family: "Courier New", Courier, monospace;
499
- color: var(--c-text-1);
500
- font-weight: 500;
501
- }
502
- .formula-preview__result[data-v-228604d7] {
503
- display: flex;
504
- align-items: center;
505
- gap: 8px;
506
- }
507
- .formula-preview__result-label[data-v-228604d7] {
508
- font-size: 13px;
509
- font-weight: 600;
510
- color: var(--c-text-2);
511
- }
512
- .formula-preview__result-value[data-v-228604d7] {
513
- font-size: 18px;
514
- font-weight: 700;
515
- font-family: "Courier New", Courier, monospace;
516
- color: var(--c-primary);
517
- }
518
- .formula-preview__result-error[data-v-228604d7] {
519
- display: flex;
520
- align-items: center;
521
- gap: 4px;
522
- font-size: 12px;
523
- color: var(--error-color);
524
- }
525
- .formula-preview__result-empty[data-v-228604d7] {
526
- font-size: 14px;
527
- color: var(--c-text-4);
528
- }
529
- /* unplugin-vue-components disabled *//* C_FormulaEditor 主组件样式 */
530
- .c-formula[data-v-9cb24cfb] {
531
- display: flex;
532
- flex-direction: column;
533
- border-radius: 12px;
534
- border: 1px solid var(--c-border);
535
- background: var(--c-bg-card);
536
- overflow: hidden;
537
- /* ═══════ 标题行 ═══════ */
538
- }
539
- .c-formula__title-row[data-v-9cb24cfb] {
540
- display: flex;
541
- align-items: center;
542
- justify-content: space-between;
543
- padding: 14px 18px;
544
- border-bottom: 1px solid var(--c-border);
545
- }
546
- .c-formula__title[data-v-9cb24cfb] {
547
- display: flex;
548
- align-items: center;
549
- gap: 8px;
550
- font-weight: 600;
551
- font-size: 15px;
552
- color: var(--c-text-1);
553
- }
554
- .c-formula[data-v-9cb24cfb] {
555
- /* ═══════ 主内容 ═══════ */
556
- }
557
- .c-formula__body[data-v-9cb24cfb] {
558
- display: flex;
559
- flex: 1;
560
- min-height: 0;
561
- }
562
- .c-formula__sidebar[data-v-9cb24cfb] {
563
- width: 210px;
564
- flex-shrink: 0;
565
- border-right: 1px solid var(--c-border);
566
- }
567
- .c-formula__main[data-v-9cb24cfb] {
568
- flex: 1;
569
- display: flex;
570
- flex-direction: column;
571
- min-width: 0;
572
- }
573
- .c-formula__keyboard[data-v-9cb24cfb] {
574
- padding: 14px 18px;
575
- border-top: 1px solid var(--c-border);
576
- }
577
-
578
- /* ═══════ 响应式 ═══════ */
579
- @media (max-width: 768px) {
580
- .c-formula__body[data-v-9cb24cfb] {
581
- flex-direction: column;
582
- }
583
- .c-formula__sidebar[data-v-9cb24cfb] {
584
- width: 100%;
585
- border-right: none;
586
- border-bottom: 1px solid var(--c-border);
587
- }
588
- }
589
- /* unplugin-vue-components disabled */
590
- /* layer: default */
591
- .px[data-v-9cb24cfb]{padding-left:1rem;padding-right:1rem;}
592
-
749
+ }