react-moment 1.1.2 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -16,6 +16,7 @@ React component for the [moment](http://momentjs.com/) date library.
16
16
  - [Parsing Dates](#parsing-dates)
17
17
  - [Add and Subtract](#add-and-subtract)
18
18
  - [From Now](#from-now)
19
+ - [From Now Short](#from-now-short)
19
20
  - [From Now During](#from-now-during)
20
21
  - [From](#from)
21
22
  - [To Now](#to-now)
@@ -332,6 +333,48 @@ Outputs:
332
333
  <time>40 years</time>
333
334
  ```
334
335
 
336
+ #### From Now Short
337
+ _fromNowShort={bool}_
338
+
339
+ Displays the relative time in a short format using abbreviated units (e.g., "1h", "2d", "3mo", "1y" instead of "1 hour ago", "2 days ago", etc.).
340
+
341
+ ```jsx
342
+ import React from 'react';
343
+ import Moment from 'react-moment';
344
+
345
+ export default class MyComponent extends React.Component {
346
+ render() {
347
+ const date = new Date();
348
+ return (
349
+ <div>
350
+ <Moment fromNowShort>{date}</Moment>
351
+ {/* Output examples: "1h", "2d", "3mo", "1y" */}
352
+ </div>
353
+ );
354
+ }
355
+ }
356
+ ```
357
+
358
+ Examples of short format output:
359
+ - "1s" - 1 second ago
360
+ - "30s" - 30 seconds ago
361
+ - "1m" - 1 minute ago
362
+ - "45m" - 45 minutes ago
363
+ - "1h" - 1 hour ago
364
+ - "5h" - 5 hours ago
365
+ - "1d" - 1 day ago
366
+ - "7d" - 7 days ago
367
+ - "1mo" - 1 month ago
368
+ - "3mo" - 3 months ago
369
+ - "1y" - 1 year ago
370
+ - "2y" - 2 years ago
371
+
372
+ You can also use the `ago` prop to customize the output:
373
+
374
+ ```jsx
375
+ <Moment fromNowShort ago>2023-01-15T10:30:00</Moment>
376
+ ```
377
+
335
378
  #### From Now During
336
379
 
337
380
  _fromNowDuring={number}_
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import moment from 'moment';
2
- import { Component, ComponentClass, SFC, CSSProperties } from 'react';
2
+ import { Component, ComponentClass, FunctionComponent, CSSProperties } from 'react';
3
3
 
4
- type elementTypes = string | SFC<any> | ComponentClass<any>;
4
+ type elementTypes = string | FunctionComponent<any> | ComponentClass<any>;
5
5
  type subtractOrAddTypes = {
6
6
  years?: number,
7
7
  y?: number,
@@ -22,9 +22,9 @@ type subtractOrAddTypes = {
22
22
  milliseconds?: number,
23
23
  ms?: number
24
24
  };
25
- type dateTypes = string|number|Array<string|number|object>|object;
26
- type calendarTypes = boolean|object;
27
- type trimTypes = boolean|string;
25
+ type dateTypes = string | number | Array<string | number | object> | object;
26
+ type calendarTypes = boolean | object;
27
+ type trimTypes = boolean | string;
28
28
 
29
29
  export interface MomentProps {
30
30
  element?: elementTypes,
@@ -58,11 +58,11 @@ export interface MomentProps {
58
58
  style?: CSSProperties,
59
59
  className?: string,
60
60
  filter?: (date: string) => string,
61
- onChange?: (content:any) => any
61
+ onChange?: (content: any) => any
62
62
  }
63
63
 
64
64
  declare class Moment extends Component<MomentProps, any> {
65
- constructor(props:MomentProps);
65
+ constructor(props: MomentProps);
66
66
  public static globalMoment: Function;
67
67
  public static globalLocale: string;
68
68
  public static globalLocal: boolean;
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("moment"),require("react")):"function"==typeof define&&define.amd?define(["moment","react"],t):"object"==typeof exports?exports["react-moment"]=t(require("moment"),require("react")):e["react-moment"]=t(e.moment,e.react)}(this,(function(e,t){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.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 o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));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=6)}([function(e,t,n){e.exports=n(3)()},function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t,n){"use strict";var r=n(4);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var l=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 l.name="Invariant Violation",l}}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:i,resetWarningCache:o};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,o,i,a,l;
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("moment"),require("react")):"function"==typeof define&&define.amd?define(["moment","react"],t):"object"==typeof exports?exports["react-moment"]=t(require("moment"),require("react")):e["react-moment"]=t(e.moment,e.react)}(this,function(e,t){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.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 o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));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=6)}([function(e,t,n){e.exports=n(3)()},function(t,n){t.exports=e},function(e,n){e.exports=t},function(e,t,n){"use strict";var r=n(4);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var l=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 l.name="Invariant Violation",l}}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:i,resetWarningCache:o};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,o,i,a,l;
2
2
  /*! Moment Duration Format v2.2.2
3
3
  * https://github.com/jsmreese/moment-duration-format
4
4
  * Date: 2018-02-16
@@ -8,4 +8,15 @@
8
8
  *
9
9
  * Copyright 2018 John Madhavan-Reese
10
10
  * Released under the MIT license
11
- */a=this,l=function(e){var t=!1,n=!1,r=!1,o=!1,i="escape years months weeks days hours minutes seconds milliseconds general".split(" "),a=[{type:"seconds",targets:[{type:"minutes",value:60},{type:"hours",value:3600},{type:"days",value:86400},{type:"weeks",value:604800},{type:"months",value:2678400},{type:"years",value:31536e3}]},{type:"minutes",targets:[{type:"hours",value:60},{type:"days",value:1440},{type:"weeks",value:10080},{type:"months",value:44640},{type:"years",value:525600}]},{type:"hours",targets:[{type:"days",value:24},{type:"weeks",value:168},{type:"months",value:744},{type:"years",value:8760}]},{type:"days",targets:[{type:"weeks",value:7},{type:"months",value:31},{type:"years",value:365}]},{type:"months",targets:[{type:"years",value:12}]}];function l(e,t){return!(t.length>e.length)&&-1!==e.indexOf(t)}function u(e){for(var t="";e;)t+="0",e-=1;return t}function s(e,t){var n=e+"+"+v(V(t).sort(),(function(e){return e+":"+t[e]})).join(",");return s.cache[n]||(s.cache[n]=Intl.NumberFormat(e,t)),s.cache[n]}function c(e,t,i){var a,l,f,m=t.useToLocaleString,p=t.useGrouping,g=p&&t.grouping.slice(),y=t.maximumSignificantDigits,h=t.minimumIntegerDigits||1,d=t.fractionDigits||0,v=t.groupingSeparator,b=t.decimalSeparator;if(m&&i){var w,S={minimumIntegerDigits:h,useGrouping:p};return d&&(S.maximumFractionDigits=d,S.minimumFractionDigits=d),y&&e>0&&(S.maximumSignificantDigits=y),r?(o||((w=x({},t)).useGrouping=!1,w.decimalSeparator=".",e=parseFloat(c(e,w),10)),s(i,S).format(e)):(n||((w=x({},t)).useGrouping=!1,w.decimalSeparator=".",e=parseFloat(c(e,w),10)),e.toLocaleString(i,S))}var T=(y?e.toPrecision(y+1):e.toFixed(d+1)).split("e");f=T[1]||"",l=(T=T[0].split("."))[1]||"";var O=(a=T[0]||"").length,_=l.length,V=O+_,D=a+l;(y&&V===y+1||!y&&_===d+1)&&((D=function(e){for(var t=e.split("").reverse(),n=0,r=!0;r&&n<t.length;)n?"9"===t[n]?t[n]="0":(t[n]=(parseInt(t[n],10)+1).toString(),r=!1):(parseInt(t[n],10)<5&&(r=!1),t[n]="0"),n+=1;return r&&t.push("1"),t.reverse().join("")}(D)).length===V+1&&(O+=1),_&&(D=D.slice(0,-1)),a=D.slice(0,O),l=D.slice(O)),y&&(l=l.replace(/0*$/,""));var j=parseInt(f,10);j>0?l.length<=j?(a+=l+=u(j-l.length),l=""):(a+=l.slice(0,j),l=l.slice(j)):j<0&&(l=u(Math.abs(j)-a.length)+a+l,a="0"),y||((l=l.slice(0,d)).length<d&&(l+=u(d-l.length)),a.length<h&&(a=u(h-a.length)+a));var M,P="";if(p)for(T=a;T.length;)g.length&&(M=g.shift()),P&&(P=v+P),P=T.slice(-M)+P,T=T.slice(0,-M);else P=a;return l&&(P=P+b+l),P}function f(e,t){return e.label.length>t.label.length?-1:e.label.length<t.label.length?1:0}function m(e,t){var n=[];return d(V(t),(function(r){if("_durationLabels"===r.slice(0,15)){var o=r.slice(15).toLowerCase();d(V(t[r]),(function(i){i.slice(0,1)===e&&n.push({type:o,key:i,label:t[r][i]})}))}})),n}s.cache={};var p={durationLabelsStandard:{S:"millisecond",SS:"milliseconds",s:"second",ss:"seconds",m:"minute",mm:"minutes",h:"hour",hh:"hours",d:"day",dd:"days",w:"week",ww:"weeks",M:"month",MM:"months",y:"year",yy:"years"},durationLabelsShort:{S:"msec",SS:"msecs",s:"sec",ss:"secs",m:"min",mm:"mins",h:"hr",hh:"hrs",d:"dy",dd:"dys",w:"wk",ww:"wks",M:"mo",MM:"mos",y:"yr",yy:"yrs"},durationTimeTemplates:{HMS:"h:mm:ss",HM:"h:mm",MS:"m:ss"},durationLabelTypes:[{type:"standard",string:"__"},{type:"short",string:"_"}],durationPluralKey:function(e,t,n){return 1===t&&null===n?e:e+e}};function g(e){return"[object Array]"===Object.prototype.toString.call(e)}function y(e){return"[object Object]"===Object.prototype.toString.call(e)}function h(e,t){var n,r=0,o=e&&e.length||0;for("function"!=typeof t&&(n=t,t=function(e){return e===n});r<o;){if(t(e[r]))return e[r];r+=1}}function d(e,t){var n=0,r=e.length;if(e&&r)for(;n<r;){if(!1===t(e[n],n))return;n+=1}}function v(e,t){var n=0,r=e.length,o=[];if(!e||!r)return o;for(;n<r;)o[n]=t(e[n],n),n+=1;return o}function b(e,t){return v(e,(function(e){return e[t]}))}function w(e){var t=[];return d(e,(function(e){e&&t.push(e)})),t}function S(e){var t=[];return d(e,(function(e){h(t,e)||t.push(e)})),t}function T(e,t){var n=[];return d(e,(function(e){d(t,(function(t){e===t&&n.push(e)}))})),S(n)}function O(e,t){var n=[];return d(e,(function(r,o){if(!t(r))return n=e.slice(o),!1})),n}function _(e,t){return O(e.slice().reverse(),t).reverse()}function x(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function V(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t}function D(e,t){var n=0,r=e.length;if(!e||!r)return!1;for(;n<r;){if(!0===t(e[n],n))return!0;n+=1}return!1}function j(e){var t=[];return d(e,(function(e){t=t.concat(e)})),t}function M(e){return"3.6"===e(3.55,"en",{useGrouping:!1,minimumIntegerDigits:1,minimumFractionDigits:1,maximumFractionDigits:1})}function P(e){var t=!0;return!!((t=(t=(t=t&&"1"===e(1,"en",{minimumIntegerDigits:1}))&&"01"===e(1,"en",{minimumIntegerDigits:2}))&&"001"===e(1,"en",{minimumIntegerDigits:3}))&&(t=(t=(t=(t=t&&"100"===e(99.99,"en",{maximumFractionDigits:0,minimumFractionDigits:0}))&&"100.0"===e(99.99,"en",{maximumFractionDigits:1,minimumFractionDigits:1}))&&"99.99"===e(99.99,"en",{maximumFractionDigits:2,minimumFractionDigits:2}))&&"99.990"===e(99.99,"en",{maximumFractionDigits:3,minimumFractionDigits:3}))&&(t=(t=(t=(t=(t=t&&"100"===e(99.99,"en",{maximumSignificantDigits:1}))&&"100"===e(99.99,"en",{maximumSignificantDigits:2}))&&"100"===e(99.99,"en",{maximumSignificantDigits:3}))&&"99.99"===e(99.99,"en",{maximumSignificantDigits:4}))&&"99.99"===e(99.99,"en",{maximumSignificantDigits:5}))&&(t=(t=t&&"1,000"===e(1e3,"en",{useGrouping:!0}))&&"1000"===e(1e3,"en",{useGrouping:!1})))}function k(){var e,t=[].slice.call(arguments),n={};if(d(t,(function(t,r){if(!r){if(!g(t))throw"Expected array as the first argument to durationsFormat.";e=t}"string"!=typeof t&&"function"!=typeof t?"number"!=typeof t?y(t)&&x(n,t):n.precision=t:n.template=t})),!e||!e.length)return[];n.returnMomentTypes=!0;var r=v(e,(function(e){return e.format(n)})),o=T(i,S(b(j(r),"type"))),a=n.largest;return a&&(o=o.slice(0,a)),n.returnMomentTypes=!1,n.outputTypes=o,v(e,(function(e){return e.format(n)}))}function E(){var n=[].slice.call(arguments),o=x({},this.format.defaults),u=this.asMilliseconds(),s=this.asMonths();"function"==typeof this.isValid&&!1===this.isValid()&&(u=0,s=0);var j=u<0,M=e.duration(Math.abs(u),"milliseconds"),P=e.duration(Math.abs(s),"months");d(n,(function(e){"string"!=typeof e&&"function"!=typeof e?"number"!=typeof e?y(e)&&x(o,e):o.precision=e:o.template=e}));var k={years:"y",months:"M",weeks:"w",days:"d",hours:"h",minutes:"m",seconds:"s",milliseconds:"S"},E={escape:/\[(.+?)\]/,years:/\*?[Yy]+/,months:/\*?M+/,weeks:/\*?[Ww]+/,days:/\*?[Dd]+/,hours:/\*?[Hh]+/,minutes:/\*?m+/,seconds:/\*?s+/,milliseconds:/\*?S+/,general:/.+?/};o.types=i;var L=function(e){return h(i,(function(t){return E[t].test(e)}))},F=new RegExp(v(i,(function(e){return E[e].source})).join("|"),"g");o.duration=this;var I="function"==typeof o.template?o.template.apply(o):o.template,N=o.outputTypes,C=o.returnMomentTypes,R=o.largest,G=[];N||(g(o.stopTrim)&&(o.stopTrim=o.stopTrim.join("")),o.stopTrim&&d(o.stopTrim.match(F),(function(e){var t=L(e);"escape"!==t&&"general"!==t&&G.push(t)})));var U=e.localeData();U||(U={}),d(V(p),(function(e){"function"!=typeof p[e]?U["_"+e]||(U["_"+e]=p[e]):U[e]||(U[e]=p[e])})),d(V(U._durationTimeTemplates),(function(e){I=I.replace("_"+e+"_",U._durationTimeTemplates[e])}));var q=o.userLocale||e.locale(),z=o.useLeftUnits,H=o.usePlural,W=o.precision,$=o.forceLength,A=o.useGrouping,B=o.trunc,K=o.useSignificantDigits&&W>0,Y=K?o.precision:0,J=Y,Q=o.minValue,X=!1,Z=o.maxValue,ee=!1,te=o.useToLocaleString,ne=o.groupingSeparator,re=o.decimalSeparator,oe=o.grouping;te=te&&(t||r);var ie=o.trim;g(ie)&&(ie=ie.join(" ")),null===ie&&(R||Z||K)&&(ie="all"),null!==ie&&!0!==ie&&"left"!==ie&&"right"!==ie||(ie="large"),!1===ie&&(ie="");var ae=function(e){return e.test(ie)},le=/large/,ue=/small/,se=/both/,ce=/mid/,fe=/^all|[^sm]all/,me=/final/,pe=R>0||D([le,se,fe],ae),ge=D([ue,se,fe],ae),ye=D([ce,fe],ae),he=D([me,fe],ae),de=v(I.match(F),(function(e,t){var n=L(e);return"*"===e.slice(0,1)&&(e=e.slice(1),"escape"!==n&&"general"!==n&&G.push(n)),{index:t,length:e.length,text:"",token:"escape"===n?e.replace(E.escape,"$1"):e,type:"escape"===n||"general"===n?null:n}})),ve={index:0,length:0,token:"",text:"",type:null},be=[];z&&de.reverse(),d(de,(function(e){if(e.type)return(ve.type||ve.text)&&be.push(ve),void(ve=e);z?ve.text=e.token+ve.text:ve.text+=e.token})),(ve.type||ve.text)&&be.push(ve),z&&be.reverse();var we=T(i,S(w(b(be,"type"))));if(!we.length)return b(be,"text").join("");we=v(we,(function(e,t){var n,r=t+1===we.length,i=!t;n="years"===e||"months"===e?P.as(e):M.as(e);var a=Math.floor(n),l=n-a,u=h(be,(function(t){return e===t.type}));return i&&Z&&n>Z&&(ee=!0),r&&Q&&Math.abs(o.duration.as(e))<Q&&(X=!0),i&&null===$&&u.length>1&&($=!0),M.subtract(a,e),P.subtract(a,e),{rawValue:n,wholeValue:a,decimalValue:r?l:0,isSmallest:r,isLargest:i,type:e,tokenLength:u.length}}));var Se=B?Math.floor:Math.round,Te=function(e,t){var n=Math.pow(10,t);return Se(e*n)/n},Oe=!1,_e=!1,xe=function(e,t){var n={useGrouping:A,groupingSeparator:ne,decimalSeparator:re,grouping:oe,useToLocaleString:te};return K&&(Y<=0?(e.rawValue=0,e.wholeValue=0,e.decimalValue=0):(n.maximumSignificantDigits=Y,e.significantDigits=Y)),ee&&!_e&&(e.isLargest?(e.wholeValue=Z,e.decimalValue=0):(e.wholeValue=0,e.decimalValue=0)),X&&!_e&&(e.isSmallest?(e.wholeValue=Q,e.decimalValue=0):(e.wholeValue=0,e.decimalValue=0)),e.isSmallest||e.significantDigits&&e.significantDigits-e.wholeValue.toString().length<=0?W<0?e.value=Te(e.wholeValue,W):0===W?e.value=Se(e.wholeValue+e.decimalValue):K?(e.value=B?Te(e.rawValue,Y-e.wholeValue.toString().length):e.rawValue,e.wholeValue&&(Y-=e.wholeValue.toString().length)):(n.fractionDigits=W,e.value=B?e.wholeValue+Te(e.decimalValue,W):e.wholeValue+e.decimalValue):K&&e.wholeValue?(e.value=Math.round(Te(e.wholeValue,e.significantDigits-e.wholeValue.toString().length)),Y-=e.wholeValue.toString().length):e.value=e.wholeValue,e.tokenLength>1&&($||Oe)&&(n.minimumIntegerDigits=e.tokenLength,_e&&n.maximumSignificantDigits<e.tokenLength&&delete n.maximumSignificantDigits),!Oe&&(e.value>0||""===ie||h(G,e.type)||h(N,e.type))&&(Oe=!0),e.formattedValue=c(e.value,n,q),n.useGrouping=!1,n.decimalSeparator=".",e.formattedValueEn=c(e.value,n,"en"),2===e.tokenLength&&"milliseconds"===e.type&&(e.formattedValueMS=c(e.value,{minimumIntegerDigits:3,useGrouping:!1},"en").slice(0,2)),e};if((we=w(we=v(we,xe))).length>1){var Ve=function(e){return h(we,(function(t){return t.type===e}))},De=function(e){var t=Ve(e.type);t&&d(e.targets,(function(e){var n=Ve(e.type);n&&parseInt(t.formattedValueEn,10)===e.value&&(t.rawValue=0,t.wholeValue=0,t.decimalValue=0,n.rawValue+=1,n.wholeValue+=1,n.decimalValue=0,n.formattedValueEn=n.wholeValue.toString(),_e=!0)}))};d(a,De)}return _e&&(Oe=!1,Y=J,we=w(we=v(we,xe))),!N||ee&&!o.trim?(pe&&(we=O(we,(function(e){return!e.isSmallest&&!e.wholeValue&&!h(G,e.type)}))),R&&we.length&&(we=we.slice(0,R)),ge&&we.length>1&&(we=_(we,(function(e){return!e.wholeValue&&!h(G,e.type)&&!e.isLargest}))),ye&&(we=w(we=v(we,(function(e,t){return t>0&&t<we.length-1&&!e.wholeValue?null:e})))),!he||1!==we.length||we[0].wholeValue||!B&&we[0].isSmallest&&we[0].rawValue<Q||(we=[])):we=w(we=v(we,(function(e){return h(N,(function(t){return e.type===t}))?e:null}))),C?we:(d(be,(function(e){var t=k[e.type],n=h(we,(function(t){return t.type===e.type}));if(t&&n){var r=n.formattedValueEn.split(".");r[0]=parseInt(r[0],10),r[1]?r[1]=parseFloat("0."+r[1],10):r[1]=null;var o=U.durationPluralKey(t,r[0],r[1]),i=m(t,U),a=!1,u={};d(U._durationLabelTypes,(function(t){var n=h(i,(function(e){return e.type===t.type&&e.key===o}));n&&(u[n.type]=n.label,l(e.text,t.string)&&(e.text=e.text.replace(t.string,n.label),a=!0))})),H&&!a&&(i.sort(f),d(i,(function(t){return u[t.type]===t.label?!l(e.text,t.label)&&void 0:l(e.text,t.label)?(e.text=e.text.replace(t.label,u[t.type]),!1):void 0})))}})),(be=v(be,(function(e){if(!e.type)return e.text;var t=h(we,(function(t){return t.type===e.type}));if(!t)return"";var n="";return z&&(n+=e.text),(j&&ee||!j&&X)&&(n+="< ",ee=!1,X=!1),(j&&X||!j&&ee)&&(n+="> ",ee=!1,X=!1),j&&(t.value>0||""===ie||h(G,t.type)||h(N,t.type))&&(n+="-",j=!1),"milliseconds"===e.type&&t.formattedValueMS?n+=t.formattedValueMS:n+=t.formattedValue,z||(n+=e.text),n}))).join("").replace(/(,| |:|\.)*$/,"").replace(/^(,| |:|\.)*/,""))}function L(){var e=this.duration,t=function(t){return e._data[t]},n=h(this.types,t),r=function(e,t){for(var n=e.length;n-=1;)if(t(e[n]))return e[n]}(this.types,t);switch(n){case"milliseconds":return"S __";case"seconds":case"minutes":return"*_MS_";case"hours":return"_HMS_";case"days":if(n===r)return"d __";case"weeks":return n===r?"w __":(null===this.trim&&(this.trim="both"),"w __, d __, h __");case"months":if(n===r)return"M __";case"years":return n===r?"y __":(null===this.trim&&(this.trim="both"),"y __, M __, d __");default:return null===this.trim&&(this.trim="both"),"y __, d __, h __, m __, s __"}}function F(e){if(!e)throw"Moment Duration Format init cannot find moment instance.";e.duration.format=k,e.duration.fn.format=E,e.duration.fn.format.defaults={trim:null,stopTrim:null,largest:null,maxValue:null,minValue:null,precision:0,trunc:!1,forceLength:null,userLocale:null,usePlural:!0,useLeftUnits:!1,useGrouping:!0,useSignificantDigits:!1,template:L,useToLocaleString:!0,groupingSeparator:",",decimalSeparator:".",grouping:[3]},e.updateLocale("en",p)}var I=function(e,t,n){return e.toLocaleString(t,n)};t=function(){try{(0).toLocaleString("i")}catch(e){return"RangeError"===e.name}return!1}()&&P(I),n=t&&M(I);var N=function(e,t,n){if("undefined"!=typeof window&&window&&window.Intl&&window.Intl.NumberFormat)return window.Intl.NumberFormat(t,n).format(e)};return r=P(N),o=r&&M(N),F(e),F},o=[n(1)],void 0===(i="function"==typeof(r=l)?r.apply(t,o):r)||(e.exports=i),a&&(a.momentDurationFormatSetup=a.moment?l(a.moment):l)},function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return _}));var r=n(2),o=n.n(r),i=n(0),a=n.n(i),l=n(1),u=n.n(l);n(5);function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function f(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function m(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 p(e,t,n){return t&&m(e.prototype,t),n&&m(e,n),e}function g(e,t){return(g=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function y(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=v(e);if(t){var o=v(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return h(this,n)}}function h(e,t){return!t||"object"!==s(t)&&"function"!=typeof t?d(e):t}function d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function v(e){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function b(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var w=[a.a.string,a.a.number,a.a.array,a.a.object],S=[a.a.string,a.a.array],T=[a.a.object,a.a.bool],O=[a.a.string,a.a.bool],_=function(e){!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&&g(e,t)}(n,e);var t=y(n);function n(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),b(d(r=t.call(this,e)),"setTimer",(function(){var e=r.props.interval;r.clearTimer(),n.pooledTimer||0===e||(r.timer=setInterval((function(){r.update(r.props)}),e))})),b(d(r),"getTitle",(function(){var e=r.props.titleFormat,t=n.getDatetime(r.props),o=e||n.globalFormat;return t.format(o)})),b(d(r),"clearTimer",(function(){!n.pooledTimer&&r.timer&&(clearInterval(r.timer),r.timer=null),n.pooledTimer&&!r.timer&&n.removePooledElement(d(r))})),n.globalMoment||(n.globalMoment=u.a),r.state={content:""},r.timer=null,r}return p(n,null,[{key:"startPooledTimer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6e4;n.clearPooledTimer(),n.pooledTimer=setInterval((function(){n.pooledElements.forEach((function(e){0!==e.props.interval&&e.update()}))}),e)}},{key:"clearPooledTimer",value:function(){n.pooledTimer&&(clearInterval(n.pooledTimer),n.pooledTimer=null,n.pooledElements=[])}},{key:"pushPooledElement",value:function(e){e instanceof n?-1===n.pooledElements.indexOf(e)&&n.pooledElements.push(e):console.error("Element not an instance of Moment.")}},{key:"removePooledElement",value:function(e){var t=n.pooledElements.indexOf(e);-1!==t&&n.pooledElements.splice(t,1)}},{key:"getDatetime",value:function(e){var t=e.utc,r=e.unix,o=e.date,i=e.locale,a=e.parse,l=e.tz,u=e.local;o=o||e.children,a=a||n.globalParse,u=u||n.globalLocal,l=l||n.globalTimezone,i=n.globalLocale?n.globalLocale:i||n.globalMoment.locale();var s=null;return s=t?n.globalMoment.utc(o,a,i):r?n.globalMoment(1e3*o,a,i):n.globalMoment(o,a,i),l?s=s.tz(l):u&&(s=s.local()),s}},{key:"getContent",value:function(e){var t=e.fromNow,r=e.fromNowDuring,o=e.from,i=e.add,a=e.subtract,l=e.toNow,s=e.to,c=e.ago,f=e.calendar,m=e.diff,p=e.duration,g=e.durationFromNow,y=e.unit,h=e.decimal,d=e.trim,v=e.format;v=v||n.globalFormat;var b=n.getDatetime(e);i&&b.add(i),a&&b.subtract(a);var w=Boolean(r)&&-b.diff(u()())<r,S="";return S=!v||w||g||p?o?b.from(o,c):t||w?b.fromNow(c):s?b.to(s,c):l?b.toNow(c):f?b.calendar(null,f):m?b.diff(m,y,h):p?b.diff(p):g?u()().diff(b):b.toString():b.format(v),(p||g)&&(S=(S=u.a.duration(S)).format(v,{trim:d})),S=(n.globalFilter||e.filter)(S)}}]),p(n,[{key:"componentDidMount",value:function(){this.setTimer(),n.pooledTimer&&n.pushPooledElement(this)}},{key:"componentDidUpdate",value:function(e){var t=this.props.interval;e.interval!==t&&this.setTimer()}},{key:"componentWillUnmount",value:function(){this.clearTimer()}},{key:"update",value:function(e){var t=e||this.props,r=t.onChange,o=n.getContent(t);this.setState({content:o},(function(){r(o)}))}},{key:"render",value:function(){var e,t,r,i,a=this.props,l=a.withTitle,u=a.element,s=f(a,["withTitle","element"]),m=this.state.content,p=(e=s,t=n.propTypes,r=Object.keys(t),i=Object.assign({},e),Object.keys(i).filter((function(e){return-1!==r.indexOf(e)})).forEach((function(e){return delete i[e]})),i);return l&&(p.title=this.getTitle()),o.a.createElement(u||n.globalElement,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach((function(t){b(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({dateTime:n.getDatetime(this.props)},p),m)}}],[{key:"getDerivedStateFromProps",value:function(e){return{content:n.getContent(e)}}}]),n}(o.a.Component);b(_,"propTypes",{element:a.a.any,date:a.a.oneOfType(w),parse:a.a.oneOfType(S),format:a.a.string,add:a.a.object,subtract:a.a.object,ago:a.a.bool,fromNow:a.a.bool,fromNowDuring:a.a.number,from:a.a.oneOfType(w),toNow:a.a.bool,to:a.a.oneOfType(w),calendar:a.a.oneOfType(T),unix:a.a.bool,utc:a.a.bool,local:a.a.bool,tz:a.a.string,withTitle:a.a.bool,titleFormat:a.a.string,locale:a.a.string,interval:a.a.number,diff:a.a.oneOfType(w),duration:a.a.oneOfType(w),durationFromNow:a.a.bool,trim:a.a.oneOfType(O),unit:a.a.string,decimal:a.a.bool,filter:a.a.func,onChange:a.a.func}),b(_,"defaultProps",{element:null,fromNow:!1,toNow:!1,calendar:!1,ago:!1,unix:!1,utc:!1,local:!1,unit:null,withTitle:!1,trim:!1,decimal:!1,titleFormat:"",interval:6e4,filter:function(e){return e},onChange:function(){}}),b(_,"globalMoment",null),b(_,"globalLocale",null),b(_,"globalLocal",null),b(_,"globalFormat",null),b(_,"globalParse",null),b(_,"globalFilter",null),b(_,"globalElement","time"),b(_,"globalTimezone",null),b(_,"pooledElements",[]),b(_,"pooledTimer",null)}])}));
11
+ */
12
+ /*! Moment Duration Format v2.2.2
13
+ * https://github.com/jsmreese/moment-duration-format
14
+ * Date: 2018-02-16
15
+ *
16
+ * Duration format plugin function for the Moment.js library
17
+ * http://momentjs.com/
18
+ *
19
+ * Copyright 2018 John Madhavan-Reese
20
+ * Released under the MIT license
21
+ */
22
+ a=this,l=function(e){var t=!1,n=!1,r="escape years months weeks days hours minutes seconds milliseconds general".split(" "),o=[{type:"seconds",targets:[{type:"minutes",value:60},{type:"hours",value:3600},{type:"days",value:86400},{type:"weeks",value:604800},{type:"months",value:2678400},{type:"years",value:31536e3}]},{type:"minutes",targets:[{type:"hours",value:60},{type:"days",value:1440},{type:"weeks",value:10080},{type:"months",value:44640},{type:"years",value:525600}]},{type:"hours",targets:[{type:"days",value:24},{type:"weeks",value:168},{type:"months",value:744},{type:"years",value:8760}]},{type:"days",targets:[{type:"weeks",value:7},{type:"months",value:31},{type:"years",value:365}]},{type:"months",targets:[{type:"years",value:12}]}];function i(e,t){return!(t.length>e.length)&&-1!==e.indexOf(t)}function a(e){for(var t="";e;)t+="0",e-=1;return t}function l(e,t,r){var o,i,u,s=t.useToLocaleString,c=t.useGrouping,m=c&&t.grouping.slice(),f=t.maximumSignificantDigits,p=t.minimumIntegerDigits||1,g=t.fractionDigits||0,y=t.groupingSeparator,d=t.decimalSeparator;if(s&&r){var h={minimumIntegerDigits:p,useGrouping:c};if(g&&(h.maximumFractionDigits=g,h.minimumFractionDigits=g),f&&e>0&&(h.maximumSignificantDigits=f),!n){var v=w({},t);v.useGrouping=!1,v.decimalSeparator=".",e=parseFloat(l(e,v),10)}return e.toLocaleString(r,h)}var b=(f?e.toPrecision(f+1):e.toFixed(g+1)).split("e");u=b[1]||"",i=(b=b[0].split("."))[1]||"";var S=(o=b[0]||"").length,T=i.length,_=S+T,x=o+i;(f&&_===f+1||!f&&T===g+1)&&((x=function(e){for(var t=e.split("").reverse(),n=0,r=!0;r&&n<t.length;)n?"9"===t[n]?t[n]="0":(t[n]=(parseInt(t[n],10)+1).toString(),r=!1):(parseInt(t[n],10)<5&&(r=!1),t[n]="0"),n+=1;return r&&t.push("1"),t.reverse().join("")}(x)).length===_+1&&(S+=1),T&&(x=x.slice(0,-1)),o=x.slice(0,S),i=x.slice(S)),f&&(i=i.replace(/0*$/,""));var O=parseInt(u,10);O>0?i.length<=O?(o+=i+=a(O-i.length),i=""):(o+=i.slice(0,O),i=i.slice(O)):O<0&&(i=a(Math.abs(O)-o.length)+o+i,o="0"),f||((i=i.slice(0,g)).length<g&&(i+=a(g-i.length)),o.length<p&&(o=a(p-o.length)+o));var V,D="";if(c)for(b=o;b.length;)m.length&&(V=m.shift()),D&&(D=y+D),D=b.slice(-V)+D,b=b.slice(0,-V);else D=o;return i&&(D=D+d+i),D}function u(e,t){return e.label.length>t.label.length?-1:e.label.length<t.label.length?1:0}var s,c={durationLabelsStandard:{S:"millisecond",SS:"milliseconds",s:"second",ss:"seconds",m:"minute",mm:"minutes",h:"hour",hh:"hours",d:"day",dd:"days",w:"week",ww:"weeks",M:"month",MM:"months",y:"year",yy:"years"},durationLabelsShort:{S:"msec",SS:"msecs",s:"sec",ss:"secs",m:"min",mm:"mins",h:"hr",hh:"hrs",d:"dy",dd:"dys",w:"wk",ww:"wks",M:"mo",MM:"mos",y:"yr",yy:"yrs"},durationTimeTemplates:{HMS:"h:mm:ss",HM:"h:mm",MS:"m:ss"},durationLabelTypes:[{type:"standard",string:"__"},{type:"short",string:"_"}],durationPluralKey:function(e,t,n){return 1===t&&null===n?e:e+e}};function m(e){return"[object Array]"===Object.prototype.toString.call(e)}function f(e){return"[object Object]"===Object.prototype.toString.call(e)}function p(e,t){var n,r=0,o=e&&e.length||0;for("function"!=typeof t&&(n=t,t=function(e){return e===n});r<o;){if(t(e[r]))return e[r];r+=1}}function g(e,t){var n=0,r=e.length;if(e&&r)for(;n<r;){if(!1===t(e[n],n))return;n+=1}}function y(e,t){var n=0,r=e.length,o=[];if(!e||!r)return o;for(;n<r;)o[n]=t(e[n],n),n+=1;return o}function d(e,t){return y(e,function(e){return e[t]})}function h(e){var t=[];return g(e,function(e){e&&t.push(e)}),t}function v(e){var t=[];return g(e,function(e){p(t,e)||t.push(e)}),t}function b(e,t){var n=[];return g(e,function(e){g(t,function(t){e===t&&n.push(e)})}),v(n)}function S(e,t){var n=[];return g(e,function(r,o){if(!t(r))return n=e.slice(o),!1}),n}function w(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function T(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t}function _(e,t){var n=0,r=e.length;if(!e||!r)return!1;for(;n<r;){if(!0===t(e[n],n))return!0;n+=1}return!1}function x(){var e,t=[].slice.call(arguments),n={};if(g(t,function(t,r){if(!r){if(!m(t))throw"Expected array as the first argument to durationsFormat.";e=t}"string"!=typeof t&&"function"!=typeof t?"number"!=typeof t?f(t)&&w(n,t):n.precision=t:n.template=t}),!e||!e.length)return[];n.returnMomentTypes=!0;var o,i=y(e,function(e){return e.format(n)}),a=b(r,v(d((o=[],g(i,function(e){o=o.concat(e)}),o),"type"))),l=n.largest;return l&&(a=a.slice(0,l)),n.returnMomentTypes=!1,n.outputTypes=a,y(e,function(e){return e.format(n)})}function O(){var n=[].slice.call(arguments),a=w({},this.format.defaults),s=this.asMilliseconds(),x=this.asMonths();"function"==typeof this.isValid&&!1===this.isValid()&&(s=0,x=0);var O=s<0,V=e.duration(Math.abs(s),"milliseconds"),D=e.duration(Math.abs(x),"months");g(n,function(e){"string"!=typeof e&&"function"!=typeof e?"number"!=typeof e?f(e)&&w(a,e):a.precision=e:a.template=e});var L={years:"y",months:"M",weeks:"w",days:"d",hours:"h",minutes:"m",seconds:"s",milliseconds:"S"},M={escape:/\[(.+?)\]/,years:/\*?[Yy]+/,months:/\*?M+/,weeks:/\*?[Ww]+/,days:/\*?[Dd]+/,hours:/\*?[Hh]+/,minutes:/\*?m+/,seconds:/\*?s+/,milliseconds:/\*?S+/,general:/.+?/};a.types=r;var j=function(e){return p(r,function(t){return M[t].test(e)})},k=new RegExp(y(r,function(e){return M[e].source}).join("|"),"g");a.duration=this;var P="function"==typeof a.template?a.template.apply(a):a.template,E=a.outputTypes,F=a.returnMomentTypes,I=a.largest,N=[];E||(m(a.stopTrim)&&(a.stopTrim=a.stopTrim.join("")),a.stopTrim&&g(a.stopTrim.match(k),function(e){var t=j(e);"escape"!==t&&"general"!==t&&N.push(t)}));var C=e.localeData();C||(C={}),g(T(c),function(e){"function"!=typeof c[e]?C["_"+e]||(C["_"+e]=c[e]):C[e]||(C[e]=c[e])}),g(T(C._durationTimeTemplates),function(e){P=P.replace("_"+e+"_",C._durationTimeTemplates[e])});var G=a.userLocale||e.locale(),R=a.useLeftUnits,U=a.usePlural,q=a.precision,z=a.forceLength,H=a.useGrouping,W=a.trunc,$=a.useSignificantDigits&&q>0,A=$?a.precision:0,B=A,K=a.minValue,Y=!1,J=a.maxValue,Q=!1,X=a.useToLocaleString,Z=a.groupingSeparator,ee=a.decimalSeparator,te=a.grouping;X=X&&t;var ne=a.trim;m(ne)&&(ne=ne.join(" ")),null===ne&&(I||J||$)&&(ne="all"),null!==ne&&!0!==ne&&"left"!==ne&&"right"!==ne||(ne="large"),!1===ne&&(ne="");var re=function(e){return e.test(ne)},oe=/both/,ie=/^all|[^sm]all/,ae=I>0||_([/large/,oe,ie],re),le=_([/small/,oe,ie],re),ue=_([/mid/,ie],re),se=_([/final/,ie],re),ce=y(P.match(k),function(e,t){var n=j(e);return"*"===e.slice(0,1)&&(e=e.slice(1),"escape"!==n&&"general"!==n&&N.push(n)),{index:t,length:e.length,text:"",token:"escape"===n?e.replace(M.escape,"$1"):e,type:"escape"===n||"general"===n?null:n}}),me={index:0,length:0,token:"",text:"",type:null},fe=[];R&&ce.reverse(),g(ce,function(e){if(e.type)return(me.type||me.text)&&fe.push(me),void(me=e);R?me.text=e.token+me.text:me.text+=e.token}),(me.type||me.text)&&fe.push(me),R&&fe.reverse();var pe=b(r,v(h(d(fe,"type"))));if(!pe.length)return d(fe,"text").join("");pe=y(pe,function(e,t){var n,r=t+1===pe.length,o=!t;n="years"===e||"months"===e?D.as(e):V.as(e);var i=Math.floor(n),l=n-i,u=p(fe,function(t){return e===t.type});return o&&J&&n>J&&(Q=!0),r&&K&&Math.abs(a.duration.as(e))<K&&(Y=!0),o&&null===z&&u.length>1&&(z=!0),V.subtract(i,e),D.subtract(i,e),{rawValue:n,wholeValue:i,decimalValue:r?l:0,isSmallest:r,isLargest:o,type:e,tokenLength:u.length}});var ge,ye=W?Math.floor:Math.round,de=function(e,t){var n=Math.pow(10,t);return ye(e*n)/n},he=!1,ve=!1,be=function(e,t){var n={useGrouping:H,groupingSeparator:Z,decimalSeparator:ee,grouping:te,useToLocaleString:X};return $&&(A<=0?(e.rawValue=0,e.wholeValue=0,e.decimalValue=0):(n.maximumSignificantDigits=A,e.significantDigits=A)),Q&&!ve&&(e.isLargest?(e.wholeValue=J,e.decimalValue=0):(e.wholeValue=0,e.decimalValue=0)),Y&&!ve&&(e.isSmallest?(e.wholeValue=K,e.decimalValue=0):(e.wholeValue=0,e.decimalValue=0)),e.isSmallest||e.significantDigits&&e.significantDigits-e.wholeValue.toString().length<=0?q<0?e.value=de(e.wholeValue,q):0===q?e.value=ye(e.wholeValue+e.decimalValue):$?(e.value=W?de(e.rawValue,A-e.wholeValue.toString().length):e.rawValue,e.wholeValue&&(A-=e.wholeValue.toString().length)):(n.fractionDigits=q,e.value=W?e.wholeValue+de(e.decimalValue,q):e.wholeValue+e.decimalValue):$&&e.wholeValue?(e.value=Math.round(de(e.wholeValue,e.significantDigits-e.wholeValue.toString().length)),A-=e.wholeValue.toString().length):e.value=e.wholeValue,e.tokenLength>1&&(z||he)&&(n.minimumIntegerDigits=e.tokenLength,ve&&n.maximumSignificantDigits<e.tokenLength&&delete n.maximumSignificantDigits),!he&&(e.value>0||""===ne||p(N,e.type)||p(E,e.type))&&(he=!0),e.formattedValue=l(e.value,n,G),n.useGrouping=!1,n.decimalSeparator=".",e.formattedValueEn=l(e.value,n,"en"),2===e.tokenLength&&"milliseconds"===e.type&&(e.formattedValueMS=l(e.value,{minimumIntegerDigits:3,useGrouping:!1},"en").slice(0,2)),e};if((pe=h(pe=y(pe,be))).length>1){var Se=function(e){return p(pe,function(t){return t.type===e})};g(o,function(e){var t=Se(e.type);t&&g(e.targets,function(e){var n=Se(e.type);n&&parseInt(t.formattedValueEn,10)===e.value&&(t.rawValue=0,t.wholeValue=0,t.decimalValue=0,n.rawValue+=1,n.wholeValue+=1,n.decimalValue=0,n.formattedValueEn=n.wholeValue.toString(),ve=!0)})})}return ve&&(he=!1,A=B,pe=h(pe=y(pe,be))),!E||Q&&!a.trim?(ae&&(pe=S(pe,function(e){return!e.isSmallest&&!e.wholeValue&&!p(N,e.type)})),I&&pe.length&&(pe=pe.slice(0,I)),le&&pe.length>1&&(ge=function(e){return!e.wholeValue&&!p(N,e.type)&&!e.isLargest},pe=S(pe.slice().reverse(),ge).reverse()),ue&&(pe=h(pe=y(pe,function(e,t){return t>0&&t<pe.length-1&&!e.wholeValue?null:e}))),!se||1!==pe.length||pe[0].wholeValue||!W&&pe[0].isSmallest&&pe[0].rawValue<K||(pe=[])):pe=h(pe=y(pe,function(e){return p(E,function(t){return e.type===t})?e:null})),F?pe:(g(fe,function(e){var t=L[e.type],n=p(pe,function(t){return t.type===e.type});if(t&&n){var r=n.formattedValueEn.split(".");r[0]=parseInt(r[0],10),r[1]?r[1]=parseFloat("0."+r[1],10):r[1]=null;var o=C.durationPluralKey(t,r[0],r[1]),a=function(e,t){var n=[];return g(T(t),function(r){if("_durationLabels"===r.slice(0,15)){var o=r.slice(15).toLowerCase();g(T(t[r]),function(i){i.slice(0,1)===e&&n.push({type:o,key:i,label:t[r][i]})})}}),n}(t,C),l=!1,s={};g(C._durationLabelTypes,function(t){var n=p(a,function(e){return e.type===t.type&&e.key===o});n&&(s[n.type]=n.label,i(e.text,t.string)&&(e.text=e.text.replace(t.string,n.label),l=!0))}),U&&!l&&(a.sort(u),g(a,function(t){return s[t.type]===t.label?!i(e.text,t.label)&&void 0:i(e.text,t.label)?(e.text=e.text.replace(t.label,s[t.type]),!1):void 0}))}}),(fe=y(fe,function(e){if(!e.type)return e.text;var t=p(pe,function(t){return t.type===e.type});if(!t)return"";var n="";return R&&(n+=e.text),(O&&Q||!O&&Y)&&(n+="< ",Q=!1,Y=!1),(O&&Y||!O&&Q)&&(n+="> ",Q=!1,Y=!1),O&&(t.value>0||""===ne||p(N,t.type)||p(E,t.type))&&(n+="-",O=!1),"milliseconds"===e.type&&t.formattedValueMS?n+=t.formattedValueMS:n+=t.formattedValue,R||(n+=e.text),n})).join("").replace(/(,| |:|\.)*$/,"").replace(/^(,| |:|\.)*/,""))}function V(){var e=this.duration,t=function(t){return e._data[t]},n=p(this.types,t),r=function(e,t){for(var n=e.length;n-=1;)if(t(e[n]))return e[n]}(this.types,t);switch(n){case"milliseconds":return"S __";case"seconds":case"minutes":return"*_MS_";case"hours":return"_HMS_";case"days":if(n===r)return"d __";case"weeks":return n===r?"w __":(null===this.trim&&(this.trim="both"),"w __, d __, h __");case"months":if(n===r)return"M __";case"years":return n===r?"y __":(null===this.trim&&(this.trim="both"),"y __, M __, d __");default:return null===this.trim&&(this.trim="both"),"y __, d __, h __, m __, s __"}}function D(e){if(!e)throw"Moment Duration Format init cannot find moment instance.";e.duration.format=x,e.duration.fn.format=O,e.duration.fn.format.defaults={trim:null,stopTrim:null,largest:null,maxValue:null,minValue:null,precision:0,trunc:!1,forceLength:null,userLocale:null,usePlural:!0,useLeftUnits:!1,useGrouping:!0,useSignificantDigits:!1,template:V,useToLocaleString:!0,groupingSeparator:",",decimalSeparator:".",grouping:[3]},e.updateLocale("en",c)}return t=!!((s=(s=!0)&&function(){try{(0).toLocaleString("i")}catch(e){return"RangeError"===e.name}return!1}())&&(s=(s=(s=s&&"1"===1..toLocaleString("en",{minimumIntegerDigits:1}))&&"01"===1..toLocaleString("en",{minimumIntegerDigits:2}))&&"001"===1..toLocaleString("en",{minimumIntegerDigits:3}))&&(s=(s=(s=(s=s&&"100"===99.99.toLocaleString("en",{maximumFractionDigits:0,minimumFractionDigits:0}))&&"100.0"===99.99.toLocaleString("en",{maximumFractionDigits:1,minimumFractionDigits:1}))&&"99.99"===99.99.toLocaleString("en",{maximumFractionDigits:2,minimumFractionDigits:2}))&&"99.990"===99.99.toLocaleString("en",{maximumFractionDigits:3,minimumFractionDigits:3}))&&(s=(s=(s=(s=(s=s&&"100"===99.99.toLocaleString("en",{maximumSignificantDigits:1}))&&"100"===99.99.toLocaleString("en",{maximumSignificantDigits:2}))&&"100"===99.99.toLocaleString("en",{maximumSignificantDigits:3}))&&"99.99"===99.99.toLocaleString("en",{maximumSignificantDigits:4}))&&"99.99"===99.99.toLocaleString("en",{maximumSignificantDigits:5}))&&(s=(s=s&&"1,000"===1e3.toLocaleString("en",{useGrouping:!0}))&&"1000"===1e3.toLocaleString("en",{useGrouping:!1}))),n=t&&"3.6"===3.55.toLocaleString("en",{useGrouping:!1,minimumIntegerDigits:1,minimumFractionDigits:1,maximumFractionDigits:1}),D(e),D},o=[n(1)],void 0===(i="function"==typeof(r=l)?r.apply(t,o):r)||(e.exports=i),a&&(a.momentDurationFormatSetup=a.moment?l(a.moment):l)},function(e,t,n){"use strict";n.r(t);var r=n(2),o=n.n(r),i=n(0),a=n.n(i),l=n(1),u=n.n(l);n(5);function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function m(e){return(m=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(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 g(e,t,n){return t&&p(e.prototype,t),n&&p(e,n),e}function y(e,t){return(y=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,"default",function(){return w});var h=[a.a.string,a.a.number,a.a.array,a.a.object],v=[a.a.string,a.a.array],b=[a.a.object,a.a.bool],S=[a.a.string,a.a.bool],w=function(e){function t(e){var n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=this,o=m(t).call(this,e),n=!o||"object"!==s(o)&&"function"!=typeof o?f(r):o,d(f(n),"setTimer",function(){var e=n.props.interval;n.clearTimer(),t.pooledTimer||0===e||(n.timer=setInterval(function(){n.update(n.props)},e))}),d(f(n),"getTitle",function(){var e=n.props.titleFormat,r=t.getDatetime(n.props),o=e||t.globalFormat;return r.format(o)}),d(f(n),"clearTimer",function(){!t.pooledTimer&&n.timer&&(clearInterval(n.timer),n.timer=null),t.pooledTimer&&!n.timer&&t.removePooledElement(f(n))}),t.globalMoment||(t.globalMoment=u.a),n.state={content:""},n.timer=null,n}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&&y(e,t)}(t,o.a.Component),g(t,null,[{key:"startPooledTimer",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6e4;t.clearPooledTimer(),t.pooledTimer=setInterval(function(){t.pooledElements.forEach(function(e){0!==e.props.interval&&e.update()})},e)}},{key:"clearPooledTimer",value:function(){t.pooledTimer&&(clearInterval(t.pooledTimer),t.pooledTimer=null,t.pooledElements=[])}},{key:"pushPooledElement",value:function(e){e instanceof t?-1===t.pooledElements.indexOf(e)&&t.pooledElements.push(e):console.error("Element not an instance of Moment.")}},{key:"removePooledElement",value:function(e){var n=t.pooledElements.indexOf(e);-1!==n&&t.pooledElements.splice(n,1)}},{key:"getDatetime",value:function(e){var n=e.utc,r=e.unix,o=e.date,i=e.locale,a=e.parse,l=e.tz,u=e.local;o=o||e.children,a=a||t.globalParse,u=u||t.globalLocal,l=l||t.globalTimezone,i=t.globalLocale?t.globalLocale:i||t.globalMoment.locale();var s=null;return s=n?t.globalMoment.utc(o,a,i):r?t.globalMoment(1e3*o,a,i):t.globalMoment(o,a,i),l?s=s.tz(l):u&&(s=s.local()),s}},{key:"getContent",value:function(e){var n=e.fromNow,r=e.fromNowShort,o=e.fromNowDuring,i=e.from,a=e.add,l=e.subtract,s=e.toNow,c=e.to,m=e.ago,f=e.calendar,p=e.diff,g=e.duration,y=e.durationFromNow,d=e.unit,h=e.decimal,v=e.trim,b=e.format;b=b||t.globalFormat;var S=t.getDatetime(e);a&&S.add(a),l&&S.subtract(l);var w=Boolean(o)&&-S.diff(u()())<o,T="";if(!b||w||y||g)if(i)T=S.from(i,m);else if(r){var _=S.locale(),x=u.a.localeData(_)._config.relativeTime;u.a.updateLocale(_,{relativeTime:{future:"%s",past:"%s",s:"1s",ss:"%ds",m:"1m",mm:"%dm",h:"1h",hh:"%dh",d:"1d",dd:"%dd",M:"1mo",MM:"%dmo",y:"1y",yy:"%dy"}}),T=S.fromNow(m),u.a.updateLocale(_,{relativeTime:x})}else T=n||w?S.fromNow(m):c?S.to(c,m):s?S.toNow(m):f?S.calendar(null,f):p?S.diff(p,d,h):g?S.diff(g):y?u()().diff(S):S.toString();else T=S.format(b);return(g||y)&&(T=(T=u.a.duration(T)).format(b,{trim:v})),T=(t.globalFilter||e.filter)(T)}}]),g(t,[{key:"componentDidMount",value:function(){this.setTimer(),t.pooledTimer&&t.pushPooledElement(this)}},{key:"componentDidUpdate",value:function(e){var t=this.props.interval;e.interval!==t&&this.setTimer()}},{key:"componentWillUnmount",value:function(){this.clearTimer()}},{key:"update",value:function(e){var n=e||this.props,r=n.onChange,o=t.getContent(n);this.setState({content:o},function(){r(o)})}},{key:"render",value:function(){var e,n,r,i,a=this.props,l=a.withTitle,u=a.element,s=c(a,["withTitle","element"]),m=this.state.content,f=(e=s,n=t.propTypes,r=Object.keys(n),i=Object.assign({},e),Object.keys(i).filter(function(e){return-1!==r.indexOf(e)}).forEach(function(e){return delete i[e]}),i);return l&&(f.title=this.getTitle()),o.a.createElement(u||t.globalElement,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){d(e,t,n[t])})}return e}({dateTime:t.getDatetime(this.props)},f),m)}}],[{key:"getDerivedStateFromProps",value:function(e){return{content:t.getContent(e)}}}]),t}();d(w,"propTypes",{element:a.a.any,date:a.a.oneOfType(h),parse:a.a.oneOfType(v),format:a.a.string,add:a.a.object,subtract:a.a.object,ago:a.a.bool,fromNow:a.a.bool,fromNowShort:a.a.bool,fromNowDuring:a.a.number,from:a.a.oneOfType(h),toNow:a.a.bool,to:a.a.oneOfType(h),calendar:a.a.oneOfType(b),unix:a.a.bool,utc:a.a.bool,local:a.a.bool,tz:a.a.string,withTitle:a.a.bool,titleFormat:a.a.string,locale:a.a.string,interval:a.a.number,diff:a.a.oneOfType(h),duration:a.a.oneOfType(h),durationFromNow:a.a.bool,trim:a.a.oneOfType(S),unit:a.a.string,decimal:a.a.bool,filter:a.a.func,onChange:a.a.func}),d(w,"defaultProps",{element:null,fromNow:!1,fromNowShort:!1,toNow:!1,calendar:!1,ago:!1,unix:!1,utc:!1,local:!1,unit:null,withTitle:!1,trim:!1,decimal:!1,titleFormat:"",interval:6e4,filter:function(e){return e},onChange:function(){}}),d(w,"globalMoment",null),d(w,"globalLocale",null),d(w,"globalLocal",null),d(w,"globalFormat",null),d(w,"globalParse",null),d(w,"globalFilter",null),d(w,"globalElement","time"),d(w,"globalTimezone",null),d(w,"pooledElements",[]),d(w,"pooledTimer",null)}])});
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "react-moment",
3
3
  "description": "React component for the moment date library.",
4
- "version": "1.1.2",
4
+ "version": "1.1.4",
5
5
  "author": {
6
6
  "name": "Sean Hickey",
7
- "web": "http://headzoo.io"
7
+ "web": "https://headzoo.io"
8
8
  },
9
9
  "devDependencies": {
10
10
  "@babel/core": "^7.4.3",
package/src/index.jsx CHANGED
@@ -36,6 +36,7 @@ export default class Moment extends React.Component {
36
36
  subtract: PropTypes.object,
37
37
  ago: PropTypes.bool,
38
38
  fromNow: PropTypes.bool,
39
+ fromNowShort: PropTypes.bool,
39
40
  fromNowDuring: PropTypes.number,
40
41
  from: PropTypes.oneOfType(dateTypes),
41
42
  toNow: PropTypes.bool,
@@ -60,22 +61,23 @@ export default class Moment extends React.Component {
60
61
  };
61
62
 
62
63
  static defaultProps = {
63
- element: null,
64
- fromNow: false,
65
- toNow: false,
66
- calendar: false,
67
- ago: false,
68
- unix: false,
69
- utc: false,
70
- local: false,
71
- unit: null,
72
- withTitle: false,
73
- trim: false,
74
- decimal: false,
75
- titleFormat: '',
76
- interval: 60000,
77
- filter: (d) => { return d; },
78
- onChange: () => {}
64
+ element: null,
65
+ fromNow: false,
66
+ fromNowShort: false,
67
+ toNow: false,
68
+ calendar: false,
69
+ ago: false,
70
+ unix: false,
71
+ utc: false,
72
+ local: false,
73
+ unit: null,
74
+ withTitle: false,
75
+ trim: false,
76
+ decimal: false,
77
+ titleFormat: '',
78
+ interval: 60000,
79
+ filter: (d) => { return d; },
80
+ onChange: () => {}
79
81
  };
80
82
 
81
83
  static globalMoment = null;
@@ -200,7 +202,7 @@ export default class Moment extends React.Component {
200
202
  */
201
203
  static getContent(props) {
202
204
  const {
203
- fromNow, fromNowDuring, from, add, subtract, toNow, to, ago,
205
+ fromNow, fromNowShort, fromNowDuring, from, add, subtract, toNow, to, ago,
204
206
  calendar, diff, duration, durationFromNow, unit, decimal, trim
205
207
  } = props;
206
208
 
@@ -221,6 +223,38 @@ export default class Moment extends React.Component {
221
223
  content = datetime.format(format);
222
224
  } else if (from) {
223
225
  content = datetime.from(from, ago);
226
+ } else if (fromNowShort) {
227
+ // Store current locale configuration
228
+ const currentLocale = datetime.locale();
229
+ const localeData = moment.localeData(currentLocale);
230
+ const originalRelativeTime = localeData._config.relativeTime;
231
+
232
+ // Temporarily update locale with short format
233
+ moment.updateLocale(currentLocale, {
234
+ relativeTime: {
235
+ future: '%s',
236
+ past: '%s',
237
+ s: '1s',
238
+ ss: '%ds',
239
+ m: '1m',
240
+ mm: '%dm',
241
+ h: '1h',
242
+ hh: '%dh',
243
+ d: '1d',
244
+ dd: '%dd',
245
+ M: '1mo',
246
+ MM: '%dmo',
247
+ y: '1y',
248
+ yy: '%dy'
249
+ }
250
+ });
251
+
252
+ content = datetime.fromNow(ago);
253
+
254
+ // Restore original locale configuration
255
+ moment.updateLocale(currentLocale, {
256
+ relativeTime: originalRelativeTime
257
+ });
224
258
  } else if (fromNow || fromNowPeriod) {
225
259
  content = datetime.fromNow(ago);
226
260
  } else if (to) {
package/tests/index.jsx CHANGED
@@ -122,6 +122,45 @@ describe('react-moment', () => {
122
122
  expect(ReactDOM.findDOMNode(date).innerHTML).toEqual(expected);
123
123
  });
124
124
 
125
+ it('fromNowShort', () => {
126
+ const oneHourAgo = moment().add(-1, 'hour');
127
+ const oneDayAgo = moment().add(-1, 'day');
128
+ const twoWeeksAgo = moment().add(-2, 'weeks');
129
+ const threeMonthsAgo = moment().add(-3, 'months');
130
+ const twoYearsAgo = moment().add(-2, 'years');
131
+
132
+ let date = TestUtils.renderIntoDocument(
133
+ <Moment fromNowShort>{oneHourAgo.format()}</Moment>
134
+ );
135
+ expect(ReactDOM.findDOMNode(date).innerHTML).toEqual('1h');
136
+
137
+ date = TestUtils.renderIntoDocument(
138
+ <Moment fromNowShort>{oneDayAgo.format()}</Moment>
139
+ );
140
+ expect(ReactDOM.findDOMNode(date).innerHTML).toEqual('1d');
141
+
142
+ date = TestUtils.renderIntoDocument(
143
+ <Moment fromNowShort>{twoWeeksAgo.format()}</Moment>
144
+ );
145
+ expect(ReactDOM.findDOMNode(date).innerHTML).toEqual('14d');
146
+
147
+ date = TestUtils.renderIntoDocument(
148
+ <Moment fromNowShort>{threeMonthsAgo.format()}</Moment>
149
+ );
150
+ expect(ReactDOM.findDOMNode(date).innerHTML).toEqual('3mo');
151
+
152
+ date = TestUtils.renderIntoDocument(
153
+ <Moment fromNowShort>{twoYearsAgo.format()}</Moment>
154
+ );
155
+ expect(ReactDOM.findDOMNode(date).innerHTML).toEqual('2y');
156
+
157
+ // Test with ago prop
158
+ date = TestUtils.renderIntoDocument(
159
+ <Moment fromNowShort ago>{oneHourAgo.format()}</Moment>
160
+ );
161
+ expect(ReactDOM.findDOMNode(date).innerHTML).toEqual('1h');
162
+ });
163
+
125
164
  it('fromNowDuring', () => {
126
165
  const twoHoursAgo = moment().add(-2, 'hours');
127
166
  const hour = 1e3 * 60 * 60;