japji/resources/public/js/cljs-runtime/replicant.core.js

2251 lines
122 KiB
JavaScript

goog.provide('replicant.core');
replicant.core.parse_tag = (function replicant$core$parse_tag(tag){
var ns = cljs.core.namespace(tag);
var tag__$1 = cljs.core.name(tag);
var id_index = (function (){var index = tag__$1.indexOf("#");
if((index > (0))){
return index;
} else {
return null;
}
})();
var class_index = (function (){var index = tag__$1.indexOf(".");
if((index > (0))){
return index;
} else {
return null;
}
})();
var tag_name = (function (){var G__49869 = (cljs.core.truth_(id_index)?tag__$1.substring((0),id_index):(cljs.core.truth_(class_index)?tag__$1.substring((0),class_index):tag__$1
));
if(cljs.core.truth_(ns)){
return cljs.core.keyword.cljs$core$IFn$_invoke$arity$2(ns,G__49869);
} else {
return G__49869;
}
})();
var id = (cljs.core.truth_(id_index)?(cljs.core.truth_(class_index)?tag__$1.substring((id_index + (1)),class_index):tag__$1.substring((id_index + (1)))):null);
var classes = (cljs.core.truth_(class_index)?cljs.core.seq(tag__$1.substring((class_index + (1))).split(".")):null);
return [tag_name,id,classes];
});
/**
* Hiccup symbols can include tag name, id and classes. The argument map is
* optional. This function finds the important bits of the hiccup data structure
* and returns a "headers" tuple with a stable position for:
*
* - tag-name
* - id from the hiccup symbol
* - classes from the hiccup symbol
* - key
* - attributes
* - children
* - namespace
* - original s-expression
*
* Attributes and children are completely untouched. Headers can be used to
* quickly determine tag name and key, or sent to `get-attrs` and
* `get-children` for usable information about those things.
*
* Returns a tuple (instead of a map) for speed.
*
* - `sexp` is the hiccup to parse
*
* - `ns` is the namespace of the elements, used for SVG elements. The SVG
* element has an explicit namespace, which needs to be set on all of its
* children, so they can all be created with createElementNS etc.
*/
replicant.core.get_hiccup_headers = (function replicant$core$get_hiccup_headers(ns,sexp){
if(cljs.core.truth_(sexp)){
if(replicant.hiccup.hiccup_QMARK_(sexp)){
var sym = cljs.core.first(sexp);
var args = cljs.core.rest(sexp);
var has_args_QMARK_ = cljs.core.map_QMARK_(cljs.core.first(args));
var attrs = ((has_args_QMARK_)?cljs.core.first(args):cljs.core.PersistentArrayMap.EMPTY);
if((!(cljs.core.not(cljs.core.re_find(/#($|\.)/,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)))))){
var fn__48271__auto___50317 = new cljs.core.Keyword(null,"fn-name","fn-name",-766594004).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var alias__48272__auto___50318 = new cljs.core.Keyword(null,"alias","alias",-2039751630).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var fd__48273__auto___50319 = new cljs.core.Keyword(null,"data","data",-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
cljs.core.reset_BANG_(replicant.assert.error,(function (){var G__49896 = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"hiccup","hiccup",1218876238),(function (){var or__5025__auto__ = sexp;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return cljs.core.deref(replicant.assert.current_node);
}
})(),new cljs.core.Keyword(null,"title","title",636505583),["Hiccup tag ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)," contains an empty id"].join(''),new cljs.core.Keyword(null,"message","message",-406056002),"Either complete the id or remove the # character."], null);
var G__49896__$1 = (cljs.core.truth_(fn__48271__auto___50317)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49896,new cljs.core.Keyword(null,"fname","fname",1500291491),fn__48271__auto___50317):G__49896);
var G__49896__$2 = (cljs.core.truth_(alias__48272__auto___50318)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49896__$1,new cljs.core.Keyword(null,"alias","alias",-2039751630),alias__48272__auto___50318):G__49896__$1);
if(cljs.core.truth_(fd__48273__auto___50319)){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49896__$2,new cljs.core.Keyword(null,"data","data",-232669377),fd__48273__auto___50319);
} else {
return G__49896__$2;
}
})());
} else {
}
if((!(cljs.core.not(cljs.core.re_find(/#[^a-zA-Z_\.]/,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)))))){
var fn__48271__auto___50320 = new cljs.core.Keyword(null,"fn-name","fn-name",-766594004).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var alias__48272__auto___50321 = new cljs.core.Keyword(null,"alias","alias",-2039751630).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var fd__48273__auto___50322 = new cljs.core.Keyword(null,"data","data",-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
cljs.core.reset_BANG_(replicant.assert.error,(function (){var G__49905 = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"hiccup","hiccup",1218876238),(function (){var or__5025__auto__ = sexp;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return cljs.core.deref(replicant.assert.current_node);
}
})(),new cljs.core.Keyword(null,"title","title",636505583),["Hiccup tag ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)," contains an invalid id"].join(''),new cljs.core.Keyword(null,"message","message",-406056002),"IDs must start with a letter."], null);
var G__49905__$1 = (cljs.core.truth_(fn__48271__auto___50320)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49905,new cljs.core.Keyword(null,"fname","fname",1500291491),fn__48271__auto___50320):G__49905);
var G__49905__$2 = (cljs.core.truth_(alias__48272__auto___50321)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49905__$1,new cljs.core.Keyword(null,"alias","alias",-2039751630),alias__48272__auto___50321):G__49905__$1);
if(cljs.core.truth_(fd__48273__auto___50322)){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49905__$2,new cljs.core.Keyword(null,"data","data",-232669377),fd__48273__auto___50322);
} else {
return G__49905__$2;
}
})());
} else {
}
if((!(cljs.core.not(cljs.core.re_find(/\.$/,cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)))))){
var fn__48271__auto___50323 = new cljs.core.Keyword(null,"fn-name","fn-name",-766594004).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var alias__48272__auto___50324 = new cljs.core.Keyword(null,"alias","alias",-2039751630).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var fd__48273__auto___50325 = new cljs.core.Keyword(null,"data","data",-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
cljs.core.reset_BANG_(replicant.assert.error,(function (){var G__49908 = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"hiccup","hiccup",1218876238),(function (){var or__5025__auto__ = sexp;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return cljs.core.deref(replicant.assert.current_node);
}
})(),new cljs.core.Keyword(null,"title","title",636505583),["Hiccup tag ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(sym)," contains an empty class"].join(''),new cljs.core.Keyword(null,"message","message",-406056002),"This may cause a DOMException and is considered a coding error. Replicant will not sacrifice performance to work around it."], null);
var G__49908__$1 = (cljs.core.truth_(fn__48271__auto___50323)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49908,new cljs.core.Keyword(null,"fname","fname",1500291491),fn__48271__auto___50323):G__49908);
var G__49908__$2 = (cljs.core.truth_(alias__48272__auto___50324)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49908__$1,new cljs.core.Keyword(null,"alias","alias",-2039751630),alias__48272__auto___50324):G__49908__$1);
if(cljs.core.truth_(fd__48273__auto___50325)){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49908__$2,new cljs.core.Keyword(null,"data","data",-232669377),fd__48273__auto___50325);
} else {
return G__49908__$2;
}
})());
} else {
}
var pt__47884__auto__ = replicant.core.parse_tag(sym);
var G__49909 = pt__47884__auto__;
G__49909.push((function (){var temp__5823__auto__ = new cljs.core.Keyword("replicant","key","replicant/key",-670108117).cljs$core$IFn$_invoke$arity$1(attrs);
if(cljs.core.truth_(temp__5823__auto__)){
var k__47863__auto__ = temp__5823__auto__;
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(pt__47884__auto__[(0)]),k__47863__auto__], null);
} else {
return null;
}
})());
G__49909.push(attrs);
G__49909.push(((has_args_QMARK_)?cljs.core.rest(args):args));
G__49909.push(ns);
G__49909.push(sexp);
G__49909.push(null);
G__49909.push(null);
return G__49909;
} else {
var text__47936__auto__ = cljs.core.str.cljs$core$IFn$_invoke$arity$1(sexp);
return (new Array(null,null,null,null,null,null,null,text__47936__auto__,text__47936__auto__,null));
}
} else {
return null;
}
});
replicant.core.get_classes = (function replicant$core$get_classes(classes){
if((classes instanceof cljs.core.Keyword)){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.name(classes)], null);
} else {
if((classes instanceof cljs.core.Symbol)){
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.name(classes)], null);
} else {
if(cljs.core.empty_QMARK_(classes)){
return cljs.core.PersistentVector.EMPTY;
} else {
if(cljs.core.coll_QMARK_(classes)){
return cljs.core.keep.cljs$core$IFn$_invoke$arity$2((function (class$){
if(cljs.core.truth_(class$)){
if((class$ instanceof cljs.core.Keyword)){
return cljs.core.name(class$);
} else {
if((class$ instanceof cljs.core.Symbol)){
return cljs.core.name(class$);
} else {
if(typeof class$ === 'string'){
return cljs.core.not_empty(class$.trim());
} else {
return null;
}
}
}
} else {
return null;
}
}),classes);
} else {
if(typeof classes === 'string'){
return cljs.core.keep.cljs$core$IFn$_invoke$arity$2((function (p1__49911_SHARP_){
return cljs.core.not_empty(p1__49911_SHARP_.trim());
}),classes.split(" "));
} else {
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("class name is neither string, keyword, or a collection of those",new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"classes","classes",2037804510),classes], null));
}
}
}
}
}
});
replicant.core.skip_pixelize_attrs = new cljs.core.PersistentHashSet(null, new cljs.core.PersistentArrayMap(null, 26, [new cljs.core.Keyword(null,"line-height","line-height",1870784992),null,new cljs.core.Keyword(null,"box-flex-group","box-flex-group",-1468550335),null,new cljs.core.Keyword(null,"zoom","zoom",-1827487038),null,new cljs.core.Keyword(null,"column-count","column-count",1235131236),null,new cljs.core.Keyword(null,"flex-negative","flex-negative",-1543996476),null,new cljs.core.Keyword(null,"tab-size","tab-size",-1265790523),null,new cljs.core.Keyword(null,"font-weight","font-weight",2085804583),null,new cljs.core.Keyword(null,"stroke-opacity","stroke-opacity",-1191543159),null,new cljs.core.Keyword(null,"flex-order","flex-order",-621251126),null,new cljs.core.Keyword(null,"flex-grow","flex-grow",1865160747),null,new cljs.core.Keyword(null,"stroke-dashoffset","stroke-dashoffset",-782320340),null,new cljs.core.Keyword(null,"flex","flex",-1425124628),null,new cljs.core.Keyword(null,"flex-shrink","flex-shrink",1481146383),null,new cljs.core.Keyword(null,"stop-opacity","stop-opacity",-2018003729),null,new cljs.core.Keyword(null,"orphans","orphans",1913357231),null,new cljs.core.Keyword(null,"widows","widows",1989591025),null,new cljs.core.Keyword(null,"z-index","z-index",1892827090),null,new cljs.core.Keyword(null,"stroke-width","stroke-width",716836435),null,new cljs.core.Keyword(null,"opacity","opacity",397153780),null,new cljs.core.Keyword(null,"box-ordinal-group","box-ordinal-group",201694774),null,new cljs.core.Keyword(null,"order","order",-1254677256),null,new cljs.core.Keyword(null,"animation-iteration-count","animation-iteration-count",-1410888227),null,new cljs.core.Keyword(null,"line-clamp","line-clamp",-1079334403),null,new cljs.core.Keyword(null,"fill-opacity","fill-opacity",-537571170),null,new cljs.core.Keyword(null,"flex-positive","flex-positive",-239614242),null,new cljs.core.Keyword(null,"box-flex","box-flex",-831196194),null], null), null);
/**
* Converts string values for the style attribute to a map of keyword keys and
* string values.
*/
replicant.core.explode_styles = (function replicant$core$explode_styles(s){
return cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.PersistentArrayMap.EMPTY,cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (kv){
var vec__49916 = cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p1__49914_SHARP_){
return p1__49914_SHARP_.trim();
}),kv.split(":"));
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49916,(0),null);
var v = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49916,(1),null);
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(k),v], null);
}),s.split(";")));
});
replicant.core.get_style_val = (function replicant$core$get_style_val(attr,v){
if(typeof v === 'number'){
if(cljs.core.truth_((replicant.core.skip_pixelize_attrs.cljs$core$IFn$_invoke$arity$1 ? replicant.core.skip_pixelize_attrs.cljs$core$IFn$_invoke$arity$1(attr) : replicant.core.skip_pixelize_attrs.call(null,attr)))){
return cljs.core.str.cljs$core$IFn$_invoke$arity$1(v);
} else {
return [cljs.core.str.cljs$core$IFn$_invoke$arity$1(v),"px"].join('');
}
} else {
if((v instanceof cljs.core.Keyword)){
return cljs.core.name(v);
} else {
return v;
}
}
});
replicant.core.prep_attrs = (function replicant$core$prep_attrs(attrs,id,classes){
var classes__$1 = cljs.core.concat.cljs$core$IFn$_invoke$arity$2(replicant.core.get_classes(new cljs.core.Keyword(null,"class","class",-2030961996).cljs$core$IFn$_invoke$arity$1(attrs)),classes);
var G__49921 = cljs.core.dissoc.cljs$core$IFn$_invoke$arity$variadic(attrs,new cljs.core.Keyword(null,"class","class",-2030961996),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([new cljs.core.Keyword("replicant","mounting","replicant/mounting",-699756499),new cljs.core.Keyword("replicant","unmounting","replicant/unmounting",1629433009)], 0));
var G__49921__$1 = (cljs.core.truth_(id)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49921,new cljs.core.Keyword(null,"id","id",-1388402092),id):G__49921);
var G__49921__$2 = ((cljs.core.seq(classes__$1))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49921__$1,new cljs.core.Keyword(null,"classes","classes",2037804510),classes__$1):G__49921__$1);
if(typeof new cljs.core.Keyword(null,"style","style",-496642736).cljs$core$IFn$_invoke$arity$1(attrs) === 'string'){
return cljs.core.update.cljs$core$IFn$_invoke$arity$3(G__49921__$2,new cljs.core.Keyword(null,"style","style",-496642736),replicant.core.explode_styles);
} else {
return G__49921__$2;
}
});
/**
* Given `headers` as produced by `get-hiccup-headers`, returns a map of all HTML
* attributes.
*/
replicant.core.get_attrs = (function replicant$core$get_attrs(headers){
if((!((!(cljs.core.contains_QMARK_((headers[(4)]),new cljs.core.Keyword(null,"className","className",-1983287057))))))){
var fn__48271__auto___50326 = new cljs.core.Keyword(null,"fn-name","fn-name",-766594004).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var alias__48272__auto___50327 = new cljs.core.Keyword(null,"alias","alias",-2039751630).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var fd__48273__auto___50328 = new cljs.core.Keyword(null,"data","data",-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
cljs.core.reset_BANG_(replicant.assert.error,(function (){var G__49922 = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"hiccup","hiccup",1218876238),(function (){var or__5025__auto__ = (headers[(7)]);
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return cljs.core.deref(replicant.assert.current_node);
}
})(),new cljs.core.Keyword(null,"title","title",636505583),"Use :class, not :className",new cljs.core.Keyword(null,"message","message",-406056002),":className is not supported, please use :class instead. It takes a keyword, a string, or a collection of either of those."], null);
var G__49922__$1 = (cljs.core.truth_(fn__48271__auto___50326)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49922,new cljs.core.Keyword(null,"fname","fname",1500291491),fn__48271__auto___50326):G__49922);
var G__49922__$2 = (cljs.core.truth_(alias__48272__auto___50327)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49922__$1,new cljs.core.Keyword(null,"alias","alias",-2039751630),alias__48272__auto___50327):G__49922__$1);
if(cljs.core.truth_(fd__48273__auto___50328)){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49922__$2,new cljs.core.Keyword(null,"data","data",-232669377),fd__48273__auto___50328);
} else {
return G__49922__$2;
}
})());
} else {
}
if((!((function (){var class__49691__auto__ = new cljs.core.Keyword(null,"class","class",-2030961996).cljs$core$IFn$_invoke$arity$1((headers[(4)]));
return (((!(typeof class__49691__auto__ === 'string'))) || ((class__49691__auto__.indexOf(" ") < (0))));
})()))){
var fn__48271__auto___50329 = new cljs.core.Keyword(null,"fn-name","fn-name",-766594004).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var alias__48272__auto___50330 = new cljs.core.Keyword(null,"alias","alias",-2039751630).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var fd__48273__auto___50331 = new cljs.core.Keyword(null,"data","data",-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
cljs.core.reset_BANG_(replicant.assert.error,(function (){var G__49923 = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"hiccup","hiccup",1218876238),(function (){var or__5025__auto__ = (headers[(7)]);
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return cljs.core.deref(replicant.assert.current_node);
}
})(),new cljs.core.Keyword(null,"title","title",636505583),"Avoid space separated :class strings",new cljs.core.Keyword(null,"message","message",-406056002),(function (){var class__49691__auto__ = new cljs.core.Keyword(null,"class","class",-2030961996).cljs$core$IFn$_invoke$arity$1((headers[(4)]));
return [":class supports collections of keywords and/or strings as classes. These perform better, and are usually more convenient to work with. Solve by converting ",cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([class__49691__auto__], 0))," to ",cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.vec(class__49691__auto__.split(" "))], 0))].join('');
})()], null);
var G__49923__$1 = (cljs.core.truth_(fn__48271__auto___50329)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49923,new cljs.core.Keyword(null,"fname","fname",1500291491),fn__48271__auto___50329):G__49923);
var G__49923__$2 = (cljs.core.truth_(alias__48272__auto___50330)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49923__$1,new cljs.core.Keyword(null,"alias","alias",-2039751630),alias__48272__auto___50330):G__49923__$1);
if(cljs.core.truth_(fd__48273__auto___50331)){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49923__$2,new cljs.core.Keyword(null,"data","data",-232669377),fd__48273__auto___50331);
} else {
return G__49923__$2;
}
})());
} else {
}
if((!((!(typeof new cljs.core.Keyword(null,"style","style",-496642736).cljs$core$IFn$_invoke$arity$1((headers[(4)])) === 'string'))))){
var fn__48271__auto___50332 = new cljs.core.Keyword(null,"fn-name","fn-name",-766594004).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var alias__48272__auto___50333 = new cljs.core.Keyword(null,"alias","alias",-2039751630).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var fd__48273__auto___50334 = new cljs.core.Keyword(null,"data","data",-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
cljs.core.reset_BANG_(replicant.assert.error,(function (){var G__49924 = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"hiccup","hiccup",1218876238),(function (){var or__5025__auto__ = (headers[(7)]);
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return cljs.core.deref(replicant.assert.current_node);
}
})(),new cljs.core.Keyword(null,"title","title",636505583),"Avoid string styles",new cljs.core.Keyword(null,"message","message",-406056002),":style supports structured maps of CSS property/value pairs. Strings must be parsed, so they're both slower and harder to read and write."], null);
var G__49924__$1 = (cljs.core.truth_(fn__48271__auto___50332)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49924,new cljs.core.Keyword(null,"fname","fname",1500291491),fn__48271__auto___50332):G__49924);
var G__49924__$2 = (cljs.core.truth_(alias__48272__auto___50333)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49924__$1,new cljs.core.Keyword(null,"alias","alias",-2039751630),alias__48272__auto___50333):G__49924__$1);
if(cljs.core.truth_(fd__48273__auto___50334)){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49924__$2,new cljs.core.Keyword(null,"data","data",-232669377),fd__48273__auto___50334);
} else {
return G__49924__$2;
}
})());
} else {
}
return replicant.core.prep_attrs((headers[(4)]),(headers[(1)]),(headers[(2)]));
});
replicant.core.merge_attrs = (function replicant$core$merge_attrs(attrs,overrides){
var G__49925 = cljs.core.merge.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([attrs,cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(overrides,new cljs.core.Keyword(null,"style","style",-496642736))], 0));
if(cljs.core.truth_((function (){var or__5025__auto__ = new cljs.core.Keyword(null,"style","style",-496642736).cljs$core$IFn$_invoke$arity$1(attrs);
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return new cljs.core.Keyword(null,"style","style",-496642736).cljs$core$IFn$_invoke$arity$1(overrides);
}
})())){
return cljs.core.update.cljs$core$IFn$_invoke$arity$4(G__49925,new cljs.core.Keyword(null,"style","style",-496642736),cljs.core.merge,new cljs.core.Keyword(null,"style","style",-496642736).cljs$core$IFn$_invoke$arity$1(overrides));
} else {
return G__49925;
}
});
replicant.core.get_mounting_attrs = (function replicant$core$get_mounting_attrs(headers){
var temp__5821__auto__ = new cljs.core.Keyword("replicant","mounting","replicant/mounting",-699756499).cljs$core$IFn$_invoke$arity$1((headers[(4)]));
if(cljs.core.truth_(temp__5821__auto__)){
var mounting = temp__5821__auto__;
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [replicant.core.get_attrs(headers),(function (){var headers__$1 = (function (){var G__49926 = headers;
if(cljs.core.truth_(mounting)){
var headers__47961__auto__ = G__49926;
(headers__47961__auto__[(4)] = replicant.core.merge_attrs((headers__47961__auto__[(4)]),mounting));
return headers__47961__auto__;
} else {
return G__49926;
}
})();
return replicant.core.prep_attrs((headers__$1[(4)]),(headers__$1[(1)]),(headers__$1[(2)]));
})()], null);
} else {
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [replicant.core.get_attrs(headers)], null);
}
});
replicant.core.get_unmounting_attrs = (function replicant$core$get_unmounting_attrs(vdom){
if(cljs.core.truth_((vdom[(6)]))){
return replicant.core.prep_attrs(replicant.core.merge_attrs((vdom[(3)]),new cljs.core.Keyword("replicant","unmounting","replicant/unmounting",1629433009).cljs$core$IFn$_invoke$arity$1(cljs.core.nth.cljs$core$IFn$_invoke$arity$2((vdom[(7)]),(1)))),null,(vdom[(2)]));
} else {
return null;
}
});
replicant.core.flatten_seqs_STAR_ = (function replicant$core$flatten_seqs_STAR_(xs,coll){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (_,x){
if(cljs.core.seq_QMARK_(x)){
return (replicant.core.flatten_seqs_STAR_.cljs$core$IFn$_invoke$arity$2 ? replicant.core.flatten_seqs_STAR_.cljs$core$IFn$_invoke$arity$2(x,coll) : replicant.core.flatten_seqs_STAR_.call(null,x,coll));
} else {
return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(coll,x);
}
}),null,xs);
});
replicant.core.flatten_seqs = (function replicant$core$flatten_seqs(xs){
var coll = cljs.core.transient$(cljs.core.PersistentVector.EMPTY);
replicant.core.flatten_seqs_STAR_(xs,coll);
return cljs.core.persistent_BANG_(coll);
});
replicant.core.flatten_map_seqs_STAR_ = (function replicant$core$flatten_map_seqs_STAR_(f,xs,coll){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (_,x){
if(cljs.core.seq_QMARK_(x)){
return (replicant.core.flatten_map_seqs_STAR_.cljs$core$IFn$_invoke$arity$3 ? replicant.core.flatten_map_seqs_STAR_.cljs$core$IFn$_invoke$arity$3(f,x,coll) : replicant.core.flatten_map_seqs_STAR_.call(null,f,x,coll));
} else {
return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(coll,(f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(x) : f.call(null,x)));
}
}),null,xs);
});
replicant.core.flatten_map_seqs = (function replicant$core$flatten_map_seqs(f,xs){
var coll = cljs.core.transient$(cljs.core.PersistentVector.EMPTY);
replicant.core.flatten_map_seqs_STAR_(f,xs,coll);
return cljs.core.persistent_BANG_(coll);
});
/**
* Given an optional tag namespace `ns` (e.g. for SVG nodes) and `headers`, as
* produced by `get-hiccup-headers`, returns a flat collection of children as
* "hiccup headers". Children will carry the `ns`, if any.
*/
replicant.core.get_children = (function replicant$core$get_children(headers,ns){
if(cljs.core.truth_(new cljs.core.Keyword(null,"innerHTML","innerHTML",-1856751343).cljs$core$IFn$_invoke$arity$1((headers[(4)])))){
return null;
} else {
return replicant.core.flatten_map_seqs((function (p1__49948_SHARP_){
var G__49949 = p1__49948_SHARP_;
if((G__49949 == null)){
return null;
} else {
return replicant.core.get_hiccup_headers(ns,G__49949);
}
}),(headers[(5)]));
}
});
/**
* Like `get-children` but returns a tuple of `[children ks]` where `ks` is a set
* of the keys in `children`.
*/
replicant.core.get_children_ks = (function replicant$core$get_children_ks(headers,ns){
var vec__49954 = cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p__49957,hiccup){
var vec__49958 = p__49957;
var children = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49958,(0),null);
var ks = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49958,(1),null);
if(cljs.core.truth_(hiccup)){
var headers__$1 = replicant.core.get_hiccup_headers(ns,hiccup);
var k = (headers__$1[(3)]);
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(children,headers__$1),(function (){var G__49961 = ks;
if(cljs.core.truth_(k)){
return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(G__49961,k);
} else {
return G__49961;
}
})()], null);
} else {
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(children,null),ks], null);
}
}),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.transient$(cljs.core.PersistentVector.EMPTY),cljs.core.transient$(cljs.core.PersistentHashSet.EMPTY)], null),replicant.core.flatten_seqs((headers[(5)])));
var children = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49954,(0),null);
var ks = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49954,(1),null);
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.persistent_BANG_(children),cljs.core.persistent_BANG_(ks)], null);
});
replicant.core._STAR_dispatch_STAR_ = null;
/**
* Returns the function to use for handling DOM events. Uses `handler` directly
* when it's a function or a string (assumed to be inline JavaScript, not really
* recommended), or a wrapper that dispatches through
* `replicant.core/*dispatch*`, if it is bound to a function.
*/
replicant.core.get_event_handler = (function replicant$core$get_event_handler(handler,event){
var or__5025__auto__ = ((((cljs.core.fn_QMARK_(handler)) || (((cljs.core.var_QMARK_(handler)) && (cljs.core.fn_QMARK_(cljs.core.deref(handler)))))))?handler:null);
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
var or__5025__auto____$1 = ((cljs.core.ifn_QMARK_(replicant.core._STAR_dispatch_STAR_))?(function (e){
var node = e.target;
var rd = (function (){var G__49967 = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword("replicant","trigger","replicant/trigger",543650841),new cljs.core.Keyword("replicant.trigger","dom-event","replicant.trigger/dom-event",930136738),new cljs.core.Keyword("replicant","js-event","replicant/js-event",1927942146),e,new cljs.core.Keyword("replicant","dom-event","replicant/dom-event",-1613182512),e], null);
if(cljs.core.truth_(node)){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49967,new cljs.core.Keyword("replicant","node","replicant/node",1306451380),node);
} else {
return G__49967;
}
})();
return replicant.core._STAR_dispatch_STAR_.call(null,rd,handler);
}):null);
if(cljs.core.truth_(or__5025__auto____$1)){
return or__5025__auto____$1;
} else {
var or__5025__auto____$2 = ((typeof handler === 'string')?handler:null);
if(cljs.core.truth_(or__5025__auto____$2)){
return or__5025__auto____$2;
} else {
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("Cannot use non-function event handler when replicant.core/*dispatch* is not bound to a function",new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"event","event",301435442),event,new cljs.core.Keyword(null,"handler","handler",-195596612),handler,new cljs.core.Keyword(null,"dispatch","dispatch",1319337009),replicant.core._STAR_dispatch_STAR_], null));
}
}
}
});
/**
* Returns the function to use to dispatch life-cycle hooks on an element. Uses
* `handler` directly when it's a function, or a wrapper that dispatches through
* `replicant.core/*dispatch*`, if it is bound to a function.
*/
replicant.core.get_life_cycle_hook = (function replicant$core$get_life_cycle_hook(handler){
var or__5025__auto__ = ((cljs.core.fn_QMARK_(handler))?handler:null);
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
var or__5025__auto____$1 = (cljs.core.truth_((function (){var and__5023__auto__ = handler;
if(cljs.core.truth_(and__5023__auto__)){
return cljs.core.ifn_QMARK_(replicant.core._STAR_dispatch_STAR_);
} else {
return and__5023__auto__;
}
})())?(function (e){
return replicant.core._STAR_dispatch_STAR_.call(null,e,handler);
}):null);
if(cljs.core.truth_(or__5025__auto____$1)){
return or__5025__auto____$1;
} else {
if(cljs.core.truth_(handler)){
throw cljs.core.ex_info.cljs$core$IFn$_invoke$arity$2("Cannot use non-function life-cycle hook when replicant.core/*dispatch* is not bound to a function",new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"handler","handler",-195596612),handler,new cljs.core.Keyword(null,"dispatch","dispatch",1319337009),replicant.core._STAR_dispatch_STAR_], null));
} else {
return null;
}
}
}
});
replicant.core.call_hook = (function replicant$core$call_hook(renderer,p__49974){
var vec__49975 = p__49974;
var hook = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49975,(0),null);
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49975,(1),null);
var node = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49975,(2),null);
var new$ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49975,(3),null);
var old = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49975,(4),null);
var details = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__49975,(5),null);
var f = replicant.core.get_life_cycle_hook(hook);
var life_cycle = (((old == null))?new cljs.core.Keyword("replicant.life-cycle","mount","replicant.life-cycle/mount",-1685508865):(((new$ == null))?new cljs.core.Keyword("replicant.life-cycle","unmount","replicant.life-cycle/unmount",-144344184):new cljs.core.Keyword("replicant.life-cycle","update","replicant.life-cycle/update",-439589235)
));
if(((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword("replicant","on-render","replicant/on-render",1674377901),k)) || (((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword("replicant","on-mount","replicant/on-mount",-1518504162))) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(life_cycle,new cljs.core.Keyword("replicant.life-cycle","mount","replicant.life-cycle/mount",-1685508865))))) || (((((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword("replicant","on-unmount","replicant/on-unmount",-1287095753))) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(life_cycle,new cljs.core.Keyword("replicant.life-cycle","unmount","replicant.life-cycle/unmount",-144344184))))) || (((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(k,new cljs.core.Keyword("replicant","on-update","replicant/on-update",-2121629394))) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(life_cycle,new cljs.core.Keyword("replicant.life-cycle","update","replicant.life-cycle/update",-439589235))))))))))){
var G__49983 = (function (){var G__49984 = new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword("replicant","trigger","replicant/trigger",543650841),new cljs.core.Keyword("replicant.trigger","life-cycle","replicant.trigger/life-cycle",-205660972),new cljs.core.Keyword("replicant","life-cycle","replicant/life-cycle",1802888458),life_cycle,new cljs.core.Keyword("replicant","node","replicant/node",1306451380),node,new cljs.core.Keyword("replicant","remember","replicant/remember",809947829),(function replicant$core$call_hook_$_remember(memory){
return replicant.protocols.remember(renderer,node,memory);
})], null);
var G__49984__$1 = (cljs.core.truth_(details)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49984,new cljs.core.Keyword("replicant","details","replicant/details",-1846218867),details):G__49984);
if(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(life_cycle,new cljs.core.Keyword("replicant.life-cycle","mount","replicant.life-cycle/mount",-1685508865))){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__49984__$1,new cljs.core.Keyword("replicant","memory","replicant/memory",-1882688464),replicant.protocols.recall(renderer,node));
} else {
return G__49984__$1;
}
})();
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__49983) : f.call(null,G__49983));
} else {
return null;
}
});
/**
* Register the life-cycle hooks from the corresponding virtual DOM node to call
* in `impl`, if any. `details` is a vector of keywords that provide some detail
* about why the hook is invoked.
*/
replicant.core.register_hooks = (function replicant$core$register_hooks(var_args){
var args__5755__auto__ = [];
var len__5749__auto___50348 = arguments.length;
var i__5750__auto___50349 = (0);
while(true){
if((i__5750__auto___50349 < len__5749__auto___50348)){
args__5755__auto__.push((arguments[i__5750__auto___50349]));
var G__50351 = (i__5750__auto___50349 + (1));
i__5750__auto___50349 = G__50351;
continue;
} else {
}
break;
}
var argseq__5756__auto__ = ((((3) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);
return replicant.core.register_hooks.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);
});
(replicant.core.register_hooks.cljs$core$IFn$_invoke$arity$variadic = (function (p__49999,node,headers,p__50000){
var map__50001 = p__49999;
var map__50001__$1 = cljs.core.__destructure_map(map__50001);
var hooks = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__50001__$1,new cljs.core.Keyword(null,"hooks","hooks",-413590103));
var vec__50002 = p__50000;
var vdom = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50002,(0),null);
var details = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50002,(1),null);
var target = (cljs.core.truth_(headers)?(headers[(4)]):(vdom[(3)]));
var new_hooks = cljs.core.keep.cljs$core$IFn$_invoke$arity$2((function (life_cycle_key){
var temp__5823__auto__ = (life_cycle_key.cljs$core$IFn$_invoke$arity$1 ? life_cycle_key.cljs$core$IFn$_invoke$arity$1(target) : life_cycle_key.call(null,target));
if(cljs.core.truth_(temp__5823__auto__)){
var hook = temp__5823__auto__;
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [life_cycle_key,hook], null);
} else {
return null;
}
}),new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("replicant","on-render","replicant/on-render",1674377901),new cljs.core.Keyword("replicant","on-mount","replicant/on-mount",-1518504162),new cljs.core.Keyword("replicant","on-unmount","replicant/on-unmount",-1287095753),new cljs.core.Keyword("replicant","on-update","replicant/on-update",-2121629394)], null));
if(cljs.core.empty_QMARK_(new_hooks)){
return null;
} else {
var headers_sexp = (function (){var G__50010 = headers;
if((G__50010 == null)){
return null;
} else {
return (G__50010[(7)]);
}
})();
var vdom_sexp = (function (){var G__50011 = vdom;
if((G__50011 == null)){
return null;
} else {
return (G__50011[(7)]);
}
})();
return cljs.core._vreset_BANG_(hooks,cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core._deref(hooks),cljs.core.map.cljs$core$IFn$_invoke$arity$2((function (p__50012){
var vec__50013 = p__50012;
var k = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50013,(0),null);
var hook = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50013,(1),null);
return new cljs.core.PersistentVector(null, 6, 5, cljs.core.PersistentVector.EMPTY_NODE, [hook,k,node,headers_sexp,vdom_sexp,details], null);
}),new_hooks)));
}
}));
(replicant.core.register_hooks.cljs$lang$maxFixedArity = (3));
/** @this {Function} */
(replicant.core.register_hooks.cljs$lang$applyTo = (function (seq49989){
var G__49992 = cljs.core.first(seq49989);
var seq49989__$1 = cljs.core.next(seq49989);
var G__49993 = cljs.core.first(seq49989__$1);
var seq49989__$2 = cljs.core.next(seq49989__$1);
var G__49994 = cljs.core.first(seq49989__$2);
var seq49989__$3 = cljs.core.next(seq49989__$2);
var self__5734__auto__ = this;
return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__49992,G__49993,G__49994,seq49989__$3);
}));
replicant.core.register_mount = (function replicant$core$register_mount(p__50018,node,mounting_attrs,attrs){
var map__50019 = p__50018;
var map__50019__$1 = cljs.core.__destructure_map(map__50019);
var mounts = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__50019__$1,new cljs.core.Keyword(null,"mounts","mounts",-791474425));
return cljs.core._vreset_BANG_(mounts,cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core._deref(mounts),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [node,mounting_attrs,attrs], null)));
});
replicant.core.update_styles = (function replicant$core$update_styles(renderer,el,new_styles,old_styles){
var new_ks = cljs.core.set(cljs.core.remove.cljs$core$IFn$_invoke$arity$2((function (p1__50020_SHARP_){
return (cljs.core.get.cljs$core$IFn$_invoke$arity$2(new_styles,p1__50020_SHARP_) == null);
}),cljs.core.keys(new_styles)));
var old_ks = cljs.core.set(cljs.core.keys(old_styles));
cljs.core.run_BANG_((function (p1__50021_SHARP_){
return replicant.protocols.remove_style(renderer,el,p1__50021_SHARP_);
}),cljs.core.remove.cljs$core$IFn$_invoke$arity$2(new_ks,old_ks));
return cljs.core.run_BANG_((function (p1__50023_SHARP_){
var new_style = cljs.core.get.cljs$core$IFn$_invoke$arity$2(new_styles,p1__50023_SHARP_);
if(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(new_style,cljs.core.get.cljs$core$IFn$_invoke$arity$2(old_styles,p1__50023_SHARP_))){
if((!((p1__50023_SHARP_ instanceof cljs.core.Keyword)))){
var fn__48271__auto___50355 = new cljs.core.Keyword(null,"fn-name","fn-name",-766594004).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var alias__48272__auto___50356 = new cljs.core.Keyword(null,"alias","alias",-2039751630).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var fd__48273__auto___50357 = new cljs.core.Keyword(null,"data","data",-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
cljs.core.reset_BANG_(replicant.assert.error,(function (){var G__50025 = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"hiccup","hiccup",1218876238),(function (){var or__5025__auto__ = null;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return cljs.core.deref(replicant.assert.current_node);
}
})(),new cljs.core.Keyword(null,"title","title",636505583),["Style key ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__50023_SHARP_)," should be a keyword"].join(''),new cljs.core.Keyword(null,"message","message",-406056002),["Replicant expects your style keys to be keywords. While anything that supports `name` (strings, symbols) will ","technically work, mixing types will hinder Replicant from recognizing changes properly. Rendering once with ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__50023_SHARP_)," and once with ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__50023_SHARP_)))," may produce undesired results. Your safest option is to always use keywords."].join('')], null);
var G__50025__$1 = (cljs.core.truth_(fn__48271__auto___50355)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50025,new cljs.core.Keyword(null,"fname","fname",1500291491),fn__48271__auto___50355):G__50025);
var G__50025__$2 = (cljs.core.truth_(alias__48272__auto___50356)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50025__$1,new cljs.core.Keyword(null,"alias","alias",-2039751630),alias__48272__auto___50356):G__50025__$1);
if(cljs.core.truth_(fd__48273__auto___50357)){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50025__$2,new cljs.core.Keyword(null,"data","data",-232669377),fd__48273__auto___50357);
} else {
return G__50025__$2;
}
})());
} else {
}
if((!((function (){var name__49749__auto__ = cljs.core.name(p1__50023_SHARP_);
return ((clojure.string.starts_with_QMARK_(name__49749__auto__,"--")) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(name__49749__auto__,clojure.string.lower_case(name__49749__auto__))));
})()))){
var fn__48271__auto___50359 = new cljs.core.Keyword(null,"fn-name","fn-name",-766594004).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var alias__48272__auto___50360 = new cljs.core.Keyword(null,"alias","alias",-2039751630).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var fd__48273__auto___50361 = new cljs.core.Keyword(null,"data","data",-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
cljs.core.reset_BANG_(replicant.assert.error,(function (){var G__50026 = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"hiccup","hiccup",1218876238),(function (){var or__5025__auto__ = null;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return cljs.core.deref(replicant.assert.current_node);
}
})(),new cljs.core.Keyword(null,"title","title",636505583),["Use ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(replicant.asserts.camel__GT_dash_k(p1__50023_SHARP_)),", not ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__50023_SHARP_)].join(''),new cljs.core.Keyword(null,"message","message",-406056002),"Replicant passes style keys directly to `el.style.setProperty`, which expects CSS-style dash-cased property names."], null);
var G__50026__$1 = (cljs.core.truth_(fn__48271__auto___50359)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50026,new cljs.core.Keyword(null,"fname","fname",1500291491),fn__48271__auto___50359):G__50026);
var G__50026__$2 = (cljs.core.truth_(alias__48272__auto___50360)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50026__$1,new cljs.core.Keyword(null,"alias","alias",-2039751630),alias__48272__auto___50360):G__50026__$1);
if(cljs.core.truth_(fd__48273__auto___50361)){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50026__$2,new cljs.core.Keyword(null,"data","data",-232669377),fd__48273__auto___50361);
} else {
return G__50026__$2;
}
})());
} else {
}
return replicant.protocols.set_style(renderer,el,p1__50023_SHARP_,replicant.core.get_style_val(p1__50023_SHARP_,new_style));
} else {
return null;
}
}),new_ks);
});
replicant.core.update_classes = (function replicant$core$update_classes(renderer,el,new_classes,old_classes){
cljs.core.run_BANG_((function (p1__50027_SHARP_){
return replicant.protocols.remove_class(renderer,el,p1__50027_SHARP_);
}),cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.set(new_classes),old_classes));
return cljs.core.run_BANG_((function (p1__50028_SHARP_){
return replicant.protocols.add_class(renderer,el,p1__50028_SHARP_);
}),cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.set(old_classes),new_classes));
});
replicant.core.get_event_handler_options = (function replicant$core$get_event_handler_options(m){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (res,k){
var G__50029 = res;
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2("replicant.event",cljs.core.namespace(k))){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50029,cljs.core.name(k),(k.cljs$core$IFn$_invoke$arity$1 ? k.cljs$core$IFn$_invoke$arity$1(m) : k.call(null,m)));
} else {
return G__50029;
}
}),cljs.core.PersistentArrayMap.EMPTY,cljs.core.keys(cljs.core.dissoc.cljs$core$IFn$_invoke$arity$2(m,new cljs.core.Keyword("replicant.event","handler","replicant.event/handler",-1806871006))));
});
replicant.core.add_event_listeners = (function replicant$core$add_event_listeners(renderer,el,val){
return cljs.core.run_BANG_((function (p__50030){
var vec__50031 = p__50030;
var event = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50031,(0),null);
var handler = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50031,(1),null);
if((!((function (){var event__49702__auto__ = cljs.core.name(event);
return ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2("DOMContentLoaded",event__49702__auto__)) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(event__49702__auto__,clojure.string.lower_case(event__49702__auto__))));
})()))){
var fn__48271__auto___50366 = new cljs.core.Keyword(null,"fn-name","fn-name",-766594004).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var alias__48272__auto___50367 = new cljs.core.Keyword(null,"alias","alias",-2039751630).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var fd__48273__auto___50368 = new cljs.core.Keyword(null,"data","data",-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
cljs.core.reset_BANG_(replicant.assert.error,(function (){var G__50034 = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"hiccup","hiccup",1218876238),(function (){var or__5025__auto__ = null;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return cljs.core.deref(replicant.assert.current_node);
}
})(),new cljs.core.Keyword(null,"title","title",636505583),["Use ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(clojure.string.lower_case(cljs.core.name(event)))),", not ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(event)].join(''),new cljs.core.Keyword(null,"message","message",-406056002),"Most event names should be in all lower-case. Replicant passes your event names directly to addEventListener, and mis-cased event names will fail silently."], null);
var G__50034__$1 = (cljs.core.truth_(fn__48271__auto___50366)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50034,new cljs.core.Keyword(null,"fname","fname",1500291491),fn__48271__auto___50366):G__50034);
var G__50034__$2 = (cljs.core.truth_(alias__48272__auto___50367)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50034__$1,new cljs.core.Keyword(null,"alias","alias",-2039751630),alias__48272__auto___50367):G__50034__$1);
if(cljs.core.truth_(fd__48273__auto___50368)){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50034__$2,new cljs.core.Keyword(null,"data","data",-232669377),fd__48273__auto___50368);
} else {
return G__50034__$2;
}
})());
} else {
}
var temp__5821__auto__ = new cljs.core.Keyword("replicant.event","handler","replicant.event/handler",-1806871006).cljs$core$IFn$_invoke$arity$1(handler);
if(cljs.core.truth_(temp__5821__auto__)){
var eh = temp__5821__auto__;
var temp__5823__auto__ = replicant.core.get_event_handler(eh,event);
if(cljs.core.truth_(temp__5823__auto__)){
var eh__$1 = temp__5823__auto__;
return replicant.protocols.set_event_handler(renderer,el,event,eh__$1,replicant.core.get_event_handler_options(handler));
} else {
return null;
}
} else {
var temp__5823__auto__ = replicant.core.get_event_handler(handler,event);
if(cljs.core.truth_(temp__5823__auto__)){
var handler__$1 = temp__5823__auto__;
return replicant.protocols.set_event_handler(renderer,el,event,handler__$1,null);
} else {
return null;
}
}
}),cljs.core.remove.cljs$core$IFn$_invoke$arity$2(cljs.core.comp.cljs$core$IFn$_invoke$arity$2(cljs.core.nil_QMARK_,cljs.core.second),val));
});
replicant.core.update_event_listeners = (function replicant$core$update_event_listeners(renderer,el,new_handlers,old_handlers){
return cljs.core.run_BANG_((function (event){
var new_handler = cljs.core.get.cljs$core$IFn$_invoke$arity$2(new_handlers,event);
var old_handler = cljs.core.get.cljs$core$IFn$_invoke$arity$2(old_handlers,event);
var old_opts = (cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(old_handler,new cljs.core.Keyword("replicant.event","handler","replicant.event/handler",-1806871006)))?cljs.core.not_empty(replicant.core.get_event_handler_options(old_handler)):null);
var new_opts = (cljs.core.truth_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(new_handler,new cljs.core.Keyword("replicant.event","handler","replicant.event/handler",-1806871006)))?cljs.core.not_empty(replicant.core.get_event_handler_options(new_handler)):null);
if(cljs.core.truth_((function (){var and__5023__auto__ = old_handler;
if(cljs.core.truth_(and__5023__auto__)){
return (((new_handler == null)) || (cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(old_opts,new_opts)));
} else {
return and__5023__auto__;
}
})())){
replicant.protocols.remove_event_handler(renderer,el,event,old_opts);
} else {
}
if(cljs.core.truth_((function (){var and__5023__auto__ = new_handler;
if(cljs.core.truth_(and__5023__auto__)){
return cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(new_handler,old_handler);
} else {
return and__5023__auto__;
}
})())){
var temp__5821__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(new_handler,new cljs.core.Keyword("replicant.event","handler","replicant.event/handler",-1806871006));
if(cljs.core.truth_(temp__5821__auto__)){
var handler = temp__5821__auto__;
return replicant.protocols.set_event_handler(renderer,el,event,replicant.core.get_event_handler(handler,event),new_opts);
} else {
return replicant.protocols.set_event_handler(renderer,el,event,replicant.core.get_event_handler(new_handler,event),null);
}
} else {
return null;
}
}),cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.set(cljs.core.keys(new_handlers)),cljs.core.keys(old_handlers)));
});
replicant.core.xlinkns = "http://www.w3.org/1999/xlink";
replicant.core.xmlns = "http://www.w3.org/XML/1998/namespace";
replicant.core.stringify = (function replicant$core$stringify(x){
return [(function (){var temp__5823__auto__ = cljs.core.namespace(x);
if(cljs.core.truth_(temp__5823__auto__)){
var ns = temp__5823__auto__;
return [ns,"/"].join('');
} else {
return null;
}
})(),cljs.core.name(x)].join('');
});
replicant.core.set_attr_val = (function replicant$core$set_attr_val(renderer,el,attr,v){
var an = cljs.core.name(attr);
if((!((!(clojure.string.starts_with_QMARK_(cljs.core.name(attr),"on")))))){
var fn__48271__auto___50373 = new cljs.core.Keyword(null,"fn-name","fn-name",-766594004).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var alias__48272__auto___50374 = new cljs.core.Keyword(null,"alias","alias",-2039751630).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var fd__48273__auto___50375 = new cljs.core.Keyword(null,"data","data",-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
cljs.core.reset_BANG_(replicant.assert.error,(function (){var G__50053 = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"hiccup","hiccup",1218876238),(function (){var or__5025__auto__ = null;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return cljs.core.deref(replicant.assert.current_node);
}
})(),new cljs.core.Keyword(null,"title","title",636505583),"Set event listeners in the :on map",new cljs.core.Keyword(null,"message","message",-406056002),["Event handler attributes are not supported. Instead of ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(attr)," set :on {",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(replicant.asserts.camel__GT_dash(cljs.core.name(attr).substring((2)))))," ,,,}"].join('')], null);
var G__50053__$1 = (cljs.core.truth_(fn__48271__auto___50373)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50053,new cljs.core.Keyword(null,"fname","fname",1500291491),fn__48271__auto___50373):G__50053);
var G__50053__$2 = (cljs.core.truth_(alias__48272__auto___50374)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50053__$1,new cljs.core.Keyword(null,"alias","alias",-2039751630),alias__48272__auto___50374):G__50053__$1);
if(cljs.core.truth_(fd__48273__auto___50375)){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50053__$2,new cljs.core.Keyword(null,"data","data",-232669377),fd__48273__auto___50375);
} else {
return G__50053__$2;
}
})());
} else {
}
if(cljs.core.not(cljs.core.re_find(/^[a-zA-Z\-:_][a-zA-Z0-9\-:\._]*$/,cljs.core.name(attr)))){
var fn__48271__auto___50376 = new cljs.core.Keyword(null,"fn-name","fn-name",-766594004).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var alias__48272__auto___50377 = new cljs.core.Keyword(null,"alias","alias",-2039751630).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var fd__48273__auto___50378 = new cljs.core.Keyword(null,"data","data",-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
cljs.core.reset_BANG_(replicant.assert.error,(function (){var G__50058 = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"hiccup","hiccup",1218876238),(function (){var or__5025__auto__ = null;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return cljs.core.deref(replicant.assert.current_node);
}
})(),new cljs.core.Keyword(null,"title","title",636505583),["Invalid attribute name ",cljs.core.name(attr)].join(''),new cljs.core.Keyword(null,"message","message",-406056002),(function (){var attr__49760__auto__ = cljs.core.name(attr);
return ["Tried to set attribute ",attr__49760__auto__," to value ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(v),". This will fail","horribly in the browser because ",(cljs.core.truth_(cljs.core.re_find(/^[0-9]/,attr__49760__auto__))?" it starts with a number":(cljs.core.truth_(cljs.core.re_find(/^\./,attr__49760__auto__))?" it starts with a dot":[" it contains the character ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.re_find(/[^a-zA-Z0-9\-:\._]/,attr__49760__auto__))].join('')
)),", which isn't allowed as per the HTML spec."].join('');
})()], null);
var G__50058__$1 = (cljs.core.truth_(fn__48271__auto___50376)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50058,new cljs.core.Keyword(null,"fname","fname",1500291491),fn__48271__auto___50376):G__50058);
var G__50058__$2 = (cljs.core.truth_(alias__48272__auto___50377)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50058__$1,new cljs.core.Keyword(null,"alias","alias",-2039751630),alias__48272__auto___50377):G__50058__$1);
if(cljs.core.truth_(fd__48273__auto___50378)){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50058__$2,new cljs.core.Keyword(null,"data","data",-232669377),fd__48273__auto___50378);
} else {
return G__50058__$2;
}
})());
} else {
}
return replicant.protocols.set_attribute(renderer,el,an,(function (){var G__50064 = v;
if((((v instanceof cljs.core.Keyword)) || ((v instanceof cljs.core.Symbol)))){
return replicant.core.stringify(G__50064);
} else {
return G__50064;
}
})(),(function (){var G__50065 = cljs.core.PersistentArrayMap.EMPTY;
var G__50065__$1 = ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),an.indexOf("xml:")))?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50065,new cljs.core.Keyword(null,"ns","ns",441598760),replicant.core.xmlns):G__50065);
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((0),an.indexOf("xlink:"))){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50065__$1,new cljs.core.Keyword(null,"ns","ns",441598760),replicant.core.xlinkns);
} else {
return G__50065__$1;
}
})());
});
replicant.core.update_attr = (function replicant$core$update_attr(renderer,el,attr,new$,old){
if(cljs.core.truth_(cljs.core.namespace(attr))){
return null;
} else {
var G__50071 = attr;
var G__50071__$1 = (((G__50071 instanceof cljs.core.Keyword))?G__50071.fqn:null);
switch (G__50071__$1) {
case "style":
return replicant.core.update_styles(renderer,el,new cljs.core.Keyword(null,"style","style",-496642736).cljs$core$IFn$_invoke$arity$1(new$),new cljs.core.Keyword(null,"style","style",-496642736).cljs$core$IFn$_invoke$arity$1(old));
break;
case "classes":
return replicant.core.update_classes(renderer,el,new cljs.core.Keyword(null,"classes","classes",2037804510).cljs$core$IFn$_invoke$arity$1(new$),new cljs.core.Keyword(null,"classes","classes",2037804510).cljs$core$IFn$_invoke$arity$1(old));
break;
case "on":
return replicant.core.update_event_listeners(renderer,el,new cljs.core.Keyword(null,"on","on",173873944).cljs$core$IFn$_invoke$arity$1(new$),new cljs.core.Keyword(null,"on","on",173873944).cljs$core$IFn$_invoke$arity$1(old));
break;
default:
var temp__5821__auto__ = (attr.cljs$core$IFn$_invoke$arity$1 ? attr.cljs$core$IFn$_invoke$arity$1(new$) : attr.call(null,new$));
if(cljs.core.truth_(temp__5821__auto__)){
var v = temp__5821__auto__;
if(cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(v,(attr.cljs$core$IFn$_invoke$arity$1 ? attr.cljs$core$IFn$_invoke$arity$1(old) : attr.call(null,old)))){
return replicant.core.set_attr_val(renderer,el,attr,v);
} else {
return null;
}
} else {
return replicant.protocols.remove_attribute(renderer,el,cljs.core.name(attr));
}
}
}
});
replicant.core.update_attributes = (function replicant$core$update_attributes(renderer,el,new_attrs,old_attrs){
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p1__50078_SHARP_,p2__50077_SHARP_){
return replicant.core.update_attr(renderer,el,p2__50077_SHARP_,new_attrs,old_attrs);
}),null,cljs.core.into.cljs$core$IFn$_invoke$arity$2(cljs.core.set(cljs.core.keys(new_attrs)),cljs.core.keys(old_attrs)));
});
replicant.core.reconcile_attributes = (function replicant$core$reconcile_attributes(renderer,el,new_attrs,old_attrs){
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(new_attrs,old_attrs)){
return false;
} else {
replicant.core.update_attributes(renderer,el,new_attrs,old_attrs);
return true;
}
});
replicant.core.set_styles = (function replicant$core$set_styles(renderer,el,new_styles){
return cljs.core.run_BANG_((function (p1__50088_SHARP_){
if((!((p1__50088_SHARP_ instanceof cljs.core.Keyword)))){
var fn__48271__auto___50384 = new cljs.core.Keyword(null,"fn-name","fn-name",-766594004).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var alias__48272__auto___50385 = new cljs.core.Keyword(null,"alias","alias",-2039751630).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var fd__48273__auto___50386 = new cljs.core.Keyword(null,"data","data",-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
cljs.core.reset_BANG_(replicant.assert.error,(function (){var G__50092 = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"hiccup","hiccup",1218876238),(function (){var or__5025__auto__ = null;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return cljs.core.deref(replicant.assert.current_node);
}
})(),new cljs.core.Keyword(null,"title","title",636505583),["Style key ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__50088_SHARP_)," should be a keyword"].join(''),new cljs.core.Keyword(null,"message","message",-406056002),["Replicant expects your style keys to be keywords. While anything that supports `name` (strings, symbols) will ","technically work, mixing types will hinder Replicant from recognizing changes properly. Rendering once with ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__50088_SHARP_)," and once with ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.keyword.cljs$core$IFn$_invoke$arity$1(cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__50088_SHARP_)))," may produce undesired results. Your safest option is to always use keywords."].join('')], null);
var G__50092__$1 = (cljs.core.truth_(fn__48271__auto___50384)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50092,new cljs.core.Keyword(null,"fname","fname",1500291491),fn__48271__auto___50384):G__50092);
var G__50092__$2 = (cljs.core.truth_(alias__48272__auto___50385)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50092__$1,new cljs.core.Keyword(null,"alias","alias",-2039751630),alias__48272__auto___50385):G__50092__$1);
if(cljs.core.truth_(fd__48273__auto___50386)){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50092__$2,new cljs.core.Keyword(null,"data","data",-232669377),fd__48273__auto___50386);
} else {
return G__50092__$2;
}
})());
} else {
}
if((!((function (){var name__49749__auto__ = cljs.core.name(p1__50088_SHARP_);
return ((clojure.string.starts_with_QMARK_(name__49749__auto__,"--")) || (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2(name__49749__auto__,clojure.string.lower_case(name__49749__auto__))));
})()))){
var fn__48271__auto___50387 = new cljs.core.Keyword(null,"fn-name","fn-name",-766594004).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var alias__48272__auto___50388 = new cljs.core.Keyword(null,"alias","alias",-2039751630).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var fd__48273__auto___50389 = new cljs.core.Keyword(null,"data","data",-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
cljs.core.reset_BANG_(replicant.assert.error,(function (){var G__50097 = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"hiccup","hiccup",1218876238),(function (){var or__5025__auto__ = null;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return cljs.core.deref(replicant.assert.current_node);
}
})(),new cljs.core.Keyword(null,"title","title",636505583),["Use ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(replicant.asserts.camel__GT_dash_k(p1__50088_SHARP_)),", not ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(p1__50088_SHARP_)].join(''),new cljs.core.Keyword(null,"message","message",-406056002),"Replicant passes style keys directly to `el.style.setProperty`, which expects CSS-style dash-cased property names."], null);
var G__50097__$1 = (cljs.core.truth_(fn__48271__auto___50387)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50097,new cljs.core.Keyword(null,"fname","fname",1500291491),fn__48271__auto___50387):G__50097);
var G__50097__$2 = (cljs.core.truth_(alias__48272__auto___50388)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50097__$1,new cljs.core.Keyword(null,"alias","alias",-2039751630),alias__48272__auto___50388):G__50097__$1);
if(cljs.core.truth_(fd__48273__auto___50389)){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50097__$2,new cljs.core.Keyword(null,"data","data",-232669377),fd__48273__auto___50389);
} else {
return G__50097__$2;
}
})());
} else {
}
return replicant.protocols.set_style(renderer,el,p1__50088_SHARP_,replicant.core.get_style_val(p1__50088_SHARP_,cljs.core.get.cljs$core$IFn$_invoke$arity$2(new_styles,p1__50088_SHARP_)));
}),cljs.core.filter.cljs$core$IFn$_invoke$arity$2(new_styles,cljs.core.keys(new_styles)));
});
replicant.core.set_classes = (function replicant$core$set_classes(renderer,el,new_classes){
return cljs.core.run_BANG_((function (p1__50103_SHARP_){
return replicant.protocols.add_class(renderer,el,p1__50103_SHARP_);
}),new_classes);
});
replicant.core.set_attr = (function replicant$core$set_attr(renderer,el,attr,new$){
if(cljs.core.truth_(cljs.core.namespace(attr))){
return null;
} else {
var G__50111 = attr;
var G__50111__$1 = (((G__50111 instanceof cljs.core.Keyword))?G__50111.fqn:null);
switch (G__50111__$1) {
case "style":
return replicant.core.set_styles(renderer,el,new cljs.core.Keyword(null,"style","style",-496642736).cljs$core$IFn$_invoke$arity$1(new$));
break;
case "classes":
return replicant.core.set_classes(renderer,el,new cljs.core.Keyword(null,"classes","classes",2037804510).cljs$core$IFn$_invoke$arity$1(new$));
break;
case "on":
return replicant.core.add_event_listeners(renderer,el,new cljs.core.Keyword(null,"on","on",173873944).cljs$core$IFn$_invoke$arity$1(new$));
break;
default:
return replicant.core.set_attr_val(renderer,el,attr,(attr.cljs$core$IFn$_invoke$arity$1 ? attr.cljs$core$IFn$_invoke$arity$1(new$) : attr.call(null,new$)));
}
}
});
replicant.core.set_attributes = (function replicant$core$set_attributes(renderer,el,new_attrs){
return cljs.core.run_BANG_((function (p1__50115_SHARP_){
return replicant.core.set_attr(renderer,el,p1__50115_SHARP_,new_attrs);
}),cljs.core.filter.cljs$core$IFn$_invoke$arity$2(new_attrs,cljs.core.keys(new_attrs)));
});
replicant.core.render_default_alias = (function replicant$core$render_default_alias(tag_name,_attrs,children){
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword(null,"div","div",1057191632),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"data-replicant-error","data-replicant-error",1583668098),["Undefined alias ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(tag_name)].join('')], null),(function (){var iter__5503__auto__ = (function replicant$core$render_default_alias_$_iter__50120(s__50121){
return (new cljs.core.LazySeq(null,(function (){
var s__50121__$1 = s__50121;
while(true){
var temp__5823__auto__ = cljs.core.seq(s__50121__$1);
if(temp__5823__auto__){
var s__50121__$2 = temp__5823__auto__;
if(cljs.core.chunked_seq_QMARK_(s__50121__$2)){
var c__5501__auto__ = cljs.core.chunk_first(s__50121__$2);
var size__5502__auto__ = cljs.core.count(c__5501__auto__);
var b__50123 = cljs.core.chunk_buffer(size__5502__auto__);
if((function (){var i__50122 = (0);
while(true){
if((i__50122 < size__5502__auto__)){
var child = cljs.core._nth(c__5501__auto__,i__50122);
cljs.core.chunk_append(b__50123,(function (){var G__50128 = child;
if((((!(typeof child === 'string'))) && ((!(replicant.hiccup.hiccup_QMARK_(child)))))){
return cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([G__50128], 0));
} else {
return G__50128;
}
})());
var G__50397 = (i__50122 + (1));
i__50122 = G__50397;
continue;
} else {
return true;
}
break;
}
})()){
return cljs.core.chunk_cons(cljs.core.chunk(b__50123),replicant$core$render_default_alias_$_iter__50120(cljs.core.chunk_rest(s__50121__$2)));
} else {
return cljs.core.chunk_cons(cljs.core.chunk(b__50123),null);
}
} else {
var child = cljs.core.first(s__50121__$2);
return cljs.core.cons((function (){var G__50132 = child;
if((((!(typeof child === 'string'))) && ((!(replicant.hiccup.hiccup_QMARK_(child)))))){
return cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([G__50132], 0));
} else {
return G__50132;
}
})(),replicant$core$render_default_alias_$_iter__50120(cljs.core.rest(s__50121__$2)));
}
} else {
return null;
}
break;
}
}),null,null));
});
return iter__5503__auto__(children);
})()], null);
});
replicant.core.add_classes = (function replicant$core$add_classes(class_attr,classes){
if(cljs.core.coll_QMARK_(class_attr)){
return cljs.core.set(cljs.core.concat.cljs$core$IFn$_invoke$arity$2(class_attr,classes));
} else {
if((class_attr == null)){
return cljs.core.set(classes);
} else {
return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core.set(classes),class_attr);
}
}
});
replicant.core.get_alias_headers = (function replicant$core$get_alias_headers(p__50142,headers){
var map__50143 = p__50142;
var map__50143__$1 = cljs.core.__destructure_map(map__50143);
var aliases = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__50143__$1,new cljs.core.Keyword(null,"aliases","aliases",1346874714));
var alias_data = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__50143__$1,new cljs.core.Keyword(null,"alias-data","alias-data",1743863930));
var on_alias_exception = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__50143__$1,new cljs.core.Keyword(null,"on-alias-exception","on-alias-exception",1142240043));
var tag_name = (headers[(0)]);
if((tag_name instanceof cljs.core.Keyword)){
var f = (function (){var or__5025__auto__ = cljs.core.get.cljs$core$IFn$_invoke$arity$2(aliases,tag_name);
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return cljs.core.partial.cljs$core$IFn$_invoke$arity$2(replicant.core.render_default_alias,tag_name);
}
})();
var id = (headers[(1)]);
var classes = (headers[(2)]);
var attrs = (headers[(4)]);
var attrs__$1 = (function (){var G__50147 = attrs;
var G__50147__$1 = (cljs.core.truth_(id)?cljs.core.update.cljs$core$IFn$_invoke$arity$3(G__50147,new cljs.core.Keyword(null,"id","id",-1388402092),(function (p1__50139_SHARP_){
var or__5025__auto__ = p1__50139_SHARP_;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return id;
}
})):G__50147);
var G__50147__$2 = (cljs.core.truth_((function (){var or__5025__auto__ = cljs.core.seq(classes);
if(or__5025__auto__){
return or__5025__auto__;
} else {
return new cljs.core.Keyword(null,"class","class",-2030961996).cljs$core$IFn$_invoke$arity$1(attrs);
}
})())?cljs.core.update.cljs$core$IFn$_invoke$arity$4(G__50147__$1,new cljs.core.Keyword(null,"class","class",-2030961996),replicant.core.add_classes,classes):G__50147__$1);
if(cljs.core.truth_(alias_data)){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50147__$2,new cljs.core.Keyword("replicant","alias-data","replicant/alias-data",1929752572),alias_data);
} else {
return G__50147__$2;
}
})();
var children = cljs.core.seq(replicant.core.flatten_seqs((headers[(5)])));
if((!(cljs.core.fn_QMARK_(cljs.core.get.cljs$core$IFn$_invoke$arity$2(aliases,tag_name))))){
var fn__48271__auto___50402 = new cljs.core.Keyword(null,"fn-name","fn-name",-766594004).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var alias__48272__auto___50403 = new cljs.core.Keyword(null,"alias","alias",-2039751630).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var fd__48273__auto___50404 = new cljs.core.Keyword(null,"data","data",-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
cljs.core.reset_BANG_(replicant.assert.error,(function (){var G__50152 = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"hiccup","hiccup",1218876238),(function (){var or__5025__auto__ = null;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return cljs.core.deref(replicant.assert.current_node);
}
})(),new cljs.core.Keyword(null,"title","title",636505583),["Alias ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(tag_name)," isn't defined"].join(''),new cljs.core.Keyword(null,"message","message",-406056002),["There's no available function to render this alias. Replicant will ","render an empty element with data attributes in its place. Available ","aliases are:\n",clojure.string.join.cljs$core$IFn$_invoke$arity$2("\n",cljs.core.keys(aliases))].join('')], null);
var G__50152__$1 = (cljs.core.truth_(fn__48271__auto___50402)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50152,new cljs.core.Keyword(null,"fname","fname",1500291491),fn__48271__auto___50402):G__50152);
var G__50152__$2 = (cljs.core.truth_(alias__48272__auto___50403)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50152__$1,new cljs.core.Keyword(null,"alias","alias",-2039751630),alias__48272__auto___50403):G__50152__$1);
if(cljs.core.truth_(fd__48273__auto___50404)){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50152__$2,new cljs.core.Keyword(null,"data","data",-232669377),fd__48273__auto___50404);
} else {
return G__50152__$2;
}
})());
} else {
}
var alias_hiccup = (f.cljs$core$IFn$_invoke$arity$2 ? f.cljs$core$IFn$_invoke$arity$2(attrs__$1,children) : f.call(null,attrs__$1,children));
if((!(((typeof alias_hiccup === 'string') || (replicant.hiccup.hiccup_QMARK_(alias_hiccup)))))){
var fn__48271__auto___50411 = new cljs.core.Keyword(null,"fn-name","fn-name",-766594004).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var alias__48272__auto___50412 = new cljs.core.Keyword(null,"alias","alias",-2039751630).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var fd__48273__auto___50413 = new cljs.core.Keyword(null,"data","data",-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
cljs.core.reset_BANG_(replicant.assert.error,(function (){var G__50153 = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"hiccup","hiccup",1218876238),(function (){var or__5025__auto__ = null;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return cljs.core.deref(replicant.assert.current_node);
}
})(),new cljs.core.Keyword(null,"title","title",636505583),"Aliases must return valid hiccup",new cljs.core.Keyword(null,"message","message",-406056002),["Aliases must always represent a node in the document, and ","cannot return ",(((alias_hiccup == null))?"nil":((cljs.core.map_QMARK_(alias_hiccup))?"a map":((cljs.core.coll_QMARK_(alias_hiccup))?"multiple nodes":cljs.core.pr_str.cljs$core$IFn$_invoke$arity$variadic(cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([alias_hiccup], 0))
))),". Please check the implementation of ",cljs.core.str.cljs$core$IFn$_invoke$arity$1(tag_name),"."].join('')], null);
var G__50153__$1 = (cljs.core.truth_(fn__48271__auto___50411)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50153,new cljs.core.Keyword(null,"fname","fname",1500291491),fn__48271__auto___50411):G__50153);
var G__50153__$2 = (cljs.core.truth_(alias__48272__auto___50412)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50153__$1,new cljs.core.Keyword(null,"alias","alias",-2039751630),alias__48272__auto___50412):G__50153__$1);
if(cljs.core.truth_(fd__48273__auto___50413)){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50153__$2,new cljs.core.Keyword(null,"data","data",-232669377),fd__48273__auto___50413);
} else {
return G__50153__$2;
}
})());
} else {
}
var hh__47983__auto__ = replicant.core.get_hiccup_headers(null,alias_hiccup);
var alias__47984__auto__ = headers;
if(cljs.core.truth_(hh__47983__auto__)){
var G__50154 = hh__47983__auto__;
(G__50154[(3)] = (function (){var or__5025__auto__ = (alias__47984__auto__[(3)]);
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return (hh__47983__auto__[(3)]);
}
})());
(G__50154[(7)] = (hh__47983__auto__[(7)]));
(G__50154[(9)] = (alias__47984__auto__[(7)]));
return G__50154;
} else {
return null;
}
} else {
return null;
}
});
/**
* Create DOM node according to virtual DOM in `headers`. Register relevant
* life-cycle hooks from the new node or its descendants in `impl`. Returns a
* tuple of the newly created node and the fully realized vdom.
*/
replicant.core.create_node = (function replicant$core$create_node(p__50161,headers){
var map__50162 = p__50161;
var map__50162__$1 = cljs.core.__destructure_map(map__50162);
var impl = map__50162__$1;
var renderer = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__50162__$1,new cljs.core.Keyword(null,"renderer","renderer",336841071));
if(cljs.core.truth_(headers)){
var temp__5823__auto___50447 = (function (){var or__5025__auto__ = new cljs.core.Keyword("replicant","context","replicant/context",-909059467).cljs$core$IFn$_invoke$arity$1((headers[(4)]));
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return new cljs.core.Keyword("replicant","context","replicant/context",-909059467).cljs$core$IFn$_invoke$arity$1(cljs.core.meta((headers[(7)])));
}
})();
if(cljs.core.truth_(temp__5823__auto___50447)){
var ctx__48265__auto___50448 = temp__5823__auto___50447;
cljs.core.reset_BANG_(replicant.assert.current_context,ctx__48265__auto___50448);
} else {
}
cljs.core.reset_BANG_(replicant.assert.current_node,(headers[(7)]));
} else {
}
var or__5025__auto__ = (function (){var temp__5823__auto__ = (headers[(8)]);
if(cljs.core.truth_(temp__5823__auto__)){
var text = temp__5823__auto__;
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [replicant.protocols.create_text_node(renderer,text),(function (){var text__48401__auto__ = text;
return (new Array(null,null,null,null,null,null,false,text__48401__auto__,text__48401__auto__,null,null));
})()], null);
} else {
return null;
}
})();
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
var or__5025__auto____$1 = (function (){var temp__5823__auto__ = replicant.core.get_alias_headers(impl,headers);
if(cljs.core.truth_(temp__5823__auto__)){
var alias_headers = temp__5823__auto__;
var vec__50163 = (replicant.core.create_node.cljs$core$IFn$_invoke$arity$2 ? replicant.core.create_node.cljs$core$IFn$_invoke$arity$2(impl,alias_headers) : replicant.core.create_node.call(null,impl,alias_headers));
var child_node = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50163,(0),null);
var vdom = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50163,(1),null);
var k = (alias_headers[(3)]);
var vdom__$1 = (function (){var headers__48415__auto__ = headers;
return (new Array((headers__48415__auto__[(0)]),(headers__48415__auto__[(3)]),(headers__48415__auto__[(2)]),(headers[(4)]),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [vdom], null),(function (){var G__50166 = cljs.core.PersistentHashSet.EMPTY;
if(cljs.core.truth_(k)){
return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(G__50166,k);
} else {
return G__50166;
}
})(),cljs.core.boolean$(new cljs.core.Keyword("replicant","unmounting","replicant/unmounting",1629433009).cljs$core$IFn$_invoke$arity$1((headers__48415__auto__[(4)]))),(headers__48415__auto__[(7)]),null,null,(1)));
})();
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [child_node,vdom__$1], null);
} else {
return null;
}
})();
if(cljs.core.truth_(or__5025__auto____$1)){
return or__5025__auto____$1;
} else {
var tag_name = (headers[(0)]);
var ns = (function (){var or__5025__auto____$2 = (headers[(6)]);
if(cljs.core.truth_(or__5025__auto____$2)){
return or__5025__auto____$2;
} else {
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2("svg",tag_name)){
return "http://www.w3.org/2000/svg";
} else {
return null;
}
}
})();
var node = replicant.protocols.create_element(renderer,tag_name,(cljs.core.truth_(ns)?new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"ns","ns",441598760),ns], null):null));
var vec__50167 = replicant.core.get_mounting_attrs(headers);
var attrs = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50167,(0),null);
var mounting_attrs = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50167,(1),null);
var _ = replicant.core.set_attributes(renderer,node,(function (){var or__5025__auto____$2 = mounting_attrs;
if(cljs.core.truth_(or__5025__auto____$2)){
return or__5025__auto____$2;
} else {
return attrs;
}
})());
var vec__50170 = cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p__50179,child_headers){
var vec__50180 = p__50179;
var children = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50180,(0),null);
var ks = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50180,(1),null);
var n = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50180,(2),null);
if(cljs.core.truth_(child_headers)){
var vec__50184 = (replicant.core.create_node.cljs$core$IFn$_invoke$arity$2 ? replicant.core.create_node.cljs$core$IFn$_invoke$arity$2(impl,child_headers) : replicant.core.create_node.call(null,impl,child_headers));
var child_node = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50184,(0),null);
var vdom = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50184,(1),null);
var k = (vdom[(1)]);
replicant.protocols.append_child(renderer,node,child_node);
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(children,vdom),(function (){var G__50187 = ks;
if(cljs.core.truth_(k)){
return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(G__50187,k);
} else {
return G__50187;
}
})(),(n + (1))], null);
} else {
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(children,null),ks,n], null);
}
}),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.transient$(cljs.core.PersistentVector.EMPTY),cljs.core.transient$(cljs.core.PersistentHashSet.EMPTY),(0)], null),replicant.core.get_children(headers,ns));
var children = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50170,(0),null);
var ks = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50170,(1),null);
var n_children = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50170,(2),null);
replicant.core.register_hooks(impl,node,headers);
if(cljs.core.truth_(mounting_attrs)){
replicant.core.register_mount(impl,node,mounting_attrs,attrs);
} else {
}
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [node,(function (){var headers__48415__auto__ = headers;
return (new Array((headers__48415__auto__[(0)]),(headers__48415__auto__[(3)]),(headers__48415__auto__[(2)]),attrs,cljs.core.persistent_BANG_(children),cljs.core.persistent_BANG_(ks),cljs.core.boolean$(new cljs.core.Keyword("replicant","unmounting","replicant/unmounting",1629433009).cljs$core$IFn$_invoke$arity$1((headers__48415__auto__[(4)]))),(headers__48415__auto__[(7)]),null,null,n_children));
})()], null);
}
}
});
/**
* Two elements are considered similar enough for reuse if they are both hiccup
* elements with the same tag name and the same key (or both have no key) - or
* they are both strings.
*
* Similarity in this case indicates that the node can be used for reconciliation
* instead of creating a new node from scratch.
*/
replicant.core.reusable_QMARK_ = (function replicant$core$reusable_QMARK_(headers,vdom){
var or__5025__auto__ = (function (){var and__5023__auto__ = (headers[(8)]);
if(cljs.core.truth_(and__5023__auto__)){
return (vdom[(8)]);
} else {
return and__5023__auto__;
}
})();
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((headers[(3)]),(vdom[(1)]))) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((headers[(0)]),(vdom[(0)]))));
}
});
replicant.core.same_QMARK_ = (function replicant$core$same_QMARK_(headers,vdom){
return ((cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((headers[(3)]),(vdom[(1)]))) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((headers[(0)]),(vdom[(0)]))));
});
replicant.core.index_of = (function replicant$core$index_of(f,xs){
var coll_n = (0);
var dom_n = (0);
var xs__$1 = cljs.core.seq(xs);
while(true){
if((xs__$1 == null)){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(-1),(-1)], null);
} else {
if((cljs.core.first(xs__$1) == null)){
var G__50458 = (coll_n + (1));
var G__50459 = dom_n;
var G__50460 = cljs.core.next(xs__$1);
coll_n = G__50458;
dom_n = G__50459;
xs__$1 = G__50460;
continue;
} else {
if(cljs.core.truth_((function (){var G__50195 = cljs.core.first(xs__$1);
return (f.cljs$core$IFn$_invoke$arity$1 ? f.cljs$core$IFn$_invoke$arity$1(G__50195) : f.call(null,G__50195));
})())){
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [coll_n,dom_n], null);
} else {
var G__50467 = (coll_n + (1));
var G__50468 = (dom_n + (1));
var G__50469 = cljs.core.next(xs__$1);
coll_n = G__50467;
dom_n = G__50468;
xs__$1 = G__50469;
continue;
}
}
}
break;
}
});
replicant.core.get_ns = (function replicant$core$get_ns(headers){
var or__5025__auto__ = (headers[(6)]);
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
if(cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2("svg",(headers[(0)]))){
return "http://www.w3.org/2000/svg";
} else {
return null;
}
}
});
replicant.core.insert_children = (function replicant$core$insert_children(p__50196,el,children,vdom){
var map__50197 = p__50196;
var map__50197__$1 = cljs.core.__destructure_map(map__50197);
var impl = map__50197__$1;
var renderer = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__50197__$1,new cljs.core.Keyword(null,"renderer","renderer",336841071));
return cljs.core.reduce.cljs$core$IFn$_invoke$arity$3((function (p__50198,child){
var vec__50199 = p__50198;
var res = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50199,(0),null);
var n = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50199,(1),null);
if(cljs.core.truth_(child)){
var vec__50202 = replicant.core.create_node(impl,child);
var node = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50202,(0),null);
var vdom__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50202,(1),null);
replicant.protocols.append_child(renderer,el,node);
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(res,vdom__$1),(n + (1))], null);
} else {
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(res,null),n], null);
}
}),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [vdom,(0)], null),children);
});
replicant.core.remove_child = (function replicant$core$remove_child(p__50205,unmounts,el,n,vdom){
var map__50206 = p__50205;
var map__50206__$1 = cljs.core.__destructure_map(map__50206);
var impl = map__50206__$1;
var renderer = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__50206__$1,new cljs.core.Keyword(null,"renderer","renderer",336841071));
var temp__5821__auto__ = (vdom[(9)]);
if(cljs.core.truth_(temp__5821__auto__)){
var id = temp__5821__auto__;
if(cljs.core.truth_((unmounts.cljs$core$IFn$_invoke$arity$1 ? unmounts.cljs$core$IFn$_invoke$arity$1(id) : unmounts.call(null,id)))){
return vdom;
} else {
return null;
}
} else {
var res = (function (){var temp__5821__auto____$1 = replicant.core.get_unmounting_attrs(vdom);
if(cljs.core.truth_(temp__5821__auto____$1)){
var attrs = temp__5821__auto____$1;
var vdom__$1 = (function (){var vdom__48395__auto__ = vdom;
(vdom__48395__auto__[(9)] = replicant.vdom.id.cljs$core$IVolatile$_vreset_BANG_$arity$2(null,(replicant.vdom.id.cljs$core$IDeref$_deref$arity$1(null) + (1))));
return vdom__48395__auto__;
})();
var child = replicant.protocols.get_child(renderer,el,n);
replicant.core.update_attributes(renderer,child,attrs,(vdom__$1[(3)]));
cljs.core._vreset_BANG_(new cljs.core.Keyword(null,"unmounts","unmounts",173366521).cljs$core$IFn$_invoke$arity$1(impl),cljs.core.conj.cljs$core$IFn$_invoke$arity$2(cljs.core._deref(new cljs.core.Keyword(null,"unmounts","unmounts",173366521).cljs$core$IFn$_invoke$arity$1(impl)),(vdom__$1[(9)])));
replicant.protocols.on_transition_end(renderer,child,(function (){
cljs.core._vreset_BANG_(new cljs.core.Keyword(null,"unmounts","unmounts",173366521).cljs$core$IFn$_invoke$arity$1(impl),cljs.core.disj.cljs$core$IFn$_invoke$arity$2(cljs.core._deref(new cljs.core.Keyword(null,"unmounts","unmounts",173366521).cljs$core$IFn$_invoke$arity$1(impl)),(vdom__$1[(9)])));
replicant.protocols.remove_child(renderer,el,child);
var temp__5823__auto___50485 = new cljs.core.Keyword("replicant","on-render","replicant/on-render",1674377901).cljs$core$IFn$_invoke$arity$1((vdom__$1[(3)]));
if(cljs.core.truth_(temp__5823__auto___50485)){
var hook_50486 = temp__5823__auto___50485;
replicant.core.call_hook(renderer,new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [hook_50486,new cljs.core.Keyword("replicant","on-render","replicant/on-render",1674377901),child,null,vdom__$1], null));
} else {
}
return renderer;
}));
return vdom__$1;
} else {
var child = replicant.protocols.get_child(renderer,el,n);
replicant.protocols.remove_child(renderer,el,child);
replicant.core.register_hooks.cljs$core$IFn$_invoke$arity$variadic(impl,child,null,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([vdom], 0));
return null;
}
})();
return res;
}
});
replicant.core.move_node_details = new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("replicant","move-node","replicant/move-node",-1189251602)], null);
replicant.core.unchanged_QMARK_ = (function replicant$core$unchanged_QMARK_(headers,vdom){
return cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((function (){var G__50207 = headers;
if((G__50207 == null)){
return null;
} else {
return (G__50207[(7)]);
}
})(),(function (){var G__50208 = vdom;
if((G__50208 == null)){
return null;
} else {
return (G__50208[(7)]);
}
})());
});
replicant.core.move_nodes = (function replicant$core$move_nodes(p__50211,el,headers,new_children,vdom,old_children,n,n_children){
var map__50212 = p__50211;
var map__50212__$1 = cljs.core.__destructure_map(map__50212);
var impl = map__50212__$1;
var renderer = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__50212__$1,new cljs.core.Keyword(null,"renderer","renderer",336841071));
var vec__50213 = (cljs.core.truth_((headers[(3)]))?replicant.core.index_of((function (p1__50209_SHARP_){
return replicant.core.same_QMARK_(headers,p1__50209_SHARP_);
}),old_children):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(-1),(-1)], null));
var o_idx = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50213,(0),null);
var o_dom_idx = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50213,(1),null);
var vec__50216 = (cljs.core.truth_((vdom[(1)]))?replicant.core.index_of((function (p1__50210_SHARP_){
return replicant.core.same_QMARK_(p1__50210_SHARP_,vdom);
}),new_children):new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(-1),(-1)], null));
var n_idx = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50216,(0),null);
var n_dom_idx = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50216,(1),null);
if((o_idx < n_idx)){
var idx = ((n + n_dom_idx) + (1));
var child = replicant.protocols.get_child(renderer,el,n);
if((idx < n_children)){
replicant.protocols.insert_before(renderer,el,child,replicant.protocols.get_child(renderer,el,idx));
} else {
replicant.protocols.append_child(renderer,el,child);
}
replicant.core.register_hooks.cljs$core$IFn$_invoke$arity$variadic(impl,child,cljs.core.nth.cljs$core$IFn$_invoke$arity$2(new_children,n_idx),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([vdom,replicant.core.move_node_details], 0));
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [new_children,cljs.core.concat.cljs$core$IFn$_invoke$arity$variadic(cljs.core.take.cljs$core$IFn$_invoke$arity$2(n_idx,cljs.core.next(old_children)),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.first(old_children)], null),cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([cljs.core.drop.cljs$core$IFn$_invoke$arity$2((n_idx + (1)),old_children)], 0)),n,(idx - (1))], null);
} else {
var idx = (n + o_dom_idx);
var child = replicant.protocols.get_child(renderer,el,idx);
var corresponding_old_vdom = cljs.core.nth.cljs$core$IFn$_invoke$arity$2(old_children,o_idx);
replicant.protocols.insert_before(renderer,el,child,replicant.protocols.get_child(renderer,el,n));
(replicant.core.reconcile_STAR_.cljs$core$IFn$_invoke$arity$5 ? replicant.core.reconcile_STAR_.cljs$core$IFn$_invoke$arity$5(impl,el,headers,corresponding_old_vdom,n) : replicant.core.reconcile_STAR_.call(null,impl,el,headers,corresponding_old_vdom,n));
if(replicant.core.unchanged_QMARK_(headers,corresponding_old_vdom)){
replicant.core.register_hooks.cljs$core$IFn$_invoke$arity$variadic(impl,child,headers,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([corresponding_old_vdom,replicant.core.move_node_details], 0));
} else {
}
return new cljs.core.PersistentVector(null, 5, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.next(new_children),cljs.core.concat.cljs$core$IFn$_invoke$arity$2(cljs.core.take.cljs$core$IFn$_invoke$arity$2(o_idx,old_children),cljs.core.drop.cljs$core$IFn$_invoke$arity$2((o_idx + (1)),old_children)),(n + (1)),((n + o_idx) + (1)),corresponding_old_vdom], null);
}
});
replicant.core.insert_node = (function replicant$core$insert_node(r,el,child,n,n_children){
if((n_children <= n)){
return replicant.protocols.append_child(r,el,child);
} else {
return replicant.protocols.insert_before(r,el,child,replicant.protocols.get_child(r,el,n));
}
});
replicant.core.update_children = (function replicant$core$update_children(impl,el,new_children,new_ks,old_children,old_ks,n_children){
var r = new cljs.core.Keyword(null,"renderer","renderer",336841071).cljs$core$IFn$_invoke$arity$1(impl);
var unmounts = cljs.core.deref(new cljs.core.Keyword(null,"unmounts","unmounts",173366521).cljs$core$IFn$_invoke$arity$1(impl));
var new_c = cljs.core.seq(new_children);
var old_c = cljs.core.seq(old_children);
var n = (0);
var move_n = (0);
var n_children__$1 = (function (){var or__5025__auto__ = n_children;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return (0);
}
})();
var changed_QMARK_ = false;
var vdom = cljs.core.transient$(cljs.core.PersistentVector.EMPTY);
while(true){
var new_headers = cljs.core.first(new_c);
var old_vdom = cljs.core.first(old_c);
var new_empty_QMARK_ = (new_c == null);
var old_empty_QMARK_ = (old_c == null);
var new_nil_QMARK_ = (new_headers == null);
var old_nil_QMARK_ = (old_vdom == null);
if(((new_empty_QMARK_) && (old_empty_QMARK_))){
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [changed_QMARK_,cljs.core.persistent_BANG_(vdom),new_ks,n_children__$1], null);
} else {
if(new_empty_QMARK_){
var children = cljs.core.seq(old_c);
var vdom__$1 = vdom;
var n__$1 = n;
var n_children__$2 = n_children__$1;
while(true){
if((children == null)){
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,cljs.core.persistent_BANG_(vdom__$1),new_ks,n_children__$2], null);
} else {
if((cljs.core.first(children) == null)){
var G__50525 = cljs.core.next(children);
var G__50526 = cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(vdom__$1,null);
var G__50527 = n__$1;
var G__50528 = n_children__$2;
children = G__50525;
vdom__$1 = G__50526;
n__$1 = G__50527;
n_children__$2 = G__50528;
continue;
} else {
var temp__5821__auto__ = replicant.core.remove_child(impl,unmounts,el,n__$1,cljs.core.first(children));
if(cljs.core.truth_(temp__5821__auto__)){
var pending_vdom = temp__5821__auto__;
var G__50530 = cljs.core.next(children);
var G__50531 = cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(vdom__$1,pending_vdom);
var G__50532 = (n__$1 + (1));
var G__50533 = n_children__$2;
children = G__50530;
vdom__$1 = G__50531;
n__$1 = G__50532;
n_children__$2 = G__50533;
continue;
} else {
var G__50535 = cljs.core.next(children);
var G__50536 = vdom__$1;
var G__50537 = n__$1;
var G__50538 = (n_children__$2 - (1));
children = G__50535;
vdom__$1 = G__50536;
n__$1 = G__50537;
n_children__$2 = G__50538;
continue;
}
}
}
break;
}
} else {
if(old_empty_QMARK_){
var vec__50242 = replicant.core.insert_children(impl,el,new_c,vdom);
var vdom__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50242,(0),null);
var n__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50242,(1),null);
return new cljs.core.PersistentVector(null, 4, 5, cljs.core.PersistentVector.EMPTY_NODE, [true,cljs.core.persistent_BANG_(vdom__$1),new_ks,(n_children__$1 + n__$1)], null);
} else {
if(((new_nil_QMARK_) && (old_nil_QMARK_))){
var G__50544 = cljs.core.next(new_c);
var G__50545 = cljs.core.next(old_c);
var G__50546 = n;
var G__50547 = move_n;
var G__50548 = n_children__$1;
var G__50549 = changed_QMARK_;
var G__50550 = cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(vdom,null);
new_c = G__50544;
old_c = G__50545;
n = G__50546;
move_n = G__50547;
n_children__$1 = G__50548;
changed_QMARK_ = G__50549;
vdom = G__50550;
continue;
} else {
if(cljs.core.truth_((function (){var and__5023__auto__ = old_vdom;
if(cljs.core.truth_(and__5023__auto__)){
return (old_vdom[(9)]);
} else {
return and__5023__auto__;
}
})())){
var vec__50245 = (cljs.core.truth_((function (){var and__5023__auto__ = new_headers;
if(cljs.core.truth_(and__5023__auto__)){
return cljs.core.not((function (){var G__50248 = (new_headers[(3)]);
return (old_ks.cljs$core$IFn$_invoke$arity$1 ? old_ks.cljs$core$IFn$_invoke$arity$1(G__50248) : old_ks.call(null,G__50248));
})());
} else {
return and__5023__auto__;
}
})())?(function (){var res = replicant.core.create_node(impl,new_headers);
replicant.core.insert_node(r,el,cljs.core.first(res),n,n_children__$1);
return res;
})():null);
var child = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50245,(0),null);
var child_vdom = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50245,(1),null);
if(cljs.core.truth_((function (){var G__50253 = (old_vdom[(9)]);
return (unmounts.cljs$core$IFn$_invoke$arity$1 ? unmounts.cljs$core$IFn$_invoke$arity$1(G__50253) : unmounts.call(null,G__50253));
})())){
if(new_nil_QMARK_){
var G__50558 = cljs.core.next(new_c);
var G__50559 = cljs.core.next(old_c);
var G__50560 = (n + (1));
var G__50561 = move_n;
var G__50562 = n_children__$1;
var G__50563 = changed_QMARK_;
var G__50564 = cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(vdom,old_vdom);
new_c = G__50558;
old_c = G__50559;
n = G__50560;
move_n = G__50561;
n_children__$1 = G__50562;
changed_QMARK_ = G__50563;
vdom = G__50564;
continue;
} else {
if(cljs.core.truth_(child)){
var G__50565 = cljs.core.next(new_c);
var G__50566 = cljs.core.next(old_c);
var G__50567 = (n + (2));
var G__50568 = move_n;
var G__50569 = (n_children__$1 + (1));
var G__50570 = true;
var G__50571 = cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(vdom,child_vdom);
new_c = G__50565;
old_c = G__50566;
n = G__50567;
move_n = G__50568;
n_children__$1 = G__50569;
changed_QMARK_ = G__50570;
vdom = G__50571;
continue;
} else {
var G__50573 = new_c;
var G__50574 = cljs.core.next(old_c);
var G__50575 = (n + (1));
var G__50576 = move_n;
var G__50577 = n_children__$1;
var G__50578 = changed_QMARK_;
var G__50579 = cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(vdom,old_vdom);
new_c = G__50573;
old_c = G__50574;
n = G__50575;
move_n = G__50576;
n_children__$1 = G__50577;
changed_QMARK_ = G__50578;
vdom = G__50579;
continue;
}
}
} else {
if(new_nil_QMARK_){
var G__50586 = cljs.core.next(new_c);
var G__50587 = cljs.core.next(old_c);
var G__50588 = n;
var G__50589 = (move_n - (1));
var G__50590 = (n_children__$1 - (1));
var G__50591 = changed_QMARK_;
var G__50592 = cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(vdom,null);
new_c = G__50586;
old_c = G__50587;
n = G__50588;
move_n = G__50589;
n_children__$1 = G__50590;
changed_QMARK_ = G__50591;
vdom = G__50592;
continue;
} else {
if(cljs.core.truth_(child)){
var G__50593 = cljs.core.next(new_c);
var G__50594 = cljs.core.next(old_c);
var G__50595 = (n + (1));
var G__50596 = move_n;
var G__50597 = n_children__$1;
var G__50598 = true;
var G__50599 = cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(vdom,child_vdom);
new_c = G__50593;
old_c = G__50594;
n = G__50595;
move_n = G__50596;
n_children__$1 = G__50597;
changed_QMARK_ = G__50598;
vdom = G__50599;
continue;
} else {
var G__50602 = new_c;
var G__50603 = cljs.core.next(old_c);
var G__50604 = n;
var G__50605 = (move_n - (1));
var G__50606 = (n_children__$1 - (1));
var G__50607 = changed_QMARK_;
var G__50608 = vdom;
new_c = G__50602;
old_c = G__50603;
n = G__50604;
move_n = G__50605;
n_children__$1 = G__50606;
changed_QMARK_ = G__50607;
vdom = G__50608;
continue;
}
}
}
} else {
if(new_nil_QMARK_){
if(cljs.core.contains_QMARK_(new_ks,(old_vdom[(1)]))){
var G__50610 = cljs.core.next(new_c);
var G__50611 = old_c;
var G__50612 = n;
var G__50613 = move_n;
var G__50614 = n_children__$1;
var G__50615 = true;
var G__50616 = vdom;
new_c = G__50610;
old_c = G__50611;
n = G__50612;
move_n = G__50613;
n_children__$1 = G__50614;
changed_QMARK_ = G__50615;
vdom = G__50616;
continue;
} else {
var temp__5821__auto__ = replicant.core.remove_child(impl,unmounts,el,n,old_vdom);
if(cljs.core.truth_(temp__5821__auto__)){
var unmounting_node = temp__5821__auto__;
var G__50621 = cljs.core.next(new_c);
var G__50622 = cljs.core.next(old_c);
var G__50623 = (n + (1));
var G__50624 = move_n;
var G__50625 = n_children__$1;
var G__50626 = true;
var G__50627 = cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(vdom,unmounting_node);
new_c = G__50621;
old_c = G__50622;
n = G__50623;
move_n = G__50624;
n_children__$1 = G__50625;
changed_QMARK_ = G__50626;
vdom = G__50627;
continue;
} else {
var G__50628 = cljs.core.next(new_c);
var G__50629 = cljs.core.next(old_c);
var G__50630 = n;
var G__50631 = move_n;
var G__50632 = (n_children__$1 - (1));
var G__50633 = true;
var G__50634 = cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(vdom,null);
new_c = G__50628;
old_c = G__50629;
n = G__50630;
move_n = G__50631;
n_children__$1 = G__50632;
changed_QMARK_ = G__50633;
vdom = G__50634;
continue;
}
}
} else {
if(cljs.core.truth_((function (){var and__5023__auto__ = old_vdom;
if(cljs.core.truth_(and__5023__auto__)){
return replicant.core.reusable_QMARK_(new_headers,old_vdom);
} else {
return and__5023__auto__;
}
})())){
var new_vdom = (replicant.core.reconcile_STAR_.cljs$core$IFn$_invoke$arity$5 ? replicant.core.reconcile_STAR_.cljs$core$IFn$_invoke$arity$5(impl,el,new_headers,old_vdom,n) : replicant.core.reconcile_STAR_.call(null,impl,el,new_headers,old_vdom,n));
var node_unchanged_QMARK_ = replicant.core.unchanged_QMARK_(new_headers,old_vdom);
if(((node_unchanged_QMARK_) && ((n < move_n)))){
replicant.core.register_hooks.cljs$core$IFn$_invoke$arity$variadic(impl,replicant.protocols.get_child(r,el,n),new_headers,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([old_vdom,replicant.core.move_node_details], 0));
} else {
}
var G__50638 = cljs.core.next(new_c);
var G__50639 = cljs.core.next(old_c);
var G__50640 = (n + (1));
var G__50641 = move_n;
var G__50642 = n_children__$1;
var G__50643 = (function (){var or__5025__auto__ = changed_QMARK_;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return (!(node_unchanged_QMARK_));
}
})();
var G__50644 = cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(vdom,new_vdom);
new_c = G__50638;
old_c = G__50639;
n = G__50640;
move_n = G__50641;
n_children__$1 = G__50642;
changed_QMARK_ = G__50643;
vdom = G__50644;
continue;
} else {
if(cljs.core.not((function (){var G__50255 = (new_headers[(3)]);
return (old_ks.cljs$core$IFn$_invoke$arity$1 ? old_ks.cljs$core$IFn$_invoke$arity$1(G__50255) : old_ks.call(null,G__50255));
})())){
var vec__50256 = replicant.core.create_node(impl,new_headers);
var child = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50256,(0),null);
var child_vdom = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50256,(1),null);
replicant.core.insert_node(r,el,child,n,n_children__$1);
var G__50653 = cljs.core.next(new_c);
var G__50654 = (function (){var G__50259 = old_c;
if((old_vdom == null)){
return cljs.core.next(G__50259);
} else {
return G__50259;
}
})();
var G__50655 = (n + (1));
var G__50656 = move_n;
var G__50657 = (n_children__$1 + (1));
var G__50658 = true;
var G__50659 = cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(vdom,child_vdom);
new_c = G__50653;
old_c = G__50654;
n = G__50655;
move_n = G__50656;
n_children__$1 = G__50657;
changed_QMARK_ = G__50658;
vdom = G__50659;
continue;
} else {
if(((old_nil_QMARK_) || (cljs.core.not((function (){var G__50260 = (old_vdom[(1)]);
return (new_ks.cljs$core$IFn$_invoke$arity$1 ? new_ks.cljs$core$IFn$_invoke$arity$1(G__50260) : new_ks.call(null,G__50260));
})())))){
var temp__5821__auto__ = replicant.core.remove_child(impl,unmounts,el,n,old_vdom);
if(cljs.core.truth_(temp__5821__auto__)){
var unmounting_node = temp__5821__auto__;
var G__50664 = new_c;
var G__50665 = cljs.core.next(old_c);
var G__50666 = (n + (1));
var G__50667 = move_n;
var G__50668 = n_children__$1;
var G__50669 = true;
var G__50670 = cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(vdom,unmounting_node);
new_c = G__50664;
old_c = G__50665;
n = G__50666;
move_n = G__50667;
n_children__$1 = G__50668;
changed_QMARK_ = G__50669;
vdom = G__50670;
continue;
} else {
var G__50673 = new_c;
var G__50674 = cljs.core.next(old_c);
var G__50675 = n;
var G__50676 = move_n;
var G__50677 = (n_children__$1 - (1));
var G__50678 = true;
var G__50679 = vdom;
new_c = G__50673;
old_c = G__50674;
n = G__50675;
move_n = G__50676;
n_children__$1 = G__50677;
changed_QMARK_ = G__50678;
vdom = G__50679;
continue;
}
} else {
var vec__50261 = replicant.core.move_nodes(impl,el,new_headers,new_c,old_vdom,old_c,n,n_children__$1);
var nc = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50261,(0),null);
var oc = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50261,(1),null);
var n__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50261,(2),null);
var move_n__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50261,(3),null);
var vdom_node = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50261,(4),null);
var G__50683 = nc;
var G__50684 = oc;
var G__50685 = n__$1;
var G__50686 = move_n__$1;
var G__50687 = n_children__$1;
var G__50688 = true;
var G__50689 = (function (){var G__50264 = vdom;
if(cljs.core.truth_(vdom_node)){
return cljs.core.conj_BANG_.cljs$core$IFn$_invoke$arity$2(G__50264,vdom_node);
} else {
return G__50264;
}
})();
new_c = G__50683;
old_c = G__50684;
n = G__50685;
move_n = G__50686;
n_children__$1 = G__50687;
changed_QMARK_ = G__50688;
vdom = G__50689;
continue;
}
}
}
}
}
}
}
}
}
break;
}
});
replicant.core.reconcile_STAR_ = (function replicant$core$reconcile_STAR_(p__50267,el,headers,vdom,index){
var map__50268 = p__50267;
var map__50268__$1 = cljs.core.__destructure_map(map__50268);
var impl = map__50268__$1;
var renderer = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__50268__$1,new cljs.core.Keyword(null,"renderer","renderer",336841071));
if(cljs.core.truth_(headers)){
var temp__5823__auto___50697 = (function (){var or__5025__auto__ = new cljs.core.Keyword("replicant","context","replicant/context",-909059467).cljs$core$IFn$_invoke$arity$1((headers[(4)]));
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return new cljs.core.Keyword("replicant","context","replicant/context",-909059467).cljs$core$IFn$_invoke$arity$1(cljs.core.meta((headers[(7)])));
}
})();
if(cljs.core.truth_(temp__5823__auto___50697)){
var ctx__48265__auto___50698 = temp__5823__auto___50697;
cljs.core.reset_BANG_(replicant.assert.current_context,ctx__48265__auto___50698);
} else {
}
cljs.core.reset_BANG_(replicant.assert.current_node,(headers[(7)]));
} else {
}
if((!((!(replicant.asserts.has_bad_conditional_attrs_QMARK_(vdom,headers)))))){
var fn__48271__auto___50701 = new cljs.core.Keyword(null,"fn-name","fn-name",-766594004).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var alias__48272__auto___50702 = new cljs.core.Keyword(null,"alias","alias",-2039751630).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
var fd__48273__auto___50703 = new cljs.core.Keyword(null,"data","data",-232669377).cljs$core$IFn$_invoke$arity$1(cljs.core.deref(replicant.assert.current_context));
cljs.core.reset_BANG_(replicant.assert.error,(function (){var G__50269 = new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"hiccup","hiccup",1218876238),(function (){var or__5025__auto__ = null;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return cljs.core.deref(replicant.assert.current_node);
}
})(),new cljs.core.Keyword(null,"title","title",636505583),"Avoid conditionals around the attribute map",new cljs.core.Keyword(null,"message","message",-406056002),replicant.asserts.convey_bad_conditional_attributes(vdom,headers)], null);
var G__50269__$1 = (cljs.core.truth_(fn__48271__auto___50701)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50269,new cljs.core.Keyword(null,"fname","fname",1500291491),fn__48271__auto___50701):G__50269);
var G__50269__$2 = (cljs.core.truth_(alias__48272__auto___50702)?cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50269__$1,new cljs.core.Keyword(null,"alias","alias",-2039751630),alias__48272__auto___50702):G__50269__$1);
if(cljs.core.truth_(fd__48273__auto___50703)){
return cljs.core.assoc.cljs$core$IFn$_invoke$arity$3(G__50269__$2,new cljs.core.Keyword(null,"data","data",-232669377),fd__48273__auto___50703);
} else {
return G__50269__$2;
}
})());
} else {
}
var or__5025__auto__ = ((replicant.core.unchanged_QMARK_(headers,vdom))?vdom:null);
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
var or__5025__auto____$1 = (function (){var temp__5823__auto__ = replicant.core.get_alias_headers(impl,headers);
if(cljs.core.truth_(temp__5823__auto__)){
var alias_headers = temp__5823__auto__;
var vdom_child = cljs.core.first((vdom[(4)]));
var updated_vdom = (cljs.core.truth_(replicant.core.reusable_QMARK_(alias_headers,vdom_child))?(replicant.core.reconcile_STAR_.cljs$core$IFn$_invoke$arity$5 ? replicant.core.reconcile_STAR_.cljs$core$IFn$_invoke$arity$5(impl,el,alias_headers,vdom_child,index) : replicant.core.reconcile_STAR_.call(null,impl,el,alias_headers,vdom_child,index)):(function (){var vec__50270 = replicant.core.create_node(impl,alias_headers);
var node = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50270,(0),null);
var updated_vdom = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50270,(1),null);
replicant.protocols.replace_child(renderer,el,node,replicant.protocols.get_child(renderer,el,index));
return updated_vdom;
})());
var headers__48415__auto__ = headers;
return (new Array((headers__48415__auto__[(0)]),(headers__48415__auto__[(3)]),(headers__48415__auto__[(2)]),(headers[(4)]),new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [updated_vdom], null),(function (){var temp__5823__auto____$1 = (updated_vdom[(1)]);
if(cljs.core.truth_(temp__5823__auto____$1)){
var k = temp__5823__auto____$1;
return new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [k], null);
} else {
return null;
}
})(),cljs.core.boolean$(new cljs.core.Keyword("replicant","unmounting","replicant/unmounting",1629433009).cljs$core$IFn$_invoke$arity$1((headers__48415__auto__[(4)]))),(headers__48415__auto__[(7)]),null,null,(1)));
} else {
return null;
}
})();
if(cljs.core.truth_(or__5025__auto____$1)){
return or__5025__auto____$1;
} else {
var or__5025__auto____$2 = ((cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2((headers[(8)]),(vdom[(8)])))?(function (){var vec__50274 = replicant.core.create_node(impl,headers);
var node = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50274,(0),null);
var vdom__$1 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50274,(1),null);
replicant.protocols.replace_child(renderer,el,node,replicant.protocols.get_child(renderer,el,index));
return vdom__$1;
})():null);
if(cljs.core.truth_(or__5025__auto____$2)){
return or__5025__auto____$2;
} else {
var child = replicant.protocols.get_child(renderer,el,index);
var headers__$1 = (function (){var or__5025__auto____$3 = replicant.core.get_alias_headers(impl,headers);
if(cljs.core.truth_(or__5025__auto____$3)){
return or__5025__auto____$3;
} else {
return headers;
}
})();
var attrs = replicant.core.get_attrs(headers__$1);
var vdom_attrs = (vdom[(3)]);
var attrs_changed_QMARK_ = replicant.core.reconcile_attributes(renderer,child,attrs,vdom_attrs);
var vec__50277 = (cljs.core.truth_(new cljs.core.Keyword(null,"innerHTML","innerHTML",-1856751343).cljs$core$IFn$_invoke$arity$1((headers__$1[(4)])))?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,true], null):replicant.core.get_children_ks(headers__$1,replicant.core.get_ns(headers__$1)));
var new_children = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50277,(0),null);
var new_ks = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50277,(1),null);
var inner_html_QMARK_ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50277,(2),null);
var vec__50280 = (cljs.core.truth_(new cljs.core.Keyword(null,"contenteditable","contenteditable",-770210530).cljs$core$IFn$_invoke$arity$1(vdom_attrs))?(function (){
replicant.protocols.remove_all_children(renderer,child);
return new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,(0)], null);
})()
:(cljs.core.truth_(inner_html_QMARK_)?new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [null,null,(0)], null):new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [(vdom[(4)]),(vdom[(5)]),(vdom[(10)])], null)
));
var old_children = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50280,(0),null);
var old_ks = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50280,(1),null);
var old_nc = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50280,(2),null);
var vec__50283 = replicant.core.update_children(impl,child,new_children,new_ks,old_children,old_ks,old_nc);
var children_changed_QMARK_ = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50283,(0),null);
var children = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50283,(1),null);
var child_ks = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50283,(2),null);
var n_children = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50283,(3),null);
var attrs_changed_QMARK___$1 = ((attrs_changed_QMARK_) || (cljs.core.not_EQ_.cljs$core$IFn$_invoke$arity$2(new cljs.core.Keyword("replicant","on-render","replicant/on-render",1674377901).cljs$core$IFn$_invoke$arity$1((headers__$1[(4)])),new cljs.core.Keyword("replicant","on-render","replicant/on-render",1674377901).cljs$core$IFn$_invoke$arity$1(vdom_attrs))));
replicant.core.register_hooks.cljs$core$IFn$_invoke$arity$variadic(impl,child,headers__$1,cljs.core.prim_seq.cljs$core$IFn$_invoke$arity$2([vdom,(cljs.core.truth_((function (){var and__5023__auto__ = attrs_changed_QMARK___$1;
if(and__5023__auto__){
return children_changed_QMARK_;
} else {
return and__5023__auto__;
}
})())?new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("replicant","updated-attrs","replicant/updated-attrs",295362895),new cljs.core.Keyword("replicant","updated-children","replicant/updated-children",2041302229)], null):((attrs_changed_QMARK___$1)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("replicant","updated-attrs","replicant/updated-attrs",295362895)], null):new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [new cljs.core.Keyword("replicant","updated-children","replicant/updated-children",2041302229)], null)
))], 0));
var headers__48415__auto__ = headers__$1;
return (new Array((headers__48415__auto__[(0)]),(headers__48415__auto__[(3)]),(headers__48415__auto__[(2)]),attrs,children,child_ks,cljs.core.boolean$(new cljs.core.Keyword("replicant","unmounting","replicant/unmounting",1629433009).cljs$core$IFn$_invoke$arity$1((headers__48415__auto__[(4)]))),(headers__48415__auto__[(7)]),null,null,n_children));
}
}
}
});
replicant.core.perform_post_mount_update = (function replicant$core$perform_post_mount_update(renderer,p__50290){
var vec__50291 = p__50290;
var node = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50291,(0),null);
var mounting_attrs = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50291,(1),null);
var attrs = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50291,(2),null);
return replicant.core.update_attributes(renderer,node,attrs,mounting_attrs);
});
/**
* Reconcile the DOM in `el` by diffing `hiccup` with `vdom`. If there is no
* `vdom`, `reconcile` will create the DOM as per `hiccup`. Assumes that the DOM
* in `el` is in sync with `vdom` - if not, this will certainly not produce the
* desired result.
*/
replicant.core.reconcile = (function replicant$core$reconcile(var_args){
var args__5755__auto__ = [];
var len__5749__auto___50749 = arguments.length;
var i__5750__auto___50750 = (0);
while(true){
if((i__5750__auto___50750 < len__5749__auto___50749)){
args__5755__auto__.push((arguments[i__5750__auto___50750]));
var G__50755 = (i__5750__auto___50750 + (1));
i__5750__auto___50750 = G__50755;
continue;
} else {
}
break;
}
var argseq__5756__auto__ = ((((3) < args__5755__auto__.length))?(new cljs.core.IndexedSeq(args__5755__auto__.slice((3)),(0),null)):null);
return replicant.core.reconcile.cljs$core$IFn$_invoke$arity$variadic((arguments[(0)]),(arguments[(1)]),(arguments[(2)]),argseq__5756__auto__);
});
(replicant.core.reconcile.cljs$core$IFn$_invoke$arity$variadic = (function (renderer,el,hiccup,p__50306){
var vec__50307 = p__50306;
var vdom = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50307,(0),null);
var map__50310 = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50307,(1),null);
var map__50310__$1 = cljs.core.__destructure_map(map__50310);
var unmounts = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__50310__$1,new cljs.core.Keyword(null,"unmounts","unmounts",173366521));
var aliases = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__50310__$1,new cljs.core.Keyword(null,"aliases","aliases",1346874714));
var alias_data = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__50310__$1,new cljs.core.Keyword(null,"alias-data","alias-data",1743863930));
var on_alias_exception = cljs.core.get.cljs$core$IFn$_invoke$arity$2(map__50310__$1,new cljs.core.Keyword(null,"on-alias-exception","on-alias-exception",1142240043));
var impl = new cljs.core.PersistentArrayMap(null, 7, [new cljs.core.Keyword(null,"renderer","renderer",336841071),renderer,new cljs.core.Keyword(null,"hooks","hooks",-413590103),cljs.core.volatile_BANG_(cljs.core.PersistentVector.EMPTY),new cljs.core.Keyword(null,"mounts","mounts",-791474425),cljs.core.volatile_BANG_(cljs.core.PersistentVector.EMPTY),new cljs.core.Keyword(null,"unmounts","unmounts",173366521),(function (){var or__5025__auto__ = unmounts;
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return cljs.core.volatile_BANG_(cljs.core.PersistentHashSet.EMPTY);
}
})(),new cljs.core.Keyword(null,"aliases","aliases",1346874714),aliases,new cljs.core.Keyword(null,"alias-data","alias-data",1743863930),alias_data,new cljs.core.Keyword(null,"on-alias-exception","on-alias-exception",1142240043),on_alias_exception], null);
var vdom__$1 = ((cljs.core.list_QMARK_(hiccup))?(function (){var vec__50311 = replicant.core.get_children_ks((function (){var pt__47884__auto__ = [null,null,null];
var G__50314 = pt__47884__auto__;
G__50314.push((function (){var temp__5823__auto__ = new cljs.core.Keyword("replicant","key","replicant/key",-670108117).cljs$core$IFn$_invoke$arity$1(null);
if(cljs.core.truth_(temp__5823__auto__)){
var k__47863__auto__ = temp__5823__auto__;
return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [(pt__47884__auto__[(0)]),k__47863__auto__], null);
} else {
return null;
}
})());
G__50314.push(null);
G__50314.push(hiccup);
G__50314.push(null);
G__50314.push(null);
G__50314.push(null);
G__50314.push(null);
return G__50314;
})(),null);
var children = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50311,(0),null);
var ks = cljs.core.nth.cljs$core$IFn$_invoke$arity$3(vec__50311,(1),null);
return cljs.core.second(replicant.core.update_children(impl,el,children,ks,vdom,cljs.core.set(cljs.core.keep.cljs$core$IFn$_invoke$arity$2((function (p1__50297_SHARP_){
return (p1__50297_SHARP_[(1)]);
}),vdom)),cljs.core.count(vdom)));
})():(function (){var headers = replicant.core.get_hiccup_headers(null,hiccup);
if(cljs.core.truth_(headers)){
var temp__5823__auto___50776 = (function (){var or__5025__auto__ = new cljs.core.Keyword("replicant","context","replicant/context",-909059467).cljs$core$IFn$_invoke$arity$1((headers[(4)]));
if(cljs.core.truth_(or__5025__auto__)){
return or__5025__auto__;
} else {
return new cljs.core.Keyword("replicant","context","replicant/context",-909059467).cljs$core$IFn$_invoke$arity$1(cljs.core.meta((headers[(7)])));
}
})();
if(cljs.core.truth_(temp__5823__auto___50776)){
var ctx__48265__auto___50777 = temp__5823__auto___50776;
cljs.core.reset_BANG_(replicant.assert.current_context,ctx__48265__auto___50777);
} else {
}
cljs.core.reset_BANG_(replicant.assert.current_node,(headers[(7)]));
} else {
}
if(cljs.core.truth_((function (){var and__5023__auto__ = headers;
if(cljs.core.truth_(and__5023__auto__)){
var and__5023__auto____$1 = vdom;
if(cljs.core.truth_(and__5023__auto____$1)){
return ((replicant.core.unchanged_QMARK_(headers,cljs.core.first(vdom))) && (cljs.core._EQ_.cljs$core$IFn$_invoke$arity$2((1),cljs.core.count(vdom))));
} else {
return and__5023__auto____$1;
}
} else {
return and__5023__auto__;
}
})())){
return vdom;
} else {
var k = (cljs.core.truth_(headers)?(headers[(3)]):null);
return cljs.core.second(replicant.core.update_children(impl,el,(cljs.core.truth_(headers)?new cljs.core.PersistentVector(null, 1, 5, cljs.core.PersistentVector.EMPTY_NODE, [headers], null):null),(function (){var G__50315 = cljs.core.PersistentHashSet.EMPTY;
if(cljs.core.truth_(k)){
return cljs.core.conj.cljs$core$IFn$_invoke$arity$2(G__50315,k);
} else {
return G__50315;
}
})(),vdom,cljs.core.set(cljs.core.keep.cljs$core$IFn$_invoke$arity$2((function (p1__50298_SHARP_){
return (p1__50298_SHARP_[(1)]);
}),vdom)),(cljs.core.truth_(cljs.core.first(vdom))?(1):(0))));
}
})());
var hooks = cljs.core.deref(new cljs.core.Keyword(null,"hooks","hooks",-413590103).cljs$core$IFn$_invoke$arity$1(impl));
var temp__5821__auto___50792 = cljs.core.seq(cljs.core.deref(new cljs.core.Keyword(null,"mounts","mounts",-791474425).cljs$core$IFn$_invoke$arity$1(impl)));
if(temp__5821__auto___50792){
var mounts_50795 = temp__5821__auto___50792;
replicant.protocols.next_frame(renderer,(function (){
cljs.core.run_BANG_((function (p1__50299_SHARP_){
return replicant.core.perform_post_mount_update(renderer,p1__50299_SHARP_);
}),mounts_50795);
return cljs.core.run_BANG_((function (p1__50300_SHARP_){
return replicant.core.call_hook(renderer,p1__50300_SHARP_);
}),hooks);
}));
} else {
cljs.core.run_BANG_((function (p1__50301_SHARP_){
return replicant.core.call_hook(renderer,p1__50301_SHARP_);
}),hooks);
}
return new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"hooks","hooks",-413590103),hooks,new cljs.core.Keyword(null,"vdom","vdom",953162958),vdom__$1,new cljs.core.Keyword(null,"unmounts","unmounts",173366521),new cljs.core.Keyword(null,"unmounts","unmounts",173366521).cljs$core$IFn$_invoke$arity$1(impl)], null);
}));
(replicant.core.reconcile.cljs$lang$maxFixedArity = (3));
/** @this {Function} */
(replicant.core.reconcile.cljs$lang$applyTo = (function (seq50302){
var G__50303 = cljs.core.first(seq50302);
var seq50302__$1 = cljs.core.next(seq50302);
var G__50304 = cljs.core.first(seq50302__$1);
var seq50302__$2 = cljs.core.next(seq50302__$1);
var G__50305 = cljs.core.first(seq50302__$2);
var seq50302__$3 = cljs.core.next(seq50302__$2);
var self__5734__auto__ = this;
return self__5734__auto__.cljs$core$IFn$_invoke$arity$variadic(G__50303,G__50304,G__50305,seq50302__$3);
}));
replicant.assert.add_reporter(new cljs.core.Keyword("replicant.assert","default","replicant.assert/default",-504441266),replicant.console_logger.report);
//# sourceMappingURL=replicant.core.js.map