UNPKG

react-powerplug

Version:
2 lines (1 loc) 8.32 kB
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t(n.ReactPowerPlug={},n.React)}(this,function(n,a){"use strict";function c(n,t){if(null==n)return{};var e,r,o={},i=Object.keys(n);for(r=0;r<i.length;r++)t.indexOf(e=i[r])<0&&(o[e]=n[e]);return o}function e(n,t){n.prototype=Object.create(t.prototype),(n.prototype.constructor=n).__proto__=t}var f=function(n){for(var t=n.children,e="function"==typeof t?t:n.render,r=arguments.length,o=Array(1<r?r-1:0),i=1;i<r;i++)o[i-1]=arguments[i];return e?e.apply(void 0,o):null},i=function(){},l=function(r){function n(){for(var o,n=arguments.length,t=Array(n),e=0;e<n;e++)t[e]=arguments[e];return(o=r.call.apply(r,[this].concat(t))||this).state={value:o.props.initial},o._set=function(t,n){void 0===n&&(n=i);var e=o.props.onChange,r=void 0===e?i:e;o.setState("function"==typeof t?function(n){return{value:t(n.value)}}:{value:t},function(){r(o.state.value),n()})},o._reset=function(n){void 0===n&&(n=i),o._set(o.props.initial,n)},o}return e(n,r),n.prototype.render=function(){return f(this.props,{value:this.state.value,set:this._set,reset:this._reset})},n}(a.Component),r=function(){for(var n=arguments.length,t=Array(n),e=0;e<n;e++)t[e]=arguments[e];var r=t.reverse();return function(u){return function t(e,r,o){void 0===o&&(o=[]);var n=r[e],i=0===e;return("function"==typeof n.type?a.cloneElement:a.createElement)(n,{},function(n){return i?f.apply(void 0,[u].concat(o.concat(n))):t(e-1,r,o.concat(n))})}(t.length-1,r)}},u=function(t){return function(n){return n+t}},s=function(n){return"object"==typeof n&&n};function v(){return(v=Object.assign||function(n){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r])}return n}).apply(this,arguments)}var p=function(n){return"object"==typeof n&&n},t=function(o){function n(){for(var t,n=arguments.length,e=Array(n),r=0;r<n;r++)e[r]=arguments[r];return(t=o.call.apply(o,[this].concat(e))||this).state={times:0},t.intervalId=void 0,t._clearIntervalIfNecessary=function(){t.intervalId&&(t.intervalId=clearInterval(t.intervalId))},t._setIntervalIfNecessary=function(n){Number.isFinite(n)&&(t._clearIntervalIfNecessary(),t.intervalId=setInterval(function(){return t.setState(function(n){return{times:n.times+1}})},n))},t.stop=function(){t._clearIntervalIfNecessary()},t.start=function(n){t._setIntervalIfNecessary("number"==typeof n?n:null!=t.props.delay?t.props.delay:1e3)},t.toggle=function(){t.intervalId?t.stop():t.start()},t}e(n,o);var t=n.prototype;return t.componentDidMount=function(){this.start()},t.componentDidUpdate=function(n){n.delay!==this.props.delay&&(this.stop(),this.start())},t.componentWillUnmount=function(){this.stop()},t.render=function(){return f(this.props,{start:this.start,stop:this.stop,toggle:this.toggle})},n}(a.Component),h=function(n,t){return-1!=n.indexOf(t)};n.Active=function(n){var t=n.onChange,e=c(n,["onChange"]);return a.createElement(l,{initial:!1,onChange:t},function(n){var t=n.set;return f(e,{active:n.value,bind:{onMouseDown:function(){return t(!0)},onMouseUp:function(){return t(!1)}}})})},n.Compose=function(n){var t=n.components,e=c(n,["components"]);return r.apply(void 0,t)(e)},n.Counter=function(n){var t=n.initial,e=void 0===t?0:t,r=n.onChange,o=c(n,["initial","onChange"]);return a.createElement(l,{initial:e,onChange:r},function(n){var t=n.set;return f(o,{count:n.value,inc:function(){return t(u(1))},dec:function(){return t(u(-1))},incBy:function(n){return t(u(n))},decBy:function(n){return t(u(-n))},set:function(n){return t(n)},reset:n.reset})})},n.Field=function(n){var t=n.initial,e=void 0===t?"":t,r=n.onChange,o=c(n,["initial","onChange"]);return a.createElement(l,{initial:e,onChange:r},function(n){var t=n.value,e=n.set;return f(o,{value:t,reset:n.reset,set:e,bind:{value:t,onChange:function(n){s(n)&&s(n.target)?e(n.target.value):e(n)}}})})},n.Focus=function(n){var t=n.onChange,e=c(n,["onChange"]);return a.createElement(l,{initial:!1,onChange:t},function(n){var t=n.set;return f(e,{focused:n.value,bind:{onFocus:function(){return t(!0)},onBlur:function(){return t(!1)}}})})},n.unstable_FocusManager=function(n){var t=n.onChange,r=c(n,["onChange"]),o=!0;return a.createElement(l,{initial:!1,onChange:t},function(n){var t=n.value,e=n.set;return f(r,{focused:t,blur:function(){t&&document.activeElement.blur()},bind:{tabIndex:-1,onBlur:function(){o&&e(!1)},onFocus:function(){e(!0)},onMouseDown:function(){o=!1},onMouseUp:function(){o=!0}}})})},n.Form=function(n){var t=n.initial,e=void 0===t?{}:t,r=n.onChange,u=c(n,["initial","onChange"]);return a.createElement(l,{initial:v({},e),onChange:r},function(n){var o=n.value,i=n.set;return f(u,{values:o,reset:n.reset,setValues:function(t){return i(function(n){return v({},n,"function"==typeof t?t(n):t)})},field:function(r){var n=o[r],t=function(e){var n;return i("function"==typeof e?function(n){var t;return v({},n,((t={})[r]=e(n[r]),t))}:v({},o,((n={})[r]=e,n)))};return{value:n,set:t,bind:{value:n,onChange:function(n){p(n)&&p(n.target)?t(n.target.value):t(n)}}}}})})},n.Hover=function(n){var t=n.onChange,e=c(n,["onChange"]);return a.createElement(l,{initial:!1,onChange:t},function(n){var t=n.set;return f(e,{hovered:n.value,bind:{onMouseEnter:function(){return t(!0)},onMouseLeave:function(){return t(!1)}}})})},n.Interval=t,n.List=function(n){var t=n.initial,e=void 0===t?[]:t,r=n.onChange,o=c(n,["initial","onChange"]);return a.createElement(l,{initial:e,onChange:r},function(n){var t=n.value,r=n.set;return f(o,{list:t,first:function(){return t[0]},last:function(){return t[Math.max(0,t.length-1)]},set:function(n){return r(n)},push:function(){for(var n=arguments.length,t=Array(n),e=0;e<n;e++)t[e]=arguments[e];return r(function(n){return n.concat(t)})},pull:function(e){return r(function(n){return n.filter((t=e,function(){return!t.apply(void 0,arguments)}));var t})},sort:function(t){return r(function(n){return n.concat().sort(t)})},reset:n.reset})})},n.Map=function(n){var t=n.initial,e=void 0===t?{}:t,r=n.onChange,i=c(n,["initial","onChange"]);return a.createElement(l,{initial:v({},e),onChange:r},function(n){var t=n.value,o=n.set;return f(i,{values:t,clear:function(){return o({})},reset:n.reset,set:function(e,r){return o(function(n){var t;return v({},n,((t={})[e]="function"==typeof r?r(n[e]):r,t))})},get:function(n){return t[n]},has:function(n){return null!=t[n]},delete:function(t){return o(function(n){return c(n,[t])})}})})},n.Set=function(n){var e,t=n.initial,r=void 0===t?[]:t,o=n.onChange,i=c(n,["initial","onChange"]);return a.createElement(l,{initial:(e=r,e.filter(function(n,t){return e.indexOf(n)===t})),onChange:o},function(n){var t=n.value,e=n.set;return f(i,{values:t,add:function(r){return e(function(n){return h(t=n,e=r)?t:t.concat([e]);var t,e})},clear:function(){return e([])},remove:function(r){return e(function(n){return h(t=n,e=r)?t.filter(function(n){return n!==e}):t;var t,e})},has:function(n){return h(t,n)},reset:n.reset})})},n.State=function(n){var t=n.initial,e=void 0===t?{}:t,r=n.onChange,o=c(n,["initial","onChange"]);return a.createElement(l,{initial:e,onChange:r},function(n){var e=n.set;return f(o,{state:n.value,setState:function(t,n){return e(function(n){return v({},n,"function"==typeof t?t(n):t)},n)},resetState:n.reset})})},n.Toggle=function(n){var t=n.initial,e=void 0!==t&&t,r=n.onChange,o=c(n,["initial","onChange"]);return a.createElement(l,{initial:e,onChange:r},function(n){var t=n.set;return f(o,{on:n.value,set:function(n){return t(n)},reset:n.reset,toggle:function(){return t(function(n){return!n})},setOn:function(){return t(!0)},setOff:function(){return t(!1)}})})},n.Touch=function(n){var t=n.onChange,e=c(n,["onChange"]);return a.createElement(l,{initial:!1,onChange:t},function(n){var t=n.set;return f(e,{touched:n.value,bind:{onTouchStart:function(){return t(!0)},onTouchEnd:function(){return t(!1)}}})})},n.Value=l,n.compose=r,n.composeEvents=function(){for(var n=arguments.length,t=Array(n),e=0;e<n;e++)t[e]=arguments[e];return t.reverse().reduce(function(t,e){var r={},n=function(n){r[n]=t[n]?function(){e[n].apply(e,arguments),t[n].apply(t,arguments)}:e[n]};for(var o in e)n(o);return v({},t,r)})},n.renderProps=f,Object.defineProperty(n,"__esModule",{value:!0})});