Используя новый Angular CDK, это должно быть прямо.Div-обертка, использующая CSS flex, заставит ваши изображения плавать внутри.Добавление cdkDrag к элементам, содержащим изображения, даст вам возможность их перетаскивать.Чтобы реорганизовать позицию, используйте функцию moveItemInArray в событии drop.
В CDK есть примеры, которым вы можете следовать, и это почти то, что вы ищете, я думаю ..