-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathkontext-1.3.1.min.js
More file actions
1 lines (1 loc) · 14.5 KB
/
Copy pathkontext-1.3.1.min.js
File metadata and controls
1 lines (1 loc) · 14.5 KB
1
!function(n){"use strict";function e(){function n(){["_","public"].forEach(t)}function e(n,t){return Object.keys(t).forEach(function(r){"object"==typeof t[r]&&t[r]?n[r]=e("object"==typeof n[r]?n[r]:t[r]instanceof RegExp?t[r]:{},t[r]):n[r]=t[r]}),n}function t(n){var t={};r[n]=function(n,r){return"string"==typeof n?(arguments.length>1&&(t[n]=r),t[n]):("object"==typeof n&&e(t,n),t)}}var r=this;r.combine=function(n){return e(e({},r["public"]()),n||{})},n()}function t(){function n(e,t,r){setTimeout(function(){return e.length&&e.shift().apply(null,t)!==!1?n(e,t,r):void r()},0)}var e=this,t=[];e.add=function(n,e,r){return t.push({type:n,handle:e,invoke:r||1/0}),e},e.remove=function(n,e){var r=[];return t=t.filter(function(t){return n&&t.type!==n||e&&t.handle!==e?!0:(r.push(t.handle),!1)}),r},e.list=function(n){return t.filter(function(e){return!n||"*"===n||e.type===n})},e.trigger=function(t,r,o){var i=e.list(t).map(function(n){return--n.invoke<=0&&e.remove(t,n.handle),n.invoke>=0?n.handle:!1}).filter(function(n){return"function"==typeof n});arguments.length<3&&"function"==typeof arguments[arguments.length-1]&&(o=r,r=[]),n(i,r instanceof Array?r:[r],function(){o&&o()})}}function r(){function e(){var e=n.MutationObserver||n.webkitMutationObserver||!1;e&&(o={observer:e,config:{characterData:!0,characterDataOldValue:!0}})}function t(n,e){var t=typeof n;switch(t){case"boolean":return!!e;case"number":return+e}return e}function r(n,e){var r=n(),o=t(r,e);o!==r&&n(o)}var o,i=this;i.monitor=function(n,e){o?new o.observer(function(n){n.forEach(function(n){r(e,n.target.nodeValue)})}).observe(n,o.config):n.addEventListener&&n.addEventListener("DOMCharacterDataModified",function(n){r(e,n.newValue)})},e()}function o(n){function e(n){var e,t,r=[];if(3===n.nodeType)r.push(n);else for(e=document.createTreeWalker(n,NodeFilter.SHOW_TEXT,null,!1);t=e.nextNode();)r.push(t);return r}function t(e){var r=e.nodeValue.match(n),o=r?0===r.index?e:e.splitText(r.index):null,i=r?o.splitText(r[0].length):null,u=[];return o&&(u.push({node:o,key:r[2],initial:r[3]||""}),o.original=o.nodeValue),i&&(u=u.concat(t(i))),u}function r(n){var r=[];return e(n).forEach(function(n){r=r.concat(t(n))}),r}var o=this;o.placeholders=function(n,e){r(n).forEach(function(n){e.apply(null,[n.node,n.key,n.initial])})}}function i(){function n(){function e(n){return s.indexOf(n)>=0}function t(n,t){var r=l;return t||!e(n)&&!d.noquote.test(n)||(r=""),r+n+r}function r(n){return d.trailer.test(n)?r(n.substr(0,n.length-1)):n}function o(n,e){for(var r,o=[];e.length;)if(r=e.shift(),"\\"!==r[r.length-1]){if(r===n)break;o.push(r)}else d.escape.test(e[0])||(r=r.substr(0,r.length-1)),o.push(r),o.push(e.shift());return t(o.join(""))}function i(n){for(var e="";n.length;)e=u(e,n);return e}function u(n,e){var i=e.shift();switch(i){case" ":break;case"}":case"]":n=r(n)+i;break;case'"':case"'":n+=o(i,e);break;default:n+=t(i,":"===e[0])}return n}function a(n){var t,r=[];for(t=0;t<n.length;++t)0===r.length||e(n[t])||e(r[r.length-1])?r.push(n[t]):r[r.length-1]+=n[t];return r}function c(n,e){var t=":"===e?"{}":"[]",o=n.indexOf(e),i=2===(n.match(/"/g)||[]).length&&n.indexOf('"')<o&&n.lastIndexOf('"')>o;return i||n[0]===t[0]?n:t[0]+r(n)+t[1]}if("undefined"!=typeof n.prototype.__instance||!(this instanceof n))return n.prototype.__instance||new n;n.prototype.__instance=this;var f=this,s="'\":,{}[] ",l='"',d={escape:/["\\\/\b\f\n\r\t]/,noquote:/^(?:true|false|null|-?[0-9]+(?:\.[0-9]+)?)$/i,trailer:/[,]+$/};f.prepare=function(n){return"string"!=typeof n?"":i(a(n)).replace(/^.*?([:,]).*$/,c)},f.parse=function(n){var e=f.prepare(n);return e?JSON.parse(e):null}}function e(){r=new n}function t(n,e){var t,r,o=[];switch(e.nodeType){case 1:e.hasAttribute(n)&&o.push(e);case 9:case 11:for(t=e.querySelectorAll("["+n+"]"),r=0;r<t.length;++r)o.push(t[r])}return o}var r,o=this;o.find=function(n,e,o){t(n,e).forEach(function(e){o(e,r.parse(e.getAttribute(n)))})},e()}function u(){function u(){return c()?(_._({rAF:n.requestAnimationFrame||function(n){setTimeout(n,1e3/60)}}),_["public"]({greedy:!0,abbreviateExtensions:!0,attribute:"data-kontext",pattern:/(\{(\$?[a-z0-9_-]+)(?::([^\}]+))?\})/i}),j.add("ready",function(n){_._("ready",n||!0)},1),void document.addEventListener("DOMContentLoaded",function(){j.trigger("ready",[void 0,E])},!1)):setTimeout(function(){j.trigger("ready",["Unsupported browser"])},0)}function a(n,e,t){var r=e instanceof Array?e:[e],o=r.filter(function(e){return e in n});return o.length>=(t?t:r.length)}function c(){return a(document,"addEventListener")&&a(Object,["defineProperties","getOwnPropertyDescriptor"])}function f(n,e){Object.keys(n).forEach(function(t,r){e(t,n[t],r)})}function s(n){return n&&n.length?Array.prototype.slice.call(n):null}function l(n,e,t,r,o){var i={enumerable:t};"boolean"==typeof o?(i.writable=o,i.value=r):(i.get=r,i.set=o),Object.defineProperty(n,e,i)}function d(n,e){var t,r=_._("extension")||{};return e&&(r[n]=e,_._("extension",r)),n in r?r[n]:(t=_["public"]("abbreviateExtensions")?p(n,r):null,t||h('Unknown extension "%s"',n))}function p(n,e){var t=Object.keys(e).filter(function(e){return n===e.substr(0,n.length)}).sort();return t.length>1?h('Multiple extensions match "%s": %s',n,t):t.length?e[t[0]]:null}function h(){var n=s(arguments),e=n.reduce(function(n,e){return n.replace("%s",e)});return function(){console.error("Kontext: "+e)}}function g(n){var e=new t;return l(n,"on",!0,e.add,!1),l(n,"off",!0,e.remove,!1),"object"==typeof n&&n.on("update",function(){j.trigger("update",s(arguments))}),e}function v(n,e){var t=""+e();n.filter(function(n){return t!==n.nodeValue}).forEach(function(n){n.nodeValue=t})}function y(n){var e;return"on"in n&&"off"in n||(f(n,function(t,r){var o;k(n,t)||(o=b(r,n,t),l(n,t,!0,o,o),o.on("update",function(){e.trigger("update",[n,t,r,n[t]])})),!r||"object"!=typeof r||r instanceof Array||(y(r),r.on("update",function(r,o,i,u){e.trigger("update",[n,t+"."+o,i,u])}))}),e=g(n),l(n,"delegation",!0,function(e){return k(n,e)},!1)),n}function m(n,e){var t=Array.prototype,r=/^[0-9]+$/;f(n,function(e,o){var i;r.test(e)||e in t||x(o)||(i=b(o,n,e),l(n,e,!0,i,i))}),n.forEach(function(t,r){"object"==typeof n[r]&&(n[r]=y(t,e.model,e.key),n[r].on("update",function(){e.emission.trigger("update",[e.model,e.key,e.value])}))})}function b(n,e,t){var r=function(n){var e=arguments.length>0;return e&&(o.value=n),o.emission.trigger(e?"update":"access",[o.model,o.key,o.value,n]),o.value},o={emission:g(r),element:[],value:n,model:e,key:t};return n instanceof Array&&(["copyWithin","fill","pop","push","reverse","shift","sort","splice","unshift"].forEach(function(e){var t;"function"==typeof n[e]&&(t=n[e],n[e]=function(){var e=t.apply(n,arguments);return m(n,o),o.emission.trigger("update",[o.model,o.key,o.value]),e})}),m(n,o)),r.scope=function(){!e&&arguments.length>0&&(e=arguments[0]),!t&&arguments.length>1&&(t=arguments[1])},r.element=function(){var n=s(arguments);return n.forEach(function(n){A.monitor(n,r)}),v(n,r),o.element=o.element.concat(n),o.element},o.emission.add("update",function(){_._("rAF")(function(){v(o.element,r)})}),r}function x(n){return"function"==typeof n&&"function"==typeof n.element}function k(n,e){var t,r=!1,o=e.split(".");return o.forEach(function(t,r,o){e&&(e=t in n?t:null,r<o.length-1&&(n=n[e]))}),e&&e in n&&(x(n[e])?r=n[e]:(t=Object.getOwnPropertyDescriptor(n,e),r=t.get)),r}function O(n,e){var t,r=_._("bindings")||[];if(!e){for(t=[n];t[t.length-1].parentNode;)t.push(t[t.length-1].parentNode);return r.filter(function(n){return t.indexOf(n.target)>=0}).map(function(n){return n.model}).filter(function(n,e,t){return e===t.indexOf(n)})}r.push({model:e,target:n}),_._("bindings",r)}function w(n){return n.length?n.reduce(function(n,e){return n.concat(e.nodeName?[e]:s(e))},[]).filter(function(n,e,t){return t.indexOf(n)===e}):[document.body]}var E=this,_=new e,j=new t,A=new r;E.defaults=function(n,e){return n?_["public"](n,e):_["public"]()},E.ready=function(n){var e=_._("ready");return j.add("ready",n,1),void 0!==e&&j.trigger("ready",[e!==!0?e:void 0,e===!0?E:void 0]),E},E.on=function(n,e){return j.add(n,e)},E.off=function(n,e){return j.remove(n,e)},E.extension=d,E.delegate=function(n){return b(n)},E.bind=function(){var n=s(arguments),e=y(n.shift()),t=n.length&&!a(n[n.length-1],["nodeType","length"],1),r=_.combine(t?n.pop():{});return w(n).forEach(function(n){O(n,e),(new i).find(r.attribute,n,function(n,t){O(n).indexOf(e)<0||f(t,function(t,r){var o=d(t);o(n,e,r,E)})}),new o(r.pattern).placeholders(n,function(n,t,o){var i=k(e,t);i?(i.scope(e,t),i()||i(o)):r.greedy&&(i=b(o,e,t),l(e,t,!0,i,i)),i&&i.element(n)})}),e},E.bindings=function(n){return O(n||document.body)},u()}n.kontext=n.kontext||new u}(window);kontext.extension("attribute",function(t,e,n){"use strict";function o(e,n){t[(n?"set":"remove")+"Attribute"](e,n)}Object.keys(n).forEach(function(t){var i=e.delegation(n[t]);i&&i.on("update",function(){o(t,i())})()})});!function(n){"use strict";function e(n,e,s){"classList"in n?n.classList[s?"add":"remove"](e):n.className=n.className.replace(new RegExp("(?:^|\\s+)"+e+"(\\s+|$)"),function(n,e){return e||""})+(s?" "+e:"")}n.extension("css",function(n,s,t){Object.keys(t).forEach(function(c){var a=s.delegation(t[c]);a&&a.on("update",function(){e(n,c,a())})()})})}(kontext);kontext.extension("each",function(n,t,o){"use strict";function e(){var t=r(o);i(n,function(n){h.push(n.cloneNode(!0))}),t.on("update",function(){a(t)}),a(t)}function r(n){var o="object"==typeof n?n.target||null:String(n);if(!o)throw new Error('Missing target for "each"');return t.delegation(o)}function i(t,o){for(var e=(o?"first":"last")+"Child";n[e];)o&&o(n[e]),n.removeChild(n[e])}function f(n){var e;return"object"==typeof o&&["map","filter"].forEach(function(r){r in o&&(e=o[r]instanceof Array?o[r]:[o[r]],e.forEach(function(o){if("function"==typeof t[o])n=n[r](t[o]);else{if("function"!=typeof window[o])throw new Error(o+" is not a "+r+" function");n=n[r](window[o])}}))}),n}function c(n){var t,o=s.filter(function(t){return t.item===n}),e=o.length?o[0]:null;return e||(t=h.map(function(n){return n.cloneNode(!0)}),e={item:n,model:kontext.bind("object"==typeof n?n:{},t),nodes:t},e.model.$item=n,s.push(e)),e}function u(n,t){return n.length!==t.length||0!==n.filter(function(n,o){return t[o]!==n}).length}function a(n){var t=f(n());(!d||u(d,t))&&(d=t.slice(),l(t,n))}function l(t,o){var e=[];t.forEach(function(n,t){var r=c(n);r.model.$index=t,"$parent"in r.model||(r.model.$parent=o),e=e.concat(r.nodes)}),i(n),e.forEach(function(t){n.appendChild(t)})}var d,h=[],s=[];e()});kontext.extension("event",function(n,t,e){"use strict";function o(e,o,c){n.addEventListener(e,function(n){var e=t.delegation(o),i=e?e():!1;e&&("function"==typeof i?i.apply(null,[n,t,o,c]):e(c))},!1)}function c(n,t){"object"==typeof t?(t instanceof Array?t:Object.keys(t)).forEach(function(e){o(n,e,e in t?t[e]:void 0)}):o(n,t)}Object.keys(e).forEach(function(n){c(n,e[n])})});kontext.extension("html",function(n,t,e){"use strict";var i=t.delegation(e);i&&i.on("update",function(){n.innerHTML=i()})()});!function(n){"use strict";function e(n,e,t){function o(){["default","options","value"].forEach(function(n){s[n]=n in t?e.delegation(t[n])||t[n]:null}),u(s["default"],function(){f(i(s.value))}),u(s.options,function(){f(i(s.value))}),u(s.value,function(){l(i(s.value))}),n.addEventListener("change",a,!1)}function u(n,e){"function"==typeof n&&n.on("update",e)()}function i(n){return"function"==typeof n?n():n}function c(n,e){return"object"==typeof n&&n&&(e=n.label||n.value||"",n=n.value||""),new Option(e,n||"")}function a(){var e,t,o,u=i(s.value);if(!n.multiple)return s.value(n.options[n.selectedIndex].value);for(o=0;o<n.options.length;++o)e=n.options[o],t=u.indexOf(e.value),e.selected&&0>t?u.push(e.value):!e.selected&&t>=0&&u.splice(t,1)}function l(e){var t,o=e instanceof Array?e:[e];for(t=0;t<n.options.length;++t)n.options[t].selected=o.indexOf(n.options[t].value)>=0}function f(e){var t=i(s["default"]),o=i(s.options),u=0;o instanceof Array||(o=Object.keys(o).map(function(n){return{value:n,label:o[n]}})),t&&(n.options[u]=c(null,t),++u),n.options.length=u,o.forEach(function(e,t){n.options[u+t]=c(e)}),n.multiple=e instanceof Array,l(e)}var s={};o()}function t(n){return n.getAttribute("type")||(/^select/i.test(n.nodeName)?"select":"text")}n.extension("input",function(n,o,u){var i=["value"];switch(t(n)){case"select":return new e(n,o,u);case"checkbox":case"radio":i.push("checked")}i.forEach(function(e){var t=e in u?o.delegation(u[e]):null;t&&(["input","change"].forEach(function(o){n.addEventListener(o,function(){t(n[e])},!1)}),t.on("update",function(){n[e]=t()})())})})}(kontext);!function(t){"use strict";function e(){function t(t,e){var n=new XMLHttpRequest;n.addEventListener("load",function(){var t,n=this.responseText;return this.status>=400?e(n):(t=document.createElement("div"),t.innerHTML=n,void e(null,t))}),n.open("GET",t),n.send()}function n(e,c){var i=o(e.path);return i.data?(e.selector in i.selector||(i.selector[e.selector]=i.data.content?r(i.data.content,e.selector):[]),i.data.error?c(i.data.error):void c(null,i.selector[e.selector].cloneNode(!0))):(i.callback.push(function(){n(e,c)}),void(i.callback.length<=1&&t(e.path,function(t,e){i.data={error:t,content:e},a(i.callback)})))}function o(t){return t in l||(l[t]={data:t?null:{content:document,error:null},callback:[],selector:{}}),l[t]}function r(t,e){var n,o=e?t.querySelector(e):t,r=document.createDocumentFragment();for(n=0;n<o.childNodes.length;++n)r.appendChild(o.childNodes[n].cloneNode(!0));return r}function a(t){var e;t.length&&(e=t.shift(),setTimeout(function(){e(),a(t)},0))}function c(t){var e,n={path:"",selector:""};return"string"==typeof t?(e=t.match(/^([^#]+)?(#.*)?$/),e&&(n.path=e[1]||n.path,n.selector=e[2]||n.selector)):t&&"object"==typeof t&&Object.keys(n).forEach(function(e){e in t&&(n[e]=t[e]||n[e])}),n}if(!("undefined"==typeof e.prototype.__instance&&this instanceof e))return e.prototype.__instance||new e;e.prototype.__instance=this;var i=this,l={};i.load=function(t,e){var o=c(t);return o.path||o.selector?void n(o,function(t,n){return t?e(t):void e(null,n)}):e("No path and selector")}}t.extension("template",function(n,o,r){function a(e){i.load(e,function(e,r){if(e)return n.setAttribute("data-kontext-error",e);for(;n.lastChild;)n.removeChild(n.lastChild);n.appendChild(r),t.bind(o,n.childNodes),n.style.display=""})}var c,i=e();return n.style.display="none","object"==typeof r&&"value"in r?(c=o.delegation(r.value),void(c&&c.on("update",function(){a(c())})())):void a(r)})}(kontext);kontext.extension("text",function(e,t,i){"use strict";var n=e.firstChild&&3===e.firstChild.nodeType?e.firstChild:document.createTextNode(t[i]),r=t.delegation(i);r&&(n.parentNode!==e&&n!==e.firstChild&&e.insertBefore(n,e.firstChild),r.element(n))});