: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 */ :host(:not([orientation='vertical'], [disabled])) .divider { cursor: col-resize; } :host(:not([orientation='vertical'])) .divider::after { display: flex; content: ''; position: absolute; height: 100%; left: calc(var(--divider-hit-area) / -2 + var(--divider-width) / 2); width: var(--divider-hit-area); } /* Vertical */ :host([orientation='vertical']) { flex-direction: column; } :host([orientation='vertical']:not([disabled])) .divider { cursor: row-resize; } :host([orientation='vertical']) .divider::after { 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; } }