react-okr-ui
Version:
A React user interface toolkit for building OKR centric applications.
1 lines • 29.1 kB
JavaScript
module.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=8)}([function(e,t){e.exports=require("react")},function(e,t,n){e.exports=n(2)()},function(e,t,n){"use strict";var r=n(3);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){var r=n(5),a=n(6);"string"==typeof(a=a.__esModule?a.default:a)&&(a=[[e.i,a,""]]);var o={insert:"head",singleton:!1};r(a,o);e.exports=a.locals||{}},function(e,t,n){"use strict";var r,a=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},o=function(){var e={};return function(t){if(void 0===e[t]){var n=document.querySelector(t);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}e[t]=n}return e[t]}}(),i=[];function s(e){for(var t=-1,n=0;n<i.length;n++)if(i[n].identifier===e){t=n;break}return t}function l(e,t){for(var n={},r=[],a=0;a<e.length;a++){var o=e[a],l=t.base?o[0]+t.base:o[0],c=n[l]||0,u="".concat(l," ").concat(c);n[l]=c+1;var f=s(u),p={css:o[1],media:o[2],sourceMap:o[3]};-1!==f?(i[f].references++,i[f].updater(p)):i.push({identifier:u,updater:g(p,t),references:1}),r.push(u)}return r}function c(e){var t=document.createElement("style"),r=e.attributes||{};if(void 0===r.nonce){var a=n.nc;a&&(r.nonce=a)}if(Object.keys(r).forEach((function(e){t.setAttribute(e,r[e])})),"function"==typeof e.insert)e.insert(t);else{var i=o(e.insert||"head");if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(t)}return t}var u,f=(u=[],function(e,t){return u[e]=t,u.filter(Boolean).join("\n")});function p(e,t,n,r){var a=n?"":r.media?"@media ".concat(r.media," {").concat(r.css,"}"):r.css;if(e.styleSheet)e.styleSheet.cssText=f(t,a);else{var o=document.createTextNode(a),i=e.childNodes;i[t]&&e.removeChild(i[t]),i.length?e.insertBefore(o,i[t]):e.appendChild(o)}}function m(e,t,n){var r=n.css,a=n.media,o=n.sourceMap;if(a?e.setAttribute("media",a):e.removeAttribute("media"),o&&"undefined"!=typeof btoa&&(r+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}var d=null,h=0;function g(e,t){var n,r,a;if(t.singleton){var o=h++;n=d||(d=c(t)),r=p.bind(null,n,o,!1),a=p.bind(null,n,o,!0)}else n=c(t),r=m.bind(null,n,t),a=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)};return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else a()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=a());var n=l(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var r=0;r<n.length;r++){var a=s(n[r]);i[a].references--}for(var o=l(e,t),c=0;c<n.length;c++){var u=s(n[c]);0===i[u].references&&(i[u].updater(),i.splice(u,1))}n=o}}}},function(e,t,n){(t=n(7)(!1)).push([e.i,"/* Objective */\narticle.okr-objective h1 {\n\tfont-size: 1.5rem;\n\tfont-weight: bold;\n\tmargin-bottom: 0;\n\tpadding-right: 2rem;\n\tmargin-top: 0;\n}\n\n/* Result */\nsection.okr-result {\n\tborder-bottom: 1px solid #e5e7eb;\n\tpadding-bottom: 1rem;\n\tmargin-top: 1rem;\n}\n\nsection.okr-result.h1 {\n\tfont-weight: bold;\n\tfont-size: 1.25rem;\n\tmargin-bottom: 0;\n\tmargin-top: 0;\n}\n\n/* Progress */\n.okr-progress {\n\theight: 24px;\n\tborder-radius: 5px 5px;\n\tborder: 1px solid #e5e7eb;\n\toverflow: hidden;\n}\n\n.okr-progress-bar {\n\theight: 24px;\n}\n\n.okr-progress-wrapper.full-width {\n\twidth: 100%;\n}\n\n.okr-progress-wrapper.grow {\n\tflex-grow: 1;\n\tpadding-left: 2rem;\n}\n\n/* Utilities */\n.okr-value {\n\tfont-size: 90%;\n}\n\n.okr-value.okr-circle {\n\tborder: solid 1px #e5e7eb;\n\twidth: 2.5rem;\n\theight: 2.5rem;\n\tborder-radius: 50% 50%;\n\tfont-weight: bold;\n\tfont-size: 80%;\n\tcolor: white;\n}\n\n.okr-label {\n\tfont-weight: bold;\n}\n\n.okr-flex {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tmargin-bottom: 0.5rem;\n}\n\n.okr-ml-1 {\n\tmargin-left: 1rem;\n}\n\n.okr-mr-1 {\n\tmargin-right: 1rem;\n}\n\n.okr-wrap {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tjustify-content: space-between;\n\talign-items: center;\n\tmargin-bottom: 0.5rem;\n}\n\n.okr-center {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n}\n",""]),e.exports=t},function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n=function(e,t){var n=e[1]||"",r=e[3];if(!r)return n;if(t&&"function"==typeof btoa){var a=(i=r,s=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),l="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(s),"/*# ".concat(l," */")),o=r.sources.map((function(e){return"/*# sourceURL=".concat(r.sourceRoot||"").concat(e," */")}));return[n].concat(o).concat([a]).join("\n")}var i,s,l;return[n].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(n,"}"):n})).join("")},t.i=function(e,n,r){"string"==typeof e&&(e=[[null,e,""]]);var a={};if(r)for(var o=0;o<this.length;o++){var i=this[o][0];null!=i&&(a[i]=!0)}for(var s=0;s<e.length;s++){var l=[].concat(e[s]);r&&a[l[0]]||(n&&(l[2]?l[2]="".concat(n," and ").concat(l[2]):l[2]=n),t.push(l))}},t}},function(e,t,n){"use strict";n.r(t),n.d(t,"Okr",(function(){return d})),n.d(t,"Goal",(function(){return Y})),n.d(t,"Objective",(function(){return l})),n.d(t,"Progress",(function(){return b})),n.d(t,"Row",(function(){return te})),n.d(t,"Result",(function(){return k})),n.d(t,"Score",(function(){return $})),n.d(t,"Current",(function(){return H})),n.d(t,"Due",(function(){return X}));var r=n(0),a=n.n(r),o=n(1),i=n.n(o),s=function(e){var t=e.className,n=e.children,r=t?"okr-objective ".concat(t):"okr-objective";return a.a.createElement("article",{className:r},n)};s.propTypes={className:i.a.string};var l=s,c=(n(4),a.a.createContext().Provider,a.a.createContext()),u=c.Provider,f=(a.a.createContext().Provider,a.a.createContext()),p=f.Provider,m=function(e){var t=e.metrics,n=e.grades,r=e.children;return a.a.createElement("div",{className:"okr"},a.a.createElement(u,{value:t},a.a.createElement(p,{value:n},r)))};m.propTypes={metrics:i.a.arrayOf(i.a.shape({id:i.a.string,name:i.a.string,prefix:i.a.string,suffix:i.a.string,space:i.a.bool,allowNegative:i.a.bool,decimalScale:i.a.number})),grades:i.a.arrayOf(i.a.shape({id:i.a.string,name:i.a.string,range:i.a.arrayOf(i.a.number),color:i.a.string}))};var d=m,h=function(e,t){var n;return e.map((function(e){return t>=e.range[0]&&t<=e.range[1]?n=e:null})),n},g=function(e,t,n,r){return"increase"===e?(t-r)/(t-n):"decrease"===e?(r-t)/(n-t):"maintain"===e?r/t:"attain"===e?r/n:null},v=function(e){var t=0;return e.map((function(e){var n=g(e.direction,e.start,e.end,e.current);return t+=n})),t/e.length},y=function(e){var t=e.label,n=e.value,o=e.results,i=e.className,s=n||(o?v(o):null),l=Object(r.useContext)(f),c=h(l,s),u=100*s,p=["okr-progress-wrapper"];i&&p.push(i);var m=p.join(" ");return a.a.createElement("div",{className:m},t?a.a.createElement("small",{className:"okr-label"},t):null,a.a.createElement("div",{className:"okr-progress"},a.a.createElement("div",{role:"progressbar",className:"okr-progress-bar","aria-label":"Progress","aria-valuenow":s,"aria-valuemin":"0","aria-valuemax":"100",style:{width:u+"%",background:c.color}})))};y.propTypes={label:i.a.string,value:i.a.number,results:i.a.arrayOf(i.a.shape({id:i.a.string,metricId:i.a.string,direction:i.a.string,start:i.a.number,end:i.a.number,current:i.a.number})),className:i.a.string};var b=y,x=a.a.createContext().Provider,S=function(e){var t=e.result,n=e.className?"okr-result ".concat(e.className):"okr-result";return a.a.createElement("section",{className:n},a.a.createElement(x,{value:t},e.children))};S.propTypes={className:i.a.string};var k=S;function w(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function O(){return(O=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function E(e){return(E=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function N(e,t){return(N=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function P(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function T(){}function C(){}C.resetWarningCache=T;var j=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){e.exports=function(){function e(e,t,n,r,a,o){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==o){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:C,resetWarningCache:T};return n.PropTypes=n,n}()}));function F(){}function D(e){return!!(e||"").match(/\d/)}function I(e){return null==e}function R(e){return e.replace(/[-[\]/{}()*+?.\\^$|]/g,"\\$&")}function _(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n="-"===e[0],r=n&&t,a=(e=e.replace("-","")).split("."),o=a[0],i=a[1]||"";return{beforeDecimal:o,afterDecimal:i,hasNagation:n,addNegation:r}}function A(e,t,n){for(var r="",a=n?"0":"",o=0;o<=t-1;o++)r+=e[o]||a;return r}function V(e,t){if(e.value=e.value,null!==e){if(e.createTextRange){var n=e.createTextRange();return n.move("character",t),n.select(),!0}return e.selectionStart||0===e.selectionStart?(e.focus(),e.setSelectionRange(t,t),!0):(e.focus(),!1)}}function M(e,t,n){return Math.min(Math.max(e,t),n)}function U(e){return Math.max(e.selectionStart,e.selectionEnd)}var B={thousandSeparator:j.oneOfType([j.string,j.oneOf([!0])]),decimalSeparator:j.string,allowedDecimalSeparators:j.arrayOf(j.string),thousandsGroupStyle:j.oneOf(["thousand","lakh","wan"]),decimalScale:j.number,fixedDecimalScale:j.bool,displayType:j.oneOf(["input","text"]),prefix:j.string,suffix:j.string,format:j.oneOfType([j.string,j.func]),removeFormatting:j.func,mask:j.oneOfType([j.string,j.arrayOf(j.string)]),value:j.oneOfType([j.number,j.string]),defaultValue:j.oneOfType([j.number,j.string]),isNumericString:j.bool,customInput:j.elementType,allowNegative:j.bool,allowEmptyFormatting:j.bool,allowLeadingZeros:j.bool,onValueChange:j.func,onKeyDown:j.func,onMouseUp:j.func,onChange:j.func,onFocus:j.func,onBlur:j.func,type:j.oneOf(["text","tel","password"]),isAllowed:j.func,renderText:j.func,getInputRef:j.oneOfType([j.func,j.shape({current:j.any})])},L={displayType:"input",decimalSeparator:".",thousandsGroupStyle:"thousand",fixedDecimalScale:!1,prefix:"",suffix:"",allowNegative:!0,allowEmptyFormatting:!1,allowLeadingZeros:!1,isNumericString:!1,type:"text",onValueChange:F,onChange:F,onKeyDown:F,onMouseUp:F,onFocus:F,onBlur:F,isAllowed:function(){return!0}},W=function(e){function t(e){var n,r,a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,n=!(a=E(t).call(this,e))||"object"!=typeof a&&"function"!=typeof a?P(r):a;var o=e.defaultValue;n.validateProps();var i=n.formatValueProp(o);return n.state={value:i,numAsString:n.removeFormatting(i),mounted:!1},n.selectionBeforeInput={selectionStart:0,selectionEnd:0},n.onChange=n.onChange.bind(P(n)),n.onKeyDown=n.onKeyDown.bind(P(n)),n.onMouseUp=n.onMouseUp.bind(P(n)),n.onFocus=n.onFocus.bind(P(n)),n.onBlur=n.onBlur.bind(P(n)),n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&N(e,t)}(t,e),n=t,(r=[{key:"componentDidMount",value:function(){this.setState({mounted:!0})}},{key:"componentDidUpdate",value:function(e){this.updateValueIfRequired(e)}},{key:"componentWillUnmount",value:function(){clearTimeout(this.focusTimeout)}},{key:"updateValueIfRequired",value:function(e){var t=this.props,n=this.state,r=this.focusedElm,a=n.value,o=n.numAsString,i=void 0===o?"":o;if(e!==t){this.validateProps();var s=this.formatNumString(i),l=I(t.value)?s:this.formatValueProp(),c=this.removeFormatting(l),u=parseFloat(c),f=parseFloat(i);(isNaN(u)&&isNaN(f)||u===f)&&s===a&&(null!==r||l===a)||this.updateValue({formattedValue:l,numAsString:c,input:r})}}},{key:"getFloatString",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.props.decimalScale,n=this.getSeparators(),r=n.decimalSeparator,a=this.getNumberRegex(!0),o="-"===e[0];o&&(e=e.replace("-","")),r&&0===t&&(e=e.split(r)[0]);var i=(e=(e.match(a)||[]).join("").replace(r,".")).indexOf(".");return-1!==i&&(e="".concat(e.substring(0,i),".").concat(e.substring(i+1,e.length).replace(new RegExp(R(r),"g"),""))),o&&(e="-"+e),e}},{key:"getNumberRegex",value:function(e,t){var n=this.props,r=n.format,a=n.decimalScale,o=this.getSeparators().decimalSeparator;return new RegExp("\\d"+(!o||0===a||t||r?"":"|"+R(o)),e?"g":void 0)}},{key:"getSeparators",value:function(){var e=this.props.decimalSeparator,t=this.props,n=t.thousandSeparator,r=t.allowedDecimalSeparators;return!0===n&&(n=","),r||(r=[e,"."]),{decimalSeparator:e,thousandSeparator:n,allowedDecimalSeparators:r}}},{key:"getMaskAtIndex",value:function(e){var t=this.props.mask,n=void 0===t?" ":t;return"string"==typeof n?n:n[e]||" "}},{key:"getValueObject",value:function(e,t){var n=parseFloat(t);return{formattedValue:e,value:t,floatValue:isNaN(n)?void 0:n}}},{key:"validateProps",value:function(){var e=this.props.mask,t=this.getSeparators(),n=t.decimalSeparator,r=t.thousandSeparator;if(n===r)throw new Error("\n Decimal separator can't be same as thousand separator.\n thousandSeparator: ".concat(r,' (thousandSeparator = {true} is same as thousandSeparator = ",")\n decimalSeparator: ').concat(n," (default value for decimalSeparator is .)\n "));if(e&&("string"===e?e:e.toString()).match(/\d/g))throw new Error("\n Mask ".concat(e," should not contain numeric character;\n "))}},{key:"setPatchedCaretPosition",value:function(e,t,n){V(e,t),setTimeout((function(){e.value===n&&V(e,t)}),0)}},{key:"correctCaretPosition",value:function(e,t,n){var r=this.props,a=r.prefix,o=r.suffix,i=r.format;if(""===e)return 0;if(t=M(t,0,e.length),!i){var s="-"===e[0];return M(t,a.length+(s?1:0),e.length-o.length)}if("function"==typeof i)return t;if("#"===i[t]&&D(e[t]))return t;if("#"===i[t-1]&&D(e[t-1]))return t;var l=i.indexOf("#");t=M(t,l,i.lastIndexOf("#")+1);for(var c=i.substring(t,i.length).indexOf("#"),u=t,f=t+(-1===c?0:c);u>l&&("#"!==i[u]||!D(e[u]));)u-=1;return!D(e[f])||"left"===n&&t!==l||t-u<f-t?D(e[u])?u+1:u:f}},{key:"getCaretPosition",value:function(e,t,n){var r,a,o=this.props.format,i=this.state.value,s=this.getNumberRegex(!0),l=(e.match(s)||[]).join(""),c=(t.match(s)||[]).join("");for(r=0,a=0;a<n;a++){var u=e[a]||"",f=t[r]||"";if((u.match(s)||u===f)&&("0"!==u||!f.match(s)||"0"===f||l.length===c.length)){for(;u!==t[r]&&r<t.length;)r++;r++}}return"string"!=typeof o||i||(r=t.length),r=this.correctCaretPosition(t,r)}},{key:"removePrefixAndSuffix",value:function(e){var t=this.props,n=t.format,r=t.prefix,a=t.suffix;if(!n&&e){var o="-"===e[0];o&&(e=e.substring(1,e.length));var i=(e=r&&0===e.indexOf(r)?e.substring(r.length,e.length):e).lastIndexOf(a);e=a&&-1!==i&&i===e.length-a.length?e.substring(0,i):e,o&&(e="-"+e)}return e}},{key:"removePatternFormatting",value:function(e){for(var t=this.props.format.split("#").filter((function(e){return""!==e})),n=0,r="",a=0,o=t.length;a<=o;a++){var i=t[a]||"",s=a===o?e.length:e.indexOf(i,n);if(-1===s){r=e;break}r+=e.substring(n,s),n=s+i.length}return(r.match(/\d/g)||[]).join("")}},{key:"removeFormatting",value:function(e){var t=this.props,n=t.format,r=t.removeFormatting;return e?(n?e="string"==typeof n?this.removePatternFormatting(e):"function"==typeof r?r(e):(e.match(/\d/g)||[]).join(""):(e=this.removePrefixAndSuffix(e),e=this.getFloatString(e)),e):e}},{key:"formatWithPattern",value:function(e){for(var t=this.props.format,n=0,r=t.split(""),a=0,o=t.length;a<o;a++)"#"===t[a]&&(r[a]=e[n]||this.getMaskAtIndex(n),n+=1);return r.join("")}},{key:"formatAsNumber",value:function(e){var t=this.props,n=t.decimalScale,r=t.fixedDecimalScale,a=t.prefix,o=t.suffix,i=t.allowNegative,s=t.thousandsGroupStyle,l=this.getSeparators(),c=l.thousandSeparator,u=l.decimalSeparator,f=-1!==e.indexOf(".")||n&&r,p=_(e,i),m=p.beforeDecimal,d=p.afterDecimal,h=p.addNegation;return void 0!==n&&(d=A(d,n,r)),c&&(m=function(e,t,n){var r=function(e){switch(e){case"lakh":return/(\d+?)(?=(\d\d)+(\d)(?!\d))(\.\d+)?/g;case"wan":return/(\d)(?=(\d{4})+(?!\d))/g;case"thousand":default:return/(\d)(?=(\d{3})+(?!\d))/g}}(n),a=e.search(/[1-9]/);return a=-1===a?e.length:a,e.substring(0,a)+e.substring(a,e.length).replace(r,"$1"+t)}(m,c,s)),a&&(m=a+m),o&&(d+=o),h&&(m="-"+m),e=m+(f&&u||"")+d}},{key:"formatNumString",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.props,n=t.format,r=t.allowEmptyFormatting,a=e;return a=""!==e||r?"-"!==e||n?"string"==typeof n?this.formatWithPattern(a):"function"==typeof n?n(a):this.formatAsNumber(a):"-":""}},{key:"formatValueProp",value:function(e){var t=this.props,n=t.format,r=t.decimalScale,a=t.fixedDecimalScale,o=t.allowEmptyFormatting,i=this.props,s=i.value,l=i.isNumericString,c=!(s=I(s)?e:s)&&0!==s;return c&&o&&(s=""),c&&!o?"":("number"==typeof s&&(s=s.toString(),l=!0),"Infinity"===s&&l&&(s=""),l&&!n&&"number"==typeof r&&(s=function(e,t,n){if(-1!==["","-"].indexOf(e))return e;var r=-1!==e.indexOf(".")&&t,a=_(e),o=a.beforeDecimal,i=a.afterDecimal,s=a.hasNagation,l=parseFloat("0.".concat(i||"0")).toFixed(t).split("."),c=o.split("").reverse().reduce((function(e,t,n){return e.length>n?(Number(e[0])+Number(t)).toString()+e.substring(1,e.length):t+e}),l[0]),u=A(l[1]||"",Math.min(t,i.length),n),f=r?".":"";return"".concat(s?"-":"").concat(c).concat(f).concat(u)}(s,r,a)),l?this.formatNumString(s):this.formatInput(s))}},{key:"formatNegation",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.props.allowNegative,n=new RegExp("(-)"),r=new RegExp("(-)(.)*(-)"),a=n.test(e),o=r.test(e);return e=e.replace(/-/g,""),a&&!o&&t&&(e="-"+e),e}},{key:"formatInput",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=this.props.format;return t||(e=this.removePrefixAndSuffix(e),e=this.formatNegation(e)),e=this.removeFormatting(e),this.formatNumString(e)}},{key:"isCharacterAFormat",value:function(e,t){var n=this.props,r=n.format,a=n.prefix,o=n.suffix,i=n.decimalScale,s=n.fixedDecimalScale,l=this.getSeparators().decimalSeparator;return"string"==typeof r&&"#"!==r[e]||!(r||!(e<a.length||e>=t.length-o.length||i&&s&&t[e]===l))}},{key:"checkIfFormatGotDeleted",value:function(e,t,n){for(var r=e;r<t;r++)if(this.isCharacterAFormat(r,n))return!0;return!1}},{key:"correctInputValue",value:function(e,t,n){var r=this.props,a=r.format,o=r.allowNegative,i=r.prefix,s=r.suffix,l=r.decimalScale,c=this.getSeparators(),u=c.allowedDecimalSeparators,f=c.decimalSeparator,p=this.state.numAsString||"",m=this.selectionBeforeInput,d=m.selectionStart,h=m.selectionEnd,g=function(e,t){for(var n=0,r=0,a=e.length,o=t.length;e[n]===t[n]&&n<a;)n++;for(;e[a-1-r]===t[o-1-r]&&o-r>n&&a-r>n;)r++;return{start:n,end:a-r}}(t,n),v=g.start,y=g.end;if(!a&&v===y&&-1!==u.indexOf(n[d])){var b=0===l?"":f;return n.substr(0,d)+b+n.substr(d+1,n.length)}var x=a?0:i.length,S=t.length-(a?0:s.length);if(n.length>t.length||!n.length||v===y||0===d&&h===t.length||d===x&&h===S)return n;if(this.checkIfFormatGotDeleted(v,y,t)&&(n=t),!a){var k=this.removeFormatting(n),w=_(k,o),O=w.beforeDecimal,E=w.afterDecimal,N=w.addNegation,P=e<n.indexOf(f)+1;if(k.length<p.length&&P&&""===O&&!parseFloat(E))return N?"-":""}return n}},{key:"updateValue",value:function(e){var t=e.formattedValue,n=e.input,r=e.setCaretPosition,a=void 0===r||r,o=e.numAsString,i=e.caretPos,s=this.props.onValueChange,l=this.state.value;if(n)if(a){if(!i){var c=e.inputValue||n.value,u=U(n);n.value=t,i=this.getCaretPosition(c,t,u)}this.setPatchedCaretPosition(n,i,t)}else n.value=t;void 0===o&&(o=this.removeFormatting(t)),t!==l&&(this.setState({value:t,numAsString:o}),s(this.getValueObject(t,o)))}},{key:"onChange",value:function(e){var t=e.target,n=t.value,r=this.state,a=this.props,o=a.isAllowed,i=r.value||"",s=U(t);n=this.correctInputValue(s,i,n);var l=this.formatInput(n)||"",c=this.removeFormatting(l);o(this.getValueObject(l,c))||(l=i),this.updateValue({formattedValue:l,numAsString:c,inputValue:n,input:t}),a.onChange(e)}},{key:"onBlur",value:function(e){var t=this.props,n=this.state,r=t.format,a=t.onBlur,o=t.allowLeadingZeros,i=n.numAsString,s=n.value;if(this.focusedElm=null,clearTimeout(this.focusTimeout),!r){isNaN(parseFloat(i))&&(i=""),o||(i=function(e){if(!e)return e;var t="-"===e[0];t&&(e=e.substring(1,e.length));var n=e.split("."),r=n[0].replace(/^0+/,"")||"0",a=n[1]||"";return"".concat(t?"-":"").concat(r).concat(a?".".concat(a):"")}(i));var l=this.formatNumString(i);if(l!==s)return this.updateValue({formattedValue:l,numAsString:i,input:e.target,setCaretPosition:!1}),void a(e)}a(e)}},{key:"onKeyDown",value:function(e){var t,n=e.target,r=e.key,a=n.selectionStart,o=n.selectionEnd,i=n.value,s=void 0===i?"":i,l=this.props,c=l.decimalScale,u=l.fixedDecimalScale,f=l.prefix,p=l.suffix,m=l.format,d=l.onKeyDown,h=void 0!==c&&u,g=this.getNumberRegex(!1,h),v=new RegExp("-"),y="string"==typeof m;if(this.selectionBeforeInput={selectionStart:a,selectionEnd:o},"ArrowLeft"===r||"Backspace"===r?t=a-1:"ArrowRight"===r?t=a+1:"Delete"===r&&(t=a),void 0!==t&&a===o){var b=t,x=y?m.indexOf("#"):f.length,S=y?m.lastIndexOf("#")+1:s.length-p.length;if("ArrowLeft"===r||"ArrowRight"===r){var k="ArrowLeft"===r?"left":"right";b=this.correctCaretPosition(s,t,k)}else if("Delete"!==r||g.test(s[t])||v.test(s[t])){if("Backspace"===r&&!g.test(s[t]))if(a<=x+1&&"-"===s[0]&&void 0===m){var w=s.substring(1);this.updateValue({formattedValue:w,caretPos:b,input:n})}else if(!v.test(s[t])){for(;!g.test(s[b-1])&&b>x;)b--;b=this.correctCaretPosition(s,b,"left")}}else for(;!g.test(s[b])&&b<S;)b++;(b!==t||t<x||t>S)&&(e.preventDefault(),this.setPatchedCaretPosition(n,b,s)),e.isUnitTestRun&&this.setPatchedCaretPosition(n,b,s),d(e)}else d(e)}},{key:"onMouseUp",value:function(e){var t=e.target,n=t.selectionStart,r=t.selectionEnd,a=t.value,o=void 0===a?"":a;if(n===r){var i=this.correctCaretPosition(o,n);i!==n&&this.setPatchedCaretPosition(t,i,o)}this.props.onMouseUp(e)}},{key:"onFocus",value:function(e){var t=this;e.persist(),this.focusedElm=e.target,this.focusTimeout=setTimeout((function(){var n=e.target,r=n.selectionStart,a=n.selectionEnd,o=n.value,i=void 0===o?"":o,s=t.correctCaretPosition(i,r);s===r||0===r&&a===i.length||t.setPatchedCaretPosition(n,s,i),t.props.onFocus(e)}),0)}},{key:"render",value:function(){var e,t,n,r=this.props,o=r.type,i=r.displayType,s=r.customInput,l=r.renderText,c=r.getInputRef,u=r.format,f=this.state,p=f.value,m=f.mounted,d=(e=this.props,t=B,n={},Object.keys(e).forEach((function(r){t[r]||(n[r]=e[r])})),n),h=O({inputMode:m&&function(e){return e||!(navigator.platform&&/iPhone|iPod/.test(navigator.platform))}(u)?"numeric":void 0},d,{type:o,value:p,onChange:this.onChange,onKeyDown:this.onKeyDown,onMouseUp:this.onMouseUp,onFocus:this.onFocus,onBlur:this.onBlur});if("text"===i)return l?l(p)||null:a.a.createElement("span",O({},d,{ref:c}),p);if(s){var g=s;return a.a.createElement(g,O({},h,{ref:c}))}return a.a.createElement("input",O({},h,{ref:c}))}}])&&w(n.prototype,r),o&&w(n,o),t}(a.a.Component);W.propTypes=B,W.defaultProps=L;var K=W,q=function(e){return a.a.createElement(K,{value:e.children,displayType:e.type,thousandSeparator:!0,prefix:e.metric.prefix,suffix:e.metric.suffix,allowNegative:e.metric.allowNegative,decimalScale:e.metric.decimalScale})},G=function(e,t){return e.find((function(e){return e.id===t}))},z=function(e){var t=e.label,n=e.value,o=e.metricId,i=e.className,s=Object(r.useContext)(c),l=G(s,o),u=i?"okr-current ".concat(i):"okr-current";return a.a.createElement("div",{className:u},a.a.createElement("small",{className:"okr-label"},t," "),a.a.createElement("div",{className:"okr-value"},a.a.createElement(q,{type:"text",metric:l},n)))};z.propTypes={label:i.a.string,value:i.a.number,metricId:i.a.string,className:i.a.string};var H=z,Z=function(e){var t=e.label,n=e.direction,o=e.start,i=e.end,s=e.current,l=e.circle,c=e.className,u=g(n,o,i,s),p=100*u,m=Object(r.useContext)(f),d=h(m,u),v=c?"okr-score ".concat(c):"okr-score",y=l?"okr-value okr-circle okr-center":"okr-value";return a.a.createElement("div",{className:v},t?a.a.createElement("small",{className:"okr-label"},t):null,a.a.createElement("div",{className:y,style:{borderColor:d.color,background:d.color}},a.a.createElement(K,{displayType:"text",value:p>0?p:0,suffix:"%",decimalScale:0})))};Z.propTypes={label:i.a.string,direction:i.a.oneOf(["increase","decrease","maintain","attain"]),start:i.a.number,end:i.a.number,current:i.a.number,circle:i.a.bool,className:i.a.string};var $=Z,J=function(e){var t,n=e.label,o=e.text,i=e.metricId,s=e.direction,l=e.start,u=e.end,f=e.className,p=Object(r.useContext)(c),m=o?"objective":i&&s?"result":null;"result"===m&&(t=G(p,i));var d,h=f?"okr-goal ".concat(f):"okr-goal";return"objective"===m?a.a.createElement("div",{className:h},n?a.a.createElement("small",{className:"okr-label"},n):null,a.a.createElement("h1",null,o)):"result"===m?a.a.createElement("div",{className:h},n?a.a.createElement("small",{className:"okr-label"},n):null,a.a.createElement("h1",null,a.a.createElement("span",null,"".concat((d=s,d[0].toUpperCase()+d.slice(1).toLowerCase())," ").concat(t.name)),"increase"===s||"decrease"===s?a.a.createElement(a.a.Fragment,null,a.a.createElement("span",null," from "),a.a.createElement(q,{type:"text",metric:t},l),a.a.createElement("span",null," to "),a.a.createElement(q,{type:"text",metric:t},u)):"maintain"===s?a.a.createElement(a.a.Fragment,null,a.a.createElement("span",null," of "),a.a.createElement(q,{type:"text",metric:t},l)):"attain"===s?a.a.createElement(a.a.Fragment,null,a.a.createElement("span",null," of "),a.a.createElement(q,{type:"text",metric:t},u)):null)):null};J.propTypes={label:i.a.string,text:i.a.string,direction:i.a.oneOf(["increase","decrease","maintain","attain"]),metricId:i.a.string,start:i.a.number,end:i.a.number};var Y=J,Q=function(e){var t=e.className?"okr-due ".concat(e.className):"okr-due",n=e.options?e.options:{year:"numeric",month:"long",day:"numeric"},r=new Date(e.date);return r=r.toLocaleDateString(void 0,n),a.a.createElement("div",{className:t},e.label?a.a.createElement("small",{className:"okr-label"},e.label):null,a.a.createElement("div",{className:"okr-value"},r))};Q.propTypes={label:i.a.string,date:i.a.string,options:i.a.shape({weekday:i.a.string,year:i.a.string,month:i.a.string,day:i.a.string})};var X=Q,ee=function(e){var t=e.kind,n=e.children;return a.a.createElement("div",{className:"okr-".concat("wrap"===t?"wrap":"flex")},n)};ee.propTypes={kind:i.a.oneOf(["wrap","flex"])};var te=ee}]);