@bpmn-io/form-js-editor 1.26.1 → 2.0.0-alpha.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/dist/assets/form-js-editor-base.css +69 -132
- package/dist/assets/form-js-editor.css +482 -271
- package/dist/assets/properties-panel.css +449 -179
- package/dist/index.cjs +329 -139
- package/dist/index.cjs.map +1 -1
- package/dist/index.es.js +333 -143
- package/dist/index.es.js.map +1 -1
- package/package.json +7 -5
|
@@ -1,124 +1,81 @@
|
|
|
1
|
+
@charset "UTF-8";
|
|
2
|
+
/**
|
|
3
|
+
* Semantic tokens, copied from `@bpmn-io/theme` to style the components
|
|
4
|
+
* according to this theme.
|
|
5
|
+
*
|
|
6
|
+
* Names and values of the tokens should stay intact with the `@bpmn-io/theme`
|
|
7
|
+
* source of truth, to ensure matching styles and allow overrides with an
|
|
8
|
+
* alternative theme.
|
|
9
|
+
*/
|
|
10
|
+
.bio-theme-parent {
|
|
11
|
+
--bio-surface: hsl(0, 0%, 100%);
|
|
12
|
+
--bio-surface-subtle: hsl(225, 10%, 97%);
|
|
13
|
+
--bio-surface-medium: hsl(225, 10%, 95%);
|
|
14
|
+
--bio-surface-strong: hsl(225, 10%, 90%);
|
|
15
|
+
--bio-text: hsl(225, 10%, 15%);
|
|
16
|
+
--bio-text-subtle: hsl(225, 10%, 35%);
|
|
17
|
+
--bio-text-subtlest: hsl(225, 10%, 55%);
|
|
18
|
+
--bio-border: hsl(225, 10%, 75%);
|
|
19
|
+
--bio-border-input: hsl(225, 10%, 75%);
|
|
20
|
+
--bio-border-subtle: hsl(225, 10%, 85%);
|
|
21
|
+
--bio-border-disabled: hsl(225, 10%, 90%);
|
|
22
|
+
--bio-primary: hsl(205, 100%, 40%);
|
|
23
|
+
--bio-primary-surface: hsl(205, 100%, 95%);
|
|
24
|
+
--bio-danger: hsl(360, 100%, 45%);
|
|
25
|
+
--bio-danger-surface: hsl(360, 100%, 92%);
|
|
26
|
+
--bio-focus: hsl(205, 100%, 40%);
|
|
27
|
+
--bio-shadow: hsla(0, 0%, 0%, 30%);
|
|
28
|
+
}
|
|
29
|
+
|
|
1
30
|
.fjs-editor-container {
|
|
2
|
-
--color-children-selected-border: var(--
|
|
31
|
+
--color-children-selected-border: var(--bio-primary);
|
|
3
32
|
--color-children-selected-background: transparent;
|
|
4
|
-
--color-children-hover-border:
|
|
33
|
+
--color-children-hover-border: color-mix(in srgb, var(--bio-primary) 50%, transparent);
|
|
5
34
|
--color-context-pad-item-background: transparent;
|
|
6
|
-
--color-context-pad-item-fill: var(--
|
|
7
|
-
--color-context-pad-item-hover-fill: var(--
|
|
8
|
-
--color-resize-handle-background: var(--
|
|
9
|
-
--color-resize-handle-border: var(--
|
|
10
|
-
--color-dragula-background: var(--
|
|
11
|
-
--color-dragula-border: var(--
|
|
12
|
-
--color-dragula-mirror-background: var(--
|
|
13
|
-
--color-dragula-mirror-border: var(--
|
|
14
|
-
--color-dragula-error-background: var(--
|
|
15
|
-
--color-dragula-error-border: var(--
|
|
35
|
+
--color-context-pad-item-fill: var(--bio-text);
|
|
36
|
+
--color-context-pad-item-hover-fill: var(--bio-danger);
|
|
37
|
+
--color-resize-handle-background: var(--bio-primary);
|
|
38
|
+
--color-resize-handle-border: var(--bio-primary);
|
|
39
|
+
--color-dragula-background: var(--bio-primary-surface);
|
|
40
|
+
--color-dragula-border: var(--bio-primary);
|
|
41
|
+
--color-dragula-mirror-background: var(--bio-surface);
|
|
42
|
+
--color-dragula-mirror-border: var(--bio-border-disabled);
|
|
43
|
+
--color-dragula-error-background: var(--bio-danger-surface);
|
|
44
|
+
--color-dragula-error-border: var(--bio-danger);
|
|
16
45
|
}
|
|
17
46
|
|
|
18
47
|
.fjs-palette-container {
|
|
19
|
-
--color-palette-text: var(--
|
|
20
|
-
--color-palette-container-background: var(--
|
|
21
|
-
--color-palette-container-border: var(--
|
|
22
|
-
--color-palette-header: var(--
|
|
23
|
-
--color-palette-header-background: var(--
|
|
24
|
-
--color-palette-header-border: var(--
|
|
48
|
+
--color-palette-text: var(--bio-text);
|
|
49
|
+
--color-palette-container-background: var(--bio-surface-medium);
|
|
50
|
+
--color-palette-container-border: var(--bio-border);
|
|
51
|
+
--color-palette-header: var(--color-text);
|
|
52
|
+
--color-palette-header-background: var(--bio-surface-medium);
|
|
53
|
+
--color-palette-header-border: var(--bio-border-subtle);
|
|
25
54
|
--color-palette-search: var(--color-palette-text);
|
|
26
|
-
--color-palette-search-icon: var(--
|
|
27
|
-
--color-palette-search-icon-hover: var(--
|
|
28
|
-
--color-palette-search-background: var(--
|
|
29
|
-
--color-palette-search-border: var(--
|
|
30
|
-
--color-palette-search-focus-background: var(--
|
|
31
|
-
--color-palette-search-focus-border: var(--
|
|
32
|
-
--color-palette-search-clear-focus-border: var(--
|
|
55
|
+
--color-palette-search-icon: var(--bio-text-subtle);
|
|
56
|
+
--color-palette-search-icon-hover: var(--bio-text);
|
|
57
|
+
--color-palette-search-background: var(--bio-surface);
|
|
58
|
+
--color-palette-search-border: var(--bio-border);
|
|
59
|
+
--color-palette-search-focus-background: var(--bio-primary-surface);
|
|
60
|
+
--color-palette-search-focus-border: var(--bio-focus);
|
|
61
|
+
--color-palette-search-clear-focus-border: var(--bio-border-input);
|
|
33
62
|
--color-palette-group-title: var(--color-palette-text);
|
|
34
63
|
--color-palette-field: var(--color-palette-text);
|
|
35
|
-
--color-palette-field-background: var(--
|
|
36
|
-
--color-palette-field-border: var(--
|
|
37
|
-
--color-palette-field-focus: var(--
|
|
38
|
-
--color-palette-field-hover-background: var(--
|
|
39
|
-
--color-palette-field-hover-border: var(
|
|
40
|
-
--cds-border-strong,
|
|
41
|
-
var(--cds-border-strong-01, var(--color-grey-225-10-55))
|
|
42
|
-
);
|
|
64
|
+
--color-palette-field-background: var(--bio-surface);
|
|
65
|
+
--color-palette-field-border: var(--bio-border-disabled);
|
|
66
|
+
--color-palette-field-focus: var(--bio-primary);
|
|
67
|
+
--color-palette-field-hover-background: var(--bio-surface-strong);
|
|
68
|
+
--color-palette-field-hover-border: var(--bio-border-input);
|
|
43
69
|
--cursor-palette-field: grab;
|
|
44
70
|
--palette-width: 270px;
|
|
45
71
|
}
|
|
46
72
|
|
|
47
73
|
.fjs-properties-container {
|
|
48
|
-
--color-properties-container-background: var(--
|
|
49
|
-
--color-properties-container-border: var(
|
|
50
|
-
--cds-border-strong,
|
|
51
|
-
var(--cds-border-strong-01, var(--color-grey-225-10-80))
|
|
52
|
-
);
|
|
74
|
+
--color-properties-container-background: var(--bio-surface);
|
|
75
|
+
--color-properties-container-border: var(--bio-border);
|
|
53
76
|
--properties-panel-width: 300px;
|
|
54
77
|
}
|
|
55
78
|
|
|
56
|
-
/**
|
|
57
|
-
* Theming overrides
|
|
58
|
-
*/
|
|
59
|
-
.fjs-properties-container .bio-properties-panel {
|
|
60
|
-
--text-base-color: var(--cds-text-primary, var(--color-grey-225-10-15));
|
|
61
|
-
--text-error-color: var(--cds-text-color, var(--color-red-360-100-45));
|
|
62
|
-
--link-color: var(--cds-text-primary, var(--color-blue-205-100-50));
|
|
63
|
-
--description-color: var(--cds-text-secondary, var(--color-grey-225-10-35));
|
|
64
|
-
--description-code-background-color: var(--cds-layer, var(--cds-layer-01, var(--color-grey-225-10-97)));
|
|
65
|
-
--description-code-border-color: var(--cds-border-strong, var(--cds-border-strong-01, var(--color-grey-225-10-85)));
|
|
66
|
-
--description-list-item-color: var(--cds-text-secondary, var(--color-grey-225-10-35));
|
|
67
|
-
--placeholder-color: var(--cds-text-placeholder, var(--color-grey-225-10-35));
|
|
68
|
-
--placeholder-background-color: var(--cds-layer, var(--cds-layer-01, var(--color-grey-225-10-95)));
|
|
69
|
-
--header-background-color: var(--cds-layer, var(--cds-layer-01, var(--color-grey-225-10-95)));
|
|
70
|
-
--header-icon-fill-color: var(--cds-icon-primary, var(--color-grey-225-10-15));
|
|
71
|
-
--header-bottom-border-color: var(--color-grey-225-10-75);
|
|
72
|
-
--group-background-color: var(--cds-background, var(--color-white));
|
|
73
|
-
--group-bottom-border-color: var(--cds-border-strong, var(--cds-border-strong-01, var(--color-grey-225-10-75)));
|
|
74
|
-
--sticky-group-background-color: var(--cds-layer, var(--cds-layer-01, var(--color-grey-225-10-95)));
|
|
75
|
-
--sticky-group-bottom-border-color: var(
|
|
76
|
-
--cds-border-strong,
|
|
77
|
-
var(--cds-border-strong-01, var(--color-grey-225-10-75))
|
|
78
|
-
);
|
|
79
|
-
--add-entry-fill-color: var(--cds-icon-secondary, var(--color-grey-225-10-35));
|
|
80
|
-
--add-entry-hover-fill-color: var(--cds-icon-inverse, var(--color-white));
|
|
81
|
-
--add-entry-hover-background-color: var(--cds-interactive, var(--color-blue-205-100-50));
|
|
82
|
-
--add-entry-label-color: var(--cds-text-inverse, var(--color-white));
|
|
83
|
-
--remove-entry-fill-color: var(--color-red-360-100-45);
|
|
84
|
-
--remove-entry-hover-background-color: var(--color-red-360-100-92);
|
|
85
|
-
--arrow-fill-color: var(--cds-icon-secondary, var(--color-grey-225-10-35));
|
|
86
|
-
--arrow-hover-background-color: var(--cds-layer, var(--cds-layer-01, var(--color-grey-225-10-95)));
|
|
87
|
-
--dot-color: var(--cds-text-secondary, var(--color-grey-225-10-35));
|
|
88
|
-
--list-badge-color: var(--cds-text-inverse, var(--color-white));
|
|
89
|
-
--list-badge-background-color: var(--cds-background-inverse, var(--color-grey-225-10-35));
|
|
90
|
-
--input-background-color: var(--cds-field, var(--cds-field-01, var(--color-grey-225-10-97)));
|
|
91
|
-
--input-border-color: var(--cds-border-strong, var(--cds-border-strong-01, var(--color-grey-225-10-75)));
|
|
92
|
-
--input-focus-background-color: var(--cds-field, var(--cds-field-01, var(--color-blue-205-100-95)));
|
|
93
|
-
--input-focus-border-color: var(--cds-focus, var(--color-blue-205-100-50));
|
|
94
|
-
--input-error-background-color: var(--cds-field, var(--cds-field-01, var(--color-red-360-100-97)));
|
|
95
|
-
--input-error-border-color: var(--cds-text-error, var(--color-red-360-100-45));
|
|
96
|
-
--input-error-focus-border-color: var(--cds-text-error, var(--color-red-360-100-45));
|
|
97
|
-
--input-disabled-color: var(--cds-text-disabled, var(--color-grey-225-10-55));
|
|
98
|
-
--input-disabled-background-color: var(--cds-field, var(--cds-field-01, var(--color-grey-225-10-97)));
|
|
99
|
-
--input-disabled-border-color: var(--cds-border-disabled, var(--color-grey-225-10-90));
|
|
100
|
-
--toggle-switch-on-background-color: var(--cds-interactive, var(--color-blue-205-100-50));
|
|
101
|
-
--toggle-switch-off-background-color: var(--cds-toggle-off, var(--color-grey-225-10-75));
|
|
102
|
-
--toggle-switch-switcher-background-color: var(--cds-background, var(--color-white));
|
|
103
|
-
--side-line-background-color: var(--cds-text-secondary, var(--color-grey-225-10-35));
|
|
104
|
-
--side-line-extension-background-color: var(--cds-text-secondary, var(--color-grey-225-10-35));
|
|
105
|
-
--list-entry-dot-background-color: var(--cds-background-inverse, var(--color-grey-225-10-35));
|
|
106
|
-
--list-entry-header-button-fill-color: var(--cds-background-inverse, var(--color-grey-225-10-35));
|
|
107
|
-
--list-entry-add-entry-empty-background-color: var(--cds-interactive, var(--color-blue-205-100-50));
|
|
108
|
-
--list-entry-add-entry-empty-hover-background-color: var(--cds-interactive, var(--color-blue-205-100-45));
|
|
109
|
-
--list-entry-add-entry-label-color: var(--cds-text-inverse, var(--color-white));
|
|
110
|
-
--list-entry-add-entry-background-color: var(--cds-interactive, var(--color-blue-205-100-50));
|
|
111
|
-
--list-entry-add-entry-fill-color: var(--cds-icon-inverse, var(--color-white));
|
|
112
|
-
--feel-background-color: transparent;
|
|
113
|
-
--feel-active-color: var(--cds-interactive, var(--color-blue-205-100-45));
|
|
114
|
-
--feel-inactive-color: var(--cds-icon-secondary, var(--color-grey-225-10-35));
|
|
115
|
-
--feel-hover-color: var(--cds-icon-primary, var(--color-grey-225-10-15));
|
|
116
|
-
--feel-hover-background-color: var(--cds-layer-02, var(--color-grey-225-10-97));
|
|
117
|
-
--feel-active-background-color: transparent;
|
|
118
|
-
--feel-required-color: var(--cds-icon-disabled, var(--color-grey-225-10-55));
|
|
119
|
-
--feel-indicator-background-color: var(--cds-background-hover, var(--color-grey-225-10-90));
|
|
120
|
-
}
|
|
121
|
-
|
|
122
79
|
.fjs-properties-container .bio-properties-panel-input {
|
|
123
80
|
color: var(--color-text);
|
|
124
81
|
}
|
|
@@ -258,7 +215,7 @@
|
|
|
258
215
|
}
|
|
259
216
|
|
|
260
217
|
.fjs-editor-container .fjs-empty-component .fjs-empty-component-text {
|
|
261
|
-
color: var(--
|
|
218
|
+
color: var(--color-text-lighter);
|
|
262
219
|
}
|
|
263
220
|
|
|
264
221
|
@container (width < 100px) {
|
|
@@ -342,7 +299,7 @@
|
|
|
342
299
|
max-height: calc(100% - 2px);
|
|
343
300
|
border: 1px solid var(--color-resize-handle-border);
|
|
344
301
|
border-radius: 50px;
|
|
345
|
-
background: var(--
|
|
302
|
+
background: var(--bio-surface);
|
|
346
303
|
z-index: 3;
|
|
347
304
|
}
|
|
348
305
|
|
|
@@ -380,7 +337,7 @@
|
|
|
380
337
|
|
|
381
338
|
.fjs-editor-container .fjs-repeat-render-footer {
|
|
382
339
|
font-size: var(--font-size-label);
|
|
383
|
-
background: var(--
|
|
340
|
+
background: var(--color-background-disabled);
|
|
384
341
|
color: var(--color-text-light);
|
|
385
342
|
padding: 3px;
|
|
386
343
|
display: flex;
|
|
@@ -511,12 +468,12 @@
|
|
|
511
468
|
color: var(--color-palette-search);
|
|
512
469
|
border: 1px solid var(--color-palette-search-border);
|
|
513
470
|
background-color: var(--color-palette-search-background);
|
|
514
|
-
border-radius:
|
|
471
|
+
border-radius: var(--input-border-radius);
|
|
515
472
|
font-size: 14px;
|
|
516
473
|
}
|
|
517
474
|
|
|
518
475
|
.fjs-palette-container .fjs-palette-search-container:focus-within {
|
|
519
|
-
outline:
|
|
476
|
+
outline: var(--outline-definition);
|
|
520
477
|
background-color: var(--color-palette-search-focus-background);
|
|
521
478
|
border: 1px solid var(--color-palette-search-focus-border);
|
|
522
479
|
}
|
|
@@ -649,7 +606,7 @@
|
|
|
649
606
|
}
|
|
650
607
|
|
|
651
608
|
.fjs-json-editor .cm-placeholder {
|
|
652
|
-
color: var(--
|
|
609
|
+
color: var(--color-text-placeholder);
|
|
653
610
|
}
|
|
654
611
|
|
|
655
612
|
.fjs-json-editor .cm-placeholder > :first-child {
|
|
@@ -718,7 +675,7 @@
|
|
|
718
675
|
|
|
719
676
|
.fjs-editor-container .fjs-form-field-spacer {
|
|
720
677
|
min-height: 30px;
|
|
721
|
-
background: repeating-linear-gradient(45deg,
|
|
678
|
+
background: repeating-linear-gradient(45deg, var(--bio-surface), var(--bio-surface) 10px, var(--bio-surface-subtle) 10px, var(--bio-surface-subtle) 20px);
|
|
722
679
|
}
|
|
723
680
|
|
|
724
681
|
.fjs-editor-container .fjs-form-field-html,
|
|
@@ -775,7 +732,7 @@
|
|
|
775
732
|
background-color: var(--color-dragula-mirror-background) !important;
|
|
776
733
|
border: solid 1px var(--color-dragula-mirror-border) !important;
|
|
777
734
|
border-radius: 5px !important;
|
|
778
|
-
box-shadow: 0px 0px 20px
|
|
735
|
+
box-shadow: 0px 0px 20px var(--bio-shadow) !important;
|
|
779
736
|
display: flex !important;
|
|
780
737
|
filter: none !important;
|
|
781
738
|
flex-direction: row !important;
|
|
@@ -795,7 +752,7 @@
|
|
|
795
752
|
font-size: 11px;
|
|
796
753
|
user-select: none;
|
|
797
754
|
color: var(--color-text);
|
|
798
|
-
background: var(--
|
|
755
|
+
background: var(--bio-surface);
|
|
799
756
|
}
|
|
800
757
|
|
|
801
758
|
.fjs-field-preview .fjs-field-preview-icon {
|
|
@@ -853,111 +810,165 @@
|
|
|
853
810
|
}
|
|
854
811
|
|
|
855
812
|
/**
|
|
856
|
-
*
|
|
813
|
+
* Semantic tokens, copied from `@bpmn-io/theme` to style the components
|
|
814
|
+
* according to this theme.
|
|
815
|
+
*
|
|
816
|
+
* Names and values of the tokens should stay intact with the `@bpmn-io/theme`
|
|
817
|
+
* source of truth, to ensure matching styles and allow overrides with an
|
|
818
|
+
* alternative theme.
|
|
857
819
|
*/
|
|
858
|
-
.bio-
|
|
859
|
-
|
|
860
|
-
--
|
|
861
|
-
--
|
|
862
|
-
--
|
|
863
|
-
--
|
|
864
|
-
--
|
|
865
|
-
--
|
|
866
|
-
--
|
|
867
|
-
--
|
|
868
|
-
--
|
|
869
|
-
--
|
|
870
|
-
--
|
|
871
|
-
--
|
|
872
|
-
--
|
|
873
|
-
--
|
|
874
|
-
--
|
|
875
|
-
--
|
|
876
|
-
--
|
|
877
|
-
--
|
|
878
|
-
--
|
|
879
|
-
--
|
|
880
|
-
--
|
|
881
|
-
--
|
|
882
|
-
--
|
|
883
|
-
--
|
|
884
|
-
--
|
|
885
|
-
--
|
|
820
|
+
.bio-theme-parent {
|
|
821
|
+
--bio-surface: hsl(0, 0%, 100%);
|
|
822
|
+
--bio-surface-overlay: hsl(0, 0%, 100%);
|
|
823
|
+
--bio-surface-subtle: hsl(225, 10%, 97%);
|
|
824
|
+
--bio-surface-medium: hsl(225, 10%, 95%);
|
|
825
|
+
--bio-surface-strong: hsl(225, 10%, 90%);
|
|
826
|
+
--bio-surface-inverted: hsl(0, 0%, 22%);
|
|
827
|
+
--bio-text: hsl(225, 10%, 15%);
|
|
828
|
+
--bio-text-subtle: hsl(225, 10%, 35%);
|
|
829
|
+
--bio-text-subtlest: hsl(225, 10%, 55%);
|
|
830
|
+
--bio-text-on-primary: hsl(0, 0%, 100%);
|
|
831
|
+
--bio-text-on-inverted: hsl(0, 0%, 100%);
|
|
832
|
+
--bio-border: hsl(225, 10%, 75%);
|
|
833
|
+
--bio-border-subtle: hsl(225, 10%, 85%);
|
|
834
|
+
--bio-border-disabled: hsl(225, 10%, 90%);
|
|
835
|
+
--bio-border-input: hsl(225, 10%, 75%);
|
|
836
|
+
--bio-primary: hsl(205, 100%, 40%);
|
|
837
|
+
--bio-primary-hover: hsl(205, 100%, 35%);
|
|
838
|
+
--bio-primary-surface: hsl(205, 100%, 95%);
|
|
839
|
+
--bio-primary-surface-strong: hsl(205, 100%, 85%);
|
|
840
|
+
--bio-neutral: hsl(225, 10%, 35%);
|
|
841
|
+
--bio-danger: hsl(360, 100%, 45%);
|
|
842
|
+
--bio-danger-hover: hsl(360, 100%, 40%);
|
|
843
|
+
--bio-danger-surface: hsl(360, 100%, 92%);
|
|
844
|
+
--bio-danger-surface-subtle: hsl(360, 100%, 97%);
|
|
845
|
+
--bio-warning: hsl(35, 84%, 62%);
|
|
846
|
+
--bio-warning-hover: hsl(35, 84%, 57%);
|
|
847
|
+
--bio-warning-text: hsl(39, 100%, 33%);
|
|
848
|
+
--bio-warning-surface: hsl(38, 100%, 96%);
|
|
849
|
+
--bio-info: hsl(205, 100%, 40%);
|
|
850
|
+
--bio-info-on-inverted: hsl(218, 100%, 74%);
|
|
851
|
+
--bio-focus: hsl(205, 100%, 40%);
|
|
852
|
+
--bio-focus-ring: hsla(205, 100%, 40%, 0.35);
|
|
853
|
+
--bio-focus-ring-danger: hsla(360, 100%, 45%, 0.35);
|
|
854
|
+
--bio-focus-ring-warning: hsla(35, 84%, 62%, 0.35);
|
|
855
|
+
--bio-shadow: hsla(0, 0%, 0%, 30%);
|
|
856
|
+
--bio-shadow-subtle: hsla(0, 0%, 0%, 10%);
|
|
857
|
+
--bio-radius-sm: 2px;
|
|
858
|
+
--bio-radius-lg: 4px;
|
|
886
859
|
}
|
|
887
860
|
|
|
888
861
|
.bio-properties-panel {
|
|
889
|
-
--text-base-color: var(--
|
|
890
|
-
--text-error-color: var(--
|
|
891
|
-
--
|
|
892
|
-
--
|
|
893
|
-
--
|
|
894
|
-
--
|
|
895
|
-
--description-
|
|
896
|
-
--
|
|
897
|
-
--
|
|
898
|
-
--
|
|
899
|
-
--
|
|
900
|
-
--
|
|
901
|
-
--
|
|
902
|
-
--
|
|
903
|
-
--
|
|
904
|
-
--
|
|
905
|
-
--
|
|
906
|
-
--
|
|
907
|
-
--
|
|
908
|
-
--
|
|
909
|
-
--
|
|
910
|
-
--
|
|
911
|
-
--
|
|
912
|
-
--
|
|
913
|
-
--
|
|
914
|
-
--
|
|
915
|
-
--
|
|
916
|
-
--
|
|
917
|
-
--
|
|
918
|
-
--
|
|
919
|
-
--
|
|
920
|
-
--
|
|
921
|
-
--
|
|
922
|
-
--
|
|
923
|
-
--
|
|
924
|
-
--
|
|
925
|
-
--
|
|
926
|
-
--
|
|
927
|
-
--
|
|
928
|
-
--
|
|
929
|
-
--
|
|
930
|
-
--
|
|
931
|
-
--
|
|
932
|
-
--
|
|
933
|
-
--
|
|
934
|
-
--
|
|
935
|
-
--
|
|
936
|
-
--
|
|
937
|
-
--
|
|
938
|
-
--
|
|
939
|
-
--
|
|
940
|
-
--
|
|
941
|
-
--
|
|
942
|
-
--
|
|
943
|
-
--
|
|
862
|
+
--text-base-color: var(--bio-text);
|
|
863
|
+
--text-error-color: var(--bio-danger);
|
|
864
|
+
--text-warning-color: var(--bio-warning-text);
|
|
865
|
+
--accent-color: var(--bio-primary);
|
|
866
|
+
--accent-hover-color: var(--bio-primary-hover);
|
|
867
|
+
--link-color: var(--bio-info);
|
|
868
|
+
--description-color: var(--bio-text-subtle);
|
|
869
|
+
--description-code-background-color: var(--bio-surface-subtle);
|
|
870
|
+
--description-code-border-color: var(--bio-border-subtle);
|
|
871
|
+
--description-list-item-color: var(--bio-text-subtle);
|
|
872
|
+
--tooltip-underline-color: var(--bio-text-subtlest);
|
|
873
|
+
--placeholder-color: var(--bio-text-subtle);
|
|
874
|
+
--placeholder-background-color: var(--bio-surface-medium);
|
|
875
|
+
--header-background-color: var(--bio-surface-medium);
|
|
876
|
+
--header-icon-fill-color: var(--bio-text);
|
|
877
|
+
--header-bottom-border-color: var(--bio-border);
|
|
878
|
+
--group-background-color: var(--bio-surface);
|
|
879
|
+
--group-bottom-border-color: var(--bio-border);
|
|
880
|
+
--sticky-group-background-color: var(--bio-surface-medium);
|
|
881
|
+
--sticky-list-entry-background-color: var(--bio-surface);
|
|
882
|
+
--sticky-group-bottom-border-color: var(--bio-border);
|
|
883
|
+
--add-entry-fill-color: var(--bio-text-subtle);
|
|
884
|
+
--add-entry-hover-fill-color: var(--bio-text-on-primary);
|
|
885
|
+
--add-entry-hover-background-color: var(--bio-primary);
|
|
886
|
+
--add-entry-label-color: var(--bio-text-on-primary);
|
|
887
|
+
--remove-entry-fill-color: var(--bio-danger);
|
|
888
|
+
--remove-entry-hover-background-color: var(--bio-danger-surface);
|
|
889
|
+
--arrow-fill-color: var(--bio-text-subtle);
|
|
890
|
+
--arrow-hover-background-color: var(--bio-surface-medium);
|
|
891
|
+
--warning-badge-background-color: var(--bio-warning);
|
|
892
|
+
--warning-badge-color: var(--bio-text);
|
|
893
|
+
--warning-badge-hover-background-color: var(--bio-warning-hover);
|
|
894
|
+
--error-badge-background-color: var(--bio-danger);
|
|
895
|
+
--error-badge-color: var(--bio-text-on-primary);
|
|
896
|
+
--error-badge-hover-background-color: var(--bio-danger-hover);
|
|
897
|
+
--accent-badge-background-color: var(--accent-color);
|
|
898
|
+
--accent-badge-color: var(--bio-text-on-primary);
|
|
899
|
+
--accent-badge-fill-color: var(--bio-text-on-primary);
|
|
900
|
+
--accent-badge-hover-background-color: var(--accent-hover-color);
|
|
901
|
+
--dot-color: var(--bio-neutral);
|
|
902
|
+
--dot-color-error: var(--error-badge-background-color);
|
|
903
|
+
--dot-color-warning: var(--warning-badge-background-color);
|
|
904
|
+
--list-badge-color: var(--bio-text-on-primary);
|
|
905
|
+
--list-badge-background-color: var(--bio-neutral);
|
|
906
|
+
--input-background-color: var(--bio-surface-subtle);
|
|
907
|
+
--input-border-color: var(--bio-border-input);
|
|
908
|
+
--input-border-radius: var(--bio-radius-sm);
|
|
909
|
+
--checkbox-size: 14px;
|
|
910
|
+
--checkbox-border-radius: var(--bio-radius-lg);
|
|
911
|
+
--checkbox-border-color: var(--input-border-color);
|
|
912
|
+
--checkbox-background-color: var(--input-background-color);
|
|
913
|
+
--checkbox-checked-background-color: var(--bio-primary);
|
|
914
|
+
--checkbox-checked-border-color: var(--bio-primary);
|
|
915
|
+
--input-focus-background-color: var(--bio-primary-surface);
|
|
916
|
+
--input-focus-border-color: var(--bio-primary);
|
|
917
|
+
--focus-outline-color: var(--bio-focus);
|
|
918
|
+
/**
|
|
919
|
+
* Focus ring — reusable, themeable primitive shared by inputs, checkboxes,
|
|
920
|
+
* toggles and any control with the `bio-properties-panel-focus-ring` class.
|
|
921
|
+
*/
|
|
922
|
+
--focus-ring-color: var(--bio-focus-ring);
|
|
923
|
+
--focus-ring-error-color: var(--bio-focus-ring-danger);
|
|
924
|
+
--focus-ring-warning-color: var(--bio-focus-ring-warning);
|
|
925
|
+
--focus-ring-width: 2px;
|
|
926
|
+
--focus-ring-offset: 0px;
|
|
927
|
+
--focus-ring-offset-color: var(--group-background-color);
|
|
928
|
+
--input-error-background-color: var(--bio-danger-surface-subtle);
|
|
929
|
+
--input-error-border-color: var(--bio-danger);
|
|
930
|
+
--input-error-focus-border-color: var(--bio-danger);
|
|
931
|
+
--input-warning-background-color: var(--bio-warning-surface);
|
|
932
|
+
--input-warning-border-color: var(--bio-warning);
|
|
933
|
+
--input-warning-focus-border-color: var(--bio-warning);
|
|
934
|
+
--input-disabled-color: var(--bio-text-subtlest);
|
|
935
|
+
--input-disabled-background-color: var(--bio-surface-subtle);
|
|
936
|
+
--input-disabled-border-color: var(--bio-border-disabled);
|
|
937
|
+
--toggle-switch-on-background-color: var(--bio-primary);
|
|
938
|
+
--toggle-switch-off-background-color: var(--bio-border-input);
|
|
939
|
+
--toggle-switch-switcher-background-color: var(--bio-surface);
|
|
940
|
+
--side-line-background-color: var(--bio-text-subtle);
|
|
941
|
+
--side-line-extension-background-color: var(--bio-text-subtle);
|
|
942
|
+
--list-entry-dot-background-color: var(--bio-neutral);
|
|
943
|
+
--list-entry-header-button-fill-color: var(--bio-text-subtle);
|
|
944
|
+
--list-entry-add-entry-empty-background-color: var(--bio-primary);
|
|
945
|
+
--list-entry-add-entry-empty-hover-background-color: var(--bio-primary-hover);
|
|
946
|
+
--list-entry-add-entry-label-color: var(--bio-text-on-primary);
|
|
947
|
+
--list-entry-add-entry-background-color: var(--bio-primary);
|
|
948
|
+
--list-entry-add-entry-fill-color: var(--bio-text-on-primary);
|
|
949
|
+
--dropdown-item-background-color: var(--bio-surface-overlay);
|
|
950
|
+
--dropdown-item-hover-background-color: var(--bio-surface-medium);
|
|
951
|
+
--dropdown-separator-background-color: var(--bio-border);
|
|
944
952
|
--feel-background-color: transparent;
|
|
945
|
-
--feel-active-color: var(--color
|
|
946
|
-
--feel-inactive-color: var(--
|
|
947
|
-
--feel-hover-color: var(--
|
|
948
|
-
--feel-hover-background-color: var(--
|
|
953
|
+
--feel-active-color: var(--accent-color);
|
|
954
|
+
--feel-inactive-color: var(--bio-text-subtle);
|
|
955
|
+
--feel-hover-color: var(--bio-text);
|
|
956
|
+
--feel-hover-background-color: var(--bio-surface-subtle);
|
|
949
957
|
--feel-active-background-color: transparent;
|
|
950
|
-
--feel-required-color: var(--
|
|
951
|
-
--feel-open-popup-color:
|
|
952
|
-
--feel-open-popup-background-color: var(--
|
|
953
|
-
--feel-open-popup-hover-color:
|
|
954
|
-
--feel-indicator-background-color: var(--
|
|
955
|
-
--feelers-select-color: var(--
|
|
958
|
+
--feel-required-color: var(--bio-text-subtlest);
|
|
959
|
+
--feel-open-popup-color: var(--bio-text-subtle);
|
|
960
|
+
--feel-open-popup-background-color: var(--bio-surface-overlay);
|
|
961
|
+
--feel-open-popup-hover-color: var(--bio-primary);
|
|
962
|
+
--feel-indicator-background-color: var(--bio-surface-strong);
|
|
963
|
+
--feelers-select-color: var(--bio-primary-surface-strong);
|
|
956
964
|
--text-size-base: 14px;
|
|
957
965
|
--text-size-small: 13px;
|
|
958
966
|
--text-size-smallest: 12px;
|
|
959
967
|
--text-line-height: 21px;
|
|
960
|
-
--line-height-condensed:
|
|
968
|
+
--line-height-condensed: 18px;
|
|
969
|
+
--input-height: 28px;
|
|
970
|
+
--description-offset: 5px;
|
|
971
|
+
--label-offset: 3px;
|
|
961
972
|
--font-family: sans-serif;
|
|
962
973
|
--font-family-monospace: monospace;
|
|
963
974
|
display: flex;
|
|
@@ -1202,6 +1213,10 @@
|
|
|
1202
1213
|
background-color: var(--dot-color);
|
|
1203
1214
|
}
|
|
1204
1215
|
|
|
1216
|
+
.bio-properties-panel-dot--warning {
|
|
1217
|
+
--dot-color: var(--dot-color-warning);
|
|
1218
|
+
}
|
|
1219
|
+
|
|
1205
1220
|
.bio-properties-panel-dot--error {
|
|
1206
1221
|
--dot-color: var(--dot-color-error);
|
|
1207
1222
|
}
|
|
@@ -1233,15 +1248,26 @@
|
|
|
1233
1248
|
background-color: var(--list-badge-background-color);
|
|
1234
1249
|
}
|
|
1235
1250
|
|
|
1251
|
+
.bio-properties-panel-list-badge--warning {
|
|
1252
|
+
--list-badge-background-color: var(--warning-badge-background-color);
|
|
1253
|
+
--list-badge-color: var(--warning-badge-color);
|
|
1254
|
+
}
|
|
1255
|
+
|
|
1236
1256
|
.bio-properties-panel-list-badge--error {
|
|
1237
|
-
--list-badge-background-color: var(--
|
|
1257
|
+
--list-badge-background-color: var(--error-badge-background-color);
|
|
1258
|
+
--list-badge-color: var(--error-badge-color);
|
|
1259
|
+
}
|
|
1260
|
+
|
|
1261
|
+
.bio-properties-panel-list-badge--accent {
|
|
1262
|
+
--list-badge-background-color: var(--accent-badge-background-color);
|
|
1263
|
+
--list-badge-color: var(--accent-badge-color);
|
|
1238
1264
|
}
|
|
1239
1265
|
|
|
1240
1266
|
/**
|
|
1241
1267
|
* Basic entries
|
|
1242
1268
|
*/
|
|
1243
1269
|
.bio-properties-panel-entry {
|
|
1244
|
-
margin:
|
|
1270
|
+
margin: 3px 32px 6px 12px;
|
|
1245
1271
|
}
|
|
1246
1272
|
|
|
1247
1273
|
.bio-properties-panel-entry:last-child {
|
|
@@ -1251,7 +1277,7 @@
|
|
|
1251
1277
|
.bio-properties-panel-label {
|
|
1252
1278
|
display: block;
|
|
1253
1279
|
font-size: var(--text-size-small);
|
|
1254
|
-
margin:
|
|
1280
|
+
margin: var(--label-offset) 0;
|
|
1255
1281
|
}
|
|
1256
1282
|
|
|
1257
1283
|
.bio-properties-panel-description,
|
|
@@ -1260,7 +1286,7 @@
|
|
|
1260
1286
|
.bio-properties-panel-description div {
|
|
1261
1287
|
color: var(--description-color);
|
|
1262
1288
|
display: block;
|
|
1263
|
-
margin:
|
|
1289
|
+
margin: var(--description-offset) 0;
|
|
1264
1290
|
line-height: var(--line-height-condensed);
|
|
1265
1291
|
font-weight: 400;
|
|
1266
1292
|
font-size: var(--text-size-small);
|
|
@@ -1304,10 +1330,24 @@
|
|
|
1304
1330
|
|
|
1305
1331
|
.bio-properties-panel-feelers-editor.bio-properties-panel-input {
|
|
1306
1332
|
padding: 0;
|
|
1333
|
+
min-height: var(--input-height);
|
|
1334
|
+
}
|
|
1335
|
+
|
|
1336
|
+
/**
|
|
1337
|
+
* Normalize the vertical rhythm of the feelers and JSON editors so single-line
|
|
1338
|
+
* editors line up with plain inputs. CodeMirror's default `.cm-content` padding
|
|
1339
|
+
* of `4px 0` would otherwise render them a few pixels taller than the
|
|
1340
|
+
* surrounding controls. (The FEEL editor already zeroes its own content padding
|
|
1341
|
+
* and sizes to the shared baseline, so it is intentionally left untouched.)
|
|
1342
|
+
*/
|
|
1343
|
+
.bio-properties-panel-feelers-editor .cm-content,
|
|
1344
|
+
.bio-properties-panel-json-editor .cm-content {
|
|
1345
|
+
padding-top: 3px;
|
|
1346
|
+
padding-bottom: 2px;
|
|
1307
1347
|
}
|
|
1308
1348
|
|
|
1309
1349
|
.bio-properties-panel-feelers-input .cm-editor {
|
|
1310
|
-
min-height:
|
|
1350
|
+
min-height: var(--input-height);
|
|
1311
1351
|
max-height: 215px;
|
|
1312
1352
|
background-color: transparent;
|
|
1313
1353
|
}
|
|
@@ -1320,7 +1360,7 @@
|
|
|
1320
1360
|
.bio-properties-panel-input {
|
|
1321
1361
|
padding: 3px 6px 2px;
|
|
1322
1362
|
border: 1px solid var(--input-border-color);
|
|
1323
|
-
border-radius:
|
|
1363
|
+
border-radius: var(--input-border-radius);
|
|
1324
1364
|
background-color: var(--input-background-color);
|
|
1325
1365
|
font-size: var(--text-size-base);
|
|
1326
1366
|
font-family: inherit;
|
|
@@ -1332,25 +1372,52 @@ textarea.bio-properties-panel-input,
|
|
|
1332
1372
|
.bio-properties-panel-input[type=text] {
|
|
1333
1373
|
display: block;
|
|
1334
1374
|
width: 100%;
|
|
1375
|
+
min-height: var(--input-height);
|
|
1335
1376
|
}
|
|
1336
1377
|
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1378
|
+
/**
|
|
1379
|
+
* Focus ring
|
|
1380
|
+
*
|
|
1381
|
+
* A themeable, reusable focus indicator shared by all controls — inputs,
|
|
1382
|
+
* checkboxes (rendered as custom `appearance: none` controls so the ring
|
|
1383
|
+
* paints and follows their corners) and toggles. To reuse it in a custom
|
|
1384
|
+
* component, add the `bio-properties-panel-focus-ring` class to the focusable
|
|
1385
|
+
* element; when placed inside an entry with `has-error` it switches to the
|
|
1386
|
+
* error color. Tune the look via the `--focus-ring-*` variables (and
|
|
1387
|
+
* `--input-border-radius` / `--checkbox-border-radius` for corners).
|
|
1388
|
+
*/
|
|
1341
1389
|
.bio-properties-panel-input:focus,
|
|
1342
|
-
.bio-properties-panel-input:focus-within
|
|
1390
|
+
.bio-properties-panel-input:focus-within,
|
|
1391
|
+
.bio-properties-panel-toggle-switch__switcher:focus-within,
|
|
1392
|
+
.bio-properties-panel-focus-ring:focus,
|
|
1393
|
+
.bio-properties-panel-focus-ring:focus-within {
|
|
1343
1394
|
outline: none;
|
|
1395
|
+
box-shadow: 0 0 0 var(--focus-ring-offset) var(--focus-ring-offset-color), 0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring-color);
|
|
1396
|
+
}
|
|
1397
|
+
|
|
1398
|
+
/* keep focus visible where box-shadow is dropped (e.g. Windows High Contrast) */
|
|
1399
|
+
@media (forced-colors: active) {
|
|
1400
|
+
.bio-properties-panel-input:focus,
|
|
1401
|
+
.bio-properties-panel-input:focus-within,
|
|
1402
|
+
.bio-properties-panel-toggle-switch__switcher:focus-within,
|
|
1403
|
+
.bio-properties-panel-focus-ring:focus,
|
|
1404
|
+
.bio-properties-panel-focus-ring:focus-within {
|
|
1405
|
+
outline: 2px solid Highlight;
|
|
1406
|
+
outline-offset: var(--focus-ring-offset);
|
|
1407
|
+
}
|
|
1408
|
+
/* the custom checkmark (SVG background) is not recolored by the OS; fall back
|
|
1409
|
+
to the native checkbox so the checked state stays visible */
|
|
1410
|
+
.bio-properties-panel-input[type=checkbox] {
|
|
1411
|
+
appearance: auto;
|
|
1412
|
+
-webkit-appearance: auto;
|
|
1413
|
+
}
|
|
1414
|
+
}
|
|
1415
|
+
.bio-properties-panel-input:focus:not([type=checkbox]),
|
|
1416
|
+
.bio-properties-panel-input:focus-within {
|
|
1344
1417
|
background-color: var(--input-focus-background-color);
|
|
1345
1418
|
border: 1px solid var(--input-focus-border-color);
|
|
1346
1419
|
}
|
|
1347
1420
|
|
|
1348
|
-
.bio-properties-panel-textfield:focus-within,
|
|
1349
|
-
.bio-properties-panel-feel-entry:focus-within {
|
|
1350
|
-
--input-background-color: var(--input-focus-background-color);
|
|
1351
|
-
--input-border-color: var(--input-focus-border-color);
|
|
1352
|
-
}
|
|
1353
|
-
|
|
1354
1421
|
.bio-properties-panel-input:disabled {
|
|
1355
1422
|
border-color: var(--input-disabled-border-color);
|
|
1356
1423
|
background-color: var(--input-disabled-background-color);
|
|
@@ -1366,22 +1433,57 @@ select.bio-properties-panel-input {
|
|
|
1366
1433
|
font-family: var(--font-family-monospace);
|
|
1367
1434
|
}
|
|
1368
1435
|
|
|
1369
|
-
.bio-properties-panel-input[type=
|
|
1436
|
+
.bio-properties-panel-input[type=radio] {
|
|
1370
1437
|
margin: 0;
|
|
1371
1438
|
vertical-align: middle;
|
|
1372
1439
|
}
|
|
1373
1440
|
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
outline
|
|
1377
|
-
outline-offset:
|
|
1441
|
+
/* native radios drop `box-shadow`; keep a visible outline-based focus ring */
|
|
1442
|
+
.bio-properties-panel-input[type=radio]:focus {
|
|
1443
|
+
outline: var(--focus-ring-width) solid var(--focus-ring-color);
|
|
1444
|
+
outline-offset: var(--focus-ring-offset);
|
|
1445
|
+
}
|
|
1446
|
+
|
|
1447
|
+
/**
|
|
1448
|
+
* Checkbox
|
|
1449
|
+
*
|
|
1450
|
+
* Rendered as a custom control (`appearance: none`) following shadcn/ui: native
|
|
1451
|
+
* checkboxes drop `box-shadow`, so the shared focus ring could never paint on
|
|
1452
|
+
* them and fell back to the browser's square outline. As a custom element the
|
|
1453
|
+
* box-shadow ring renders and follows `border-radius`, giving a properly rounded
|
|
1454
|
+
* ring — no checkbox-specific focus rule needed. Themeable via `--checkbox-*`.
|
|
1455
|
+
*/
|
|
1456
|
+
.bio-properties-panel-input[type=checkbox] {
|
|
1457
|
+
appearance: none;
|
|
1458
|
+
-webkit-appearance: none;
|
|
1459
|
+
box-sizing: border-box;
|
|
1460
|
+
width: var(--checkbox-size);
|
|
1461
|
+
height: var(--checkbox-size);
|
|
1462
|
+
margin: 0;
|
|
1463
|
+
padding: 0;
|
|
1464
|
+
vertical-align: middle;
|
|
1465
|
+
border: 1px solid var(--checkbox-border-color);
|
|
1466
|
+
border-radius: var(--checkbox-border-radius);
|
|
1467
|
+
background: var(--checkbox-background-color) center/contain no-repeat;
|
|
1468
|
+
cursor: pointer;
|
|
1469
|
+
}
|
|
1470
|
+
|
|
1471
|
+
.bio-properties-panel-input[type=checkbox]:checked {
|
|
1472
|
+
border-color: var(--checkbox-checked-border-color);
|
|
1473
|
+
background-color: var(--checkbox-checked-background-color);
|
|
1474
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 4.5 6.5 11.5 3 8'/%3E%3C/svg%3E");
|
|
1475
|
+
}
|
|
1476
|
+
|
|
1477
|
+
.bio-properties-panel-input[type=checkbox]:disabled {
|
|
1478
|
+
cursor: not-allowed;
|
|
1479
|
+
border-color: var(--input-disabled-border-color);
|
|
1480
|
+
background-color: var(--input-disabled-background-color);
|
|
1378
1481
|
}
|
|
1379
1482
|
|
|
1380
1483
|
.bio-properties-panel-checkbox > .bio-properties-panel-label {
|
|
1381
1484
|
display: inline-block;
|
|
1382
1485
|
font-size: var(--text-size-base);
|
|
1383
1486
|
margin-left: 6px;
|
|
1384
|
-
margin-top: auto;
|
|
1385
1487
|
vertical-align: middle;
|
|
1386
1488
|
}
|
|
1387
1489
|
|
|
@@ -1397,6 +1499,36 @@ textarea.bio-properties-panel-input {
|
|
|
1397
1499
|
resize: vertical;
|
|
1398
1500
|
}
|
|
1399
1501
|
|
|
1502
|
+
textarea.bio-properties-panel-input.auto-resize {
|
|
1503
|
+
/* auto-resizing textareas grow with their content, so manual resizing is pointless */
|
|
1504
|
+
resize: none;
|
|
1505
|
+
field-sizing: content;
|
|
1506
|
+
}
|
|
1507
|
+
|
|
1508
|
+
.bio-properties-panel-entry.has-warning .bio-properties-panel-input,
|
|
1509
|
+
.bio-properties-panel-entry.has-warning .bio-properties-panel-feel-editor__open-popup-placeholder {
|
|
1510
|
+
border-color: var(--input-warning-border-color);
|
|
1511
|
+
background-color: var(--input-warning-background-color);
|
|
1512
|
+
}
|
|
1513
|
+
|
|
1514
|
+
.bio-properties-panel-entry.has-warning .bio-properties-panel-feel-indicator {
|
|
1515
|
+
border-color: var(--input-warning-border-color);
|
|
1516
|
+
}
|
|
1517
|
+
|
|
1518
|
+
.bio-properties-panel-entry.has-warning .bio-properties-panel-input:focus,
|
|
1519
|
+
.bio-properties-panel-entry.has-warning .bio-properties-panel-input:focus-within,
|
|
1520
|
+
.bio-properties-panel-entry.has-warning .bio-properties-panel-feel-indicator:focus {
|
|
1521
|
+
border-color: var(--input-warning-focus-border-color);
|
|
1522
|
+
}
|
|
1523
|
+
|
|
1524
|
+
.bio-properties-panel-entry.has-warning .bio-properties-panel-input:focus,
|
|
1525
|
+
.bio-properties-panel-entry.has-warning .bio-properties-panel-input:focus-within,
|
|
1526
|
+
.bio-properties-panel-entry.has-warning .bio-properties-panel-toggle-switch__switcher:focus-within,
|
|
1527
|
+
.bio-properties-panel-entry.has-warning .bio-properties-panel-focus-ring:focus,
|
|
1528
|
+
.bio-properties-panel-entry.has-warning .bio-properties-panel-focus-ring:focus-within {
|
|
1529
|
+
--focus-ring-color: var(--focus-ring-warning-color);
|
|
1530
|
+
}
|
|
1531
|
+
|
|
1400
1532
|
.bio-properties-panel-entry.has-error .bio-properties-panel-input,
|
|
1401
1533
|
.bio-properties-panel-entry.has-error .bio-properties-panel-feel-editor__open-popup-placeholder {
|
|
1402
1534
|
border-color: var(--input-error-border-color);
|
|
@@ -1408,14 +1540,32 @@ textarea.bio-properties-panel-input {
|
|
|
1408
1540
|
}
|
|
1409
1541
|
|
|
1410
1542
|
.bio-properties-panel-entry.has-error .bio-properties-panel-input:focus,
|
|
1543
|
+
.bio-properties-panel-entry.has-error .bio-properties-panel-input:focus-within,
|
|
1411
1544
|
.bio-properties-panel-entry.has-error .bio-properties-panel-feel-indicator:focus {
|
|
1412
1545
|
border-color: var(--input-error-focus-border-color);
|
|
1413
1546
|
}
|
|
1414
1547
|
|
|
1415
|
-
.bio-properties-panel-entry .bio-properties-panel-
|
|
1416
|
-
|
|
1417
|
-
|
|
1548
|
+
.bio-properties-panel-entry.has-error .bio-properties-panel-input:focus,
|
|
1549
|
+
.bio-properties-panel-entry.has-error .bio-properties-panel-input:focus-within,
|
|
1550
|
+
.bio-properties-panel-entry.has-error .bio-properties-panel-toggle-switch__switcher:focus-within,
|
|
1551
|
+
.bio-properties-panel-entry.has-error .bio-properties-panel-focus-ring:focus,
|
|
1552
|
+
.bio-properties-panel-entry.has-error .bio-properties-panel-focus-ring:focus-within {
|
|
1553
|
+
--focus-ring-color: var(--focus-ring-error-color);
|
|
1554
|
+
}
|
|
1555
|
+
|
|
1556
|
+
.bio-properties-panel-warning,
|
|
1557
|
+
.bio-properties-panel-error {
|
|
1558
|
+
margin: var(--description-offset) 0;
|
|
1418
1559
|
font-size: var(--text-size-small);
|
|
1560
|
+
line-height: var(--line-height-condensed);
|
|
1561
|
+
}
|
|
1562
|
+
|
|
1563
|
+
.bio-properties-panel-warning {
|
|
1564
|
+
color: var(--text-warning-color);
|
|
1565
|
+
}
|
|
1566
|
+
|
|
1567
|
+
.bio-properties-panel-error {
|
|
1568
|
+
color: var(--text-error-color);
|
|
1419
1569
|
}
|
|
1420
1570
|
|
|
1421
1571
|
.bio-properties-panel-simple {
|
|
@@ -1432,6 +1582,7 @@ textarea.bio-properties-panel-input {
|
|
|
1432
1582
|
*/
|
|
1433
1583
|
.bio-properties-panel-json-editor .bio-properties-panel-input {
|
|
1434
1584
|
padding: 0;
|
|
1585
|
+
min-height: var(--input-height);
|
|
1435
1586
|
}
|
|
1436
1587
|
|
|
1437
1588
|
.bio-properties-panel-json-editor .cm-editor {
|
|
@@ -1491,11 +1642,7 @@ textarea.bio-properties-panel-input {
|
|
|
1491
1642
|
position: relative;
|
|
1492
1643
|
width: 32px;
|
|
1493
1644
|
height: 16px;
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
.bio-properties-panel-toggle-switch .bio-properties-panel-toggle-switch__switcher:focus-within {
|
|
1497
|
-
outline: 2px solid var(--input-focus-border-color);
|
|
1498
|
-
outline-offset: 1px;
|
|
1645
|
+
border-radius: 34px;
|
|
1499
1646
|
}
|
|
1500
1647
|
|
|
1501
1648
|
.bio-properties-panel-toggle-switch .bio-properties-panel-toggle-switch__switcher input[type=checkbox] {
|
|
@@ -1674,7 +1821,7 @@ textarea.bio-properties-panel-input {
|
|
|
1674
1821
|
}
|
|
1675
1822
|
|
|
1676
1823
|
.bio-properties-panel-list-entry-header.sticky {
|
|
1677
|
-
background-color: var(--color
|
|
1824
|
+
background-color: var(--sticky-list-entry-background-color);
|
|
1678
1825
|
border-bottom: 1px solid var(--sticky-group-bottom-border-color);
|
|
1679
1826
|
top: 32px;
|
|
1680
1827
|
z-index: 9;
|
|
@@ -1822,7 +1969,7 @@ textarea.bio-properties-panel-input {
|
|
|
1822
1969
|
z-index: 101;
|
|
1823
1970
|
background-color: var(--dropdown-item-background-color);
|
|
1824
1971
|
padding: 8px 0;
|
|
1825
|
-
box-shadow: 0 1px 4px 0 var(--
|
|
1972
|
+
box-shadow: 0 1px 4px 0 var(--bio-shadow-subtle), 0 2px 16px 0 var(--bio-shadow);
|
|
1826
1973
|
}
|
|
1827
1974
|
|
|
1828
1975
|
.bio-properties-panel-dropdown-button__menu-item {
|
|
@@ -1931,7 +2078,17 @@ textarea.bio-properties-panel-input {
|
|
|
1931
2078
|
.bio-properties-panel-feel-container .bio-properties-panel-feel-editor-container > div {
|
|
1932
2079
|
position: static;
|
|
1933
2080
|
padding-left: 2.4em !important;
|
|
1934
|
-
min-height:
|
|
2081
|
+
min-height: var(--input-height);
|
|
2082
|
+
}
|
|
2083
|
+
|
|
2084
|
+
/* reserve space on the first line for the open pop-up button, only while the input is focused or hovered */
|
|
2085
|
+
.bio-properties-panel-feel-container .bio-properties-panel-feel-editor-container:is(:hover, :focus-within) .cm-line:first-child::before,
|
|
2086
|
+
.bio-properties-panel-feelers-input .bio-properties-panel-feelers-editor-container:is(:hover, :focus-within) .cm-line:first-child::before,
|
|
2087
|
+
.bio-properties-panel-feel-container .bio-properties-panel-feelers-editor-container:is(:hover, :focus-within) .cm-line:first-child::before {
|
|
2088
|
+
content: "";
|
|
2089
|
+
float: right;
|
|
2090
|
+
width: 1.7em;
|
|
2091
|
+
height: 1.5em;
|
|
1935
2092
|
}
|
|
1936
2093
|
|
|
1937
2094
|
.bio-properties-panel-feel-indicator {
|
|
@@ -1939,7 +2096,7 @@ textarea.bio-properties-panel-input {
|
|
|
1939
2096
|
border: 1px solid var(--input-border-color);
|
|
1940
2097
|
background-color: var(--feel-indicator-background-color);
|
|
1941
2098
|
border-right: 0px;
|
|
1942
|
-
border-radius:
|
|
2099
|
+
border-radius: var(--input-border-radius) 0 0 var(--input-border-radius);
|
|
1943
2100
|
z-index: 1;
|
|
1944
2101
|
height: 100%;
|
|
1945
2102
|
width: 2em;
|
|
@@ -1947,6 +2104,23 @@ textarea.bio-properties-panel-input {
|
|
|
1947
2104
|
padding: 2px 6px;
|
|
1948
2105
|
}
|
|
1949
2106
|
|
|
2107
|
+
/**
|
|
2108
|
+
* `:has()` so the indicator tracks real editor focus only — a plain
|
|
2109
|
+
* `:focus-within` would also match the sibling pop-out button. Degrades to a
|
|
2110
|
+
* neutral border where `:has()` is unsupported.
|
|
2111
|
+
*/
|
|
2112
|
+
.bio-properties-panel-feel-container:has(.bio-properties-panel-input:focus-within) .bio-properties-panel-feel-indicator {
|
|
2113
|
+
border-color: var(--input-focus-border-color);
|
|
2114
|
+
}
|
|
2115
|
+
|
|
2116
|
+
.bio-properties-panel-entry.has-warning .bio-properties-panel-feel-container:has(.bio-properties-panel-input:focus-within) .bio-properties-panel-feel-indicator {
|
|
2117
|
+
border-color: var(--input-warning-focus-border-color);
|
|
2118
|
+
}
|
|
2119
|
+
|
|
2120
|
+
.bio-properties-panel-entry.has-error .bio-properties-panel-feel-container:has(.bio-properties-panel-input:focus-within) .bio-properties-panel-feel-indicator {
|
|
2121
|
+
border-color: var(--input-error-focus-border-color);
|
|
2122
|
+
}
|
|
2123
|
+
|
|
1950
2124
|
.bio-properties-panel-feel-editor-container .cm-scroller {
|
|
1951
2125
|
overflow: hidden !important;
|
|
1952
2126
|
}
|
|
@@ -2011,12 +2185,13 @@ textarea.bio-properties-panel-input {
|
|
|
2011
2185
|
}
|
|
2012
2186
|
|
|
2013
2187
|
.bio-properties-panel-tooltip {
|
|
2014
|
-
--tooltip-background-color: var(--
|
|
2015
|
-
--tooltip-
|
|
2016
|
-
--tooltip-
|
|
2017
|
-
--tooltip-code-
|
|
2188
|
+
--tooltip-background-color: var(--bio-surface-inverted);
|
|
2189
|
+
--tooltip-color: var(--bio-text-on-inverted);
|
|
2190
|
+
--tooltip-link: var(--bio-info-on-inverted);
|
|
2191
|
+
--tooltip-code-background-color: var(--bio-surface-subtle);
|
|
2192
|
+
--tooltip-code-border-color: var(--bio-border-subtle);
|
|
2018
2193
|
display: flex;
|
|
2019
|
-
color: var(--color
|
|
2194
|
+
color: var(--tooltip-color);
|
|
2020
2195
|
position: fixed;
|
|
2021
2196
|
z-index: 1001;
|
|
2022
2197
|
max-width: 300px;
|
|
@@ -2089,15 +2264,20 @@ textarea.bio-properties-panel-input {
|
|
|
2089
2264
|
transform: rotate(90deg);
|
|
2090
2265
|
}
|
|
2091
2266
|
|
|
2267
|
+
.bio-properties-panel-textarea-container {
|
|
2268
|
+
position: relative;
|
|
2269
|
+
}
|
|
2270
|
+
|
|
2092
2271
|
.bio-properties-panel-feelers-editor-container .bio-properties-panel-feelers-editor__open-popup-placeholder,
|
|
2093
|
-
.bio-properties-panel-feel-editor-container .bio-properties-panel-feel-editor__open-popup-placeholder
|
|
2272
|
+
.bio-properties-panel-feel-editor-container .bio-properties-panel-feel-editor__open-popup-placeholder,
|
|
2273
|
+
.bio-properties-panel-textarea-container .bio-properties-panel-textarea__open-popup-placeholder {
|
|
2094
2274
|
display: none;
|
|
2095
2275
|
justify-content: center;
|
|
2096
2276
|
flex-direction: column;
|
|
2097
2277
|
color: hsla(0, 0%, 9%, 0.25);
|
|
2098
2278
|
padding: 3px 6px 2px;
|
|
2099
2279
|
border: 1px solid var(--input-border-color);
|
|
2100
|
-
border-radius:
|
|
2280
|
+
border-radius: var(--input-border-radius);
|
|
2101
2281
|
background-color: var(--input-background-color);
|
|
2102
2282
|
font-size: var(--text-size-base);
|
|
2103
2283
|
font-family: inherit;
|
|
@@ -2110,18 +2290,29 @@ textarea.bio-properties-panel-input {
|
|
|
2110
2290
|
display: none;
|
|
2111
2291
|
}
|
|
2112
2292
|
|
|
2293
|
+
.bio-properties-panel-textarea-container.popupOpen .bio-properties-panel-input {
|
|
2294
|
+
visibility: hidden;
|
|
2295
|
+
}
|
|
2296
|
+
|
|
2113
2297
|
.bio-properties-panel-feelers-editor-container.popupOpen .bio-properties-panel-feelers-editor__open-popup-placeholder,
|
|
2114
|
-
.bio-properties-panel-feel-editor-container.popupOpen .bio-properties-panel-feel-editor__open-popup-placeholder
|
|
2298
|
+
.bio-properties-panel-feel-editor-container.popupOpen .bio-properties-panel-feel-editor__open-popup-placeholder,
|
|
2299
|
+
.bio-properties-panel-textarea-container.popupOpen .bio-properties-panel-textarea__open-popup-placeholder {
|
|
2115
2300
|
display: flex;
|
|
2116
2301
|
}
|
|
2117
2302
|
|
|
2303
|
+
.bio-properties-panel-textarea-container.popupOpen .bio-properties-panel-textarea__open-popup-placeholder {
|
|
2304
|
+
position: absolute;
|
|
2305
|
+
inset: 0;
|
|
2306
|
+
justify-content: flex-start;
|
|
2307
|
+
}
|
|
2308
|
+
|
|
2118
2309
|
.bio-properties-panel-popup {
|
|
2119
|
-
--popup-background-color:
|
|
2120
|
-
--popup-header-background-color:
|
|
2121
|
-
--popup-font-color:
|
|
2122
|
-
--popup-title-color:
|
|
2123
|
-
--feel-popup-close-background-color:
|
|
2124
|
-
--feel-popup-gutters-background-color:
|
|
2310
|
+
--popup-background-color: var(--bio-surface-subtle);
|
|
2311
|
+
--popup-header-background-color: var(--bio-surface);
|
|
2312
|
+
--popup-font-color: var(--bio-text);
|
|
2313
|
+
--popup-title-color: var(--bio-text);
|
|
2314
|
+
--feel-popup-close-background-color: var(--bio-primary);
|
|
2315
|
+
--feel-popup-gutters-background-color: var(--bio-surface-strong);
|
|
2125
2316
|
position: fixed;
|
|
2126
2317
|
display: flex;
|
|
2127
2318
|
flex: auto;
|
|
@@ -2138,6 +2329,15 @@ textarea.bio-properties-panel-input {
|
|
|
2138
2329
|
font-size: 14px;
|
|
2139
2330
|
}
|
|
2140
2331
|
|
|
2332
|
+
/**
|
|
2333
|
+
* Popups render through a portal outside `.bio-properties-panel`, so re-apply
|
|
2334
|
+
* the global box-sizing reset here.
|
|
2335
|
+
*/
|
|
2336
|
+
.bio-properties-panel-popup,
|
|
2337
|
+
.bio-properties-panel-popup * {
|
|
2338
|
+
box-sizing: border-box;
|
|
2339
|
+
}
|
|
2340
|
+
|
|
2141
2341
|
.bio-properties-panel-popup h1,
|
|
2142
2342
|
.bio-properties-panel-popup h2,
|
|
2143
2343
|
.bio-properties-panel-popup h3,
|
|
@@ -2189,6 +2389,7 @@ textarea.bio-properties-panel-input {
|
|
|
2189
2389
|
|
|
2190
2390
|
.bio-properties-panel-popup .bio-properties-panel-popup__title {
|
|
2191
2391
|
margin-left: 8px;
|
|
2392
|
+
margin-right: auto;
|
|
2192
2393
|
}
|
|
2193
2394
|
|
|
2194
2395
|
.bio-properties-panel-popup .bio-properties-panel-popup__title::first-letter {
|
|
@@ -2238,11 +2439,6 @@ textarea.bio-properties-panel-input {
|
|
|
2238
2439
|
right: 8px;
|
|
2239
2440
|
}
|
|
2240
2441
|
|
|
2241
|
-
.bio-properties-panel-feel-popup {
|
|
2242
|
-
min-height: 400px;
|
|
2243
|
-
width: fit-content;
|
|
2244
|
-
}
|
|
2245
|
-
|
|
2246
2442
|
.bio-properties-panel-feel-popup .bio-properties-panel-feel-popup__body {
|
|
2247
2443
|
display: flex;
|
|
2248
2444
|
margin: 0;
|
|
@@ -2302,36 +2498,42 @@ textarea.bio-properties-panel-input {
|
|
|
2302
2498
|
}
|
|
2303
2499
|
|
|
2304
2500
|
.bio-properties-panel-feelers-editor-container .bio-properties-panel-open-feel-popup,
|
|
2305
|
-
.bio-properties-panel-feel-container .bio-properties-panel-open-feel-popup
|
|
2501
|
+
.bio-properties-panel-feel-container .bio-properties-panel-open-feel-popup,
|
|
2502
|
+
.bio-properties-panel-textarea-container .bio-properties-panel-open-feel-popup {
|
|
2306
2503
|
position: absolute;
|
|
2307
|
-
top:
|
|
2504
|
+
top: 4px;
|
|
2308
2505
|
right: 0;
|
|
2309
2506
|
line-height: 1;
|
|
2310
|
-
padding:
|
|
2311
|
-
margin: 3px;
|
|
2507
|
+
padding: 2px 4px;
|
|
2508
|
+
margin: 0 3px;
|
|
2312
2509
|
display: none;
|
|
2313
2510
|
background: none;
|
|
2314
2511
|
border: none;
|
|
2315
|
-
|
|
2512
|
+
fill: var(--feel-open-popup-color);
|
|
2316
2513
|
cursor: pointer;
|
|
2317
2514
|
}
|
|
2318
2515
|
|
|
2319
2516
|
.bio-properties-panel-feelers-editor-container .bio-properties-panel-open-feel-popup svg,
|
|
2320
|
-
.bio-properties-panel-feel-container .bio-properties-panel-open-feel-popup svg
|
|
2517
|
+
.bio-properties-panel-feel-container .bio-properties-panel-open-feel-popup svg,
|
|
2518
|
+
.bio-properties-panel-textarea-container .bio-properties-panel-open-feel-popup svg {
|
|
2519
|
+
display: block;
|
|
2321
2520
|
width: 16px;
|
|
2322
2521
|
height: 16px;
|
|
2323
2522
|
}
|
|
2324
2523
|
|
|
2325
2524
|
.bio-properties-panel-feelers-editor-container:hover .bio-properties-panel-open-feel-popup,
|
|
2326
2525
|
.bio-properties-panel-feel-container:hover .bio-properties-panel-open-feel-popup,
|
|
2526
|
+
.bio-properties-panel-textarea-container:hover .bio-properties-panel-open-feel-popup,
|
|
2327
2527
|
.bio-properties-panel-feelers-editor-container:focus-within .bio-properties-panel-open-feel-popup,
|
|
2328
|
-
.bio-properties-panel-feel-container:focus-within .bio-properties-panel-open-feel-popup
|
|
2528
|
+
.bio-properties-panel-feel-container:focus-within .bio-properties-panel-open-feel-popup,
|
|
2529
|
+
.bio-properties-panel-textarea-container:focus-within .bio-properties-panel-open-feel-popup {
|
|
2329
2530
|
display: block;
|
|
2330
2531
|
}
|
|
2331
2532
|
|
|
2332
2533
|
.bio-properties-panel-feelers-editor-container .bio-properties-panel-open-feel-popup:hover,
|
|
2333
|
-
.bio-properties-panel-feel-container .bio-properties-panel-open-feel-popup:hover
|
|
2334
|
-
|
|
2534
|
+
.bio-properties-panel-feel-container .bio-properties-panel-open-feel-popup:hover,
|
|
2535
|
+
.bio-properties-panel-textarea-container .bio-properties-panel-open-feel-popup:hover {
|
|
2536
|
+
fill: var(--feel-open-popup-hover-color);
|
|
2335
2537
|
}
|
|
2336
2538
|
|
|
2337
2539
|
.bio-properties-panel-feel-popup .bio-properties-panel-popup__footer .bio-properties-panel-feel-popup__close-btn {
|
|
@@ -2373,6 +2575,15 @@ textarea.bio-properties-panel-input {
|
|
|
2373
2575
|
text-align: center;
|
|
2374
2576
|
}
|
|
2375
2577
|
|
|
2578
|
+
.bio-properties-panel-text-popup .bio-properties-panel-input {
|
|
2579
|
+
width: 100%;
|
|
2580
|
+
height: 100%;
|
|
2581
|
+
min-height: 100%;
|
|
2582
|
+
resize: none;
|
|
2583
|
+
border: none;
|
|
2584
|
+
padding: 8px 12px;
|
|
2585
|
+
}
|
|
2586
|
+
|
|
2376
2587
|
/* Checkbox Group */
|
|
2377
2588
|
.bio-properties-panel-checkbox-group .bio-properties-panel-checkbox-group-entries > .bio-properties-panel-entry {
|
|
2378
2589
|
margin: 0;
|