@robot-admin/naive-ui-components 0.14.1 → 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 (119) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/README.md +2 -0
  3. package/dist/C_AntV.css +139 -138
  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_City.css +6 -5
  8. package/dist/C_Cron.css +7 -7
  9. package/dist/C_FilePreview.css +183 -184
  10. package/dist/C_Form.base.css +82 -82
  11. package/dist/C_Form.css +82 -82
  12. package/dist/C_FormulaEditor.css +246 -166
  13. package/dist/C_GlobalSearch.css +10 -11
  14. package/dist/C_Guide.css +6 -5
  15. package/dist/C_ImageCropper.css +9 -10
  16. package/dist/C_Loading.css +7 -8
  17. package/dist/C_Login.css +6 -6
  18. package/dist/C_Markdown.css +5 -6
  19. package/dist/C_NotificationCenter.css +86 -86
  20. package/dist/C_OrgChart.css +6 -6
  21. package/dist/C_PageLoading.css +5 -6
  22. package/dist/C_Steps.css +4 -5
  23. package/dist/C_Table.base.css +119 -119
  24. package/dist/C_Table.css +119 -119
  25. package/dist/C_Tabs.css +4 -5
  26. package/dist/C_TagsView.css +32 -31
  27. package/dist/C_Upload.css +94 -94
  28. package/dist/C_VideoPlayer.css +95 -95
  29. package/dist/C_WorkFlow.css +116 -116
  30. package/dist/constants3.d.cts +5 -5
  31. package/dist/constants3.d.ts +5 -5
  32. package/dist/constants4.d.cts +4 -4
  33. package/dist/constants4.d.ts +4 -4
  34. package/dist/constants5.d.cts +2 -2
  35. package/dist/constants5.d.ts +2 -2
  36. package/dist/data.d.cts +6 -6
  37. package/dist/data.d.ts +6 -6
  38. package/dist/index.vue.d.cts +6 -6
  39. package/dist/index.vue.d.ts +6 -6
  40. package/dist/index10.vue.d.cts +4 -4
  41. package/dist/index10.vue.d.ts +2 -2
  42. package/dist/index11.vue.d.cts +2 -2
  43. package/dist/index11.vue.d.ts +4 -4
  44. package/dist/index12.vue.d.cts +4 -4
  45. package/dist/index13.vue.d.ts +5 -5
  46. package/dist/index14.vue.d.cts +5 -5
  47. package/dist/index14.vue.d.ts +2 -2
  48. package/dist/index15.vue.d.cts +2 -2
  49. package/dist/index15.vue.d.ts +1 -1
  50. package/dist/index16.vue.d.cts +1 -1
  51. package/dist/index16.vue.d.ts +1 -1
  52. package/dist/index17.vue.d.cts +1 -1
  53. package/dist/index18.vue.d.ts +4 -4
  54. package/dist/index19.vue.d.cts +4 -4
  55. package/dist/index19.vue.d.ts +3 -3
  56. package/dist/index2.vue.d.cts +1 -1
  57. package/dist/index2.vue.d.ts +1 -1
  58. package/dist/index20.vue.d.cts +2 -2
  59. package/dist/index20.vue.d.ts +2 -2
  60. package/dist/index21.vue.d.cts +2 -2
  61. package/dist/index21.vue.d.ts +2 -2
  62. package/dist/index22.vue.d.cts +2 -2
  63. package/dist/index22.vue.d.ts +2 -2
  64. package/dist/index23.vue.d.cts +1 -1
  65. package/dist/index23.vue.d.ts +1 -1
  66. package/dist/index25.vue.d.cts +1 -1
  67. package/dist/index25.vue.d.ts +1 -1
  68. package/dist/index26.vue.d.cts +1 -1
  69. package/dist/index26.vue.d.ts +1 -1
  70. package/dist/index3.vue.d.cts +3 -3
  71. package/dist/index3.vue.d.ts +3 -3
  72. package/dist/index4.vue.d.cts +3 -3
  73. package/dist/index6.vue.d.ts +3 -3
  74. package/dist/index7.vue.d.cts +3 -3
  75. package/dist/index8.vue.d.ts +3 -3
  76. package/dist/index9.vue.d.cts +3 -3
  77. package/dist/index9.vue.d.ts +4 -4
  78. package/dist/mapUtils.d.cts +1 -1
  79. package/dist/mapUtils.d.ts +1 -1
  80. package/dist/presets.d.cts +1 -1
  81. package/dist/presets.d.ts +1 -1
  82. package/dist/style.css +6955 -6875
  83. package/dist/useCalendarEvents.d.cts +1 -1
  84. package/dist/useCalendarEvents.d.ts +1 -1
  85. package/dist/useCollapsePanel.d.cts +1 -1
  86. package/dist/useCollapsePanel.d.ts +1 -1
  87. package/dist/useCropperCore.d.cts +8 -8
  88. package/dist/useCropperCore.d.ts +8 -8
  89. package/dist/useDraggableLayout.d.cts +8 -8
  90. package/dist/useDraggableLayout.d.ts +8 -8
  91. package/dist/useEdgeInteraction.d.cts +1 -1
  92. package/dist/useEdgeInteraction.d.ts +1 -1
  93. package/dist/useFormulaEvaluator.cjs +1 -1
  94. package/dist/useFormulaEvaluator.js +1 -1
  95. package/dist/useFullscreen.d.cts +2 -2
  96. package/dist/useFullscreen.d.ts +2 -2
  97. package/dist/useGlobalSearch.d.cts +1 -1
  98. package/dist/useGlobalSearch.d.ts +1 -1
  99. package/dist/useInfiniteScroll.d.cts +1 -1
  100. package/dist/useInfiniteScroll.d.ts +1 -1
  101. package/dist/useQRCode.d.cts +3 -3
  102. package/dist/useQRCode.d.ts +3 -3
  103. package/dist/useSearchState.d.cts +15 -15
  104. package/dist/useSearchState.d.ts +15 -15
  105. package/dist/useSignatureHistory.d.cts +4 -4
  106. package/dist/useSignatureHistory.d.ts +4 -4
  107. package/dist/useSplitResize.d.cts +8 -8
  108. package/dist/useSplitResize.d.ts +8 -8
  109. package/dist/useTableQuery.d.cts +1 -1
  110. package/dist/useTableQuery.d.ts +1 -1
  111. package/dist/useTimeSelection.d.cts +1 -1
  112. package/dist/useTimeSelection.d.ts +1 -1
  113. package/dist/useTreeOperations.d.cts +6 -6
  114. package/dist/useTreeOperations.d.ts +6 -6
  115. package/dist/useWorkflowValidation.d.cts +2 -2
  116. package/dist/useWorkflowValidation.d.ts +2 -2
  117. package/dist/verification.d.cts +1 -1
  118. package/dist/verification.d.ts +1 -1
  119. 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,39 +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
  }
259
+ /* unplugin-vue-components disabled */
260
+ /* layer: default */
261
+ .px[data-v-b006a294]{padding-left:1rem;padding-right:1rem;}
262
+
240
263
  /* unplugin-vue-components disabled *//* 隔离试算值与明确结果,组件宽度变化时自然换行。 */
241
264
  .formula-preview[data-v-b2656900] {
242
265
  min-width: 0;
@@ -344,19 +367,19 @@
344
367
  border-top: 1px solid var(--c-border);
345
368
  }
346
369
  /* unplugin-vue-components disabled *//* 原生文本输入与转义后的结构预览,避免 contenteditable 光标和样式副作用。 */
347
- .formula-input__header[data-v-6bf933c2] {
370
+ .formula-input__header[data-v-5b2f30eb] {
348
371
  display: flex;
349
372
  justify-content: space-between;
350
373
  align-items: center;
351
374
  gap: 12px;
352
375
  margin-bottom: 16px;
353
376
  }
354
- .formula-input__label[data-v-6bf933c2] {
377
+ .formula-input__label[data-v-5b2f30eb] {
355
378
  color: var(--c-text-1);
356
379
  font-size: 13px;
357
380
  font-weight: 600;
358
381
  }
359
- .formula-input__clear[data-v-6bf933c2] {
382
+ .formula-input__clear[data-v-5b2f30eb] {
360
383
  appearance: none;
361
384
  border: 0;
362
385
  background: transparent;
@@ -365,7 +388,7 @@
365
388
  font-size: 12px;
366
389
  cursor: pointer;
367
390
  }
368
- .formula-input__editor[data-v-6bf933c2] {
391
+ .formula-input__editor[data-v-5b2f30eb] {
369
392
  display: block;
370
393
  width: 100%;
371
394
  box-sizing: border-box;
@@ -380,21 +403,21 @@
380
403
  outline: none;
381
404
  overflow-wrap: anywhere;
382
405
  }
383
- .formula-input__editor[data-v-6bf933c2]:focus {
406
+ .formula-input__editor[data-v-5b2f30eb]:focus {
384
407
  border-color: var(--c-primary);
385
408
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-primary) 12%, transparent);
386
409
  }
387
- .formula-input__editor[data-v-6bf933c2]::placeholder {
410
+ .formula-input__editor[data-v-5b2f30eb]::placeholder {
388
411
  font-size: 13px;
389
412
  color: var(--c-text-3);
390
413
  }
391
- .formula-input__editor[data-v-6bf933c2]:read-only {
414
+ .formula-input__editor[data-v-5b2f30eb]:read-only {
392
415
  background: color-mix(in srgb, var(--c-border) 25%, var(--c-bg-card));
393
416
  }
394
- .formula-input--error .formula-input__editor[data-v-6bf933c2] {
417
+ .formula-input--error .formula-input__editor[data-v-5b2f30eb] {
395
418
  border-color: var(--c-error);
396
419
  }
397
- .formula-input__tokens[data-v-6bf933c2] {
420
+ .formula-input__tokens[data-v-5b2f30eb] {
398
421
  margin-top: 16px;
399
422
  padding: 14px 16px;
400
423
  border: 1px dashed var(--c-border);
@@ -403,13 +426,13 @@
403
426
  white-space: pre-wrap;
404
427
  overflow-wrap: anywhere;
405
428
  }
406
- .formula-input__tokens > span[data-v-6bf933c2]:first-child {
429
+ .formula-input__tokens > span[data-v-5b2f30eb]:first-child {
407
430
  display: block;
408
431
  font: 11px/1.5 sans-serif;
409
432
  margin-bottom: 8px;
410
433
  color: var(--c-text-3);
411
434
  }
412
- .formula-input__validation[data-v-6bf933c2] {
435
+ .formula-input__validation[data-v-5b2f30eb] {
413
436
  display: flex;
414
437
  align-items: center;
415
438
  justify-content: space-between;
@@ -419,7 +442,7 @@
419
442
  color: var(--c-text-3);
420
443
  line-height: 1.7;
421
444
  }
422
- .formula-input__validation button[data-v-6bf933c2] {
445
+ .formula-input__validation button[data-v-5b2f30eb] {
423
446
  appearance: none;
424
447
  flex-shrink: 0;
425
448
  border: 0;
@@ -429,27 +452,27 @@
429
452
  cursor: pointer;
430
453
  font: inherit;
431
454
  }
432
- .formula-input--error .formula-input__validation[data-v-6bf933c2] {
455
+ .formula-input--error .formula-input__validation[data-v-5b2f30eb] {
433
456
  color: var(--c-error);
434
457
  }
435
- .formula-input button[data-v-6bf933c2]:focus-visible {
458
+ .formula-input button[data-v-5b2f30eb]:focus-visible {
436
459
  outline: 2px solid var(--c-primary);
437
460
  outline-offset: 3px;
438
461
  }
439
- .formula-input .formula-token--variable[data-v-6bf933c2] {
462
+ .formula-input .formula-token--variable[data-v-5b2f30eb] {
440
463
  color: var(--c-primary);
441
464
  padding: 2px 5px;
442
465
  border-radius: 4px;
443
466
  background: color-mix(in srgb, var(--c-primary) 9%, transparent);
444
467
  }
445
- .formula-input .formula-token--function[data-v-6bf933c2] {
468
+ .formula-input .formula-token--function[data-v-5b2f30eb] {
446
469
  color: var(--c-success);
447
470
  font-weight: 600;
448
471
  }
449
- .formula-input .formula-token--operator[data-v-6bf933c2] {
472
+ .formula-input .formula-token--operator[data-v-5b2f30eb] {
450
473
  color: var(--c-primary);
451
474
  }
452
- .formula-input .formula-token--number[data-v-6bf933c2] {
475
+ .formula-input .formula-token--number[data-v-5b2f30eb] {
453
476
  color: var(--c-warning);
454
477
  }
455
478
  /* unplugin-vue-components disabled *//* VariablePanel 组件样式 */
@@ -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);
762
+ }
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;
695
773
  }
696
- .vk__key[data-v-8c874c05]:disabled {
697
- opacity: 0.4;
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
  }