@robot-admin/naive-ui-components 0.14.0 → 0.14.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 (120) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +2 -0
  3. package/dist/C_AntV.css +64 -64
  4. package/dist/C_Breadcrumb.css +11 -12
  5. package/dist/C_Captcha.css +6 -7
  6. package/dist/C_Cascade.css +4 -5
  7. package/dist/C_ContextMenu.css +6 -6
  8. package/dist/C_Cron.css +105 -104
  9. package/dist/C_Draggable.css +10 -9
  10. package/dist/C_FilePreview.css +153 -153
  11. package/dist/C_Form.base.css +319 -319
  12. package/dist/C_Form.css +319 -319
  13. package/dist/C_FormulaEditor.css +337 -257
  14. package/dist/C_GlobalSearch.css +10 -11
  15. package/dist/C_Guide.css +6 -5
  16. package/dist/C_ImageCropper.css +5 -6
  17. package/dist/C_Loading.css +7 -8
  18. package/dist/C_Login.css +6 -6
  19. package/dist/C_Markdown.css +5 -6
  20. package/dist/C_NotificationCenter.css +172 -172
  21. package/dist/C_OrgChart.css +6 -6
  22. package/dist/C_SplitPane.css +22 -23
  23. package/dist/C_Steps.css +4 -5
  24. package/dist/C_Table.base.css +331 -331
  25. package/dist/C_Table.css +331 -331
  26. package/dist/C_Tabs.css +4 -5
  27. package/dist/C_TagsView.css +32 -31
  28. package/dist/C_Tree.css +16 -15
  29. package/dist/C_VideoPlayer.css +146 -146
  30. package/dist/C_WorkFlow.css +224 -224
  31. package/dist/constants3.d.cts +2 -2
  32. package/dist/constants3.d.ts +2 -2
  33. package/dist/constants4.d.cts +7 -7
  34. package/dist/constants4.d.ts +7 -7
  35. package/dist/constants5.d.cts +2 -2
  36. package/dist/constants5.d.ts +2 -2
  37. package/dist/data.d.cts +9 -9
  38. package/dist/data.d.ts +9 -9
  39. package/dist/index.vue.d.cts +5 -5
  40. package/dist/index.vue.d.ts +5 -5
  41. package/dist/index10.vue.d.cts +3 -3
  42. package/dist/index10.vue.d.ts +2 -2
  43. package/dist/index11.vue.d.cts +2 -2
  44. package/dist/index11.vue.d.ts +4 -4
  45. package/dist/index12.vue.d.cts +4 -4
  46. package/dist/index12.vue.d.ts +2 -2
  47. package/dist/index13.vue.d.cts +2 -2
  48. package/dist/index13.vue.d.ts +5 -5
  49. package/dist/index14.vue.d.cts +5 -5
  50. package/dist/index14.vue.d.ts +4 -4
  51. package/dist/index15.vue.d.cts +4 -4
  52. package/dist/index15.vue.d.ts +1 -1
  53. package/dist/index16.vue.d.cts +1 -1
  54. package/dist/index18.vue.d.ts +3 -3
  55. package/dist/index19.vue.d.cts +3 -3
  56. package/dist/index19.vue.d.ts +1 -1
  57. package/dist/index2.vue.d.cts +3 -3
  58. package/dist/index2.vue.d.ts +3 -3
  59. package/dist/index20.vue.d.cts +2 -2
  60. package/dist/index20.vue.d.ts +2 -2
  61. package/dist/index21.vue.d.cts +1 -1
  62. package/dist/index21.vue.d.ts +1 -1
  63. package/dist/index22.vue.d.cts +2 -2
  64. package/dist/index22.vue.d.ts +2 -2
  65. package/dist/index23.vue.d.cts +1 -1
  66. package/dist/index23.vue.d.ts +1 -1
  67. package/dist/index25.vue.d.cts +3 -3
  68. package/dist/index25.vue.d.ts +3 -3
  69. package/dist/index26.vue.d.cts +1 -1
  70. package/dist/index26.vue.d.ts +1 -1
  71. package/dist/index27.vue.d.cts +3 -3
  72. package/dist/index27.vue.d.ts +3 -3
  73. package/dist/index28.vue.d.cts +2 -2
  74. package/dist/index28.vue.d.ts +2 -2
  75. package/dist/index3.vue.d.cts +4 -4
  76. package/dist/index3.vue.d.ts +4 -4
  77. package/dist/index4.vue.d.cts +1 -1
  78. package/dist/index6.vue.d.ts +2 -2
  79. package/dist/index7.vue.d.cts +2 -2
  80. package/dist/index9.vue.d.ts +3 -3
  81. package/dist/mapUtils.d.cts +1 -1
  82. package/dist/mapUtils.d.ts +1 -1
  83. package/dist/presets.d.cts +1 -1
  84. package/dist/presets.d.ts +1 -1
  85. package/dist/style.css +8744 -8663
  86. package/dist/useCalendarEvents.d.cts +2 -2
  87. package/dist/useCalendarEvents.d.ts +2 -2
  88. package/dist/useCollapsePanel.d.cts +3 -3
  89. package/dist/useCollapsePanel.d.ts +3 -3
  90. package/dist/useCropperCore.d.cts +6 -6
  91. package/dist/useCropperCore.d.ts +6 -6
  92. package/dist/useDraggableLayout.d.cts +8 -8
  93. package/dist/useDraggableLayout.d.ts +8 -8
  94. package/dist/useDynamicFormState.d.cts +2 -2
  95. package/dist/useDynamicFormState.d.ts +2 -2
  96. package/dist/useEdgeInteraction.d.cts +2 -2
  97. package/dist/useEdgeInteraction.d.ts +2 -2
  98. package/dist/useFormulaEvaluator.cjs +1 -1
  99. package/dist/useFormulaEvaluator.js +1 -1
  100. package/dist/useGlobalSearch.d.cts +1 -1
  101. package/dist/useGlobalSearch.d.ts +1 -1
  102. package/dist/useInfiniteScroll.d.cts +3 -3
  103. package/dist/useInfiniteScroll.d.ts +3 -3
  104. package/dist/useQRCode.d.cts +4 -4
  105. package/dist/useQRCode.d.ts +4 -4
  106. package/dist/useSearchState.d.cts +9 -9
  107. package/dist/useSearchState.d.ts +9 -9
  108. package/dist/useSignatureHistory.d.cts +4 -4
  109. package/dist/useSignatureHistory.d.ts +4 -4
  110. package/dist/useSplitResize.d.cts +9 -9
  111. package/dist/useSplitResize.d.ts +9 -9
  112. package/dist/useTimeSelection.d.cts +3 -3
  113. package/dist/useTimeSelection.d.ts +3 -3
  114. package/dist/useTreeOperations.d.cts +6 -6
  115. package/dist/useTreeOperations.d.ts +6 -6
  116. package/dist/useWorkflowValidation.d.cts +5 -5
  117. package/dist/useWorkflowValidation.d.ts +5 -5
  118. package/dist/verification.d.cts +4 -4
  119. package/dist/verification.d.ts +4 -4
  120. package/package.json +1 -1
@@ -65,12 +65,8 @@
65
65
  transform: rotate(360deg);
66
66
  }
67
67
  }
68
- /* unplugin-vue-components disabled */
69
- /* layer: default */
70
- .px[data-v-fdb8dd69]{padding-left:1rem;padding-right:1rem;}
71
-
72
68
  /* unplugin-vue-components disabled *//* 公式工作区:变量、原生输入与试算结果共享一个模型。 */
73
- .c-formula[data-v-fdb8dd69] {
69
+ .c-formula[data-v-b006a294] {
74
70
  container: formula-editor/inline-size;
75
71
  overflow: auto;
76
72
  border: 1px solid var(--c-border);
@@ -78,11 +74,11 @@
78
74
  background: var(--c-bg-card);
79
75
  color: var(--c-text-2);
80
76
  }
81
- .c-formula h2[data-v-fdb8dd69],
82
- .c-formula p[data-v-fdb8dd69] {
77
+ .c-formula h2[data-v-b006a294],
78
+ .c-formula p[data-v-b006a294] {
83
79
  margin: 0;
84
80
  }
85
- .c-formula__title-row[data-v-fdb8dd69] {
81
+ .c-formula__title-row[data-v-b006a294] {
86
82
  display: flex;
87
83
  align-items: center;
88
84
  justify-content: space-between;
@@ -91,34 +87,34 @@
91
87
  padding: 24px;
92
88
  border-bottom: 1px solid var(--c-border);
93
89
  }
94
- .c-formula__title-row h2[data-v-fdb8dd69] {
90
+ .c-formula__title-row h2[data-v-b006a294] {
95
91
  margin-top: 8px;
96
92
  color: var(--c-text-1);
97
93
  font-size: 22px;
98
94
  letter-spacing: -0.4px;
99
95
  }
100
- .c-formula__title-row p[data-v-fdb8dd69] {
96
+ .c-formula__title-row p[data-v-b006a294] {
101
97
  margin-top: 6px;
102
98
  font-size: 13px;
103
99
  }
104
- .c-formula__eyebrow[data-v-fdb8dd69] {
100
+ .c-formula__eyebrow[data-v-b006a294] {
105
101
  color: var(--c-primary);
106
102
  font: 600 10px ui-monospace, monospace;
107
103
  letter-spacing: 2px;
108
104
  }
109
- .c-formula__actions[data-v-fdb8dd69] {
105
+ .c-formula__actions[data-v-b006a294] {
110
106
  display: flex;
111
107
  align-items: center;
112
108
  gap: 12px;
113
109
  }
114
- .c-formula__templates[data-v-fdb8dd69] {
110
+ .c-formula__templates[data-v-b006a294] {
115
111
  display: grid;
116
112
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
117
113
  gap: 8px;
118
114
  padding: 16px 24px;
119
115
  border-bottom: 1px solid var(--c-border);
120
116
  }
121
- .c-formula__templates button[data-v-fdb8dd69] {
117
+ .c-formula__templates button[data-v-b006a294] {
122
118
  appearance: none;
123
119
  display: flex;
124
120
  flex-direction: column;
@@ -132,70 +128,93 @@
132
128
  font: inherit;
133
129
  cursor: pointer;
134
130
  }
135
- .c-formula__templates button strong[data-v-fdb8dd69] {
131
+ .c-formula__templates button strong[data-v-b006a294] {
136
132
  color: var(--c-text-1);
137
133
  font-size: 12px;
138
134
  }
139
- .c-formula__templates button span[data-v-fdb8dd69] {
135
+ .c-formula__templates button span[data-v-b006a294] {
140
136
  font-size: 11px;
141
137
  }
142
- .c-formula__templates button[aria-pressed=true][data-v-fdb8dd69], .c-formula__templates button[data-v-fdb8dd69]:hover:enabled {
138
+ .c-formula__templates button[aria-pressed=true][data-v-b006a294], .c-formula__templates button[data-v-b006a294]:hover:enabled {
143
139
  border-color: var(--c-primary);
144
140
  background: color-mix(in srgb, var(--c-primary) 6%, transparent);
145
141
  }
146
- .c-formula__templates button[data-v-fdb8dd69]:disabled {
142
+ .c-formula__templates button[data-v-b006a294]:disabled {
147
143
  opacity: 0.5;
148
144
  cursor: not-allowed;
149
145
  }
150
- .c-formula__templates button[data-v-fdb8dd69]:focus-visible {
146
+ .c-formula__templates button[data-v-b006a294]:focus-visible {
151
147
  outline: 2px solid var(--c-primary);
152
148
  outline-offset: 2px;
153
149
  }
154
- .c-formula__body[data-v-fdb8dd69] {
150
+ .c-formula__body[data-v-b006a294] {
155
151
  display: grid;
156
152
  grid-template-columns: 210px minmax(0, 1fr) 300px;
157
153
  align-items: stretch;
158
154
  }
159
- .c-formula__body--no-sidebar[data-v-fdb8dd69] {
155
+ .c-formula__body--no-sidebar[data-v-b006a294] {
160
156
  grid-template-columns: minmax(0, 1fr) 300px;
161
157
  }
162
- .c-formula__body--no-preview[data-v-fdb8dd69] {
158
+ .c-formula__body--no-preview[data-v-b006a294] {
163
159
  grid-template-columns: 210px minmax(0, 1fr);
164
160
  }
165
- .c-formula__body--no-sidebar.c-formula__body--no-preview[data-v-fdb8dd69] {
161
+ .c-formula__body--no-sidebar.c-formula__body--no-preview[data-v-b006a294] {
166
162
  grid-template-columns: minmax(0, 1fr);
167
163
  }
168
- .c-formula__sidebar[data-v-fdb8dd69] {
164
+ .c-formula__sidebar[data-v-b006a294] {
169
165
  min-width: 0;
170
166
  border-right: 1px solid var(--c-border);
171
167
  }
172
- .c-formula__main[data-v-fdb8dd69] {
168
+ .c-formula__main[data-v-b006a294] {
173
169
  min-width: 0;
174
170
  padding: 24px;
175
171
  }
176
- .c-formula__keyboard[data-v-fdb8dd69] {
172
+ .c-formula__keyboard[data-v-b006a294] {
177
173
  margin-top: 20px;
178
174
  border: 1px solid var(--c-border);
179
- border-radius: 10px;
175
+ border-radius: 12px;
176
+ background: color-mix(in srgb, var(--c-primary) 2%, var(--c-bg-card));
180
177
  }
181
- .c-formula__keyboard summary[data-v-fdb8dd69] {
178
+ .c-formula__keyboard summary[data-v-b006a294] {
179
+ display: flex;
180
+ align-items: center;
181
+ gap: 10px;
182
182
  padding: 12px 16px;
183
+ list-style: none;
183
184
  font-size: 12px;
184
185
  cursor: pointer;
186
+ color: var(--c-primary);
187
+ }
188
+ .c-formula__keyboard summary[data-v-b006a294]::-webkit-details-marker {
189
+ display: none;
190
+ }
191
+ .c-formula__keyboard summary[data-v-b006a294]:focus-visible {
192
+ outline: 2px solid var(--c-primary);
193
+ outline-offset: 2px;
194
+ }
195
+ .c-formula__keyboard[open] summary[data-v-b006a294] {
196
+ border-bottom: 1px solid var(--c-border);
197
+ }
198
+ .c-formula__keyboard[open] .c-formula__keyboard-chevron[data-v-b006a294] {
199
+ transform: rotate(180deg);
200
+ }
201
+ .c-formula__keyboard-title[data-v-b006a294] {
202
+ min-width: 0;
203
+ flex: 1;
185
204
  color: var(--c-text-1);
205
+ font-weight: 600;
186
206
  }
187
- .c-formula__keyboard summary span[data-v-fdb8dd69] {
188
- margin-left: 8px;
207
+ .c-formula__keyboard-title small[data-v-b006a294] {
208
+ display: block;
209
+ margin-top: 3px;
189
210
  color: var(--c-text-3);
190
211
  font-size: 11px;
212
+ font-weight: 400;
191
213
  }
192
- .c-formula__keyboard summary[data-v-fdb8dd69]:focus-visible {
193
- outline: 2px solid var(--c-primary);
194
- }
195
- .c-formula__keyboard[data-v-fdb8dd69] .virtual-keyboard {
196
- padding: 0 16px 16px;
214
+ .c-formula__keyboard-chevron[data-v-b006a294] {
215
+ flex-shrink: 0;
197
216
  }
198
- .c-formula__guide[data-v-fdb8dd69] {
217
+ .c-formula__guide[data-v-b006a294] {
199
218
  display: flex;
200
219
  align-items: flex-start;
201
220
  gap: 8px;
@@ -204,148 +223,43 @@
204
223
  color: var(--c-text-3);
205
224
  line-height: 1.8;
206
225
  }
207
- .c-formula__guide[data-v-fdb8dd69] > :first-child {
226
+ .c-formula__guide[data-v-b006a294] > :first-child {
208
227
  flex-shrink: 0;
209
228
  margin-top: 3px;
210
229
  }
211
- .c-formula__guide code[data-v-fdb8dd69] {
230
+ .c-formula__guide code[data-v-b006a294] {
212
231
  color: var(--c-primary);
213
232
  }
214
233
  @container formula-editor (max-width: 980px) {
215
- .c-formula__body[data-v-fdb8dd69] {
234
+ .c-formula__body[data-v-b006a294] {
216
235
  grid-template-columns: 190px minmax(0, 1fr);
217
236
  }
218
- .c-formula__body--no-sidebar[data-v-fdb8dd69] {
237
+ .c-formula__body--no-sidebar[data-v-b006a294] {
219
238
  grid-template-columns: minmax(0, 1fr);
220
239
  }
221
- .c-formula__body[data-v-fdb8dd69] > .formula-preview {
240
+ .c-formula__body[data-v-b006a294] > .formula-preview {
222
241
  grid-column: 1/-1;
223
242
  border-left: 0;
224
243
  border-top: 1px solid var(--c-border);
225
244
  }
226
245
  }
227
246
  @container formula-editor (max-width: 580px) {
228
- .c-formula__body[data-v-fdb8dd69] {
247
+ .c-formula__body[data-v-b006a294] {
229
248
  grid-template-columns: minmax(0, 1fr);
230
249
  }
231
- .c-formula__sidebar[data-v-fdb8dd69] {
250
+ .c-formula__sidebar[data-v-b006a294] {
232
251
  border-right: 0;
233
252
  border-bottom: 1px solid var(--c-border);
234
253
  }
235
- .c-formula__title-row[data-v-fdb8dd69],
236
- .c-formula__main[data-v-fdb8dd69] {
254
+ .c-formula__title-row[data-v-b006a294],
255
+ .c-formula__main[data-v-b006a294] {
237
256
  padding: 18px;
238
257
  }
239
258
  }
240
- /* unplugin-vue-components disabled *//* 原生文本输入与转义后的结构预览,避免 contenteditable 光标和样式副作用。 */
241
- .formula-input__header[data-v-6bf933c2] {
242
- display: flex;
243
- justify-content: space-between;
244
- align-items: center;
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;
257
- color: var(--c-primary);
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 {
282
- font-size: 13px;
283
- color: var(--c-text-3);
284
- }
285
- .formula-input__editor[data-v-6bf933c2]:read-only {
286
- background: color-mix(in srgb, var(--c-border) 25%, var(--c-bg-card));
287
- }
288
- .formula-input--error .formula-input__editor[data-v-6bf933c2] {
289
- border-color: var(--c-error);
290
- }
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;
299
- }
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);
305
- }
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;
315
- }
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;
325
- }
326
- .formula-input--error .formula-input__validation[data-v-6bf933c2] {
327
- color: var(--c-error);
328
- }
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);
341
- font-weight: 600;
342
- }
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
- }
259
+ /* unplugin-vue-components disabled */
260
+ /* layer: default */
261
+ .px[data-v-b006a294]{padding-left:1rem;padding-right:1rem;}
262
+
349
263
  /* unplugin-vue-components disabled *//* 隔离试算值与明确结果,组件宽度变化时自然换行。 */
350
264
  .formula-preview[data-v-b2656900] {
351
265
  min-width: 0;
@@ -452,6 +366,115 @@
452
366
  padding-top: 16px;
453
367
  border-top: 1px solid var(--c-border);
454
368
  }
369
+ /* unplugin-vue-components disabled *//* 原生文本输入与转义后的结构预览,避免 contenteditable 光标和样式副作用。 */
370
+ .formula-input__header[data-v-5b2f30eb] {
371
+ display: flex;
372
+ justify-content: space-between;
373
+ align-items: center;
374
+ gap: 12px;
375
+ margin-bottom: 16px;
376
+ }
377
+ .formula-input__label[data-v-5b2f30eb] {
378
+ color: var(--c-text-1);
379
+ font-size: 13px;
380
+ font-weight: 600;
381
+ }
382
+ .formula-input__clear[data-v-5b2f30eb] {
383
+ appearance: none;
384
+ border: 0;
385
+ background: transparent;
386
+ color: var(--c-primary);
387
+ font: inherit;
388
+ font-size: 12px;
389
+ cursor: pointer;
390
+ }
391
+ .formula-input__editor[data-v-5b2f30eb] {
392
+ display: block;
393
+ width: 100%;
394
+ box-sizing: border-box;
395
+ min-height: 168px;
396
+ resize: vertical;
397
+ padding: 18px;
398
+ border: 1px solid var(--c-border);
399
+ border-radius: 12px;
400
+ background: color-mix(in srgb, var(--c-primary) 2%, var(--c-bg-card));
401
+ color: var(--c-text-1);
402
+ font: 15px/1.9 ui-monospace, "SFMono-Regular", Consolas, monospace;
403
+ outline: none;
404
+ overflow-wrap: anywhere;
405
+ }
406
+ .formula-input__editor[data-v-5b2f30eb]:focus {
407
+ border-color: var(--c-primary);
408
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-primary) 12%, transparent);
409
+ }
410
+ .formula-input__editor[data-v-5b2f30eb]::placeholder {
411
+ font-size: 13px;
412
+ color: var(--c-text-3);
413
+ }
414
+ .formula-input__editor[data-v-5b2f30eb]:read-only {
415
+ background: color-mix(in srgb, var(--c-border) 25%, var(--c-bg-card));
416
+ }
417
+ .formula-input--error .formula-input__editor[data-v-5b2f30eb] {
418
+ border-color: var(--c-error);
419
+ }
420
+ .formula-input__tokens[data-v-5b2f30eb] {
421
+ margin-top: 16px;
422
+ padding: 14px 16px;
423
+ border: 1px dashed var(--c-border);
424
+ border-radius: 10px;
425
+ font: 12px/2 ui-monospace, monospace;
426
+ white-space: pre-wrap;
427
+ overflow-wrap: anywhere;
428
+ }
429
+ .formula-input__tokens > span[data-v-5b2f30eb]:first-child {
430
+ display: block;
431
+ font: 11px/1.5 sans-serif;
432
+ margin-bottom: 8px;
433
+ color: var(--c-text-3);
434
+ }
435
+ .formula-input__validation[data-v-5b2f30eb] {
436
+ display: flex;
437
+ align-items: center;
438
+ justify-content: space-between;
439
+ gap: 10px;
440
+ margin-top: 12px;
441
+ font-size: 12px;
442
+ color: var(--c-text-3);
443
+ line-height: 1.7;
444
+ }
445
+ .formula-input__validation button[data-v-5b2f30eb] {
446
+ appearance: none;
447
+ flex-shrink: 0;
448
+ border: 0;
449
+ padding: 2px 0;
450
+ color: var(--c-primary);
451
+ background: transparent;
452
+ cursor: pointer;
453
+ font: inherit;
454
+ }
455
+ .formula-input--error .formula-input__validation[data-v-5b2f30eb] {
456
+ color: var(--c-error);
457
+ }
458
+ .formula-input button[data-v-5b2f30eb]:focus-visible {
459
+ outline: 2px solid var(--c-primary);
460
+ outline-offset: 3px;
461
+ }
462
+ .formula-input .formula-token--variable[data-v-5b2f30eb] {
463
+ color: var(--c-primary);
464
+ padding: 2px 5px;
465
+ border-radius: 4px;
466
+ background: color-mix(in srgb, var(--c-primary) 9%, transparent);
467
+ }
468
+ .formula-input .formula-token--function[data-v-5b2f30eb] {
469
+ color: var(--c-success);
470
+ font-weight: 600;
471
+ }
472
+ .formula-input .formula-token--operator[data-v-5b2f30eb] {
473
+ color: var(--c-primary);
474
+ }
475
+ .formula-input .formula-token--number[data-v-5b2f30eb] {
476
+ color: var(--c-warning);
477
+ }
455
478
  /* unplugin-vue-components disabled *//* VariablePanel 组件样式 */
456
479
  .variable-panel[data-v-2d73fec7] {
457
480
  display: flex;
@@ -612,138 +635,195 @@
612
635
  color: var(--c-text-3);
613
636
  margin-top: 3px;
614
637
  }
615
- /* unplugin-vue-components disabled *//* VirtualKeyboard 组件样式 */
616
- .vk[data-v-8c874c05] {
617
- /* ═══════ 标题行 ═══════ */
638
+ /* unplugin-vue-components disabled *//*
639
+ * @Author: ChenYu ycyplus@gmail.com
640
+ * @Date: 2026-10-07
641
+ * @Description: 主题驱动的公式键帽与容器响应式布局
642
+ * Copyright (c) 2026 by CHENY, All Rights Reserved.
643
+ */
644
+ .virtual-keyboard[data-v-05f0982d] {
645
+ container: formula-keyboard/inline-size;
646
+ padding: 16px;
647
+ color: var(--c-text-2);
618
648
  }
619
- .vk__title[data-v-8c874c05] {
620
- font-size: 13px;
649
+ .virtual-keyboard__label[data-v-05f0982d] {
650
+ display: block;
651
+ margin: 0 0 10px;
652
+ color: var(--c-text-3);
653
+ font-size: 11px;
621
654
  font-weight: 500;
622
- color: var(--c-text-4);
623
- padding: 0 0 8px;
624
- letter-spacing: 0.5px;
625
655
  }
626
- .vk[data-v-8c874c05] {
627
- /* ═══════ 键盘主体 ═══════ */
628
- /* 浅米黄暖色底板,对应参考截图 */
656
+ .virtual-keyboard__functions[data-v-05f0982d] {
657
+ padding-bottom: 16px;
658
+ margin-bottom: 16px;
659
+ border-bottom: 1px solid var(--c-border);
629
660
  }
630
- .vk__body[data-v-8c874c05] {
631
- display: flex;
632
- gap: 68px;
661
+ .virtual-keyboard__function-grid[data-v-05f0982d] {
662
+ display: grid;
663
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 76px), 1fr));
664
+ gap: 6px;
665
+ }
666
+ .virtual-keyboard__function[data-v-05f0982d] {
667
+ min-width: 0;
668
+ padding: 8px 6px;
669
+ border: 1px solid color-mix(in srgb, var(--c-primary) 20%, var(--c-border));
670
+ border-radius: 7px;
671
+ color: var(--c-primary);
672
+ background: color-mix(in srgb, var(--c-primary) 5%, var(--c-bg-card));
673
+ font: 600 11px ui-monospace, monospace;
674
+ overflow-wrap: anywhere;
675
+ cursor: pointer;
676
+ }
677
+ .virtual-keyboard__function span[data-v-05f0982d] {
678
+ margin-left: 5px;
679
+ opacity: 0.55;
680
+ }
681
+ .virtual-keyboard__body[data-v-05f0982d] {
682
+ display: grid;
683
+ grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
684
+ gap: 20px;
685
+ }
686
+ .virtual-keyboard__operators[data-v-05f0982d] {
687
+ display: grid;
688
+ gap: 16px;
689
+ min-width: 0;
690
+ }
691
+ .virtual-keyboard__numbers[data-v-05f0982d] {
692
+ min-width: 0;
633
693
  padding: 12px;
634
- border-radius: 8px;
635
- border: 1px solid rgba(240, 160, 32, 0.2);
636
- background: rgba(240, 160, 32, 0.06);
694
+ border: 1px solid var(--c-border);
695
+ border-radius: 12px;
696
+ background: color-mix(in srgb, var(--c-border) 16%, var(--c-bg-card));
637
697
  }
638
- .vk__half[data-v-8c874c05] {
698
+ .virtual-keyboard__keys[data-v-05f0982d] {
639
699
  display: grid;
640
- grid-template-columns: repeat(5, 1fr);
641
- gap: 5px;
642
- flex: 1;
643
- /* 数字区:白色底板层区分 */
700
+ gap: 7px;
644
701
  }
645
- .vk__half--nums[data-v-8c874c05] {
646
- padding: 6px;
647
- border-radius: 6px;
648
- background: var(--c-bg-card);
649
- border: 1px solid rgba(0, 0, 0, 0.07);
702
+ .virtual-keyboard__keys--arithmetic[data-v-05f0982d] {
703
+ grid-template-columns: repeat(5, minmax(0, 1fr));
650
704
  }
651
- .vk[data-v-8c874c05] {
652
- /* ═══════ 动作行 ═══════ */
705
+ .virtual-keyboard__keys--compare[data-v-05f0982d] {
706
+ grid-template-columns: repeat(3, minmax(0, 1fr));
653
707
  }
654
- .vk__actions[data-v-8c874c05] {
655
- display: flex;
656
- justify-content: flex-end;
657
- gap: 8px;
658
- padding: 8px 12px 0;
708
+ .virtual-keyboard__keys--logic[data-v-05f0982d] {
709
+ grid-template-columns: repeat(4, minmax(0, 1fr));
659
710
  }
660
- .vk[data-v-8c874c05] {
661
- /* ═══════ 经典键帽按键 ═══════ */
662
- /* 3D 效果核心:border-bottom 加粗 = 键帽厚度,按下时 translateY + 底边归细 */
711
+ .virtual-keyboard__keys--numbers[data-v-05f0982d] {
712
+ grid-template-columns: repeat(3, minmax(0, 1fr));
663
713
  }
664
- .vk__key[data-v-8c874c05] {
714
+ .virtual-keyboard__key[data-v-05f0982d] {
715
+ --key-accent: var(--c-border);
665
716
  display: flex;
666
717
  align-items: center;
667
718
  justify-content: center;
668
- height: 34px;
719
+ box-sizing: border-box;
669
720
  min-width: 0;
670
- padding: 0;
671
- border-radius: 5px;
672
- cursor: pointer;
673
- user-select: none;
674
- font-size: 14px;
675
- font-weight: 500;
721
+ min-height: 40px;
722
+ padding: 6px 2px;
723
+ border: 1px solid var(--key-accent);
724
+ border-bottom-width: 3px;
725
+ border-radius: 8px;
726
+ background: linear-gradient(180deg, var(--c-bg-card), color-mix(in srgb, var(--c-border) 10%, var(--c-bg-card)));
676
727
  color: var(--c-text-1);
677
- background: var(--c-bg-card);
678
- /* 立体效果关键:底边用确定 rgba 保证可见 */
679
- border: 1px solid rgba(0, 0, 0, 0.12);
680
- border-bottom: 3px solid rgba(0, 0, 0, 0.18);
681
- transition: transform 0.06s ease, border-bottom-width 0.06s ease, background 0.1s ease;
682
- }
683
- .vk__key[data-v-8c874c05]:hover:not(:disabled) {
684
- background: color-mix(in srgb, var(--c-primary) 6%, var(--c-bg-card));
685
- border-color: color-mix(in srgb, var(--c-primary) 50%, transparent);
686
- border-bottom-color: color-mix(in srgb, var(--c-primary) 60%, transparent);
728
+ box-shadow: 0 2px 3px color-mix(in srgb, var(--c-text-1) 4%, transparent);
729
+ font: 600 14px ui-monospace, monospace;
730
+ overflow-wrap: anywhere;
731
+ cursor: pointer;
732
+ transition: transform 120ms ease, border-color 120ms ease, background 120ms ease;
733
+ }
734
+ .virtual-keyboard__key--zero[data-v-05f0982d] {
735
+ grid-column: span 2;
736
+ }
737
+ .virtual-keyboard__key--primary[data-v-05f0982d] {
738
+ --key-accent: color-mix(in srgb, var(--c-primary) 35%, var(--c-border));
687
739
  color: var(--c-primary);
740
+ background: color-mix(in srgb, var(--c-primary) 5%, var(--c-bg-card));
741
+ font-size: 18px;
688
742
  }
689
- .vk__key[data-v-8c874c05] {
690
- /* 按下:键帽下沉 + 底边归细 */
743
+ .virtual-keyboard__key--warning[data-v-05f0982d] {
744
+ --key-accent: color-mix(in srgb, var(--c-warning) 30%, var(--c-border));
745
+ color: var(--c-warning);
746
+ background: color-mix(in srgb, var(--c-warning) 7%, var(--c-bg-card));
747
+ font-size: 12px;
691
748
  }
692
- .vk__key[data-v-8c874c05]:active:not(:disabled) {
749
+ .virtual-keyboard__key[data-v-05f0982d]:active:enabled {
693
750
  transform: translateY(2px);
694
- border-bottom-width: 1px;
751
+ box-shadow: none;
752
+ }
753
+ .virtual-keyboard__footer[data-v-05f0982d] {
754
+ display: flex;
755
+ align-items: center;
756
+ justify-content: space-between;
757
+ flex-wrap: wrap;
758
+ gap: 12px;
759
+ padding-top: 16px;
760
+ margin-top: 16px;
761
+ border-top: 1px solid var(--c-border);
695
762
  }
696
- .vk__key[data-v-8c874c05]:disabled {
697
- opacity: 0.4;
763
+ .virtual-keyboard__footer > span[data-v-05f0982d] {
764
+ flex: 1 1 140px;
765
+ color: var(--c-text-3);
766
+ font-size: 11px;
767
+ line-height: 1.7;
768
+ }
769
+ .virtual-keyboard__actions[data-v-05f0982d] {
770
+ display: flex;
771
+ flex-wrap: wrap;
772
+ gap: 8px;
773
+ }
774
+ .virtual-keyboard__action[data-v-05f0982d] {
775
+ display: inline-flex;
776
+ align-items: center;
777
+ justify-content: center;
778
+ gap: 6px;
779
+ min-width: 0;
780
+ padding: 8px 10px;
781
+ border: 1px solid var(--c-border);
782
+ border-radius: 8px;
783
+ background: var(--c-bg-card);
784
+ color: var(--c-text-2);
785
+ font: inherit;
786
+ font-size: 12px;
787
+ cursor: pointer;
788
+ }
789
+ .virtual-keyboard__action--clear[data-v-05f0982d] {
790
+ color: var(--c-error);
791
+ }
792
+ .virtual-keyboard button[data-v-05f0982d]:hover:enabled {
793
+ border-color: var(--c-primary);
794
+ background: color-mix(in srgb, var(--c-primary) 8%, var(--c-bg-card));
795
+ }
796
+ .virtual-keyboard button[data-v-05f0982d]:focus-visible {
797
+ outline: 2px solid var(--c-primary);
798
+ outline-offset: 3px;
799
+ }
800
+ .virtual-keyboard button[data-v-05f0982d]:disabled {
801
+ opacity: 0.45;
698
802
  cursor: not-allowed;
699
803
  }
700
- .vk__key[data-v-8c874c05] {
701
- /* ─── warning(? : and or)—橙色背景块 ─── */
804
+ @container formula-keyboard (max-width: 360px) {
805
+ .virtual-keyboard__body[data-v-05f0982d] {
806
+ grid-template-columns: minmax(0, 1fr);
702
807
  }
703
- .vk__key--warning[data-v-8c874c05] {
704
- background: rgba(240, 160, 32, 0.12);
705
- border-color: rgba(240, 160, 32, 0.35);
706
- border-bottom-color: rgba(240, 160, 32, 0.55);
707
- color: #d48806;
708
- font-weight: 700;
709
- font-size: 15px;
710
808
  }
711
- .vk__key--warning[data-v-8c874c05]:hover:not(:disabled) {
712
- background: rgba(240, 160, 32, 0.2);
713
- border-color: rgba(240, 160, 32, 0.55);
714
- border-bottom-color: rgba(240, 160, 32, 0.75);
715
- color: #b8760a;
809
+ @container formula-keyboard (max-width: 220px) {
810
+ .virtual-keyboard__keys--arithmetic[data-v-05f0982d],
811
+ .virtual-keyboard__keys--logic[data-v-05f0982d] {
812
+ grid-template-columns: repeat(2, minmax(0, 1fr));
716
813
  }
717
- .vk__key[data-v-8c874c05] {
718
- /* ─── primary(+ − × ÷)—蓝色文字 + 蓝色底边 ─── */
814
+ .virtual-keyboard__numbers[data-v-05f0982d] {
815
+ padding: 8px;
719
816
  }
720
- .vk__key--primary[data-v-8c874c05] {
721
- color: var(--c-primary);
722
- font-weight: 700;
723
- font-size: 16px;
724
- border-color: rgba(32, 128, 240, 0.25);
725
- border-bottom-color: rgba(32, 128, 240, 0.55);
817
+ .virtual-keyboard__actions[data-v-05f0982d] {
818
+ width: 100%;
726
819
  }
727
- .vk__key--primary[data-v-8c874c05]:hover:not(:disabled) {
728
- background: rgba(32, 128, 240, 0.06);
729
- color: var(--c-primary);
730
- border-color: rgba(32, 128, 240, 0.45);
731
- border-bottom-color: rgba(32, 128, 240, 0.75);
820
+ .virtual-keyboard__action[data-v-05f0982d] {
821
+ flex: 1;
822
+ padding: 8px 4px;
732
823
  }
733
- .vk__key[data-v-8c874c05] {
734
- /* ─── 动作键(⌫ 清空)─── */
735
824
  }
736
- .vk__key--action[data-v-8c874c05] {
737
- width: 64px;
738
- height: 34px;
739
- font-size: 13px;
740
- color: var(--c-text-2);
741
- background: color-mix(in srgb, var(--c-text-4) 8%, var(--c-bg-card));
742
- border-color: rgba(0, 0, 0, 0.1);
743
- border-bottom-color: rgba(0, 0, 0, 0.15);
744
- }
745
- .vk__key--action[data-v-8c874c05]:hover:not(:disabled) {
746
- color: var(--error-color);
747
- border-color: color-mix(in srgb, var(--error-color) 40%, transparent);
748
- border-bottom-color: color-mix(in srgb, var(--error-color) 55%, transparent);
825
+ @media (prefers-reduced-motion: reduce) {
826
+ .virtual-keyboard__key[data-v-05f0982d] {
827
+ transition: none;
828
+ }
749
829
  }