sequential-workflow-designer 0.14.2 → 0.15.3

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.
@@ -0,0 +1,378 @@
1
+ @mixin sqd-theme-ui-toolbox(
2
+ $theme,
3
+ $panelBackgroundColor: #fff,
4
+ $panelBoxShadow: (0 0 8px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.15)),
5
+ $headerTextColor: #000,
6
+ $filterBackground: #fff,
7
+ $filterTextColor: #000,
8
+ $filterBorder: (1px solid #c3c3c3),
9
+ $filterBorderColorFocused: #939393,
10
+ $groupTextColor: #000,
11
+ $groupBackgroundColor: #e5e5e5
12
+ ) {
13
+ .sqd-theme-#{$theme} {
14
+ .sqd-toolbox {
15
+ background: $panelBackgroundColor;
16
+ box-shadow: $panelBoxShadow;
17
+ }
18
+ .sqd-toolbox-header-title {
19
+ color: $headerTextColor;
20
+ }
21
+ .sqd-toolbox-filter {
22
+ background: $filterBackground;
23
+ color: $filterTextColor;
24
+ border: $filterBorder;
25
+ }
26
+ .sqd-toolbox-filter:focus {
27
+ border-color: $filterBorderColorFocused;
28
+ }
29
+ .sqd-toolbox-group-title {
30
+ color: $groupTextColor;
31
+ background: $groupBackgroundColor;
32
+ }
33
+ }
34
+ }
35
+ @mixin sqd-theme-ui-toolbox-item(
36
+ $theme,
37
+ $stepType: '',
38
+ $itemTextColor: #000,
39
+ $itemBackgroundColor: #fff,
40
+ $itemBorder: (1px solid #c3c3c3),
41
+ $itemBoxShadow: (0 2px 2px rgba(0, 0, 0, 0.15)),
42
+ $itemBorderHovered: #939393,
43
+ $itemBackgroundColorHovered: #fff,
44
+ $noIconBackgroundColor: #c6c6c6
45
+ ) {
46
+ .sqd-theme-#{$theme} .sqd-toolbox-item#{if($stepType != '', '.sqd-type-' + $stepType, '')} {
47
+ & {
48
+ color: $itemTextColor;
49
+ border: $itemBorder;
50
+ box-shadow: $itemBoxShadow;
51
+ background: $itemBackgroundColor;
52
+ }
53
+ &:hover {
54
+ border-color: $itemBorderHovered;
55
+ background: $itemBackgroundColorHovered;
56
+ }
57
+ & .sqd-toolbox-item-icon.sqd-no-icon {
58
+ background: $noIconBackgroundColor;
59
+ }
60
+ }
61
+ }
62
+
63
+ @mixin sqd-theme-ui-control-bar(
64
+ $theme,
65
+ $panelBackgroundColor: #fff,
66
+ $panelBoxShadow: (0 0 8px rgba(0, 0, 0, 0.15), 0 2px 4px rgba(0, 0, 0, 0.15)),
67
+ $buttonBackground: #fff,
68
+ $buttonBackgroundHovered: #fff,
69
+ $buttonBorder: (1px solid #c3c3c3),
70
+ $buttonBorderColorHovered: #939393,
71
+ $buttonIconPathFillColor: #000,
72
+ $buttonDeleteIconPathFillColor: #e01a24
73
+ ) {
74
+ .sqd-theme-#{$theme} {
75
+ .sqd-control-bar {
76
+ background: $panelBackgroundColor;
77
+ box-shadow: $panelBoxShadow;
78
+ }
79
+ .sqd-control-bar-button {
80
+ border: $buttonBorder;
81
+ background: $buttonBackground;
82
+ }
83
+ .sqd-control-bar-button:hover {
84
+ border-color: $buttonBorderColorHovered;
85
+ background: $buttonBackgroundHovered;
86
+ }
87
+ .sqd-control-bar-button .sqd-icon-path {
88
+ fill: $buttonIconPathFillColor;
89
+ }
90
+ .sqd-control-bar-button.sqd-delete .sqd-icon-path {
91
+ fill: $buttonDeleteIconPathFillColor;
92
+ }
93
+ }
94
+ }
95
+
96
+ @mixin sqd-theme-ui-editor(
97
+ $theme,
98
+ $panelBackgroundColor: #fff,
99
+ $panelBoxShadow: (0 0 8px rgba(0, 0, 0, 0.15)),
100
+ $toggleBackgroundColor: #fff,
101
+ $toggleBoxShadow: (0 0 8px rgba(0, 0, 0, 0.15))
102
+ ) {
103
+ .sqd-theme-#{$theme} {
104
+ .sqd-smart-editor {
105
+ background: $panelBackgroundColor;
106
+ box-shadow: $panelBoxShadow;
107
+ }
108
+ .sqd-smart-editor-toggle {
109
+ background: $toggleBackgroundColor;
110
+ box-shadow: $toggleBoxShadow;
111
+ }
112
+ }
113
+ }
114
+
115
+ @mixin sqd-theme-ui-context-menu(
116
+ $theme,
117
+ $panelBackgroundColor: #fff,
118
+ $panelBoxShadow: (0 0 8px rgba(0, 0, 0, 0.2)),
119
+ $groupTextColor: #888,
120
+ $itemTextColor: #000,
121
+ $itemBackgroundColorHovered: #eee
122
+ ) {
123
+ .sqd-theme-#{$theme}.sqd-context-menu {
124
+ background: $panelBackgroundColor;
125
+ box-shadow: $panelBoxShadow;
126
+ }
127
+ .sqd-theme-#{$theme} .sqd-context-menu-group {
128
+ color: $groupTextColor;
129
+ }
130
+ .sqd-theme-#{$theme} .sqd-context-menu-item {
131
+ color: $itemTextColor;
132
+ }
133
+ .sqd-theme-#{$theme} .sqd-context-menu-item:hover {
134
+ background: $itemBackgroundColorHovered;
135
+ }
136
+ }
137
+
138
+ @mixin sqd-theme-workspace($theme, $backgroundColor: #f9f9f9) {
139
+ .sqd-theme-#{$theme}.sqd-designer {
140
+ background: $backgroundColor;
141
+ }
142
+ }
143
+
144
+ @mixin sqd-theme-line-grid($theme, $strokeColor: #e3e3e3, $strokeWidth: 1) {
145
+ .sqd-theme-#{$theme} .sqd-line-grid-path {
146
+ stroke: $strokeColor;
147
+ stroke-width: $strokeWidth;
148
+ }
149
+ }
150
+
151
+ @mixin sqd-theme-join($theme, $joinStrokeColor: #000, $joinStrokeWidth: 2) {
152
+ .sqd-theme-#{$theme} {
153
+ .sqd-join {
154
+ stroke-width: $joinStrokeWidth;
155
+ stroke: $joinStrokeColor;
156
+ }
157
+ }
158
+ }
159
+
160
+ @mixin sqd-theme-placeholder(
161
+ $theme,
162
+ $rectFillColor: #d8d8d8,
163
+ $rectStrokeColor: #6a6a6a,
164
+ $rectStrokeWidth: 1,
165
+ $rectStrokeDasharray: 3,
166
+ $rectFillHovered: #ed4800,
167
+ $iconPathFillColor: #2b2b2b,
168
+ $iconPathFillColorHovered: #fff
169
+ ) {
170
+ .sqd-theme-#{$theme} {
171
+ .sqd-placeholder .sqd-placeholder-rect {
172
+ fill: $rectFillColor;
173
+ stroke: $rectStrokeColor;
174
+ stroke-width: $rectStrokeWidth;
175
+ stroke-dasharray: $rectStrokeDasharray;
176
+ }
177
+ .sqd-placeholder.sqd-hover .sqd-placeholder-rect {
178
+ fill: $rectFillHovered;
179
+ }
180
+ .sqd-placeholder-icon-path {
181
+ fill: $iconPathFillColor;
182
+ }
183
+ .sqd-placeholder.sqd-hover .sqd-placeholder-icon-path {
184
+ fill: $iconPathFillColorHovered;
185
+ }
186
+ }
187
+ }
188
+
189
+ @mixin sqd-theme-region(
190
+ $theme,
191
+ $strokeColor: #cecece,
192
+ $strokeColorSelected: #ed4800,
193
+ $strokeWidth: 2,
194
+ $strokeWidthSelected: 2,
195
+ $strokeDasharray: 3,
196
+ $strokeDasharraySelected: 0
197
+ ) {
198
+ .sqd-theme-#{$theme} {
199
+ .sqd-region {
200
+ stroke: $strokeColor;
201
+ stroke-width: $strokeWidth;
202
+ stroke-dasharray: $strokeDasharray;
203
+ }
204
+ .sqd-region.sqd-selected {
205
+ stroke: $strokeColorSelected;
206
+ stroke-width: $strokeWidthSelected;
207
+ stroke-dasharray: $strokeDasharraySelected;
208
+ }
209
+ }
210
+ }
211
+
212
+ @mixin sqd-theme-validation-error-badge($theme, $triangleFillColor: #ffa200, $iconFillColor: #000) {
213
+ .sqd-theme-#{$theme} {
214
+ .sqd-validation-error {
215
+ fill: $triangleFillColor;
216
+ }
217
+ .sqd-validation-error-icon-path {
218
+ fill: $iconFillColor;
219
+ }
220
+ }
221
+ }
222
+
223
+ @mixin sqd-theme-start-stop-root-component($theme, $circleFillColor: #2c18df, $iconFillColor: #fff) {
224
+ .sqd-theme-#{$theme} {
225
+ .sqd-root-start-stop-circle {
226
+ fill: $circleFillColor;
227
+ }
228
+ .sqd-root-start-stop-icon {
229
+ fill: $iconFillColor;
230
+ }
231
+ }
232
+ }
233
+
234
+ @mixin sqd-theme-task-step-component(
235
+ $theme,
236
+ $stepType: '',
237
+ $rectFillColor: #fff,
238
+ $rectStrokeColor: #c3c3c3,
239
+ $rectStrokeColorSelected: #ed4800,
240
+ $rectStrokeWidth: 1,
241
+ $rectStrokeWidthSelected: 2,
242
+ $rectShadow: (0 1.5px 1.5px rgba(0, 0, 0, 0.15)),
243
+ $textColor: #000,
244
+ $emptyIconColor: #c6c6c6,
245
+ $inputStrokeWidth: 2,
246
+ $inputStrokeColor: #000,
247
+ $inputFillColor: #fff,
248
+ $outputFillColor: #000,
249
+ $outputStrokeWidth: 0,
250
+ $outputStrokeColor: #000
251
+ ) {
252
+ .sqd-theme-#{$theme} .sqd-step-task#{if($stepType != '', '.sqd-type-' + $stepType, '')} {
253
+ .sqd-step-task-rect {
254
+ fill: $rectFillColor;
255
+ stroke-width: $rectStrokeWidth;
256
+ stroke: $rectStrokeColor;
257
+ filter: drop-shadow($rectShadow);
258
+ }
259
+ .sqd-step-task-rect.sqd-selected {
260
+ stroke: $rectStrokeColorSelected;
261
+ stroke-width: $rectStrokeWidthSelected;
262
+ }
263
+ .sqd-step-task-text {
264
+ fill: $textColor;
265
+ }
266
+ .sqd-step-task-empty-icon {
267
+ fill: $emptyIconColor;
268
+ }
269
+ @include _sqd-input($inputFillColor: $inputFillColor, $inputStrokeWidth: $inputStrokeWidth, $inputStrokeColor: $inputStrokeColor);
270
+ @include _sqd-output(
271
+ $outputFillColor: $outputFillColor,
272
+ $outputStrokeWidth: $outputStrokeWidth,
273
+ $outputStrokeColor: $outputStrokeColor
274
+ );
275
+ }
276
+ }
277
+
278
+ @mixin sqd-theme-switch-step-component(
279
+ $theme,
280
+ $stepType: '',
281
+ $labelPrimaryTextColor: #fff,
282
+ $labelPrimaryFillColor: #2411db,
283
+ $labelPrimaryStrokeColor: #fff,
284
+ $labelPrimaryStrokeWidth: 0,
285
+ $labelPrimaryShadow: '',
286
+ $labelSecondaryTextColor: #fff,
287
+ $labelSecondaryFillColor: #000,
288
+ $labelSecondaryStrokeColor: #000,
289
+ $labelSecondaryStrokeWidth: 0,
290
+ $labelSecondaryShadow: '',
291
+ $inputStrokeWidth: 2,
292
+ $inputStrokeColor: #000,
293
+ $inputFillColor: #fff
294
+ ) {
295
+ .sqd-theme-#{$theme} .sqd-step-switch#{if($stepType != '', '.sqd-type-' + $stepType, '')} {
296
+ & > .sqd-label-primary > .sqd-label-text {
297
+ fill: $labelPrimaryTextColor;
298
+ }
299
+ & > .sqd-label-primary > .sqd-label-rect {
300
+ fill: $labelPrimaryFillColor;
301
+ stroke-width: $labelPrimaryStrokeWidth;
302
+ @if $labelPrimaryStrokeWidth > 0 {
303
+ stroke: $labelPrimaryStrokeColor;
304
+ }
305
+ @if $labelPrimaryShadow != '' {
306
+ filter: drop-shadow($labelPrimaryShadow);
307
+ }
308
+ }
309
+ & > .sqd-label-secondary > .sqd-label-rect {
310
+ fill: $labelSecondaryFillColor;
311
+ stroke-width: $labelSecondaryStrokeWidth;
312
+ @if $labelSecondaryStrokeWidth > 0 {
313
+ stroke: $labelSecondaryStrokeColor;
314
+ }
315
+ @if $labelSecondaryShadow != '' {
316
+ filter: drop-shadow($labelSecondaryShadow);
317
+ }
318
+ }
319
+ & > .sqd-label-secondary > .sqd-label-text {
320
+ fill: $labelSecondaryTextColor;
321
+ }
322
+ & > g > {
323
+ @include _sqd-input(
324
+ $inputFillColor: $inputFillColor,
325
+ $inputStrokeWidth: $inputStrokeWidth,
326
+ $inputStrokeColor: $inputStrokeColor
327
+ );
328
+ }
329
+ }
330
+ }
331
+
332
+ @mixin sqd-theme-container-step-component(
333
+ $theme,
334
+ $stepType: '',
335
+ $labelTextColor: #fff,
336
+ $labelFillColor: #2411db,
337
+ $inputStrokeWidth: 2,
338
+ $inputStrokeColor: #000,
339
+ $inputFillColor: #fff
340
+ ) {
341
+ .sqd-theme-#{$theme} .sqd-step-container#{if($stepType != '', '.sqd-type-' + $stepType, '')} {
342
+ & > .sqd-label > .sqd-label-text {
343
+ fill: $labelTextColor;
344
+ }
345
+ & > .sqd-label > .sqd-label-rect {
346
+ fill: $labelFillColor;
347
+ }
348
+ & > g > {
349
+ @include _sqd-input(
350
+ $inputFillColor: $inputFillColor,
351
+ $inputStrokeWidth: $inputStrokeWidth,
352
+ $inputStrokeColor: $inputStrokeColor
353
+ );
354
+ }
355
+ }
356
+ }
357
+
358
+ /* internal */
359
+
360
+ @mixin _sqd-input($inputFillColor, $inputStrokeWidth, $inputStrokeColor) {
361
+ .sqd-input {
362
+ fill: $inputFillColor;
363
+ stroke-width: $inputStrokeWidth;
364
+ @if $inputStrokeWidth > 0 {
365
+ stroke: $inputStrokeColor;
366
+ }
367
+ }
368
+ }
369
+
370
+ @mixin _sqd-output($outputFillColor, $outputStrokeWidth, $outputStrokeColor) {
371
+ .sqd-output {
372
+ fill: $outputFillColor;
373
+ stroke-width: $outputStrokeWidth;
374
+ @if $outputStrokeWidth > 0 {
375
+ stroke: $outputStrokeColor;
376
+ }
377
+ }
378
+ }
@@ -0,0 +1,257 @@
1
+ /* .sqd-designer */
2
+
3
+ .sqd-designer {
4
+ position: relative;
5
+ display: flex;
6
+ width: 100%;
7
+ height: 100%;
8
+ }
9
+ .sqd-designer,
10
+ .sqd-drag,
11
+ .sqd-context-menu {
12
+ font-size: 13px;
13
+ line-height: 1em;
14
+ }
15
+ .sqd-hidden {
16
+ display: none !important;
17
+ }
18
+ .sqd-disabled {
19
+ opacity: 0.25;
20
+ }
21
+
22
+ /* .sqd-toolbox */
23
+
24
+ .sqd-toolbox,
25
+ .sqd-toolbox-filter {
26
+ font-size: 11px;
27
+ line-height: 1.2em;
28
+ }
29
+ .sqd-toolbox {
30
+ position: absolute;
31
+ top: 10px;
32
+ left: 10px;
33
+ z-index: 20;
34
+ box-sizing: border-box;
35
+ border-radius: 10px;
36
+ width: 130px;
37
+ user-select: none;
38
+ }
39
+ .sqd-toolbox-header {
40
+ position: relative;
41
+ padding: 15px 10px;
42
+ cursor: pointer;
43
+ }
44
+ .sqd-toolbox-header-title {
45
+ display: block;
46
+ font-size: 1.2em;
47
+ line-height: 1em;
48
+ font-weight: bold;
49
+ }
50
+ .sqd-toolbox-toggle-icon {
51
+ position: absolute;
52
+ top: 50%;
53
+ right: 10px;
54
+ width: 16px;
55
+ height: 16px;
56
+ margin: -8px 0 0;
57
+ }
58
+ .sqd-toolbox-header:hover .sqd-toolbox-toggle-icon {
59
+ opacity: 0.6;
60
+ }
61
+ .sqd-scrollbox {
62
+ position: relative;
63
+ overflow: hidden;
64
+ }
65
+ .sqd-scrollbox-body {
66
+ position: absolute;
67
+ top: 0;
68
+ left: 0;
69
+ }
70
+ .sqd-toolbox-filter {
71
+ display: block;
72
+ box-sizing: border-box;
73
+ padding: 6px 8px;
74
+ outline: none;
75
+ width: 110px;
76
+ margin: 0 10px 10px;
77
+ box-sizing: border-box;
78
+ border-radius: 10px;
79
+ }
80
+ .sqd-toolbox-group-title {
81
+ text-align: center;
82
+ padding: 5px 0;
83
+ margin: 0 10px 10px;
84
+ border-radius: 10px;
85
+ }
86
+ .sqd-toolbox-item {
87
+ position: relative;
88
+ border-radius: 5px;
89
+ box-sizing: border-box;
90
+ margin: 0 10px 10px;
91
+ width: 110px;
92
+ cursor: move;
93
+ }
94
+ .sqd-toolbox-item-icon {
95
+ position: absolute;
96
+ top: 50%;
97
+ left: 5px;
98
+ margin-top: -10px;
99
+ width: 20px;
100
+ height: 20px;
101
+ }
102
+ .sqd-toolbox-item-icon.sqd-no-icon {
103
+ border-radius: 4px;
104
+ }
105
+ .sqd-toolbox-item-icon-image {
106
+ width: 100%;
107
+ height: 100%;
108
+ }
109
+ .sqd-toolbox-item-text {
110
+ position: relative;
111
+ display: block;
112
+ padding: 10px 10px 10px 30px;
113
+ white-space: nowrap;
114
+ text-overflow: ellipsis;
115
+ overflow: hidden;
116
+ }
117
+
118
+ .sqd-drag {
119
+ position: absolute;
120
+ z-index: 9999999;
121
+ pointer-events: none;
122
+ }
123
+
124
+ /* .sqd-control-bar */
125
+
126
+ .sqd-control-bar {
127
+ position: absolute;
128
+ bottom: 10px;
129
+ left: 10px;
130
+ z-index: 20;
131
+ padding: 8px 0 8px 8px;
132
+ border-radius: 10px;
133
+ white-space: nowrap;
134
+ }
135
+ .sqd-control-bar-button {
136
+ display: inline-block;
137
+ width: 32px;
138
+ height: 32px;
139
+ border-radius: 5px;
140
+ margin-right: 8px;
141
+ cursor: pointer;
142
+ box-sizing: border-box;
143
+ }
144
+ .sqd-control-bar-button-icon {
145
+ width: 24px;
146
+ height: 24px;
147
+ margin: 3px 0 0 3px;
148
+ }
149
+ .sqd-control-bar-button.sqd-disabled .sqd-control-bar-button-icon {
150
+ opacity: 0.2;
151
+ }
152
+
153
+ /* .sqd-smart-editor */
154
+
155
+ .sqd-smart-editor-toggle {
156
+ position: absolute;
157
+ top: 0;
158
+ z-index: 29;
159
+ width: 36px;
160
+ height: 64px;
161
+ border-bottom-left-radius: 10px;
162
+ cursor: pointer;
163
+ }
164
+ .sqd-smart-editor-toggle-icon {
165
+ position: absolute;
166
+ top: 50%;
167
+ left: 50%;
168
+ width: 24px;
169
+ height: 24px;
170
+ margin: -12px 0 0 -12px;
171
+ }
172
+ .sqd-smart-editor-toggle:hover .sqd-smart-editor-toggle-icon {
173
+ opacity: 0.6;
174
+ }
175
+ .sqd-smart-editor {
176
+ z-index: 30;
177
+ }
178
+ .sqd-layout-desktop .sqd-smart-editor {
179
+ position: relative;
180
+ width: 300px;
181
+ }
182
+ .sqd-layout-desktop .sqd-smart-editor-toggle {
183
+ right: 300px;
184
+ }
185
+ .sqd-layout-desktop .sqd-smart-editor-toggle.sqd-collapsed {
186
+ right: 0;
187
+ }
188
+ .sqd-layout-mobile .sqd-smart-editor {
189
+ position: absolute;
190
+ top: 0;
191
+ right: 0;
192
+ bottom: 0;
193
+ left: 41px;
194
+ }
195
+ .sqd-layout-mobile .sqd-smart-editor-toggle {
196
+ left: 5px;
197
+ }
198
+ .sqd-layout-mobile .sqd-smart-editor-toggle.sqd-collapsed {
199
+ left: auto;
200
+ right: 0;
201
+ }
202
+
203
+ /* .sqd-context-menu */
204
+
205
+ .sqd-context-menu {
206
+ position: absolute;
207
+ z-index: 2000000000;
208
+ border-radius: 4px;
209
+ overflow: hidden;
210
+ padding: 5px;
211
+ }
212
+ .sqd-context-menu-group,
213
+ .sqd-context-menu-item {
214
+ width: 130px;
215
+ padding: 8px 10px;
216
+ white-space: nowrap;
217
+ text-overflow: ellipsis;
218
+ overflow: hidden;
219
+ }
220
+ .sqd-context-menu-group {
221
+ font-size: 11px;
222
+ line-height: 1em;
223
+ }
224
+ .sqd-context-menu-item {
225
+ border-radius: 5px;
226
+ cursor: pointer;
227
+ transition: background 70ms;
228
+ }
229
+
230
+ /* .sqd-workspace */
231
+
232
+ .sqd-workspace {
233
+ flex: 1;
234
+ position: relative;
235
+ display: block;
236
+ user-select: none;
237
+ }
238
+ .sqd-workspace-canvas {
239
+ position: absolute;
240
+ top: 0;
241
+ left: 0;
242
+ cursor: move;
243
+ }
244
+
245
+ .sqd-label-text {
246
+ text-anchor: middle;
247
+ dominant-baseline: central;
248
+ }
249
+
250
+ .sqd-placeholder .sqd-placeholder-rect {
251
+ transition: fill 100ms;
252
+ }
253
+
254
+ .sqd-step-task-text {
255
+ text-anchor: left;
256
+ dominant-baseline: central;
257
+ }