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

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