Bump Harbor versions and refine delete strike styling
All checks were successful
Build and Deploy Gateway / build-and-push (push) Successful in 22s
Build and Deploy Gateway / deploy (push) Successful in 6s

This commit is contained in:
2026-07-12 00:10:25 +03:00
parent 4519577295
commit 56304514ff
3 changed files with 20 additions and 11 deletions

View File

@@ -1,6 +1,6 @@
export const HARBOR_VERSIONS = Object.freeze({
macClient: '0.6.6',
gatewayClient: '0.6.5',
macClient: '0.6.7',
gatewayClient: '0.6.6',
gatewayBackend: '0.6.0',
});

View File

@@ -915,6 +915,7 @@ p {
.client-local-rule {
position: relative;
isolation: isolate;
min-width: 0;
display: grid;
grid-template-columns: 24px 116px minmax(0, 1fr) 112px 28px;
@@ -960,20 +961,27 @@ p {
.client-delete-strike {
position: absolute;
left: 0;
right: 0;
top: 50%;
z-index: 6;
height: 4px;
background: oklch(0.68 0.15 28);
clip-path: polygon(0 50%, 18% 40%, 50% 28%, 82% 40%, 100% 50%, 82% 60%, 50% 72%, 18% 60%);
filter: drop-shadow(0 0 2px oklch(0.68 0.15 28 / 0.5));
inset: 0;
z-index: 20;
background: radial-gradient(ellipse at center, oklch(0.68 0.15 28 / 0.3) 0%, oklch(0.68 0.15 28 / 0.12) 36%, transparent 74%);
opacity: 0;
pointer-events: none;
transform: scaleX(0);
transform-origin: left center;
}
.client-delete-strike::after {
content: '';
position: absolute;
left: 0;
right: 0;
top: calc(50% - 2px);
height: 4px;
background: oklch(0.68 0.15 28);
clip-path: polygon(0 50%, 18% 40%, 50% 28%, 82% 40%, 100% 50%, 82% 60%, 50% 72%, 18% 60%);
filter: drop-shadow(0 0 2px oklch(0.68 0.15 28 / 0.5));
}
.client-deletable-row.is-removing > .client-delete-strike {
animation: client-delete-strike 760ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

View File

@@ -22,7 +22,8 @@ test('rule editor add latency stays constant and dirty exits are guarded', () =>
assert.match(component, /client-deletable-row/);
assert.match(component, /className="client-delete-strike"[\s\S]*onAnimationEnd/);
assert.match(styles, /\.client-deletable-row\.is-removing > \.client-delete-strike[\s\S]*client-delete-strike/);
assert.match(styles, /\.client-delete-strike[\s\S]*clip-path: polygon\(0 50%[\s\S]*100% 50%/);
assert.match(styles, /\.client-delete-strike::after[\s\S]*clip-path: polygon\(0 50%[\s\S]*100% 50%/);
assert.match(styles, /\.client-delete-strike \{[\s\S]*z-index: 20[\s\S]*radial-gradient/);
assert.match(styles, /@keyframes client-delete-strike[\s\S]*scaleX\(0\)[\s\S]*scaleX\(1\)/);
assert.match(styles, /\.client-local-rule:has\(\.client-rule-type\.is-open\)[\s\S]*z-index: 5/);
});