@robot-admin/naive-ui-components 0.13.9 → 0.14.1

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 (160) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +42 -1
  3. package/README_EN.md +42 -1
  4. package/dist/C_ActionBar.css +11 -10
  5. package/dist/C_AntV.css +247 -246
  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 +2 -1
  14. package/dist/C_Code.css +15 -14
  15. package/dist/C_CollapsePanel.css +12 -11
  16. package/dist/C_ContextMenu.css +29 -29
  17. package/dist/C_Cron.cjs +1 -1
  18. package/dist/C_Cron.css +475 -253
  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 +12 -10
  26. package/dist/C_Editor.css +2 -1
  27. package/dist/C_FilePreview.css +216 -214
  28. package/dist/C_Form.base.css +207 -205
  29. package/dist/C_Form.css +206 -205
  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 +428 -271
  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 +69 -67
  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 +272 -270
  49. package/dist/C_OrgChart.css +6 -5
  50. package/dist/C_PageLoading.css +8 -6
  51. package/dist/C_Progress.css +1 -1
  52. package/dist/C_QRCode.css +7 -5
  53. package/dist/C_Signature.css +7 -5
  54. package/dist/C_Skeleton.css +8 -6
  55. package/dist/C_SplitPane.css +2 -1
  56. package/dist/C_Steps.css +7 -5
  57. package/dist/C_Table.base.css +409 -410
  58. package/dist/C_Table.css +367 -369
  59. package/dist/C_Tabs.css +78 -1
  60. package/dist/C_TagsView.css +8 -8
  61. package/dist/C_Theme.css +9 -7
  62. package/dist/C_Time.css +3 -1
  63. package/dist/C_Timeline.css +9 -8
  64. package/dist/C_Transfer.css +10 -9
  65. package/dist/C_Tree.css +18 -16
  66. package/dist/C_Upload.css +152 -150
  67. package/dist/C_VideoPlayer.css +223 -221
  68. package/dist/C_VtableGantt.css +2 -1
  69. package/dist/C_WaterFall.css +19 -17
  70. package/dist/C_WorkFlow.css +1047 -1047
  71. package/dist/constants.d.cts +15 -20
  72. package/dist/constants.d.ts +15 -20
  73. package/dist/constants2.d.cts +44 -19
  74. package/dist/constants2.d.ts +44 -19
  75. package/dist/constants4.d.cts +5 -5
  76. package/dist/constants4.d.ts +5 -5
  77. package/dist/constants5.d.cts +2 -2
  78. package/dist/constants5.d.ts +2 -2
  79. package/dist/data.d.cts +6 -6
  80. package/dist/data.d.ts +6 -6
  81. package/dist/index.cjs +1 -1
  82. package/dist/index.d.cts +3 -3
  83. package/dist/index.d.ts +3 -3
  84. package/dist/index.js +1 -1
  85. package/dist/index.vue.d.cts +1 -1
  86. package/dist/index.vue.d.ts +1 -1
  87. package/dist/index10.vue.d.cts +6 -6
  88. package/dist/index10.vue.d.ts +3 -3
  89. package/dist/index11.vue.d.cts +3 -3
  90. package/dist/index11.vue.d.ts +5 -5
  91. package/dist/index12.vue.d.cts +5 -5
  92. package/dist/index12.vue.d.ts +2 -2
  93. package/dist/index13.vue.d.cts +2 -2
  94. package/dist/index13.vue.d.ts +5 -5
  95. package/dist/index14.vue.d.cts +5 -5
  96. package/dist/index14.vue.d.ts +5 -5
  97. package/dist/index15.vue.d.cts +5 -5
  98. package/dist/index15.vue.d.ts +1 -1
  99. package/dist/index16.vue.d.cts +1 -1
  100. package/dist/index17.vue.d.ts +1 -1
  101. package/dist/index18.vue.d.cts +1 -1
  102. package/dist/index18.vue.d.ts +4 -4
  103. package/dist/index19.vue.d.cts +4 -4
  104. package/dist/index19.vue.d.ts +3 -3
  105. package/dist/index2.vue.d.cts +2 -2
  106. package/dist/index2.vue.d.ts +2 -2
  107. package/dist/index21.vue.d.cts +2 -2
  108. package/dist/index21.vue.d.ts +2 -2
  109. package/dist/index22.vue.d.cts +2 -2
  110. package/dist/index22.vue.d.ts +2 -2
  111. package/dist/index23.vue.d.cts +2 -2
  112. package/dist/index23.vue.d.ts +2 -2
  113. package/dist/index25.vue.d.cts +4 -4
  114. package/dist/index25.vue.d.ts +4 -4
  115. package/dist/index27.vue.d.cts +3 -3
  116. package/dist/index27.vue.d.ts +3 -3
  117. package/dist/index28.vue.d.cts +3 -3
  118. package/dist/index28.vue.d.ts +3 -3
  119. package/dist/index3.vue.d.cts +3 -3
  120. package/dist/index3.vue.d.ts +3 -3
  121. package/dist/index4.vue.d.cts +3 -3
  122. package/dist/index6.vue.d.ts +2 -2
  123. package/dist/index7.vue.d.cts +2 -2
  124. package/dist/index8.vue.d.ts +3 -3
  125. package/dist/index9.vue.d.cts +3 -3
  126. package/dist/index9.vue.d.ts +6 -6
  127. package/dist/mapUtils.d.cts +4 -4
  128. package/dist/mapUtils.d.ts +4 -4
  129. package/dist/presets.d.cts +1 -1
  130. package/dist/presets.d.ts +1 -1
  131. package/dist/style.css +9875 -9705
  132. package/dist/useCalendarEvents.d.cts +1 -1
  133. package/dist/useCalendarEvents.d.ts +1 -1
  134. package/dist/useCollapsePanel.d.cts +2 -2
  135. package/dist/useCollapsePanel.d.ts +2 -2
  136. package/dist/useCropperCore.d.cts +10 -10
  137. package/dist/useCropperCore.d.ts +10 -10
  138. package/dist/useDraggableLayout.d.cts +6 -6
  139. package/dist/useDraggableLayout.d.ts +6 -6
  140. package/dist/useEdgeInteraction.d.cts +3 -3
  141. package/dist/useEdgeInteraction.d.ts +3 -3
  142. package/dist/useFormulaEvaluator.cjs +2 -0
  143. package/dist/useFormulaEvaluator.js +2 -0
  144. package/dist/useSearchState.d.cts +13 -13
  145. package/dist/useSearchState.d.ts +13 -13
  146. package/dist/useSignatureHistory.d.cts +5 -5
  147. package/dist/useSignatureHistory.d.ts +5 -5
  148. package/dist/useSplitResize.d.cts +3 -3
  149. package/dist/useSplitResize.d.ts +3 -3
  150. package/dist/useTableQuery.d.cts +1 -1
  151. package/dist/useTableQuery.d.ts +1 -1
  152. package/dist/useTimeSelection.d.cts +2 -2
  153. package/dist/useTimeSelection.d.ts +2 -2
  154. package/dist/useTreeOperations.d.cts +6 -6
  155. package/dist/useTreeOperations.d.ts +6 -6
  156. package/dist/useWorkflowValidation.d.cts +3 -3
  157. package/dist/useWorkflowValidation.d.ts +3 -3
  158. package/package.json +1 -1
  159. package/dist/C_FormulaEditor2.cjs +0 -2
  160. package/dist/C_FormulaEditor2.js +0 -2
package/dist/C_Cron.css CHANGED
@@ -1,108 +1,337 @@
1
- /* unplugin-vue-components disabled */.cron-field-editor__grid[data-v-153f242b] {
2
- display: grid;
3
- grid-template-columns: repeat(var(--cols, 10), 1fr);
4
- gap: 4px;
5
- }
6
- .cron-field-editor__cell[data-v-153f242b] {
7
- appearance: none;
8
- border: 0;
9
- background: transparent;
10
- font: inherit;
11
- display: flex;
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;
12
11
  align-items: center;
13
12
  justify-content: center;
14
- height: 34px;
15
- border-radius: 6px;
16
- font-size: 13px;
17
- font-variant-numeric: tabular-nums;
18
- transition: all var(--c-transition, 0.2s ease);
13
+ position: relative;
14
+ flex-shrink: 0;
15
+ vertical-align: middle;
19
16
  user-select: none;
20
- color: var(--c-text-2);
17
+ transition: all 0.2s ease-in-out;
21
18
  }
22
- .cron-field-editor__cell[data-v-153f242b]:focus-visible {
23
- outline: 2px solid var(--c-primary);
24
- outline-offset: 1px;
19
+ .c-icon--clickable[data-v-075758a0] {
20
+ cursor: pointer;
25
21
  }
26
- .cron-field-editor__cell[data-v-153f242b] {
27
- /* 非交互高亮(every / range / step 的视觉反馈) */
22
+ .c-icon--clickable[data-v-075758a0]:hover {
23
+ opacity: 0.8;
24
+ transform: scale(1.05);
28
25
  }
29
- .cron-field-editor__cell--on[data-v-153f242b]:not(.cron-field-editor__cell--pick) {
30
- background: color-mix(in srgb, var(--c-primary) 12%, transparent);
31
- color: var(--c-primary);
26
+ .c-icon--clickable[data-v-075758a0]:active {
27
+ transform: scale(0.95);
32
28
  }
33
- .cron-field-editor__cell[data-v-153f242b] {
34
- /* 可交互模式(specific) */
29
+ .c-icon--clickable[data-v-075758a0]:focus-visible {
30
+ outline: 2px solid currentColor;
31
+ outline-offset: 2px;
32
+ border-radius: 4px;
35
33
  }
36
- .cron-field-editor__cell--pick[data-v-153f242b] {
37
- cursor: pointer;
34
+ .c-icon--loading[data-v-075758a0] {
35
+ opacity: 0.6;
36
+ cursor: wait;
38
37
  }
39
- .cron-field-editor__cell--pick[data-v-153f242b]:hover:not(.cron-field-editor__cell--on) {
40
- background: var(--c-bg-card);
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);
41
66
  }
42
- .cron-field-editor__cell--pick.cron-field-editor__cell--on[data-v-153f242b] {
43
- background: var(--c-primary);
44
- color: #fff;
45
- font-weight: 600;
46
67
  }
47
68
  /* unplugin-vue-components disabled */
48
69
  /* layer: default */
49
- .grid[data-v-153f242b]{display:grid;}
50
- .flex[data-v-153f242b]{display:flex;}
51
- .border[data-v-153f242b]{border-width:1px;}
52
- .tabular-nums[data-v-153f242b]{--un-numeric-spacing:tabular-nums;font-variant-numeric:var(--un-ordinal) var(--un-slashed-zero) var(--un-numeric-figure) var(--un-numeric-spacing) var(--un-numeric-fraction);}
53
- .outline[data-v-153f242b]{outline-style:solid;}
54
- .transition[data-v-153f242b]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}
70
+ .ms[data-v-c6727905]{margin-inline-start:1rem;}
71
+ .table[data-v-c6727905]{display:table;}
72
+ .px[data-v-c6727905]{padding-left:1rem;padding-right:1rem;}
73
+ .filter[data-v-c6727905]{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);}
55
74
 
56
- /* unplugin-vue-components disabled */.cron-preview__header[data-v-15b88794] {
75
+ /* unplugin-vue-components disabled *//*
76
+ * @Author: ChenYu ycyplus@gmail.com
77
+ * @Date: 2026-10-07
78
+ * @FilePath: \naive-ui-components\src\components\C_Loading\index.scss
79
+ * @Description: 数据光环与细光束动画,作用域隔离并支持减少动态效果
80
+ * Copyright (c) 2026 by CHENY, All Rights Reserved 😎.
81
+ */
82
+ .c-loading[data-v-c6727905] {
83
+ display: inline-flex;
84
+ align-items: center;
85
+ justify-content: center;
86
+ vertical-align: middle;
87
+ line-height: 1;
88
+ pointer-events: none;
89
+ }
90
+ .c-loading--labeled[data-v-c6727905] {
91
+ position: relative;
92
+ gap: 10px;
93
+ max-width: 100%;
94
+ padding: 8px 16px 9px 10px;
95
+ box-sizing: border-box;
96
+ border: 1px solid var(--c-loading-border);
97
+ border-radius: 16px;
98
+ background: var(--c-loading-surface);
99
+ background-image: linear-gradient(135deg, color-mix(in srgb, currentColor 4%, var(--c-loading-surface)), var(--c-loading-surface));
100
+ box-shadow: inset 0 1px 0 color-mix(in srgb, currentColor 4%, transparent), 0 8px 28px rgba(0, 0, 0, 0.06);
101
+ overflow: hidden;
102
+ }
103
+ .c-loading--labeled[data-v-c6727905]::after {
104
+ content: "";
105
+ position: absolute;
106
+ bottom: 0;
107
+ left: 0;
108
+ width: 50%;
109
+ height: 2px;
110
+ background: linear-gradient(90deg, transparent, currentColor, transparent);
111
+ opacity: 0.5;
112
+ animation: c-loading-beam-c6727905 1.8s ease-in-out infinite;
113
+ }
114
+ .c-loading__glyph[data-v-c6727905] {
115
+ width: var(--c-loading-size, 48px);
116
+ height: var(--c-loading-size, 48px);
117
+ flex-shrink: 0;
118
+ }
119
+ .c-loading__orbit[data-v-c6727905] {
120
+ transform-box: view-box;
121
+ transform-origin: center;
122
+ animation: c-loading-orbit-c6727905 1.6s linear infinite;
123
+ }
124
+ .c-loading__orbit--inner[data-v-c6727905] {
125
+ animation-duration: 3.2s;
126
+ animation-direction: reverse;
127
+ }
128
+ .c-loading__row[data-v-c6727905] {
129
+ opacity: 0.75;
130
+ animation: c-loading-row-c6727905 1.6s ease-in-out infinite;
131
+ }
132
+ .c-loading__label[data-v-c6727905] {
133
+ min-width: 0;
134
+ color: var(--c-loading-text, currentColor);
135
+ font-size: 12px;
136
+ font-weight: 500;
137
+ letter-spacing: 0.03em;
138
+ line-height: 1.6;
139
+ overflow-wrap: anywhere;
140
+ }
141
+ @media (prefers-reduced-motion: reduce) {
142
+ .c-loading__orbit[data-v-c6727905], .c-loading__row[data-v-c6727905], .c-loading--labeled[data-v-c6727905]::after {
143
+ animation: none;
144
+ }
145
+ .c-loading--labeled[data-v-c6727905]::after {
146
+ display: none;
147
+ }
148
+ }
149
+ @keyframes c-loading-orbit-c6727905 {
150
+ to {
151
+ transform: rotate(360deg);
152
+ }
153
+ }
154
+ @keyframes c-loading-row-c6727905 {
155
+ 0%, 100% {
156
+ opacity: 0.4;
157
+ }
158
+ 40%, 60% {
159
+ opacity: 1;
160
+ }
161
+ }
162
+ @keyframes c-loading-beam-c6727905 {
163
+ from {
164
+ transform: translateX(-100%);
165
+ }
166
+ to {
167
+ transform: translateX(200%);
168
+ }
169
+ }
170
+ /* unplugin-vue-components disabled */
171
+ /* layer: default */
172
+ .px[data-v-d5df827f]{padding-left:1rem;padding-right:1rem;}
173
+
174
+ /* unplugin-vue-components disabled *//* Cron 工作区:组件容器宽度决定布局,兼容页面、抽屉与表单。 */
175
+ .c-cron[data-v-d5df827f] {
176
+ container: cron-editor/inline-size;
177
+ overflow: auto;
178
+ border: 1px solid var(--c-border);
179
+ border-radius: 16px;
180
+ background: var(--c-bg-card);
181
+ color: var(--c-text-2);
182
+ }
183
+ .c-cron h2[data-v-d5df827f],
184
+ .c-cron h3[data-v-d5df827f],
185
+ .c-cron p[data-v-d5df827f] {
186
+ margin: 0;
187
+ }
188
+ .c-cron__header[data-v-d5df827f] {
189
+ padding: 24px;
190
+ border-bottom: 1px solid var(--c-border);
191
+ }
192
+ .c-cron__title-row[data-v-d5df827f] {
57
193
  display: flex;
194
+ flex-wrap: wrap;
58
195
  align-items: center;
59
- gap: 6px;
60
- font-weight: 600;
61
- font-size: 13px;
62
- margin-bottom: 6px;
196
+ justify-content: space-between;
197
+ gap: 16px;
198
+ margin-bottom: 20px;
199
+ }
200
+ .c-cron__title-row h2[data-v-d5df827f] {
201
+ margin-top: 8px;
202
+ font-size: 22px;
203
+ letter-spacing: -0.4px;
63
204
  color: var(--c-text-1);
64
205
  }
65
- .cron-preview__list[data-v-15b88794] {
66
- display: flex;
67
- flex-direction: column;
68
- gap: 2px;
206
+ .c-cron__title-row p[data-v-d5df827f] {
207
+ margin-top: 6px;
208
+ font-size: 13px;
209
+ }
210
+ .c-cron__eyebrow[data-v-d5df827f] {
211
+ color: var(--c-primary);
212
+ font: 600 10px ui-monospace, monospace;
213
+ letter-spacing: 2px;
214
+ }
215
+ .c-cron__workspace[data-v-d5df827f] {
216
+ display: grid;
217
+ grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
69
218
  }
70
- .cron-preview__item[data-v-15b88794] {
219
+ .c-cron__workspace--compact[data-v-d5df827f] {
220
+ grid-template-columns: minmax(0, 1fr);
221
+ }
222
+ .c-cron__editor[data-v-d5df827f] {
223
+ min-width: 0;
224
+ padding: 24px;
225
+ }
226
+ .c-cron__section-heading[data-v-d5df827f] {
71
227
  display: flex;
72
228
  align-items: center;
73
- gap: 6px;
74
- padding: 3px 4px;
75
- border-radius: 4px;
229
+ gap: 12px;
230
+ }
231
+ .c-cron__section-heading h3[data-v-d5df827f] {
232
+ font-size: 15px;
233
+ color: var(--c-text-1);
234
+ }
235
+ .c-cron__section-heading p[data-v-d5df827f] {
236
+ margin-top: 4px;
76
237
  font-size: 12px;
77
- transition: background var(--c-transition, 0.2s ease);
78
238
  }
79
- .cron-preview__item[data-v-15b88794]:hover {
80
- background: var(--c-bg-card);
239
+ .c-cron__step[data-v-d5df827f] {
240
+ color: var(--c-primary);
241
+ font: 600 12px ui-monospace, monospace;
81
242
  }
82
- .cron-preview__idx[data-v-15b88794] {
83
- width: 16px;
243
+ .c-cron__segments[data-v-d5df827f] {
244
+ display: grid;
245
+ grid-template-columns: repeat(auto-fit, minmax(68px, 1fr));
246
+ gap: 8px;
247
+ margin: 24px 0 20px;
248
+ }
249
+ .c-cron__segment[data-v-d5df827f] {
250
+ appearance: none;
251
+ min-width: 0;
252
+ padding: 12px 8px;
84
253
  text-align: center;
85
- color: var(--c-text-4);
86
- flex-shrink: 0;
87
- font-size: 11px;
254
+ background: transparent;
255
+ border: 1px solid var(--c-border);
256
+ border-radius: 10px;
257
+ cursor: pointer;
258
+ color: var(--c-text-2);
88
259
  }
89
- .cron-preview__date[data-v-15b88794] {
90
- font-family: "Courier New", Courier, monospace;
91
- flex: 1;
260
+ .c-cron__segment code[data-v-d5df827f] {
261
+ display: block;
262
+ margin-top: 6px;
263
+ font: 600 17px ui-monospace, monospace;
264
+ overflow-wrap: anywhere;
265
+ }
266
+ .c-cron__segment[data-v-d5df827f]:hover {
267
+ border-color: var(--c-primary);
268
+ }
269
+ .c-cron__segment[data-v-d5df827f]:focus-visible {
270
+ outline: 2px solid var(--c-primary);
271
+ outline-offset: 2px;
272
+ }
273
+ .c-cron__segment--active[data-v-d5df827f] {
274
+ background: color-mix(in srgb, var(--c-primary) 8%, transparent);
275
+ border-color: var(--c-primary);
276
+ color: var(--c-primary);
277
+ }
278
+ .c-cron__segment-label[data-v-d5df827f] {
92
279
  font-size: 12px;
93
280
  }
94
- .cron-preview__week[data-v-15b88794] {
95
- color: var(--c-text-4);
281
+ .c-cron__expression[data-v-d5df827f] {
282
+ margin-top: 24px;
283
+ padding-top: 20px;
284
+ border-top: 1px solid var(--c-border);
285
+ }
286
+ .c-cron__expression label[data-v-d5df827f] {
96
287
  font-size: 12px;
97
- flex-shrink: 0;
288
+ font-weight: 600;
289
+ color: var(--c-text-1);
290
+ }
291
+ .c-cron__expr-row[data-v-d5df827f] {
292
+ display: flex;
293
+ gap: 8px;
294
+ margin-top: 10px;
295
+ }
296
+ .c-cron__expr-row[data-v-d5df827f] input {
297
+ font-family: ui-monospace, monospace;
298
+ }
299
+ .c-cron__feedback[data-v-d5df827f] {
300
+ margin-top: 10px !important;
301
+ min-height: 22px;
302
+ font-size: 12px;
303
+ line-height: 1.7;
304
+ color: var(--c-text-2);
305
+ }
306
+ .c-cron__feedback--error[data-v-d5df827f] {
307
+ color: var(--c-error);
308
+ }
309
+ @container cron-editor (max-width: 820px) {
310
+ .c-cron__workspace[data-v-d5df827f] {
311
+ grid-template-columns: minmax(0, 1fr);
312
+ }
313
+ }
314
+ @container cron-editor (max-width: 480px) {
315
+ .c-cron__header[data-v-d5df827f],
316
+ .c-cron__editor[data-v-d5df827f] {
317
+ padding: 18px;
318
+ }
319
+ .c-cron__expr-row[data-v-d5df827f] {
320
+ flex-wrap: wrap;
321
+ }
322
+ .c-cron__expr-row[data-v-d5df827f] > :first-child {
323
+ flex-basis: 100%;
324
+ }
98
325
  }
99
326
  /* unplugin-vue-components disabled */
100
327
  /* layer: default */
101
- .flex[data-v-15b88794]{display:flex;}
102
- .flex-shrink[data-v-15b88794]{flex-shrink:1;}
103
- .transition[data-v-15b88794]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}
328
+ .grid[data-v-d6c7e1be]{display:grid;}
329
+ .flex[data-v-d6c7e1be]{display:flex;}
330
+ .border[data-v-d6c7e1be]{border-width:1px;}
331
+ .outline[data-v-d6c7e1be]{outline-style:solid;}
332
+ .transition[data-v-d6c7e1be]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}
104
333
 
105
- /* unplugin-vue-components disabled */.cron-templates__header[data-v-1b50e9c2] {
334
+ /* unplugin-vue-components disabled */.cron-templates__header[data-v-d6c7e1be] {
106
335
  display: flex;
107
336
  align-items: center;
108
337
  gap: 6px;
@@ -111,14 +340,16 @@
111
340
  margin-bottom: 10px;
112
341
  color: var(--c-text-1);
113
342
  }
114
- .cron-templates__cards[data-v-1b50e9c2] {
343
+ .cron-templates__cards[data-v-d6c7e1be] {
115
344
  display: grid;
116
- grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
345
+ grid-template-columns: repeat(auto-fill, minmax(min(100%, 180px), 1fr));
117
346
  gap: 8px;
118
347
  }
119
- .cron-templates__card[data-v-1b50e9c2] {
348
+ .cron-templates__card[data-v-d6c7e1be] {
120
349
  appearance: none;
121
350
  font: inherit;
351
+ color: var(--c-text-1);
352
+ background: transparent;
122
353
  text-align: left;
123
354
  padding: 10px 12px;
124
355
  border-radius: 8px;
@@ -126,258 +357,249 @@
126
357
  cursor: pointer;
127
358
  transition: all var(--c-transition, 0.2s ease);
128
359
  }
129
- .cron-templates__card[data-v-1b50e9c2]:focus-visible {
360
+ .cron-templates__card[data-v-d6c7e1be]:focus-visible {
130
361
  outline: 2px solid var(--c-primary);
131
362
  outline-offset: 2px;
132
363
  }
133
- .cron-templates__card[data-v-1b50e9c2]:disabled {
364
+ .cron-templates__card[data-v-d6c7e1be]:disabled {
134
365
  cursor: not-allowed;
135
366
  opacity: 0.6;
136
367
  }
137
- .cron-templates__card[data-v-1b50e9c2]:hover {
368
+ .cron-templates__card[data-v-d6c7e1be]:hover {
138
369
  border-color: var(--c-primary);
139
370
  background: color-mix(in srgb, var(--c-primary) 4%, transparent);
140
371
  }
141
- .cron-templates__card--active[data-v-1b50e9c2] {
372
+ .cron-templates__card--active[data-v-d6c7e1be] {
142
373
  border-color: var(--c-primary);
143
374
  background: color-mix(in srgb, var(--c-primary) 8%, transparent);
144
375
  }
145
- .cron-templates__card-name[data-v-1b50e9c2] {
376
+ .cron-templates__card-name[data-v-d6c7e1be] {
146
377
  font-size: 13px;
147
378
  font-weight: 500;
148
379
  line-height: 1.4;
149
380
  }
150
- .cron-templates__card-expr[data-v-1b50e9c2] {
381
+ .cron-templates__card-description[data-v-d6c7e1be] {
382
+ margin-top: 4px;
383
+ font-size: 11px;
384
+ color: var(--c-text-2);
385
+ }
386
+ .cron-templates__card-expr[data-v-d6c7e1be] {
151
387
  font-family: "Courier New", Courier, monospace;
152
388
  font-size: 11px;
153
389
  color: var(--c-text-4);
154
390
  margin-top: 2px;
155
391
  }
156
- /* unplugin-vue-components disabled */
157
- /* layer: default */
158
- .grid[data-v-1b50e9c2]{display:grid;}
159
- .flex[data-v-1b50e9c2]{display:flex;}
160
- .border[data-v-1b50e9c2]{border-width:1px;}
161
- .outline[data-v-1b50e9c2]{outline-style:solid;}
162
- .transition[data-v-1b50e9c2]{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}
163
-
164
- /* unplugin-vue-components disabled *//* Cron 表达式编辑器 - 组件级全局样式 */
165
- .c-cron[data-v-f4b0a99d] {
166
- padding: 20px;
167
- border-radius: 10px;
168
- border: 1px solid var(--c-border);
169
- background: var(--c-bg-card);
170
- /* ═══════ 顶部 ═══════ */
392
+ /* unplugin-vue-components disabled *//* 执行时间预览:只在组件作用域内使用主题变量。 */
393
+ .cron-preview[data-v-023ff119] {
394
+ min-width: 0;
395
+ padding: 24px;
396
+ background: color-mix(in srgb, var(--c-primary) 3%, var(--c-bg-card));
397
+ border-left: 1px solid var(--c-border);
171
398
  }
172
- .c-cron__header[data-v-f4b0a99d] {
399
+ .cron-preview header[data-v-023ff119] {
173
400
  display: flex;
174
- flex-direction: column;
401
+ align-items: center;
175
402
  gap: 12px;
176
- padding-bottom: 16px;
177
- border-bottom: 1px solid var(--c-border);
178
- margin-bottom: 16px;
179
403
  }
180
- .c-cron__title-row[data-v-f4b0a99d] {
181
- display: flex;
182
- align-items: center;
183
- justify-content: space-between;
404
+ .cron-preview h3[data-v-023ff119],
405
+ .cron-preview p[data-v-023ff119] {
406
+ margin: 0;
184
407
  }
185
- .c-cron__title[data-v-f4b0a99d] {
186
- display: flex;
187
- align-items: center;
188
- gap: 6px;
189
- font-weight: 600;
408
+ .cron-preview h3[data-v-023ff119] {
190
409
  font-size: 15px;
410
+ color: var(--c-text-1);
191
411
  }
192
- .c-cron[data-v-f4b0a99d] {
193
- /* ─── 分段式字段选择器 ──────────────────── */
412
+ .cron-preview header p[data-v-023ff119] {
413
+ margin-top: 4px;
414
+ font-size: 12px;
415
+ color: var(--c-text-2);
194
416
  }
195
- .c-cron__segments[data-v-f4b0a99d] {
196
- display: flex;
197
- gap: 2px;
198
- padding: 3px;
199
- border-radius: 10px;
200
- background: var(--c-bg);
417
+ .cron-preview__step[data-v-023ff119] {
418
+ font: 600 12px ui-monospace, monospace;
419
+ color: var(--c-primary);
201
420
  }
202
- .c-cron__segment[data-v-f4b0a99d] {
203
- appearance: none;
204
- border: 0;
205
- background: transparent;
206
- color: inherit;
207
- font: inherit;
208
- flex: 1;
421
+ .cron-preview__next[data-v-023ff119] {
209
422
  display: flex;
210
423
  flex-direction: column;
211
- align-items: center;
212
- padding: 8px 6px 5px;
213
- border-radius: 8px;
214
- cursor: pointer;
215
- transition: all var(--c-transition, 0.2s ease);
216
- user-select: none;
217
- min-width: 0;
218
- }
219
- .c-cron__segment[data-v-f4b0a99d]:focus-visible {
220
- outline: 2px solid var(--c-primary);
221
- outline-offset: 1px;
424
+ gap: 12px;
425
+ min-height: 128px;
426
+ margin: 24px 0;
427
+ padding: 20px;
428
+ border: 1px solid color-mix(in srgb, var(--c-primary) 20%, var(--c-border));
429
+ border-radius: 12px;
430
+ background: color-mix(in srgb, var(--c-primary) 7%, var(--c-bg-card));
222
431
  }
223
- .c-cron__segment[data-v-f4b0a99d]:not(.c-cron__segment--active):hover {
224
- background: color-mix(in srgb, var(--c-bg-card) 60%, transparent);
432
+ .cron-preview__next strong[data-v-023ff119] {
433
+ font: 600 20px/1.5 ui-monospace, monospace;
434
+ overflow-wrap: anywhere;
435
+ color: var(--c-text-1);
225
436
  }
226
- .c-cron__segment--active[data-v-f4b0a99d] {
227
- background: var(--c-bg-card);
228
- box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
437
+ .cron-preview__next p[data-v-023ff119] {
438
+ font-size: 13px;
439
+ color: var(--c-text-2);
229
440
  }
230
- .c-cron__segment--active .c-cron__segment-value[data-v-f4b0a99d] {
441
+ .cron-preview__label[data-v-023ff119] {
442
+ font-size: 12px;
231
443
  color: var(--c-primary);
232
444
  }
233
- .c-cron__segment--wildcard:not(.c-cron__segment--active) .c-cron__segment-value[data-v-f4b0a99d] {
234
- opacity: 0.35;
445
+ .cron-preview__waiting[data-v-023ff119] {
446
+ display: flex;
447
+ align-items: center;
448
+ gap: 12px;
449
+ font-size: 12px;
235
450
  }
236
- .c-cron__segment-value[data-v-f4b0a99d] {
237
- font-family: "Courier New", Courier, monospace;
238
- font-size: 15px;
239
- font-weight: 700;
240
- line-height: 1.3;
241
- max-width: 100%;
242
- overflow: hidden;
243
- text-overflow: ellipsis;
244
- white-space: nowrap;
245
- text-align: center;
451
+ .cron-preview__list-heading[data-v-023ff119] {
452
+ display: flex;
453
+ justify-content: space-between;
454
+ gap: 8px;
455
+ font-size: 12px;
456
+ font-weight: 600;
246
457
  }
247
- .c-cron__segment-label[data-v-f4b0a99d] {
248
- font-size: 11px;
249
- color: var(--c-text-4);
250
- margin-top: 2px;
458
+ .cron-preview__list-heading span[data-v-023ff119] {
459
+ font-weight: 400;
460
+ color: var(--c-text-3);
251
461
  }
252
- .c-cron[data-v-f4b0a99d] {
253
- /* ─── 表达式行 ─────────────────────────── */
462
+ .cron-preview ol[data-v-023ff119] {
463
+ list-style: none;
464
+ margin: 12px 0 20px;
465
+ padding: 0;
466
+ max-height: 300px;
467
+ overflow: auto;
254
468
  }
255
- .c-cron__expr-row[data-v-f4b0a99d] {
256
- display: flex;
257
- align-items: center;
469
+ .cron-preview li[data-v-023ff119] {
470
+ display: grid;
471
+ grid-template-columns: 24px 1fr auto;
258
472
  gap: 8px;
473
+ align-items: center;
474
+ padding: 12px 0;
475
+ border-bottom: 1px solid var(--c-border);
476
+ font-size: 11px;
259
477
  }
260
- .c-cron__expr-input[data-v-f4b0a99d] {
261
- width: 240px;
262
- flex-shrink: 0;
478
+ .cron-preview li time[data-v-023ff119] {
479
+ font-family: ui-monospace, monospace;
480
+ color: var(--c-text-1);
263
481
  }
264
- .c-cron__expr-desc[data-v-f4b0a99d] {
265
- flex: 1;
266
- font-size: 13px;
267
- min-width: 0;
268
- overflow: hidden;
269
- text-overflow: ellipsis;
270
- white-space: nowrap;
482
+ .cron-preview li > span[data-v-023ff119]:last-child {
483
+ color: var(--c-text-3);
271
484
  }
272
- .c-cron__description[data-v-f4b0a99d] {
273
- color: var(--c-text-2);
485
+ .cron-preview__idx[data-v-023ff119] {
486
+ color: var(--c-primary);
487
+ font: 500 11px ui-monospace, monospace;
274
488
  }
275
- .c-cron__error[data-v-f4b0a99d] {
276
- color: var(--error-color);
489
+ .cron-preview footer[data-v-023ff119] {
490
+ display: flex;
491
+ flex-wrap: wrap;
492
+ gap: 8px;
493
+ font-size: 11px;
494
+ color: var(--c-text-3);
277
495
  }
278
- .c-cron[data-v-f4b0a99d] {
279
- /* ═══════ 主内容 ═══════ */
496
+ .cron-preview footer code[data-v-023ff119] {
497
+ overflow-wrap: anywhere;
280
498
  }
281
- .c-cron__body[data-v-f4b0a99d] {
282
- display: flex;
283
- gap: 24px;
499
+ .cron-preview footer p[data-v-023ff119] {
500
+ width: 100%;
501
+ line-height: 1.6;
284
502
  }
285
- .c-cron__main[data-v-f4b0a99d] {
286
- flex: 1;
287
- min-width: 0;
503
+ @container cron-editor (max-width: 820px) {
504
+ .cron-preview[data-v-023ff119] {
505
+ border-left: 0;
506
+ border-top: 1px solid var(--c-border);
288
507
  }
289
- .c-cron[data-v-f4b0a99d] {
290
- /* ─── 右侧控制面板 ────────────────────── */
291
508
  }
292
- .c-cron__panel[data-v-f4b0a99d] {
293
- width: 260px;
294
- flex-shrink: 0;
509
+ /* unplugin-vue-components disabled *//* 字段规则控件:离散值可点选,模式与选择状态同步显示。 */
510
+ .cron-field-editor[data-v-ddf38d10] {
511
+ padding: 18px;
512
+ border: 1px solid var(--c-border);
513
+ border-radius: 12px;
514
+ }
515
+ .cron-field-editor__heading[data-v-ddf38d10] {
295
516
  display: flex;
296
- flex-direction: column;
517
+ justify-content: space-between;
297
518
  gap: 12px;
298
519
  }
299
- .c-cron__config[data-v-f4b0a99d] {
300
- display: flex;
301
- flex-direction: column;
302
- gap: 8px;
520
+ .cron-field-editor__heading strong[data-v-ddf38d10] {
521
+ font-size: 13px;
522
+ color: var(--c-text-1);
523
+ }
524
+ .cron-field-editor__heading span[data-v-ddf38d10] {
525
+ color: var(--c-text-3);
526
+ font-size: 11px;
303
527
  }
304
- .c-cron__config-row[data-v-f4b0a99d] {
528
+ .cron-field-editor__modes[data-v-ddf38d10] {
305
529
  display: flex;
306
- align-items: center;
307
- gap: 6px;
308
- font-size: 13px;
309
- color: var(--c-text-2);
310
530
  flex-wrap: wrap;
531
+ gap: 6px;
532
+ margin: 16px 0;
311
533
  }
312
- .c-cron__config-num[data-v-f4b0a99d] {
313
- width: 68px;
534
+ .cron-field-editor__modes button[data-v-ddf38d10] {
535
+ padding: 6px 12px;
536
+ border: 1px solid var(--c-border);
537
+ border-radius: 7px;
538
+ font-size: 12px;
314
539
  }
315
- .c-cron__quick[data-v-f4b0a99d] {
316
- display: flex;
317
- align-items: center;
318
- gap: 4px;
319
- font-size: 13px;
540
+ .cron-field-editor__modes button[aria-pressed=true][data-v-ddf38d10] {
541
+ border-color: var(--c-primary);
542
+ background: color-mix(in srgb, var(--c-primary) 8%, transparent);
543
+ color: var(--c-primary);
320
544
  }
321
- .c-cron__quick button[data-v-f4b0a99d] {
545
+ .cron-field-editor button[data-v-ddf38d10] {
322
546
  appearance: none;
323
- border: 0;
324
- background: transparent;
325
- padding: 0;
326
547
  font: inherit;
327
- color: var(--c-primary);
548
+ color: var(--c-text-2);
549
+ background: transparent;
328
550
  cursor: pointer;
329
- user-select: none;
330
551
  }
331
- .c-cron__quick button[data-v-f4b0a99d]:hover {
332
- text-decoration: underline;
552
+ .cron-field-editor button[data-v-ddf38d10]:focus-visible {
553
+ outline: 2px solid var(--c-primary);
554
+ outline-offset: 2px;
333
555
  }
334
- .c-cron__quick button[data-v-f4b0a99d]:disabled {
556
+ .cron-field-editor button[data-v-ddf38d10]:disabled {
335
557
  cursor: not-allowed;
336
- opacity: 0.6;
337
- }
338
- .c-cron__quick-sep[data-v-f4b0a99d] {
339
- color: var(--c-text-4);
558
+ opacity: 0.45;
340
559
  }
341
- .c-cron__quick-count[data-v-f4b0a99d] {
342
- margin-left: 4px;
560
+ .cron-field-editor__parameters[data-v-ddf38d10] {
561
+ display: flex;
562
+ align-items: center;
563
+ flex-wrap: wrap;
564
+ gap: 8px;
565
+ min-height: 34px;
343
566
  font-size: 12px;
344
- color: var(--c-text-4);
567
+ color: var(--c-text-2);
345
568
  }
346
- .c-cron__panel-line[data-v-f4b0a99d] {
347
- height: 1px;
348
- background: var(--c-border);
569
+ .cron-field-editor__parameters[data-v-ddf38d10] .n-input-number {
570
+ width: 96px;
349
571
  }
350
- .c-cron[data-v-f4b0a99d] {
351
- /* ═══════ 底部模板 ═══════ */
572
+ .cron-field-editor__parameters button[data-v-ddf38d10] {
573
+ border: 0;
574
+ font-size: 12px;
575
+ color: var(--c-primary);
352
576
  }
353
- .c-cron__footer[data-v-f4b0a99d] {
577
+ .cron-field-editor__grid[data-v-ddf38d10] {
578
+ display: grid;
579
+ grid-template-columns: repeat(auto-fit, minmax(36px, 1fr));
580
+ gap: 6px;
354
581
  margin-top: 16px;
355
- padding-top: 16px;
356
- border-top: 1px solid var(--c-border);
357
- }
358
-
359
- /* ─── 响应式 ────────────────────────────────── */
360
- @media (max-width: 768px) {
361
- .c-cron__body[data-v-f4b0a99d] {
362
- flex-direction: column;
363
- }
364
- .c-cron__panel[data-v-f4b0a99d] {
365
- width: 100%;
366
- }
367
- .c-cron__segments[data-v-f4b0a99d] {
368
- flex-wrap: wrap;
369
582
  }
370
- .c-cron__segment[data-v-f4b0a99d] {
371
- min-width: calc(33% - 4px);
583
+ .cron-field-editor__grid--week[data-v-ddf38d10] {
584
+ grid-template-columns: repeat(auto-fit, minmax(54px, 1fr));
372
585
  }
373
- .c-cron__expr-row[data-v-f4b0a99d] {
374
- flex-wrap: wrap;
586
+ .cron-field-editor__cell[data-v-ddf38d10] {
587
+ border: 1px solid var(--c-border);
588
+ border-radius: 6px;
589
+ padding: 7px 3px;
590
+ font: 12px ui-monospace, monospace !important;
375
591
  }
376
- .c-cron__expr-input[data-v-f4b0a99d] {
377
- width: 100%;
592
+ .cron-field-editor__cell[data-v-ddf38d10]:hover:enabled {
593
+ border-color: var(--c-primary);
378
594
  }
595
+ .cron-field-editor__cell--on[data-v-ddf38d10] {
596
+ border-color: color-mix(in srgb, var(--c-primary) 25%, var(--c-border));
597
+ background: color-mix(in srgb, var(--c-primary) 7%, transparent);
598
+ color: var(--c-primary) !important;
379
599
  }
380
- /* unplugin-vue-components disabled */
381
- /* layer: default */
382
- .px[data-v-f4b0a99d]{padding-left:1rem;padding-right:1rem;}
383
-
600
+ .cron-field-editor__hint[data-v-ddf38d10] {
601
+ font-size: 11px;
602
+ line-height: 1.7;
603
+ color: var(--c-text-3);
604
+ margin: 14px 0 0;
605
+ }