define([
    'jquery',
    'underscore'
], function ($, _) {
    'use strict';

    return function (SwatchRenderer) {
        $.widget('mage.SwatchRenderer', SwatchRenderer, {
            _OnClick: function ($this, $widget) {
                this._super($this, $widget);

                const variantId = this.getProduct();

                if (variantId) {
                    $('input[name="codilar_product_listing_product_data"]').attr('data-vid', variantId);
                }
            },

            getProduct: function () {
                let products = this._CalcProducts();

                return _.isArray(products) ? products[0] : null;
            },
        });

        return $.mage.SwatchRenderer;
    };
});
