Try following way:
Create Vendor/Module/etc/di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Checkout\Model\DefaultConfigProvider">
<plugin name="vendor_module_type_product_customer_data_default_item" type="Vendor\Module\Plugin\Checkout\Model\DefaultConfigProvider" sortOrder="1"/>
</type>
</config>
And now create plugin:
Vendor/Module/Plugin/Checkout/Model/DefaultConfigProvider.php
namespace Vendor\Module\Plugin\Checkout\Model;
use Magento\Checkout\Model\Session as CheckoutSession;
class DefaultConfigProvider
{
protected $stockItemRepository;
protected $checkoutSession;
public function __construct(
CheckoutSession $checkoutSession,
\Magento\CatalogInventory\Model\Stock\StockItemRepository $stockItemRepository
) {
$this->checkoutSession = $checkoutSession;
$this->stockItemRepository = $stockItemRepository;
}
/**
* {@inheritdoc}
*/
public function aroundGetConfig(
\Magento\Checkout\Model\DefaultConfigProvider $subject,
\Closure $proceed
) {
$result = $proceed();
if (isset($result['totalsData'])) {
$totalsData = $result['totalsData'];
if (isset($totalsData['items'])) {
$items = $totalsData['items'];
foreach ($items as &$item) {
$item['qty'] = $item['qty'].$this->getAvailableStock($item['item_id']);
}
$result['totalsData']['items']=$items;
}
}
return $result;
}
public function getAvailableStock($item_id)
{
$quote = $this->checkoutSession->getQuote();
$items = $quote->getAllItems();
foreach ($items as $item) {
if ($item->getId() == $item_id) {
$productStock = $this->stockItemRepository->get($item->getProductId());
if ($productStock->getQty()) {
$availableQty = $productStock->getQty() - $item->getQty();
return " ".__("Available Qty: ") . $availableQty;
}
return '';
}
}
return '';
}
}