feat(popover): support a plain object