CSS is Bootstrap 3.
The docs reference Web Components, and I do see the use of customElements.define() so (I think?) it's using "real" Web Components technologies, but the code is indecipherable to me:
var n = t.getAttribute('name') || '';
if (!n)
return;
var p = t.getAttribute(T_PATH) || 'null';
var c = t.getAttribute(T_CONFIG) || 'null';
var d = t.getAttribute(T_DEFAULT) || '';
var s = '__';
var meta = n + s + p + s + c + (d ? (s + d) : '');
t.$jcwebcomponent = true;
compilecomponent(meta, t);
Note, this isn't the minified version, it's straight from jc.js, not jc.min.js.Looking through it, most of the code is like this, and there's liberal use of "var". This isn't a cherrypicked example. It looks like it was originally written about six years ago, and I see active commits, so it's really confusing to me why the code base would be in such rough shape.
The components implementation is very pythonic - it passes "self" around to decorate with functions, it doesn't look like it's been modernized to use classes.
From a features standpoint, the project is very cool. My concern with choosing to use it in a production app is the enormous amount of very obvious technical debt that I'm seeing.
At some point, this will either need a major overhaul and rewrite (an extraordinary effort for a project this size), a dual-implementation support (like react and a few others did, with class based and functional APIs both supported) and a long, slow reimplementation path, or a decay into obsolescence as the core frameworks becomes hopelessly outdated and difficult to maintain.
That's a really difficult technical position to be in, and I sympathize with the challenge ahead. Clearly there are very talented developers working on this project, I'm looking forward to seeing how they solve these issues moving forward.