component/selection: use the internal API