2024-12-12 12:30:13 -05:00
|
|
|
:host {
|
|
|
|
|
--divider-color: var(--wa-color-neutral-border-normal);
|
|
|
|
|
--divider-width: 0.25rem;
|
|
|
|
|
--divider-hit-area: 0.75rem;
|
|
|
|
|
--min: 0%;
|
|
|
|
|
--max: 100%;
|
|
|
|
|
|
|
|
|
|
display: grid;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.start,
|
|
|
|
|
.end {
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.divider {
|
|
|
|
|
flex: 0 0 var(--divider-width);
|
|
|
|
|
display: flex;
|
|
|
|
|
position: relative;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
background-color: var(--divider-color);
|
|
|
|
|
color: var(--wa-color-neutral-on-normal);
|
|
|
|
|
z-index: 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.divider:focus {
|
|
|
|
|
outline: none;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
:host(:not([disabled])) .divider:focus-visible {
|
|
|
|
|
outline: var(--wa-focus-ring);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
:host([disabled]) .divider {
|
|
|
|
|
cursor: not-allowed;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Horizontal */
|
2025-05-21 13:34:24 -04:00
|
|
|
:host(:not([orientation='vertical'], [disabled])) .divider {
|
2024-12-12 12:30:13 -05:00
|
|
|
cursor: col-resize;
|
|
|
|
|
}
|
|
|
|
|
|
2025-05-21 13:34:24 -04:00
|
|
|
:host(:not([orientation='vertical'])) .divider::after {
|
2024-12-12 12:30:13 -05:00
|
|
|
display: flex;
|
|
|
|
|
content: '';
|
|
|
|
|
position: absolute;
|
|
|
|
|
height: 100%;
|
|
|
|
|
left: calc(var(--divider-hit-area) / -2 + var(--divider-width) / 2);
|
|
|
|
|
width: var(--divider-hit-area);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Vertical */
|
2025-05-21 13:34:24 -04:00
|
|
|
:host([orientation='vertical']) {
|
2024-12-12 12:30:13 -05:00
|
|
|
flex-direction: column;
|
|
|
|
|
}
|
|
|
|
|
|
2025-05-21 13:34:24 -04:00
|
|
|
:host([orientation='vertical']:not([disabled])) .divider {
|
2024-12-12 12:30:13 -05:00
|
|
|
cursor: row-resize;
|
|
|
|
|
}
|
|
|
|
|
|
2025-05-21 13:34:24 -04:00
|
|
|
:host([orientation='vertical']) .divider::after {
|
2024-12-12 12:30:13 -05:00
|
|
|
content: '';
|
|
|
|
|
position: absolute;
|
|
|
|
|
width: 100%;
|
|
|
|
|
top: calc(var(--divider-hit-area) / -2 + var(--divider-width) / 2);
|
|
|
|
|
height: var(--divider-hit-area);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@media (forced-colors: active) {
|
|
|
|
|
.divider {
|
|
|
|
|
outline: solid 1px transparent;
|
|
|
|
|
}
|
|
|
|
|
}
|