|
31 | 31 | width: 100%; |
32 | 32 | max-height: 100%; |
33 | 33 | position: relative; |
34 | | - --outline-width: 5px; |
35 | | - } |
36 | | - |
37 | | - .blocklyFlyout { |
38 | | - top: var(--outline-width); |
39 | | - left: var(--outline-width); |
40 | | - height: calc(100% - calc(var(--outline-width) * 2)); |
41 | 34 | } |
42 | 35 |
|
43 | 36 | .blocklyToolboxDiv ~ .blocklyFlyout:focus { |
|
97 | 90 | font-weight: bold; |
98 | 91 | } |
99 | 92 |
|
100 | | - .blocklyActiveFocus:is( |
101 | | - .blocklyField, |
102 | | - .blocklyPath, |
103 | | - .blocklyHighlightedConnectionPath |
104 | | - ) { |
105 | | - stroke: #ffa200; |
106 | | - stroke-width: 3px; |
| 93 | + html { |
| 94 | + --blockly-active-node-color: #ffa200; |
| 95 | + --blockly-active-tree-color: rgb(97, 91, 127); |
| 96 | + --blockly-selection-width: 3px; |
107 | 97 | } |
108 | | - .blocklyActiveFocus > .blocklyFlyoutBackground, |
109 | | - .blocklyActiveFocus > .blocklyMainBackground { |
110 | | - stroke: #ffa200; |
111 | | - stroke-width: 3px; |
| 98 | + * { |
| 99 | + box-sizing: border-box; |
112 | 100 | } |
113 | | - .blocklyActiveFocus:is( |
114 | | - .blocklyToolbox, |
115 | | - .blocklyToolboxCategoryContainer |
116 | | - ) { |
117 | | - outline: 3px solid #ffa200; |
| 101 | + |
| 102 | + /* Blocks, connections and fields. */ |
| 103 | + .blocklyActiveFocus:is(.blocklyPath, .blocklyHighlightedConnectionPath), |
| 104 | + .blocklyActiveFocus.blocklyField > .blocklyFieldRect { |
| 105 | + stroke: var(--blockly-active-node-color); |
| 106 | + stroke-width: var(--blockly-selection-width); |
118 | 107 | } |
119 | 108 | .blocklyPassiveFocus:is( |
120 | | - .blocklyField, |
121 | | - .blocklyPath, |
| 109 | + .blocklyPath:not(.blocklyFlyout .blocklyPath), |
122 | 110 | .blocklyHighlightedConnectionPath |
123 | | - ) { |
124 | | - stroke: #ffa200; |
125 | | - stroke-dasharray: 5px 3px; |
126 | | - stroke-width: 3px; |
127 | | - } |
128 | | - .blocklyPassiveFocus > .blocklyFlyoutBackground, |
129 | | - .blocklyPassiveFocus > .blocklyMainBackground { |
130 | | - stroke: #ffa200; |
| 111 | + ), |
| 112 | + .blocklyPassiveFocus.blocklyField > .blocklyFieldRect { |
| 113 | + stroke: var(--blockly-active-node-color); |
131 | 114 | stroke-dasharray: 5px 3px; |
132 | | - stroke-width: 3px; |
| 115 | + stroke-width: var(--blockly-selection-width); |
133 | 116 | } |
134 | | - .blocklyPassiveFocus:is( |
135 | | - .blocklyToolbox, |
136 | | - .blocklyToolboxCategoryContainer |
137 | | - ) { |
138 | | - border: 3px dashed #ffa200; |
139 | | - } |
140 | | - .blocklySelected:is(.blocklyPath) { |
141 | | - stroke: #ffa200; |
142 | | - stroke-width: 5; |
143 | | - } |
144 | | - .blocklySelected > .blocklyPathLight { |
145 | | - display: none; |
| 117 | + |
| 118 | + /* Toolbox and flyout. */ |
| 119 | + .blocklyFlyout:has(.blocklyActiveFocus), |
| 120 | + .blocklyToolbox:has(.blocklyActiveFocus), |
| 121 | + .blocklyActiveFocus:is(.blocklyFlyout, .blocklyToolbox) { |
| 122 | + outline-offset: calc(var(--blockly-selection-width) * -1); |
| 123 | + outline: var(--blockly-selection-width) solid |
| 124 | + var(--blockly-active-tree-color); |
| 125 | + } |
| 126 | + /* Separate layer so we can have a visible outline. */ |
| 127 | + .blocklyWorkspaceFocusRingLayer.blocklyWorkspaceFocused { |
| 128 | + outline-offset: calc(var(--blockly-selection-width) * -1); |
| 129 | + outline: var(--blockly-selection-width) solid |
| 130 | + var(--blockly-active-tree-color); |
| 131 | + } |
| 132 | + .blocklyToolboxCategoryContainer:focus-visible { |
| 133 | + outline: none; |
146 | 134 | } |
| 135 | + /*TODO: moving a block should have active styling for connection & block */ |
147 | 136 | </style> |
148 | 137 | </head> |
149 | 138 |
|
|
0 commit comments