@echothink-ui/workflow 0.1.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.
package/src/styles.css ADDED
@@ -0,0 +1,312 @@
1
+ @import "@echothink-ui/core/styles.css";
2
+
3
+ /* Carbon-aligned styles for this package's custom components */
4
+
5
+ .eth-workflow-pipeline-view,
6
+ .eth-workflow-handoff-panel,
7
+ .eth-workflow-process-designer,
8
+ .eth-workflow-rule-builder,
9
+ .eth-workflow-condition-builder,
10
+ .eth-workflow-rule-simulation,
11
+ .eth-workflow-approval-editor,
12
+ .eth-workflow-process-timeline,
13
+ .eth-pipeline-stage,
14
+ .eth-process-designer,
15
+ .eth-rule-builder,
16
+ .eth-condition-builder,
17
+ .eth-rule-simulation,
18
+ .eth-workflow-handoff {
19
+ color: var(--eth-color-text-primary);
20
+ font-family: var(--eth-font-family);
21
+ }
22
+
23
+ .eth-workflow-pipeline-view,
24
+ .eth-workflow-handoff,
25
+ .eth-workflow-handoff-panel {
26
+ display: block;
27
+ overflow-x: auto;
28
+ padding-block-end: var(--eth-space-sm);
29
+ }
30
+
31
+ .eth-workflow-pipeline-view__stages {
32
+ align-items: stretch;
33
+ display: flex;
34
+ gap: var(--eth-space-md);
35
+ list-style: none;
36
+ margin: 0;
37
+ min-inline-size: max-content;
38
+ padding: 0;
39
+ }
40
+
41
+ .eth-workflow-pipeline-view__stages > li {
42
+ display: flex;
43
+ }
44
+
45
+ .eth-workflow-pipeline-stage,
46
+ .eth-pipeline-stage {
47
+ align-items: flex-start;
48
+ background: var(--eth-color-layer-01);
49
+ border: 1px solid var(--eth-color-border-subtle);
50
+ border-inline-start: 4px solid transparent;
51
+ border-radius: 0;
52
+ color: var(--eth-color-text-primary);
53
+ display: grid;
54
+ gap: var(--eth-space-sm);
55
+ font: inherit;
56
+ inline-size: 14rem;
57
+ min-block-size: 8rem;
58
+ padding: var(--eth-space-lg);
59
+ text-align: start;
60
+ transition:
61
+ background-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9),
62
+ border-color 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
63
+ }
64
+
65
+ button.eth-workflow-pipeline-stage,
66
+ button.eth-pipeline-stage {
67
+ cursor: pointer;
68
+ }
69
+
70
+ button.eth-workflow-pipeline-stage:hover,
71
+ button.eth-pipeline-stage:hover {
72
+ background: var(--eth-color-layer-hover);
73
+ }
74
+
75
+ .eth-workflow-pipeline-stage:focus-visible,
76
+ .eth-pipeline-stage:focus-visible {
77
+ outline: 2px solid var(--eth-color-focus);
78
+ outline-offset: -2px;
79
+ }
80
+
81
+ .eth-workflow-pipeline-stage--active,
82
+ .eth-pipeline-stage--active {
83
+ border-inline-start-color: var(--eth-color-interactive-primary);
84
+ }
85
+
86
+ .eth-workflow-pipeline-stage strong,
87
+ .eth-pipeline-stage strong {
88
+ font-weight: 600;
89
+ }
90
+
91
+ .eth-workflow-pipeline-stage small,
92
+ .eth-pipeline-stage small {
93
+ color: var(--eth-color-text-secondary);
94
+ }
95
+
96
+ .eth-workflow-process-designer,
97
+ .eth-process-designer {
98
+ background: var(--eth-color-background);
99
+ border: 1px solid var(--eth-color-border-subtle);
100
+ border-radius: 0;
101
+ display: grid;
102
+ gap: var(--eth-space-lg);
103
+ padding: var(--eth-space-lg);
104
+ }
105
+
106
+ .eth-workflow-process-designer > header,
107
+ .eth-process-designer > header,
108
+ .eth-workflow-handoff-panel > header,
109
+ .eth-workflow-rule-simulation > header {
110
+ align-items: center;
111
+ display: flex;
112
+ gap: var(--eth-space-md);
113
+ justify-content: space-between;
114
+ }
115
+
116
+ .eth-workflow-process-designer h3,
117
+ .eth-process-designer h3,
118
+ .eth-workflow-handoff-panel h3,
119
+ .eth-workflow-rule-simulation h3 {
120
+ margin: 0;
121
+ }
122
+
123
+ .eth-workflow-process-designer svg,
124
+ .eth-process-designer svg {
125
+ background-color: var(--eth-color-layer-01);
126
+ background-image: radial-gradient(var(--eth-color-border-subtle) 1px, transparent 1px);
127
+ background-size: var(--eth-space-2xl) var(--eth-space-2xl);
128
+ border: 1px solid var(--eth-color-border-subtle);
129
+ border-radius: 0;
130
+ display: block;
131
+ inline-size: 100%;
132
+ min-block-size: 26rem;
133
+ touch-action: none;
134
+ }
135
+
136
+ .eth-workflow-process-designer line,
137
+ .eth-process-designer line {
138
+ stroke: var(--eth-color-border-strong);
139
+ }
140
+
141
+ .eth-workflow-process-designer marker path,
142
+ .eth-process-designer marker path {
143
+ fill: var(--eth-color-border-strong);
144
+ }
145
+
146
+ .eth-workflow-process-designer text,
147
+ .eth-process-designer text {
148
+ fill: var(--eth-color-text-primary);
149
+ font-family: var(--eth-font-family);
150
+ }
151
+
152
+ .eth-workflow-process-designer__node {
153
+ cursor: grab;
154
+ }
155
+
156
+ .eth-workflow-process-designer__node:active {
157
+ cursor: grabbing;
158
+ }
159
+
160
+ .eth-workflow-process-designer__node rect,
161
+ .eth-workflow-process-designer__node polygon {
162
+ fill: var(--eth-color-layer-01);
163
+ rx: 0;
164
+ stroke: var(--eth-color-border-strong);
165
+ transition:
166
+ fill 110ms cubic-bezier(0.2, 0, 0.38, 0.9),
167
+ stroke 110ms cubic-bezier(0.2, 0, 0.38, 0.9),
168
+ stroke-width 110ms cubic-bezier(0.2, 0, 0.38, 0.9);
169
+ }
170
+
171
+ .eth-workflow-process-designer__node:hover rect,
172
+ .eth-workflow-process-designer__node:hover polygon {
173
+ fill: var(--eth-color-layer-hover);
174
+ }
175
+
176
+ .eth-workflow-process-designer__node--selected rect,
177
+ .eth-workflow-process-designer__node--selected polygon {
178
+ stroke: var(--eth-color-focus);
179
+ stroke-width: 3px;
180
+ }
181
+
182
+ .eth-workflow-process-designer__node--decision polygon {
183
+ stroke: var(--eth-color-warning);
184
+ }
185
+
186
+ .eth-workflow-process-designer__node--start rect {
187
+ stroke: var(--eth-color-success);
188
+ }
189
+
190
+ .eth-workflow-process-designer__node--end rect {
191
+ stroke: var(--eth-color-info);
192
+ }
193
+
194
+ .eth-workflow-rule-builder,
195
+ .eth-workflow-condition-builder,
196
+ .eth-rule-builder,
197
+ .eth-condition-builder {
198
+ display: grid;
199
+ gap: var(--eth-space-lg);
200
+ }
201
+
202
+ .eth-workflow-rule-builder__conditions {
203
+ display: grid;
204
+ gap: var(--eth-space-lg);
205
+ }
206
+
207
+ .eth-workflow-rule-builder__condition {
208
+ border: 1px solid var(--eth-color-border-subtle);
209
+ display: grid;
210
+ gap: var(--eth-space-md);
211
+ padding: var(--eth-space-lg);
212
+ }
213
+
214
+ .eth-workflow-condition-builder,
215
+ .eth-condition-builder {
216
+ grid-template-columns: repeat(3, minmax(0, 1fr));
217
+ }
218
+
219
+ .eth-workflow-rule-simulation,
220
+ .eth-rule-simulation {
221
+ border: 1px solid var(--eth-color-border-subtle);
222
+ border-radius: 0;
223
+ display: grid;
224
+ gap: var(--eth-space-lg);
225
+ padding: var(--eth-space-lg);
226
+ }
227
+
228
+ .eth-workflow-rule-simulation__rule {
229
+ background: var(--eth-color-layer-02);
230
+ border: 1px solid var(--eth-color-border-subtle);
231
+ color: var(--eth-color-text-primary);
232
+ font-family: var(--eth-font-mono);
233
+ margin: 0;
234
+ overflow: auto;
235
+ padding: var(--eth-space-md);
236
+ }
237
+
238
+ .eth-workflow-handoff-panel {
239
+ background: var(--eth-color-layer-01);
240
+ border: 1px solid var(--eth-color-border-subtle);
241
+ border-radius: 0;
242
+ display: grid;
243
+ gap: var(--eth-space-lg);
244
+ min-inline-size: min(36rem, 100%);
245
+ padding: var(--eth-space-lg);
246
+ }
247
+
248
+ .eth-workflow-handoff-panel p {
249
+ color: var(--eth-color-text-secondary);
250
+ margin: 0;
251
+ }
252
+
253
+ .eth-workflow-handoff-panel form {
254
+ display: grid;
255
+ gap: var(--eth-space-lg);
256
+ }
257
+
258
+ .eth-workflow-approval-editor {
259
+ display: grid;
260
+ gap: var(--eth-space-lg);
261
+ }
262
+
263
+ .eth-workflow-approval-editor__step {
264
+ align-items: center;
265
+ border: 1px solid var(--eth-color-border-subtle);
266
+ display: grid;
267
+ gap: var(--eth-space-md);
268
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
269
+ padding: var(--eth-space-md);
270
+ }
271
+
272
+ .eth-workflow-process-timeline {
273
+ display: grid;
274
+ gap: var(--eth-space-lg);
275
+ }
276
+
277
+ .eth-workflow-process-timeline ol {
278
+ border-inline-start: 1px solid var(--eth-color-border-subtle);
279
+ display: grid;
280
+ gap: var(--eth-space-md);
281
+ list-style: none;
282
+ margin: 0;
283
+ padding: 0 0 0 var(--eth-space-lg);
284
+ }
285
+
286
+ .eth-workflow-process-timeline li {
287
+ align-items: center;
288
+ display: flex;
289
+ gap: var(--eth-space-sm);
290
+ }
291
+
292
+ .eth-workflow-process-timeline time {
293
+ color: var(--eth-color-text-secondary);
294
+ font-size: calc(0.75rem * var(--eth-text-scale, 1));
295
+ margin-inline-start: auto;
296
+ }
297
+
298
+ @media (max-width: 42rem) {
299
+ .eth-workflow-condition-builder,
300
+ .eth-condition-builder,
301
+ .eth-workflow-approval-editor__step {
302
+ grid-template-columns: 1fr;
303
+ }
304
+
305
+ .eth-workflow-process-designer > header,
306
+ .eth-process-designer > header,
307
+ .eth-workflow-handoff-panel > header,
308
+ .eth-workflow-rule-simulation > header {
309
+ align-items: stretch;
310
+ flex-direction: column;
311
+ }
312
+ }