JSFiddle - React, Tailwind, and code Playground

by Aleksey Pshenichnov

HTML

<div id='widgetB'></div>

<button id='actionBtn'>Action</button>

JavaScript

$(function () {
    $.widget("custom.widgetA", {

        _create: function () {
            this.element
                .addClass('ui-widget-a')
                .append(
                    $(document.createElement('div')).text('Widget A')
                );
        },

        someMethod: function() {
            return 'widget A';
        }
    });

}(jQuery));

$(function () {
    $.widget("custom.widgetB", $.custom.widgetA, {

        _create: function () {
            this.element
                .addClass('ui-widget-b')
                .append(
                    $(document.createElement('div')).text('Widget B')
                );
            
            this._super();
        },

        someOtherMethod: function() {
            return 'widget B';
        }
    });

}(jQuery));

$(document).ready(function() {
    $('#widgetB').widgetB();
    
    $('#actionBtn').click(function() {
        console.log($('#widgetB').widgetA('someMethod'));
    });
});