UNPKG

@danielkalen/simplybind

Version:

Magically simple, framework-less one-way/two-way data binding for frontend/backend in ~5kb.

2 lines (1 loc) 28.4 kB
!function e(t,n,r){function o(a,s){if(!n[a]){if(!t[a]){var u="function"==typeof require&&require;if(!s&&u)return u(a,!0);if(i)return i(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var f=n[a]={exports:{}};t[a][0].call(f.exports,function(e){var n=t[a][1][e];return o(n?n:e)},f,f.exports,e,t,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;a<r.length;a++)o(r[a]);return o}({1:[function(e,t,n){window.plastiq=e(".")},{".":5}],2:[function(e,t,n){function r(e,t){if(t instanceof Array)for(var n=0;n<t.length;n++)r(e,t[n]);else void 0===t||null===t||("object"!=typeof t?e.push(new i(String(t))):t instanceof Date?e.push(new i(String(t))):t instanceof Error?e.push(new i(t.toString())):o(t)?e.push(t):e.push(new i(JSON.stringify(t))))}function o(e){var t=e.type;return"VirtualNode"==t||"VirtualText"==t?e.version==a:"Widget"==t||"Thunk"==t||void 0}var i=e("virtual-dom/vnode/vtext.js"),a=e("virtual-dom/vnode/version");t.exports=function(e){var t=[];return r(t,e),t}},{"virtual-dom/vnode/version":28,"virtual-dom/vnode/vtext.js":31}],3:[function(e,t,n){function r(e,t){if(!t)throw new Error("plastiq.html.component([options], vdom) expects a vdom argument");this.state=e,this.key=e.key,"function"==typeof t?(this.render=function(){return o.currentRender&&(o.currentRender.eventHandlerWrapper=e.on),t.apply(this.state,arguments)},this.canRefresh=!0):(t=t||new i(""),this.render=function(){return t}),this.cacheKey=e.cacheKey,this.component=a();var n=o.currentRender&&o.currentRender.finished;n?this.afterRender=function(e){n.then(e)}:this.afterRender=function(){}}var o=e("./rendering").html,i=e("virtual-dom/vnode/vtext.js"),a=e("./domComponent");r.prototype.type="Widget",r.prototype.init=function(){var e=this;e.state.onbeforeadd&&e.state.onbeforeadd();var t=this.render(this);if(t instanceof Array)throw new Error("vdom returned from component cannot be an array");var n=this.component.create(t);return e.state.onadd&&this.afterRender(function(){e.state.onadd(n)}),e.state.detached?document.createTextNode(""):n},r.prototype.update=function(e){var t=this,n=!this.cacheKey||this.cacheKey!==e.cacheKey;if(n&&t.state.onupdate&&this.afterRender(function(){t.state.onupdate(t.component.element)}),this.component=e.component,e.state&&this.state){for(var r=Object.keys(this.state),o=0;o<r.length;o++){var i=r[o];e.state[i]=t.state[i]}this.state=e.state}if(n){var a=this.component.update(this.render(this));return t.state.detached?document.createTextNode(""):a}},r.prototype.refresh=function(){this.component.update(this.render(this)),this.state.onupdate&&this.state.onupdate(this.component.element)},r.prototype.destroy=function(e){var t=this;t.state.onremove&&this.afterRender(function(){t.state.onremove(e)}),this.component.destroy()},t.exports=function(e,t){return"function"==typeof e?new r({},e):e.constructor===Object?new r(e,t):new r({},e)},t.exports.ComponentWidget=r},{"./domComponent":4,"./rendering":36,"virtual-dom/vnode/vtext.js":31}],4:[function(e,t,n){function r(e){this.document=e&&e.document}function o(e){return new r(e)}var i=e("virtual-dom/create-element"),a=e("virtual-dom/diff"),s=e("virtual-dom/patch"),u=e("virtual-dom/vnode/is-vnode"),c=e("virtual-dom/vnode/is-widget");r.prototype.create=function(e){if(!u(e)&&!c(e))throw new Error("expected render to return vdom");return this.vdom=e,this.element=i(this.vdom,{document:this.document})},r.prototype.merge=function(e,t){if(!u(e)&&!c(e))throw new Error("expected render to return vdom");return this.vdom=e,this.element=t},r.prototype.update=function(e){var t=a(this.vdom,e);return this.element=s(this.element,t),this.vdom=e,this.element},r.prototype.destroy=function(e){function t(e){"Widget"===e.type?e.destroy():e.children&&e.children.forEach(t)}t(this.vdom),e&&e.removeElement&&this.element.parentNode&&this.element.parentNode.removeChild(this.element)},t.exports=o},{"virtual-dom/create-element":11,"virtual-dom/diff":12,"virtual-dom/patch":13,"virtual-dom/vnode/is-vnode":25,"virtual-dom/vnode/is-widget":27}],5:[function(e,t,n){var r=e("./rendering");n.html=r.html,n.jsx=r.jsx,n.attach=r.attach,n.replace=r.replace,n.append=r.append,n.appendVDom=r.appendVDom,n.merge=r.merge,n.bind=e("./oldbind"),n.binding=r.binding;var o=e("./windowEvents");n.html.window=function(e){return o(e)},n.html.component=e("./component")},{"./component":3,"./oldbind":35,"./rendering":36,"./windowEvents":39}],6:[function(e,t,n){t.exports=function(e,t){var n=e._plastiqMeta;n||(n={},Object.defineProperty(e,"_plastiqMeta",{value:n}));var r=n[t];return r||(r=n[t]={}),r}},{}],7:[function(e,t,n){},{}],8:[function(e,t,n){t.exports=function(e){var t,n=String.prototype.split,r=/()??/.exec("")[1]===e;return t=function(t,o,i){if("[object RegExp]"!==Object.prototype.toString.call(o))return n.call(t,o,i);var a,s,u,c,f=[],d=(o.ignoreCase?"i":"")+(o.multiline?"m":"")+(o.extended?"x":"")+(o.sticky?"y":""),l=0,o=new RegExp(o.source,d+"g");for(t+="",r||(a=new RegExp("^"+o.source+"$(?!\\s)",d)),i=i===e?-1>>>0:i>>>0;(s=o.exec(t))&&(u=s.index+s[0].length,!(u>l&&(f.push(t.slice(l,s.index)),!r&&s.length>1&&s[0].replace(a,function(){for(var t=1;t<arguments.length-2;t++)arguments[t]===e&&(s[t]=e)}),s.length>1&&s.index<t.length&&Array.prototype.push.apply(f,s.slice(1)),c=s[0].length,l=u,f.length>=i)));)o.lastIndex===s.index&&o.lastIndex++;return l===t.length?!c&&o.test("")||f.push(""):f.push(t.slice(l)),f.length>i?f.slice(0,i):f}}()},{}],9:[function(e,t,n){(function(n){var r="undefined"!=typeof n?n:"undefined"!=typeof window?window:{},o=e("min-document");if("undefined"!=typeof document)t.exports=document;else{var i=r["__GLOBAL_DOCUMENT_CACHE@4"];i||(i=r["__GLOBAL_DOCUMENT_CACHE@4"]=o),t.exports=i}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"min-document":7}],10:[function(e,t,n){"use strict";t.exports=function(e){return"object"==typeof e&&null!==e}},{}],11:[function(e,t,n){var r=e("./vdom/create-element.js");t.exports=r},{"./vdom/create-element.js":15}],12:[function(e,t,n){var r=e("./vtree/diff.js");t.exports=r},{"./vtree/diff.js":33}],13:[function(e,t,n){var r=e("./vdom/patch.js");t.exports=r},{"./vdom/patch.js":18}],14:[function(e,t,n){function r(e,t,n){for(var r in t){var a=t[r];void 0===a?o(e,r,a,n):u(a)?(o(e,r,a,n),a.hook&&a.hook(e,r,n?n[r]:void 0)):s(a)?i(e,t,n,r,a):e[r]=a}}function o(e,t,n,r){if(r){var o=r[t];if(u(o))o.unhook&&o.unhook(e,t,n);else if("attributes"===t)for(var i in o)e.removeAttribute(i);else if("style"===t)for(var a in o)e.style[a]="";else"string"==typeof o?e[t]="":e[t]=null}}function i(e,t,n,r,o){var i=n?n[r]:void 0;if("attributes"!==r){if(i&&s(i)&&a(i)!==a(o))return void(e[r]=o);s(e[r])||(e[r]={});var u="style"===r?"":void 0;for(var c in o){var f=o[c];e[r][c]=void 0===f?u:f}}else for(var d in o){var l=o[d];void 0===l?e.removeAttribute(d):e.setAttribute(d,l)}}function a(e){return Object.getPrototypeOf?Object.getPrototypeOf(e):e.__proto__?e.__proto__:e.constructor?e.constructor.prototype:void 0}var s=e("is-object"),u=e("../vnode/is-vhook.js");t.exports=r},{"../vnode/is-vhook.js":24,"is-object":10}],15:[function(e,t,n){function r(e,t){var n=t?t.document||o:o,f=t?t.warn:null;if(e=c(e).a,u(e))return e.init();if(s(e))return n.createTextNode(e.text);if(!a(e))return f&&f("Item is not a valid virtual dom node",e),null;var d=null===e.namespace?n.createElement(e.tagName):n.createElementNS(e.namespace,e.tagName),l=e.properties;i(d,l);for(var v=e.children,h=0;h<v.length;h++){var p=r(v[h],t);p&&d.appendChild(p)}return d}var o=e("global/document"),i=e("./apply-properties"),a=e("../vnode/is-vnode.js"),s=e("../vnode/is-vtext.js"),u=e("../vnode/is-widget.js"),c=e("../vnode/handle-thunk.js");t.exports=r},{"../vnode/handle-thunk.js":22,"../vnode/is-vnode.js":25,"../vnode/is-vtext.js":26,"../vnode/is-widget.js":27,"./apply-properties":14,"global/document":9}],16:[function(e,t,n){function r(e,t,n,r){return n&&0!==n.length?(n.sort(a),o(e,t,n,r,0)):{}}function o(e,t,n,r,a){if(r=r||{},e){i(n,a,a)&&(r[a]=e);var u=t.children;if(u)for(var c=e.childNodes,f=0;f<t.children.length;f++){a+=1;var d=u[f]||s,l=a+(d.count||0);i(n,a,l)&&o(c[f],d,n,r,a),a=l}}return r}function i(e,t,n){if(0===e.length)return!1;for(var r,o,i=0,a=e.length-1;i<=a;){if(r=(a+i)/2>>0,o=e[r],i===a)return o>=t&&o<=n;if(o<t)i=r+1;else{if(!(o>n))return!0;a=r-1}}return!1}function a(e,t){return e>t?1:-1}var s={};t.exports=r},{}],17:[function(e,t,n){function r(e,t,n){var r=e.type,c=e.vNode,v=e.patch;switch(r){case h.REMOVE:return o(t,c);case h.INSERT:return i(t,v,n);case h.VTEXT:return a(t,c,v,n);case h.WIDGET:return s(t,c,v,n);case h.VNODE:return u(t,c,v,n);case h.ORDER:return f(t,v),t;case h.PROPS:return l(t,v,c.properties),t;case h.THUNK:return d(t,n.patch(t,v,n));default:return t}}function o(e,t){var n=e.parentNode;return n&&n.removeChild(e),c(e,t),null}function i(e,t,n){var r=n.render(t,n);return e&&e.appendChild(r),e}function a(e,t,n,r){var o;if(3===e.nodeType)e.replaceData(0,e.length,n.text),o=e;else{var i=e.parentNode;o=r.render(n,r),i&&o!==e&&i.replaceChild(o,e)}return o}function s(e,t,n,r){var o,i=p(t,n);o=i?n.update(t,e)||e:r.render(n,r);var a=e.parentNode;return a&&o!==e&&a.replaceChild(o,e),i||c(e,t),o}function u(e,t,n,r){var o=e.parentNode,i=r.render(n,r);return o&&i!==e&&o.replaceChild(i,e),i}function c(e,t){"function"==typeof t.destroy&&v(t)&&t.destroy(e)}function f(e,t){for(var n,r,o,i=e.childNodes,a={},s=0;s<t.removes.length;s++)r=t.removes[s],n=i[r.from],r.key&&(a[r.key]=n),e.removeChild(n);for(var u=i.length,c=0;c<t.inserts.length;c++)o=t.inserts[c],n=a[o.key],e.insertBefore(n,o.to>=u++?null:i[o.to])}function d(e,t){return e&&t&&e!==t&&e.parentNode&&e.parentNode.replaceChild(t,e),t}var l=e("./apply-properties"),v=e("../vnode/is-widget.js"),h=e("../vnode/vpatch.js"),p=e("./update-widget");t.exports=r},{"../vnode/is-widget.js":27,"../vnode/vpatch.js":30,"./apply-properties":14,"./update-widget":19}],18:[function(e,t,n){function r(e,t,n){return n=n||{},n.patch=n.patch&&n.patch!==r?n.patch:o,n.render=n.render||c,n.patch(e,t,n)}function o(e,t,n){var r=a(t);if(0===r.length)return e;var o=f(e,t.a,r),u=e.ownerDocument;n.document||u===s||(n.document=u);for(var c=0;c<r.length;c++){var d=r[c];e=i(e,o[d],t[d],n)}return e}function i(e,t,n,r){if(!t)return e;var o;if(u(n))for(var i=0;i<n.length;i++)o=d(n[i],t,r),t===e&&(e=o);else o=d(n,t,r),t===e&&(e=o);return e}function a(e){var t=[];for(var n in e)"a"!==n&&t.push(Number(n));return t}var s=e("global/document"),u=e("x-is-array"),c=e("./create-element"),f=e("./dom-index"),d=e("./patch-op");t.exports=r},{"./create-element":15,"./dom-index":16,"./patch-op":17,"global/document":9,"x-is-array":34}],19:[function(e,t,n){function r(e,t){return!(!o(e)||!o(t))&&("name"in e&&"name"in t?e.id===t.id:e.init===t.init)}var o=e("../vnode/is-widget.js");t.exports=r},{"../vnode/is-widget.js":27}],20:[function(e,t,n){"use strict";function r(e){return this instanceof r?void(this.value=e):new r(e)}t.exports=r,r.prototype.hook=function(e,t){e[t]!==this.value&&(e[t]=this.value)}},{}],21:[function(e,t,n){"use strict";function r(e,t){if(!e)return"DIV";var n=!t.hasOwnProperty("id"),r=o(e,i),s=null;a.test(r[1])&&(s="DIV");var u,c,f,d;for(d=0;d<r.length;d++)c=r[d],c&&(f=c.charAt(0),s?"."===f?(u=u||[],u.push(c.substring(1,c.length))):"#"===f&&n&&(t.id=c.substring(1,c.length)):s=c);return u&&(t.className&&u.push(t.className),t.className=u.join(" ")),t.namespace?s:s.toUpperCase()}var o=e("browser-split"),i=/([\.#]?[a-zA-Z0-9\u007F-\uFFFF_:-]+)/,a=/^\.|#/;t.exports=r},{"browser-split":8}],22:[function(e,t,n){function r(e,t){var n=e,r=t;return u(t)&&(r=o(t,e)),u(e)&&(n=o(e,null)),{a:n,b:r}}function o(e,t){var n=e.vnode;if(n||(n=e.vnode=e.render(t)),!(i(n)||a(n)||s(n)))throw new Error("thunk did not return a valid node");return n}var i=e("./is-vnode"),a=e("./is-vtext"),s=e("./is-widget"),u=e("./is-thunk");t.exports=r},{"./is-thunk":23,"./is-vnode":25,"./is-vtext":26,"./is-widget":27}],23:[function(e,t,n){function r(e){return e&&"Thunk"===e.type}t.exports=r},{}],24:[function(e,t,n){function r(e){return e&&("function"==typeof e.hook&&!e.hasOwnProperty("hook")||"function"==typeof e.unhook&&!e.hasOwnProperty("unhook"))}t.exports=r},{}],25:[function(e,t,n){function r(e){return e&&"VirtualNode"===e.type&&e.version===o}var o=e("./version");t.exports=r},{"./version":28}],26:[function(e,t,n){function r(e){return e&&"VirtualText"===e.type&&e.version===o}var o=e("./version");t.exports=r},{"./version":28}],27:[function(e,t,n){function r(e){return e&&"Widget"===e.type}t.exports=r},{}],28:[function(e,t,n){t.exports="2"},{}],29:[function(e,t,n){function r(e,t,n,r,o){this.tagName=e,this.properties=t||c,this.children=n||f,this.key=null!=r?String(r):void 0,this.namespace="string"==typeof o?o:null;var d,l=n&&n.length||0,v=0,h=!1,p=!1,m=!1;for(var y in t)if(t.hasOwnProperty(y)){var g=t[y];u(g)&&g.unhook&&(d||(d={}),d[y]=g)}for(var w=0;w<l;w++){var k=n[w];i(k)?(v+=k.count||0,!h&&k.hasWidgets&&(h=!0),!p&&k.hasThunks&&(p=!0),m||!k.hooks&&!k.descendantHooks||(m=!0)):!h&&a(k)?"function"==typeof k.destroy&&(h=!0):!p&&s(k)&&(p=!0)}this.count=l+v,this.hasWidgets=h,this.hasThunks=p,this.hooks=d,this.descendantHooks=m}var o=e("./version"),i=e("./is-vnode"),a=e("./is-widget"),s=e("./is-thunk"),u=e("./is-vhook");t.exports=r;var c={},f=[];r.prototype.version=o,r.prototype.type="VirtualNode"},{"./is-thunk":23,"./is-vhook":24,"./is-vnode":25,"./is-widget":27,"./version":28}],30:[function(e,t,n){function r(e,t,n){this.type=Number(e),this.vNode=t,this.patch=n}var o=e("./version");r.NONE=0,r.VTEXT=1,r.VNODE=2,r.WIDGET=3,r.PROPS=4,r.ORDER=5,r.INSERT=6,r.REMOVE=7,r.THUNK=8,t.exports=r,r.prototype.version=o,r.prototype.type="VirtualPatch"},{"./version":28}],31:[function(e,t,n){function r(e){this.text=String(e)}var o=e("./version");t.exports=r,r.prototype.version=o,r.prototype.type="VirtualText"},{"./version":28}],32:[function(e,t,n){function r(e,t){var n;for(var s in e){s in t||(n=n||{},n[s]=void 0);var u=e[s],c=t[s];if(u!==c)if(i(u)&&i(c))if(o(c)!==o(u))n=n||{},n[s]=c;else if(a(c))n=n||{},n[s]=c;else{var f=r(u,c);f&&(n=n||{},n[s]=f)}else n=n||{},n[s]=c}for(var d in t)d in e||(n=n||{},n[d]=t[d]);return n}function o(e){return Object.getPrototypeOf?Object.getPrototypeOf(e):e.__proto__?e.__proto__:e.constructor?e.constructor.prototype:void 0}var i=e("is-object"),a=e("../vnode/is-vhook");t.exports=r},{"../vnode/is-vhook":24,"is-object":10}],33:[function(e,t,n){function r(e,t){var n={a:e};return o(e,t,n,0),n}function o(e,t,n,r){if(e!==t){var o=n[r],s=!1;if(x(e)||x(t))u(e,t,n,r);else if(null==t)k(e)||(a(e,n,r),o=n[r]),o=p(o,new y(y.REMOVE,e,t));else if(g(t))if(g(e))if(e.tagName===t.tagName&&e.namespace===t.namespace&&e.key===t.key){var c=E(e.properties,t.properties);c&&(o=p(o,new y(y.PROPS,e,c))),o=i(e,t,n,o,r)}else o=p(o,new y(y.VNODE,e,t)),s=!0;else o=p(o,new y(y.VNODE,e,t)),s=!0;else w(t)?w(e)?e.text!==t.text&&(o=p(o,new y(y.VTEXT,e,t))):(o=p(o,new y(y.VTEXT,e,t)),s=!0):k(t)&&(k(e)||(s=!0),o=p(o,new y(y.WIDGET,e,t)));o&&(n[r]=o),s&&a(e,n,r)}}function i(e,t,n,r,i){for(var a=e.children,s=l(a,t.children),u=s.children,c=a.length,f=u.length,d=c>f?c:f,v=0;v<d;v++){var h=a[v],m=u[v];i+=1,h?o(h,m,n,i):m&&(r=p(r,new y(y.INSERT,null,m))),g(h)&&h.count&&(i+=h.count)}return s.moves&&(r=p(r,new y(y.ORDER,e,s.moves))),r}function a(e,t,n){f(e,t,n),s(e,t,n)}function s(e,t,n){if(k(e))"function"==typeof e.destroy&&(t[n]=p(t[n],new y(y.REMOVE,e,null)));else if(g(e)&&(e.hasWidgets||e.hasThunks))for(var r=e.children,o=r.length,i=0;i<o;i++){var a=r[i];n+=1,s(a,t,n),g(a)&&a.count&&(n+=a.count)}else x(e)&&u(e,null,t,n)}function u(e,t,n,o){var i=b(e,t),a=r(i.a,i.b);c(a)&&(n[o]=new y(y.THUNK,null,a))}function c(e){for(var t in e)if("a"!==t)return!0;return!1}function f(e,t,n){if(g(e)){if(e.hooks&&(t[n]=p(t[n],new y(y.PROPS,e,d(e.hooks)))),e.descendantHooks||e.hasThunks)for(var r=e.children,o=r.length,i=0;i<o;i++){var a=r[i];n+=1,f(a,t,n),g(a)&&a.count&&(n+=a.count)}}else x(e)&&u(e,null,t,n)}function d(e){var t={};for(var n in e)t[n]=void 0;return t}function l(e,t){var n=h(t),r=n.keys,o=n.free;if(o.length===t.length)return{children:t,moves:null};var i=h(e),a=i.keys,s=i.free;if(s.length===e.length)return{children:t,moves:null};for(var u=[],c=0,f=o.length,d=0,l=0;l<e.length;l++){var p,m=e[l];m.key?r.hasOwnProperty(m.key)?(p=r[m.key],u.push(t[p])):(p=l-d++,u.push(null)):c<f?(p=o[c++],u.push(t[p])):(p=l-d++,u.push(null))}for(var y=c>=o.length?t.length:o[c],g=0;g<t.length;g++){var w=t[g];w.key?a.hasOwnProperty(w.key)||u.push(w):g>=y&&u.push(w)}for(var k,x=u.slice(),b=0,E=[],j=[],N=0;N<t.length;){var O=t[N];for(k=x[b];null===k&&x.length;)E.push(v(x,b,null)),k=x[b];k&&k.key===O.key?(b++,N++):O.key?(k&&k.key&&r[k.key]!==N+1?(E.push(v(x,b,k.key)),k=x[b],k&&k.key===O.key?b++:j.push({key:O.key,to:N})):j.push({key:O.key,to:N}),N++):k&&k.key&&E.push(v(x,b,k.key))}for(;b<x.length;)k=x[b],E.push(v(x,b,k&&k.key));return E.length!==d||j.length?{children:u,moves:{removes:E,inserts:j}}:{children:u,moves:null}}function v(e,t,n){return e.splice(t,1),{from:t,key:n}}function h(e){for(var t={},n=[],r=e.length,o=0;o<r;o++){var i=e[o];i.key?t[i.key]=o:n.push(o)}return{keys:t,free:n}}function p(e,t){return e?(m(e)?e.push(t):e=[e,t],e):t}var m=e("x-is-array"),y=e("../vnode/vpatch"),g=e("../vnode/is-vnode"),w=e("../vnode/is-vtext"),k=e("../vnode/is-widget"),x=e("../vnode/is-thunk"),b=e("../vnode/handle-thunk"),E=e("./diff-props");t.exports=r},{"../vnode/handle-thunk":22,"../vnode/is-thunk":23,"../vnode/is-vnode":25,"../vnode/is-vtext":26,"../vnode/is-widget":27,"../vnode/vpatch":30,"./diff-props":32,"x-is-array":34}],34:[function(e,t,n){function r(e){return"[object Array]"===i.call(e)}var o=Array.isArray,i=Object.prototype.toString;t.exports=o||r},{}],35:[function(e,t,n){t.exports=function(e,t){return console.log("plastiq.bind() will be deprecated in the next release, use [model, 'fieldName'] instead"),{get:function(){return e[t]},set:function(n){e[t]=n}}}},{}],36:[function(e,t,n){(function(t){function r(e,t){try{n.html.currentRender={attachment:e},n.html.currentRender.finished=C(),n.html.refresh=function(t){a(t)?c(t,e):e.refresh()},t()}finally{n.html.currentRender.finished.fulfill(),n.html.currentRender.finished=void 0,delete n.html.currentRender,n.html.refresh=o}}function o(){throw new Error("Please assign plastiq.html.refresh during a render cycle if you want to use it in event handlers. See https://github.com/featurist/plastiq#refresh-outside-render-cycle")}function i(e){for(var t=0;t<e.length;t++)if(!a(e[t]))return!1;return!0}function a(e){return e&&"function"==typeof e.init&&"function"==typeof e.update&&"function"==typeof e.destroy}function s(e,t,n,r){return"object"==typeof e&&"function"==typeof e.render?u(function(){return e.render()},t,r):u(function(){return e(t)},n,r)}function u(e,t,n){function o(){u||(s(function(){u=!1,c.attached&&r(c,function(){var t=e();i.update(t)})}),u=!0)}var i,a=t&&t.window||window,s=t&&t.requestRender||a.requestAnimationFrame||a.setTimeout,u=!1,c={refresh:o,requestRender:s,id:V++,attached:!0};return r(c,function(){if(t)var r={document:t.document};i=n(e,r)}),{detach:function(){c.attached=!1},remove:function(){i.destroy({removeElement:!0}),c.attached=!1},refresh:o}}function c(e,t){if(!e.canRefresh)throw new Error("this component cannot be refreshed, make sure that the component's view is returned from a function");if(!e.requested){var n=t.requestRender;n(function(){r(t,function(){e.requested=!1,e.refresh()})}),e.requested=!0}}function f(e,r){if(!e)return e;if(!n.html.currentRender){if("object"==typeof t)return e;throw new Error("You cannot create virtual-dom event handlers outside a render function. See https://github.com/featurist/plastiq#outside-render-cycle")}var o=r&&"promise"==r.refresh,a=r&&r.component;if(r&&(1==r.norefresh||0==r.refresh))return e;var s=n.html.currentRender.attachment,u=s.refresh;return function(){function t(e,n){var r=!o||n;if(r&&e&&"function"==typeof e)console.warn("animations are now deprecated, you should consider using plastiq.html.refresh"),e(u);else if(e&&"function"==typeof e.then)r&&u(),e.then(function(e){t(e,o)});else if(e&&"function"==typeof e.init&&"function"==typeof e.update&&"function"==typeof e.destroy)c(e,s);else if(e instanceof Array&&i(e))for(var f=0;f<e.length;f++)c(e[f],s);else if(a)c(a,s);else if(e===D);else if(r)return u(),e}var n=e.apply(this,arguments);return t(n)}}function d(e){var t=n.html.refresh;e.then(t)}function l(e,t,n,r){var o=["onkeyup","oninput","onpaste","textInput"],i=n();i instanceof Error||(e.value=void 0!=i?i:""),p(e,o,function(e){i!=e.target.value&&r(e.target.value)})}function v(e,t){return function(n){return e(n),t(n)}}function h(e,t,n,r){var o=e[t];o?r?e[t]=v(o,n):e[t]=v(n,o):e[t]=n}function p(e,t,n){if(t instanceof Array)for(var r=0;r<t.length;r++)h(e,t[r],n);else h(e,t,n)}function m(e){this.listener=n.html.refreshify(e)}function y(e){if("function"==typeof window.Event)return new Event("_plastiqsyncchecked");var t=document.createEvent("Event");return t.initEvent("_plastiqsyncchecked",!1,!1),t}function g(e,t,n){var r=S[n]||l,o=x(e.binding);r(e,t,o.get,o.set)}function w(e,t){return/^textarea\b/i.test(e)?"textarea":/^select\b/i.test(e)?"select":t.type||"text"}function k(e,t,r){for(var o,i=Object.keys(t),a=n.html.currentRender&&n.html.currentRender.eventHandlerWrapper,s=0;s<i.length;s++){var u=i[s],c=t[u];if("function"==typeof c)if(a){var d=a.call(void 0,u.replace(/^on/,""),c);t[u]="function"==typeof d?f(d):d}else t[u]=f(c);var l=I[u];if(l)t[l]=c,delete t[u];else if(L.test(u)){o||(o=t.dataset,o||(o=t.dataset={}));var v=u.replace(L,"");o[v]=c,delete t[u]}else;}t.className&&(t.className=R(t.className)),t.binding&&(g(t,r,w(e,t)),delete t.binding)}function x(e,t){var n=e instanceof Array?j.apply(void 0,e):e;return n.set=f(n.set,t),n}function b(e){return"function"==typeof e?{view:function(e){return e},model:function(t){return e(t)}}:e}function E(e,t){function n(){if(!r){r=new Array(t.length-e);for(var n=e;n<t.length;n++)r[n-e]=b(t[n])}}if(t.length-e==1)return b(t[e]);var r;return{view:function(e){n();for(var t=e,o=0;o<r.length;o++)t=r[o].view(t);return t},model:function(e){n();for(var t=e,o=r.length-1;o>=0;o--)t=r[o].model(t);return t}}}function j(e,t){function n(){return r||(r=q(e,t))}var r;if(arguments.length>2){var o=E(2,arguments);return{get:function(){var r,i=n(),a=e[t];if(i.error)return i.view;if(void 0===i.view)return r=o.view(a),i.view=r,r;var s=o.model(i.view);r=o.view(a);var u=o.view(s);return r===u?i.view:(i.view=r,r)},set:function(r){var i=n();i.view=r;try{e[t]=o.model(r,e[t]),delete i.error}catch(e){i.error=e}},meta:function(){return n()}}}return{get:function(){return e[t]},set:function(n){e[t]=n},meta:function(){return n()}}}function N(){var e,t,r;return 2==arguments.length?(e=arguments[0],t=arguments[1],r={innerHTML:t},n.html(e,r)):(e=arguments[0],r=arguments[1],t=arguments[2],r.innerHTML=t,n.html(e,r))}function O(e){return Object.keys(e).filter(function(t){return e[t]}).join(" ")||void 0}function R(e){if("object"==typeof e){if(e instanceof Array){var t=e.map(function(e){return R(e)});return t.join(" ")||void 0}return O(e)}return e}var T=e("./vhtml"),_=e("./domComponent"),C=e("./simplePromise"),q=e("./meta"),P=e("./coerceChildren"),A=e("virtual-dom/virtual-hyperscript/parse-tag.js");n.merge=function(e,t,r,o){var i=s(t,r,o,function(t,r){var o=_(r);n.html.currentRender.eventHandlerWrapper=function(){return null};var i=t();return o.merge(i,e),o});return i.refresh(),i},n.append=function(e,t,n,r){return s(t,n,r,function(t,n){var r=_(n),o=t();return e.appendChild(r.create(o)),r})},n.replace=function(e,t,n,r){return s(t,n,r,function(t,n){var r=_(n),o=t();return e.parentNode.replaceChild(r.create(o),e),r})},n.appendVDom=function(e,t,n,r){return s(t,n,r,function(t){var n={create:function(t){e.children=[],t&&e.children.push(t)},update:function(t){e.children=[],t&&e.children.push(t)}};return n.create(t()),n})};var V=1;n.attach=function(){return console.warn("plastiq.attach has been renamed to plastiq.append, plastiq.attach will be deprecated in a future version"),n.append.apply(this,arguments)};var D={};m.prototype.hook=function(e,t,n){e.addEventListener(t.substring(2),this.listener,!1)},m.prototype.unhook=function(e,t){e.removeEventListener(t.substring(2),this.listener)};var S={text:l,textarea:l,checkbox:function(e,t,n,r){e.checked=n(),p(e,"onclick",function(t){e.checked=t.target.checked,r(t.target.checked)})},radio:function(e,t,n,r){var o=e.value;e.checked=n()==e.value,e.on_plastiqsyncchecked=new m(function(t){e.checked=t.target.checked}),p(e,"onclick",function(e){var t=e.target.name;if(t)for(var n=document.getElementsByName(t),i=0,a=n.length;i<a;i++){var s=n[i];s.dispatchEvent(y("_plastiqsyncchecked"))}r(o)})},select:function(e,t,n,r){for(var o,i=n(),a=t.filter(function(e){return"option"==e.tagName.toLowerCase()}),s=[],u=0;u<a.length;u++){var c=a[u],f=c.properties.value,d=c.children.map(function(e){return e.text}).join("");s.push(void 0!=f?f:d);var l=f==i||d==i;l&&(o=u),c.properties.selected=l,c.properties.value=u}void 0!==o&&(e.selectedIndex=o),p(e,"onchange",function(t){e.selectedIndex=t.target.selectedIndex,r(s[t.target.value])})},file:function(e,t,n,r){var o=e.multiple;p(e,"onchange",function(e){r(o?e.target.files:e.target.files[0])})}},I={for:"htmlFor",class:"className",contenteditable:"contentEditable",tabindex:"tabIndex",colspan:"colSpan"},L=/^data-/;n.html=function(e){var t,n,r=e.indexOf(" ")>=0;r?(n=e.match(/\S+/g),t=n[n.length-1]):t=e;var o,i,a,s;if(arguments[1]&&arguments[1].constructor==Object?(o=arguments[1],i=P(Array.prototype.slice.call(arguments,2)),k(t,o,i),s=A(t,o),a=T(s,o,i)):(o={},i=P(Array.prototype.slice.call(arguments,1)),s=A(t,o),a=T(s,o,i)),r)for(var u=n.length-2;u>=0;u--)a=T(n[u],{},[a]);return a},n.jsx=function(e,t){var n=P(Array.prototype.slice.call(arguments,2));return t&&k(e,t,n),T(e,t||{},n)},n.html.refreshify=f,n.html.refresh=o,n.html.refreshAfter=d,n.html.norefresh=D,n.binding=x,n.html.binding=x,n.html.meta=q,n.html.rawHtml=N}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./coerceChildren":2,"./domComponent":4,"./meta":6,"./simplePromise":37,"./vhtml":38,"virtual-dom/virtual-hyperscript/parse-tag.js":21}],37:[function(e,t,n){function r(){this.listeners=[]}r.prototype.fulfill=function(e){this.isFulfilled||(this.isFulfilled=!0,this.value=e,this.listeners.forEach(function(e){e()}))},r.prototype.then=function(e){if(this.isFulfilled){var t=this;setTimeout(function(){e(t.value)})}else this.listeners.push(e)},t.exports=function(){return new r}},{}],38:[function(e,t,n){"use strict";function r(e,t,n){var r=e;if(t.hasOwnProperty("key")){var s=t.key;t.key=void 0}if(t.hasOwnProperty("namespace")){var u=t.namespace;t.namespace=void 0}return"input"!==r.toLowerCase()||u||!t.hasOwnProperty("value")||void 0===t.value||i(t.value)||(t.value=a(t.value)),new o(r,t,n,s,u)}var o=e("virtual-dom/vnode/vnode.js"),i=e("virtual-dom/vnode/is-vhook"),a=e("virtual-dom/virtual-hyperscript/hooks/soft-set-hook.js");t.exports=r},{"virtual-dom/virtual-hyperscript/hooks/soft-set-hook.js":20,"virtual-dom/vnode/is-vhook":24,"virtual-dom/vnode/vnode.js":29}],39:[function(e,t,n){function r(e){this.attributes=e,this.vdom=new u(""),this.component=a();var t=this;this.cache={},Object.keys(this.attributes).forEach(function(e){t.cache[e]=s.html.refreshify(t.attributes[e])})}function o(e){var t=e.slice();t.sort();for(var n,r=0;r<t.length;){var o=t[r];n===o?t.splice(r,1):r++,n=o}return t}function i(e,t,n,r,i){o(Object.keys(t).concat(Object.keys(n))).forEach(function(o){if(/^on/.test(o)){var a=o.slice(2),s=t[o],u=n[o],c=r[o],f=i[o];void 0!==s&&void 0===u?e.removeEventListener(a,c):void 0!==s&&void 0!==u&&s!==u?(e.removeEventListener(a,c),e.addEventListener(a,f)):void 0===s&&void 0!==u&&e.addEventListener(a,f)}})}var a=e("./domComponent"),s=e("./rendering"),u=e("virtual-dom/vnode/vtext.js");r.prototype.type="Widget",r.prototype.init=function(){return i(window,{},this.attributes,{},this.cache),this.element=document.createTextNode("")},r.prototype.update=function(e){return i(window,e.attributes,this.attributes,e.cache,this.cache),this.component=e.component,this.element},r.prototype.destroy=function(){i(window,this.attributes,{},this.cache,{})},t.exports=function(e){return new r(e)}},{"./domComponent":4,"./rendering":36,"virtual-dom/vnode/vtext.js":31}]},{},[1]);