Решение представлено для стандартного компонента bitrix:sale.basket.basket.

Добавляем новую переменную

В файле шаблоне корзины <шаблон корзины>/mutator.php в цикле перебора товаров корзины добавляем в конце новое условие:

<?php

foreach ($this->basketItems as $row) {
    //...

    if ($rowData['QUANTITY'] == 1) {
        $rowData['DELETE_ON_MINUS'] = 'Y';
    }

   $result['BASKET_ITEM_RENDER_DATA'][] = $rowData;
}

Т.е. устанавливаем дополнительный флаг, если количество товара в корзине сейчас равно 1.

Выводим в шаблоне

Данные, сформированные в mutator.php, передаются в шаблон компонента и в том числе в файл <шаблон корзины>/js-templates/basket-item.php.

В файле basket-item.php находим место, где выводятся кнопки изменения количества товара, и код кнопки «минус» дополняем следующим образом:

{{#DELETE_ON_MINUS}}
   <button class="basket-item-amount-btn-minus" data-entity="basket-item-delete"></button>
{{/DELETE_ON_MINUS}}
{{^DELETE_ON_MINUS}}
    <button class="basket-item-amount-btn-minus" data-entity="basket-item-quantity-minus"></button>
{{/DELETE_ON_MINUS}}

Данное условие означает следующее: если переменная {{DELETE_ON_MINUS}} существует, то показывается кнопка удаления товара, а если не существует, то показывается кнопка уменьшения количества товара.