@corva/ui 3.75.0-21 → 3.75.0-23

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.
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("@babel/runtime/helpers/classCallCheck"),r=require("@babel/runtime/helpers/createClass"),t=require("@babel/runtime/helpers/assertThisInitialized"),n=require("@babel/runtime/helpers/inherits"),o=require("@babel/runtime/helpers/possibleConstructorReturn"),i=require("@babel/runtime/helpers/getPrototypeOf"),u=require("@babel/runtime/helpers/defineProperty"),a=require("react"),s=require("prop-types"),l=require("@material-ui/core/styles"),c=require("./LoadingIndicator/LoadingIndicator.js"),p=require("./CommentWrapper.js"),d=require("react/jsx-runtime");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var h=f(e),m=f(r),b=f(t),y=f(n),q=f(o),v=f(i),w=f(u),x=f(s);function j(e){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var t,n=v.default(e);if(r){var o=v.default(this).constructor;t=Reflect.construct(n,arguments,o)}else t=n.apply(this,arguments);return q.default(this,t)}}var I={loadingIndicatorWrapper:{padding:"0 20px 0 0"}},R=function(e){y.default(t,e);var r=j(t);function t(e){var n;return h.default(this,t),n=r.call(this,e),w.default(b.default(n),"showIntoView",(function(){n.commentLoaderEl.current.scrollIntoView({block:"end"})})),n.commentLoaderEl=a.createRef(),n}return m.default(t,[{key:"componentDidMount",value:function(){this.props.showOnMount&&this.showIntoView()}},{key:"render",value:function(){return d.jsx("div",{ref:this.commentLoaderEl,children:d.jsx(p,{spaceAround:this.props.spaceAround,isLoader:!0,className:this.props.classes.commentWrapper,children:d.jsx("div",{style:I.loadingIndicatorWrapper,children:d.jsx(c,{fullscreen:!1,size:30})})})})}}]),t}(a.PureComponent);R.propTypes={showOnMount:x.default.bool,spaceAround:x.default.bool,classes:x.default.shape({}).isRequired},R.defaultProps={showOnMount:!1,spaceAround:!1};var g=l.withStyles({commentWrapper:{width:"calc(100% - 28px)"}})(R);module.exports=g;
1
+ "use strict";var e=require("react"),r=require("prop-types"),o=require("@material-ui/core/styles"),n=require("./LoadingIndicator/LoadingIndicator.js"),t=require("./CommentWrapper.js"),a=require("react/jsx-runtime");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=i(r),u={loadingIndicatorWrapper:{padding:"0 20px 0 0"}},c={showOnMount:s.default.bool,spaceAround:s.default.bool,classes:s.default.shape({}).isRequired},d=e.forwardRef((function(r,o){var i=r.showOnMount,s=void 0!==i&&i,c=r.spaceAround,d=void 0!==c&&c,l=r.classes,p=e.useRef(null),f=e.useRef(s),m=e.useCallback((function(){p.current.scrollIntoView({block:"end"})}),[]);return e.useImperativeHandle(o,(function(){return{commentLoaderEl:p,showIntoView:m}}),[m]),e.useLayoutEffect((function(){f.current&&m()}),[m]),a.jsx("div",{ref:p,children:a.jsx(t,{spaceAround:d,isLoader:!0,className:l.commentWrapper,children:a.jsx("div",{style:u.loadingIndicatorWrapper,children:a.jsx(n,{fullscreen:!1,size:30})})})})}));d.propTypes=c;var l=o.withStyles({commentWrapper:{width:"calc(100% - 28px)"}})(e.memo(d));module.exports=l;
2
2
  //# sourceMappingURL=CommentLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommentLoader.js","sources":["../../../src/components/CommentLoader.js"],"sourcesContent":["import { createRef, PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport LoadingIndicator from '~components/LoadingIndicator';\nimport CommentWrapper from '~components/CommentWrapper';\n\nconst styles = {\n // NOTE: Centers the LoadingIndicator\n loadingIndicatorWrapper: { padding: '0 20px 0 0' },\n};\n\nconst muiStyles = {\n commentWrapper: {\n width: 'calc(100% - 28px)', // NOTE: 28 === settings icon size.\n },\n};\n\nclass CommentLoader extends PureComponent {\n constructor(props) {\n super(props);\n\n this.commentLoaderEl = createRef();\n }\n\n componentDidMount() {\n if (this.props.showOnMount) {\n this.showIntoView();\n }\n }\n\n showIntoView = () => {\n this.commentLoaderEl.current.scrollIntoView({ block: 'end' });\n };\n\n render() {\n return (\n <div ref={this.commentLoaderEl}>\n <CommentWrapper\n spaceAround={this.props.spaceAround}\n isLoader\n className={this.props.classes.commentWrapper}\n >\n <div style={styles.loadingIndicatorWrapper}>\n <LoadingIndicator fullscreen={false} size={30} />\n </div>\n </CommentWrapper>\n </div>\n );\n }\n}\n\nCommentLoader.propTypes = {\n showOnMount: PropTypes.bool,\n spaceAround: PropTypes.bool,\n\n classes: PropTypes.shape({}).isRequired,\n};\n\nCommentLoader.defaultProps = {\n showOnMount: false,\n spaceAround: false,\n};\n\nexport default withStyles(muiStyles)(CommentLoader);\n"],"names":["styles","loadingIndicatorWrapper","padding","CommentLoader","_PureComponent","_inherits","_super","_createSuper","props","_this","_classCallCheck","this","call","_defineProperty","_assertThisInitialized","commentLoaderEl","current","scrollIntoView","block","createRef","_createClass","key","value","showOnMount","showIntoView","_jsx","ref","children","CommentWrapper","spaceAround","isLoader","className","classes","commentWrapper","jsx","style","LoadingIndicator","fullscreen","size","PureComponent","propTypes","PropTypes","bool","shape","isRequired","defaultProps","CommentLoader$1","withStyles","width"],"mappings":"uoCAOA,IAAMA,EAAS,CAEbC,wBAAyB,CAAEC,QAAS,eAShCC,EAAa,SAAAC,GAAAC,UAAAF,EAAAC,GAAA,IAAAE,EAAAC,EAAAJ,GACjB,SAAAA,EAAYK,GAAO,IAAAC,EAGkB,OAHlBC,UAAAC,KAAAR,GACjBM,EAAAH,EAAAM,KAAAD,KAAMH,GAAOK,EAAAA,QAAAC,EAAA,QAAAL,GAAA,gBAWA,WACbA,EAAKM,gBAAgBC,QAAQC,eAAe,CAAEC,MAAO,WAVrDT,EAAKM,gBAAkBI,EAAAA,YAAYV,CACrC,CA0BC,OA1BAW,EAAA,QAAAjB,EAAA,CAAA,CAAAkB,IAAA,oBAAAC,MAED,WACMX,KAAKH,MAAMe,aACbZ,KAAKa,cAET,GAAC,CAAAH,IAAA,SAAAC,MAMD,WACE,OACEG,EAAAA,IAAA,MAAA,CAAKC,IAAKf,KAAKI,gBAAgBY,SAC7BF,MAACG,EAAc,CACbC,YAAalB,KAAKH,MAAMqB,YACxBC,UAAQ,EACRC,UAAWpB,KAAKH,MAAMwB,QAAQC,eAAeN,SAE7CF,EAAAS,IAAA,MAAA,CAAKC,MAAOnC,EAAOC,wBAAwB0B,SACzCF,MAACW,EAAgB,CAACC,YAAY,EAAOC,KAAM,UAKrD,KAACnC,CAAA,CA/BgB,CAASoC,EAAaA,eAkCzCpC,EAAcqC,UAAY,CACxBjB,YAAakB,EAAS,QAACC,KACvBb,YAAaY,EAAS,QAACC,KAEvBV,QAASS,EAAS,QAACE,MAAM,CAAA,GAAIC,YAG/BzC,EAAc0C,aAAe,CAC3BtB,aAAa,EACbM,aAAa,GAGf,IAAAiB,EAAeC,aApDG,CAChBd,eAAgB,CACde,MAAO,sBAkDID,CAAsB5C"}
1
+ {"version":3,"file":"CommentLoader.js","sources":["../../../src/components/CommentLoader.js"],"sourcesContent":["import { forwardRef, memo, useCallback, useImperativeHandle, useLayoutEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport LoadingIndicator from '~components/LoadingIndicator';\nimport CommentWrapper from '~components/CommentWrapper';\n\nconst styles = {\n // NOTE: Centers the LoadingIndicator\n loadingIndicatorWrapper: { padding: '0 20px 0 0' },\n};\n\nconst muiStyles = {\n commentWrapper: {\n width: 'calc(100% - 28px)', // NOTE: 28 === settings icon size.\n },\n};\n\nconst propTypes = {\n showOnMount: PropTypes.bool,\n spaceAround: PropTypes.bool,\n\n classes: PropTypes.shape({}).isRequired,\n};\n\nconst CommentLoader = forwardRef(\n /** @param {PropTypes.InferProps<typeof propTypes>} props */ function CommentLoader(\n { showOnMount = false, spaceAround = false, classes },\n ref\n ) {\n const commentLoaderEl = useRef(null);\n const initialShowOnMount = useRef(showOnMount);\n const showIntoView = useCallback(() => {\n commentLoaderEl.current.scrollIntoView({ block: 'end' });\n }, []);\n\n useImperativeHandle(ref, () => ({ commentLoaderEl, showIntoView }), [showIntoView]);\n\n useLayoutEffect(() => {\n if (initialShowOnMount.current) {\n showIntoView();\n }\n }, [showIntoView]);\n\n return (\n <div ref={commentLoaderEl}>\n <CommentWrapper spaceAround={spaceAround} isLoader className={classes.commentWrapper}>\n <div style={styles.loadingIndicatorWrapper}>\n <LoadingIndicator fullscreen={false} size={30} />\n </div>\n </CommentWrapper>\n </div>\n );\n }\n);\n\nCommentLoader.propTypes = propTypes;\n\nexport default withStyles(muiStyles)(memo(CommentLoader));\n"],"names":["styles","loadingIndicatorWrapper","padding","propTypes","showOnMount","PropTypes","bool","spaceAround","classes","shape","isRequired","CommentLoader","forwardRef","ref","_ref$showOnMount","_ref","_ref$spaceAround","commentLoaderEl","useRef","initialShowOnMount","showIntoView","useCallback","current","scrollIntoView","block","useImperativeHandle","useLayoutEffect","_jsx","children","CommentWrapper","isLoader","className","commentWrapper","jsx","style","LoadingIndicator","fullscreen","size","withStyles","width","memo"],"mappings":"ySAOMA,EAAS,CAEbC,wBAAyB,CAAEC,QAAS,eAShCC,EAAY,CAChBC,YAAaC,EAAS,QAACC,KACvBC,YAAaF,EAAS,QAACC,KAEvBE,QAASH,EAAS,QAACI,MAAM,CAAA,GAAIC,YAGzBC,EAAgBC,EAAAA,YACyC,SAE3DC,EAAAA,GACA,IAAAC,EAAAC,EAFEX,YAAAA,cAAmBU,EAAAE,EAAAD,EAAER,YAAAA,cAAmBS,EAAER,IAAAA,QAGtCS,EAAkBC,SAAO,MACzBC,EAAqBD,SAAOd,GAC5BgB,EAAeC,EAAAA,aAAY,WAC/BJ,EAAgBK,QAAQC,eAAe,CAAEC,MAAO,OACjD,GAAE,IAUH,OARAC,EAAmBA,oBAACZ,GAAK,WAAA,MAAO,CAAEI,gBAAAA,EAAiBG,aAAAA,EAAc,GAAG,CAACA,IAErEM,EAAAA,iBAAgB,WACVP,EAAmBG,SACrBF,GAEJ,GAAG,CAACA,IAGFO,EAAAA,IAAA,MAAA,CAAKd,IAAKI,EAAgBW,SACxBD,MAACE,EAAc,CAACtB,YAAaA,EAAauB,UAAQ,EAACC,UAAWvB,EAAQwB,eAAeJ,SACnFD,EAAAM,IAAA,MAAA,CAAKC,MAAOlC,EAAOC,wBAAwB2B,SACzCD,MAACQ,EAAgB,CAACC,YAAY,EAAOC,KAAM,UAKrD,IAGF1B,EAAcR,UAAYA,EAE1B,IAAemC,EAAAA,EAAAA,WA9CG,CAChBN,eAAgB,CACdO,MAAO,sBA4CID,CAAsBE,EAAIA,KAAC7B"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("@babel/runtime/helpers/toConsumableArray"),t=require("@babel/runtime/helpers/asyncToGenerator"),r=require("@babel/runtime/helpers/classCallCheck"),a=require("@babel/runtime/helpers/createClass"),s=require("@babel/runtime/helpers/assertThisInitialized"),n=require("@babel/runtime/helpers/inherits"),i=require("@babel/runtime/helpers/possibleConstructorReturn"),o=require("@babel/runtime/helpers/getPrototypeOf"),u=require("@babel/runtime/helpers/defineProperty"),l=require("@babel/runtime/regenerator"),d=require("react"),c=require("prop-types"),f=require("moment"),h=require("classnames"),p=require("lodash"),y=require("react-infinite-scroller"),m=require("@material-ui/core/colors/grey"),b=require("./styles.css.js"),I=require("../LoadingIndicator/LoadingIndicator.js"),v=require("react/jsx-runtime");function g(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var q=g(e),L=g(t),T=g(r),D=g(a),C=g(s),w=g(n),P=g(i),x=g(o),A=g(u),R=g(l),k=g(c),N=g(f),j=g(h),B=g(y);function H(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 Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var r,a=x.default(e);if(t){var s=x.default(this).constructor;r=Reflect.construct(a,arguments,s)}else r=a.apply(this,arguments);return P.default(this,r)}}var O=g(m).default[700],S={newerThan12Hours:"Last 12 hours",olderThan12Hours:"Last 24 hours",olderThan1Days:"Earlier this week",olderThan7Days:"Older than 7 days",olderThan14Days:"Older than 14 days",olderThan30Days:"Older than 30 days"},_=function(e){w.default(r,e);var t=H(r);function r(e){var a;return T.default(this,r),a=t.call(this,e),A.default(C.default(a),"loadItems",L.default(R.default.mark((function e(){return R.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!a.state.isLoadingByScroll){e.next=2;break}return e.abrupt("return");case 2:return a.setState({isLoadingByScroll:!0}),e.next=5,a.props.loadItems();case 5:a.setState({isLoadingByScroll:!1});case 6:case"end":return e.stop()}}),e)})))),a.state={isLoadingByScroll:!1,periodDates:a.periodDates},a.updatePeriodsIntervalId=null,a}return D.default(r,[{key:"componentDidMount",value:function(){var e=this;this.updatePeriodsIntervalId=setInterval((function(){return e.setState({periodDates:e.periodDates})}),216e5)}},{key:"componentWillUnmount",value:function(){this.updatePeriodsIntervalId&&clearInterval(this.updatePeriodsIntervalId)}},{key:"periodDates",get:function(){return{hoursAgo12:N.default().subtract(12,"hours"),daysAgo1:N.default().subtract(1,"days"),daysAgo7:N.default().subtract(7,"days"),daysAgo14:N.default().subtract(14,"days"),daysAgo30:N.default().subtract(30,"days")}}},{key:"renderNoItemsLabel",value:function(){return v.jsx("div",{"data-testid":"".concat("generic_infiniteList","_noItems"),className:b.cInfiniteListEmpty,children:this.props.noItemsFoundLabel},"c-infinite-list__empty")}},{key:"renderPeriodSeparator",value:function(e){return v.jsx("div",{"data-testid":"".concat("generic_infiniteList","_periodLabel"),className:b.cInfiniteListPeriod,style:{color:O},children:S[e]},e)}},{key:"renderItems",value:function(){var e=this;if(!this.props.divideByPeriods)return this.props.items.map((function(t){return e.props.renderItem(t)})).unshift(this.props.headerComponent);var t=this.state.periodDates,r=t.hoursAgo12,a=t.daysAgo1,s=t.daysAgo7,n=t.daysAgo14,i=t.daysAgo30,o=this.props.items.reduce((function(t,o,u){var l,d=e.props.renderItem(o,u),c=p.get(o,e.props.pathToCreatedAt),f=N.default(c);return f>=r?l="newerThan12Hours":f<r&&f>=a?l="olderThan12Hours":f<a&&f>=s?l="olderThan1Days":f<s&&f>=n?l="olderThan7Days":f<n&&f>=i?l="olderThan14Days":f<i&&(l="olderThan30Days"),p.set(t,[l,t[l].length],d)}),{newerThan12Hours:[],olderThan12Hours:[],olderThan1Days:[],olderThan7Days:[],olderThan14Days:[],olderThan30Days:[]}),u=Object.keys(o).reduce((function(t,r){return 0===o[r].length?t.concat(o[r]):t.concat([e.renderPeriodSeparator(r)].concat(q.default(o[r])))}),[]);return[this.props.headerComponent].concat(q.default(u))}},{key:"render",value:function(){return v.jsxs("div",{className:j.default(b.cInfiniteList,this.props.infiniteClassName,A.default({},b.cInfiniteListOverflow,!this.props.useWindow)),style:{height:this.props.infiniteContainerHeight},children:[v.jsx(B.default,{loadMore:this.loadItems,hasMore:this.props.moreItemsMayExist&&!this.props.showNoItemsFound,threshold:this.props.threshold,loader:v.jsx(I,{fullscreen:!1},"c-infinite-scroll__loader"),useWindow:this.props.useWindow,initialLoad:this.props.initialLoad,children:this.renderItems()}),this.props.showNoItemsFound&&this.renderNoItemsLabel()]})}}]),r}(d.PureComponent);_.propTypes={infiniteClassName:k.default.string,useWindow:k.default.bool,headerComponent:k.default.node,items:k.default.arrayOf(k.default.shape()).isRequired,showNoItemsFound:k.default.bool.isRequired,noItemsFoundLabel:k.default.string.isRequired,infiniteContainerHeight:k.default.number,moreItemsMayExist:k.default.bool.isRequired,pathToCreatedAt:k.default.arrayOf(k.default.string).isRequired,renderItem:k.default.func.isRequired,loadItems:k.default.func.isRequired,threshold:k.default.number,initialLoad:k.default.bool,divideByPeriods:k.default.bool},_.defaultProps={infiniteClassName:null,useWindow:!1,headerComponent:null,infiniteContainerHeight:null,threshold:3e3,initialLoad:!0,divideByPeriods:!0},module.exports=_;
1
+ "use strict";var e=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/toConsumableArray"),t=require("@babel/runtime/helpers/asyncToGenerator"),a=require("@babel/runtime/helpers/slicedToArray"),n=require("@babel/runtime/regenerator"),i=require("react"),s=require("prop-types"),o=require("moment"),d=require("classnames"),u=require("lodash"),l=require("react-infinite-scroller"),c=require("@material-ui/core/colors/grey"),f=require("./styles.css.js"),h=require("../LoadingIndicator/LoadingIndicator.js"),y=require("react/jsx-runtime");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var b=m(e),p=m(r),g=m(t),v=m(a),T=m(n),q=m(s),I=m(o),L=m(d),A=m(l),w=m(c).default[700],x={newerThan12Hours:"Last 12 hours",olderThan12Hours:"Last 24 hours",olderThan1Days:"Earlier this week",olderThan7Days:"Older than 7 days",olderThan14Days:"Older than 14 days",olderThan30Days:"Older than 30 days"},D=function(){return{hoursAgo12:I.default().subtract(12,"hours"),daysAgo1:I.default().subtract(1,"days"),daysAgo7:I.default().subtract(7,"days"),daysAgo14:I.default().subtract(14,"days"),daysAgo30:I.default().subtract(30,"days")}};function j(e){var r=e.infiniteClassName,t=void 0===r?null:r,a=e.useWindow,n=void 0!==a&&a,s=e.headerComponent,o=void 0===s?null:s,d=e.items,l=e.showNoItemsFound,c=e.noItemsFoundLabel,m=e.infiniteContainerHeight,q=void 0===m?null:m,j=e.moreItemsMayExist,C=e.pathToCreatedAt,H=e.renderItem,_=e.loadItems,N=e.threshold,O=void 0===N?3e3:N,R=e.initialLoad,E=void 0===R||R,k=e.divideByPeriods,F=void 0===k||k,M=i.useState(!1),P=v.default(M,2),W=P[0],B=P[1],S=i.useState(D),G=v.default(S,2),z=G[0],J=G[1];i.useEffect((function(){var e=setInterval((function(){return J(D())}),216e5);return function(){return clearInterval(e)}}),[]);var K,Q=(K=g.default(T.default.mark((function e(){return T.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!W){e.next=2;break}return e.abrupt("return");case 2:return B(!0),e.next=5,_();case 5:B(!1);case 6:case"end":return e.stop()}}),e)}))),function(){return K.apply(this,arguments)});return y.jsxs("div",{className:L.default(f.cInfiniteList,t,b.default({},f.cInfiniteListOverflow,!n)),style:{height:q},children:[y.jsx(A.default,{loadMore:Q,hasMore:j&&!l,threshold:O,loader:y.jsx(h,{fullscreen:!1},"c-infinite-scroll__loader"),useWindow:n,initialLoad:E,children:function(){if(!F)return d.map((function(e){return H(e)})).unshift(o);var e=z.hoursAgo12,r=z.daysAgo1,t=z.daysAgo7,a=z.daysAgo14,n=z.daysAgo30,i=d.reduce((function(i,s,o){var d,l=H(s,o),c=u.get(s,C),f=I.default(c);return f>=e?d="newerThan12Hours":f<e&&f>=r?d="olderThan12Hours":f<r&&f>=t?d="olderThan1Days":f<t&&f>=a?d="olderThan7Days":f<a&&f>=n?d="olderThan14Days":f<n&&(d="olderThan30Days"),u.set(i,[d,i[d].length],l)}),{newerThan12Hours:[],olderThan12Hours:[],olderThan1Days:[],olderThan7Days:[],olderThan14Days:[],olderThan30Days:[]}),s=Object.keys(i).reduce((function(e,r){return 0===i[r].length?e.concat(i[r]):e.concat([(t=r,y.jsx("div",{"data-testid":"".concat("generic_infiniteList","_periodLabel"),className:f.cInfiniteListPeriod,style:{color:w},children:x[t]},t))].concat(p.default(i[r])));var t}),[]);return[o].concat(p.default(s))}()}),l&&y.jsx("div",{"data-testid":"".concat("generic_infiniteList","_noItems"),className:f.cInfiniteListEmpty,children:c},"c-infinite-list__empty")]})}j.propTypes={infiniteClassName:q.default.string,useWindow:q.default.bool,headerComponent:q.default.node,items:q.default.arrayOf(q.default.shape()).isRequired,showNoItemsFound:q.default.bool.isRequired,noItemsFoundLabel:q.default.string.isRequired,infiniteContainerHeight:q.default.number,moreItemsMayExist:q.default.bool.isRequired,pathToCreatedAt:q.default.arrayOf(q.default.string).isRequired,renderItem:q.default.func.isRequired,loadItems:q.default.func.isRequired,threshold:q.default.number,initialLoad:q.default.bool,divideByPeriods:q.default.bool};var C=i.memo(j);module.exports=C;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/InfiniteList/index.js"],"sourcesContent":["import { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport classNames from 'classnames';\nimport { get, set } from 'lodash';\nimport InfiniteScroll from 'react-infinite-scroller';\nimport grey from '@material-ui/core/colors/grey';\n\nimport styles from './styles.css';\n\nimport LoadingIndicator from '~components/LoadingIndicator';\n\nconst PAGE_NAME = 'generic_infiniteList';\n\nconst grey700 = grey['700'];\n\nconst INTERVAL_6_HOURS = 6 * 60 * 60 * 1000;\nconst PERIOD_LABELS = {\n newerThan12Hours: 'Last 12 hours',\n olderThan12Hours: 'Last 24 hours',\n olderThan1Days: 'Earlier this week',\n olderThan7Days: 'Older than 7 days',\n olderThan14Days: 'Older than 14 days',\n olderThan30Days: 'Older than 30 days',\n};\n\n/** @extends {PureComponent<any, any, any>} */\nclass InfiniteList extends PureComponent {\n constructor(props) {\n super(props);\n\n this.state = {\n isLoadingByScroll: false,\n\n periodDates: this.periodDates,\n };\n\n this.updatePeriodsIntervalId = null;\n }\n\n componentDidMount() {\n this.updatePeriodsIntervalId = setInterval(\n () => this.setState({ periodDates: this.periodDates }),\n INTERVAL_6_HOURS\n );\n }\n\n componentWillUnmount() {\n if (this.updatePeriodsIntervalId) {\n clearInterval(this.updatePeriodsIntervalId);\n }\n }\n\n get periodDates() {\n return {\n hoursAgo12: moment().subtract(12, 'hours'),\n daysAgo1: moment().subtract(1, 'days'),\n daysAgo7: moment().subtract(7, 'days'),\n daysAgo14: moment().subtract(14, 'days'),\n daysAgo30: moment().subtract(30, 'days'),\n };\n }\n\n // NOTE: 'react-infinite-scroller' has a bug that when scroll reaches threshold area, it starts\n // to fire loadMore on every scroll event - bottom, up. As a result multiple same request fired.\n //\n // We fix this preventing request that was fired by scroll before previous is finished.\n //\n // Issues:\n // https://github.com/CassetteRocks/react-infinite-scroller/issues/143\n loadItems = async () => {\n if (this.state.isLoadingByScroll) {\n return;\n }\n\n this.setState({ isLoadingByScroll: true });\n\n await this.props.loadItems();\n\n this.setState({ isLoadingByScroll: false });\n };\n\n renderNoItemsLabel() {\n return (\n <div\n data-testid={`${PAGE_NAME}_noItems`}\n key=\"c-infinite-list__empty\"\n className={styles.cInfiniteListEmpty}\n >\n {this.props.noItemsFoundLabel}\n </div>\n );\n }\n\n renderPeriodSeparator(periodKey) {\n return (\n <div\n data-testid={`${PAGE_NAME}_periodLabel`}\n key={periodKey}\n className={styles.cInfiniteListPeriod}\n style={{ color: grey700 }}\n >\n {PERIOD_LABELS[periodKey]}\n </div>\n );\n }\n\n renderItems() {\n if (!this.props.divideByPeriods) {\n return this.props.items\n .map(item => this.props.renderItem(item))\n .unshift(this.props.headerComponent);\n }\n\n const { hoursAgo12, daysAgo1, daysAgo7, daysAgo14, daysAgo30 } = this.state.periodDates;\n\n const itemElsByPeriod = this.props.items.reduce(\n (result, item, index) => {\n let periodKey;\n const itemEl = this.props.renderItem(item, index);\n // NOTE: Backward compatibility for immutable objects in list\n const pathToCreatedAt = get(item, this.props.pathToCreatedAt);\n const itemAt = moment(pathToCreatedAt);\n\n if (itemAt >= hoursAgo12) {\n periodKey = 'newerThan12Hours';\n } else if (itemAt < hoursAgo12 && itemAt >= daysAgo1) {\n periodKey = 'olderThan12Hours';\n } else if (itemAt < daysAgo1 && itemAt >= daysAgo7) {\n periodKey = 'olderThan1Days';\n } else if (itemAt < daysAgo7 && itemAt >= daysAgo14) {\n periodKey = 'olderThan7Days';\n } else if (itemAt < daysAgo14 && itemAt >= daysAgo30) {\n periodKey = 'olderThan14Days';\n } else if (itemAt < daysAgo30) {\n periodKey = 'olderThan30Days';\n }\n\n return set(result, [periodKey, result[periodKey].length], itemEl);\n },\n {\n newerThan12Hours: [],\n olderThan12Hours: [],\n olderThan1Days: [],\n olderThan7Days: [],\n olderThan14Days: [],\n olderThan30Days: [],\n }\n );\n\n const itemElsWithPeriodEls = Object.keys(itemElsByPeriod).reduce((result, periodEls) => {\n if (itemElsByPeriod[periodEls].length === 0) return result.concat(itemElsByPeriod[periodEls]);\n\n return result.concat([this.renderPeriodSeparator(periodEls), ...itemElsByPeriod[periodEls]]);\n }, []);\n\n const itemElsWithPeriodElsWithHeaderEl = [this.props.headerComponent, ...itemElsWithPeriodEls];\n\n return itemElsWithPeriodElsWithHeaderEl;\n }\n\n render() {\n return (\n <div\n className={classNames(styles.cInfiniteList, this.props.infiniteClassName, {\n [styles.cInfiniteListOverflow]: !this.props.useWindow,\n })}\n style={{ height: this.props.infiniteContainerHeight }}\n >\n <InfiniteScroll\n loadMore={this.loadItems}\n hasMore={this.props.moreItemsMayExist && !this.props.showNoItemsFound}\n threshold={this.props.threshold} // NOTE: We should load infinite scroll next page before user get to bottom\n loader={<LoadingIndicator key=\"c-infinite-scroll__loader\" fullscreen={false} />}\n useWindow={this.props.useWindow}\n initialLoad={this.props.initialLoad}\n >\n {this.renderItems()}\n </InfiniteScroll>\n\n {this.props.showNoItemsFound && this.renderNoItemsLabel()}\n </div>\n );\n }\n}\n\nInfiniteList.propTypes = {\n infiniteClassName: PropTypes.string,\n useWindow: PropTypes.bool,\n headerComponent: PropTypes.node,\n // NOTE: Backward compatibility with immutable;\n // Remove when get rid of immutablejs\n items: PropTypes.arrayOf(PropTypes.shape()).isRequired,\n showNoItemsFound: PropTypes.bool.isRequired,\n noItemsFoundLabel: PropTypes.string.isRequired,\n infiniteContainerHeight: PropTypes.number,\n moreItemsMayExist: PropTypes.bool.isRequired,\n pathToCreatedAt: PropTypes.arrayOf(PropTypes.string).isRequired,\n renderItem: PropTypes.func.isRequired,\n loadItems: PropTypes.func.isRequired,\n threshold: PropTypes.number,\n initialLoad: PropTypes.bool,\n divideByPeriods: PropTypes.bool,\n};\n\nInfiniteList.defaultProps = {\n infiniteClassName: null,\n useWindow: false,\n headerComponent: null,\n infiniteContainerHeight: null,\n threshold: 3000,\n initialLoad: true,\n divideByPeriods: true,\n};\n\nexport default InfiniteList;\n"],"names":["grey700","grey","PERIOD_LABELS","newerThan12Hours","olderThan12Hours","olderThan1Days","olderThan7Days","olderThan14Days","olderThan30Days","InfiniteList","_PureComponent","_inherits","_super","_createSuper","props","_this","_classCallCheck","this","call","_defineProperty","_assertThisInitialized","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","state","isLoadingByScroll","abrupt","setState","loadItems","stop","periodDates","updatePeriodsIntervalId","_createClass","key","value","_this2","setInterval","clearInterval","get","hoursAgo12","moment","subtract","daysAgo1","daysAgo7","daysAgo14","daysAgo30","_jsx","concat","className","styles","cInfiniteListEmpty","children","noItemsFoundLabel","periodKey","cInfiniteListPeriod","style","color","_this3","divideByPeriods","items","map","item","renderItem","unshift","headerComponent","_this$state$periodDat","itemElsByPeriod","reduce","result","index","itemEl","pathToCreatedAt","itemAt","set","length","itemElsWithPeriodEls","Object","keys","periodEls","renderPeriodSeparator","_jsxs","classNames","cInfiniteList","infiniteClassName","cInfiniteListOverflow","useWindow","height","infiniteContainerHeight","InfiniteScroll","loadMore","hasMore","moreItemsMayExist","showNoItemsFound","threshold","loader","LoadingIndicator","fullscreen","initialLoad","renderItems","renderNoItemsLabel","PureComponent","propTypes","PropTypes","string","bool","node","arrayOf","shape","isRequired","number","func","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/InfiniteList/index.js"],"sourcesContent":["import { memo, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport classNames from 'classnames';\nimport { get, set } from 'lodash';\nimport InfiniteScroll from 'react-infinite-scroller';\nimport grey from '@material-ui/core/colors/grey';\n\nimport styles from './styles.css';\n\nimport LoadingIndicator from '~components/LoadingIndicator';\n\nconst PAGE_NAME = 'generic_infiniteList';\n\nconst grey700 = grey['700'];\n\nconst INTERVAL_6_HOURS = 6 * 60 * 60 * 1000;\nconst PERIOD_LABELS = {\n newerThan12Hours: 'Last 12 hours',\n olderThan12Hours: 'Last 24 hours',\n olderThan1Days: 'Earlier this week',\n olderThan7Days: 'Older than 7 days',\n olderThan14Days: 'Older than 14 days',\n olderThan30Days: 'Older than 30 days',\n};\n\nconst getPeriodDates = () => ({\n hoursAgo12: moment().subtract(12, 'hours'),\n daysAgo1: moment().subtract(1, 'days'),\n daysAgo7: moment().subtract(7, 'days'),\n daysAgo14: moment().subtract(14, 'days'),\n daysAgo30: moment().subtract(30, 'days'),\n});\n\n/** @param {any} props Preserve the legacy component's permissive public prop type. */\nfunction InfiniteList({\n infiniteClassName = null,\n useWindow = false,\n headerComponent = null,\n items,\n showNoItemsFound,\n noItemsFoundLabel,\n infiniteContainerHeight = null,\n moreItemsMayExist,\n pathToCreatedAt,\n renderItem,\n loadItems,\n threshold = 3000,\n initialLoad = true,\n divideByPeriods = true,\n}) {\n const [isLoadingByScroll, setIsLoadingByScroll] = useState(false);\n const [periodDates, setPeriodDates] = useState(getPeriodDates);\n\n useEffect(() => {\n const intervalId = setInterval(() => setPeriodDates(getPeriodDates()), INTERVAL_6_HOURS);\n return () => clearInterval(intervalId);\n }, []);\n\n // NOTE: 'react-infinite-scroller' has a bug that when scroll reaches threshold area, it starts\n // to fire loadMore on every scroll event - bottom, up. As a result multiple same request fired.\n //\n // We fix this preventing request that was fired by scroll before previous is finished.\n //\n // Issues:\n // https://github.com/CassetteRocks/react-infinite-scroller/issues/143\n const loadMore = async () => {\n if (isLoadingByScroll) {\n return;\n }\n\n setIsLoadingByScroll(true);\n\n await loadItems();\n\n setIsLoadingByScroll(false);\n };\n\n const renderNoItemsLabel = () => {\n return (\n <div\n data-testid={`${PAGE_NAME}_noItems`}\n key=\"c-infinite-list__empty\"\n className={styles.cInfiniteListEmpty}\n >\n {noItemsFoundLabel}\n </div>\n );\n };\n\n const renderPeriodSeparator = periodKey => {\n return (\n <div\n data-testid={`${PAGE_NAME}_periodLabel`}\n key={periodKey}\n className={styles.cInfiniteListPeriod}\n style={{ color: grey700 }}\n >\n {PERIOD_LABELS[periodKey]}\n </div>\n );\n };\n\n const renderItems = () => {\n if (!divideByPeriods) {\n return items.map(item => renderItem(item)).unshift(headerComponent);\n }\n\n const { hoursAgo12, daysAgo1, daysAgo7, daysAgo14, daysAgo30 } = periodDates;\n\n const itemElsByPeriod = items.reduce(\n (result, item, index) => {\n let periodKey;\n const itemEl = renderItem(item, index);\n // NOTE: Backward compatibility for immutable objects in list\n const itemCreatedAt = get(item, pathToCreatedAt);\n const itemAt = moment(itemCreatedAt);\n\n if (itemAt >= hoursAgo12) {\n periodKey = 'newerThan12Hours';\n } else if (itemAt < hoursAgo12 && itemAt >= daysAgo1) {\n periodKey = 'olderThan12Hours';\n } else if (itemAt < daysAgo1 && itemAt >= daysAgo7) {\n periodKey = 'olderThan1Days';\n } else if (itemAt < daysAgo7 && itemAt >= daysAgo14) {\n periodKey = 'olderThan7Days';\n } else if (itemAt < daysAgo14 && itemAt >= daysAgo30) {\n periodKey = 'olderThan14Days';\n } else if (itemAt < daysAgo30) {\n periodKey = 'olderThan30Days';\n }\n\n return set(result, [periodKey, result[periodKey].length], itemEl);\n },\n {\n newerThan12Hours: [],\n olderThan12Hours: [],\n olderThan1Days: [],\n olderThan7Days: [],\n olderThan14Days: [],\n olderThan30Days: [],\n }\n );\n\n const itemElsWithPeriodEls = Object.keys(itemElsByPeriod).reduce((result, periodEls) => {\n if (itemElsByPeriod[periodEls].length === 0) return result.concat(itemElsByPeriod[periodEls]);\n\n return result.concat([renderPeriodSeparator(periodEls), ...itemElsByPeriod[periodEls]]);\n }, []);\n\n const itemElsWithPeriodElsWithHeaderEl = [headerComponent, ...itemElsWithPeriodEls];\n\n return itemElsWithPeriodElsWithHeaderEl;\n };\n\n return (\n <div\n className={classNames(styles.cInfiniteList, infiniteClassName, {\n [styles.cInfiniteListOverflow]: !useWindow,\n })}\n style={{ height: infiniteContainerHeight }}\n >\n <InfiniteScroll\n loadMore={loadMore}\n hasMore={moreItemsMayExist && !showNoItemsFound}\n threshold={threshold} // NOTE: We should load infinite scroll next page before user get to bottom\n loader={<LoadingIndicator key=\"c-infinite-scroll__loader\" fullscreen={false} />}\n useWindow={useWindow}\n initialLoad={initialLoad}\n >\n {renderItems()}\n </InfiniteScroll>\n\n {showNoItemsFound && renderNoItemsLabel()}\n </div>\n );\n}\n\nInfiniteList.propTypes = {\n infiniteClassName: PropTypes.string,\n useWindow: PropTypes.bool,\n headerComponent: PropTypes.node,\n // NOTE: Backward compatibility with immutable;\n // Remove when get rid of immutablejs\n items: PropTypes.arrayOf(PropTypes.shape()).isRequired,\n showNoItemsFound: PropTypes.bool.isRequired,\n noItemsFoundLabel: PropTypes.string.isRequired,\n infiniteContainerHeight: PropTypes.number,\n moreItemsMayExist: PropTypes.bool.isRequired,\n pathToCreatedAt: PropTypes.arrayOf(PropTypes.string).isRequired,\n renderItem: PropTypes.func.isRequired,\n loadItems: PropTypes.func.isRequired,\n threshold: PropTypes.number,\n initialLoad: PropTypes.bool,\n divideByPeriods: PropTypes.bool,\n};\n\nexport default memo(InfiniteList);\n"],"names":["grey700","grey","PERIOD_LABELS","newerThan12Hours","olderThan12Hours","olderThan1Days","olderThan7Days","olderThan14Days","olderThan30Days","getPeriodDates","hoursAgo12","moment","subtract","daysAgo1","daysAgo7","daysAgo14","daysAgo30","InfiniteList","_ref","_ref$infiniteClassNam","infiniteClassName","_ref$useWindow","useWindow","_ref$headerComponent","headerComponent","items","showNoItemsFound","noItemsFoundLabel","_ref$infiniteContaine","infiniteContainerHeight","moreItemsMayExist","pathToCreatedAt","renderItem","loadItems","_ref$threshold","threshold","_ref$initialLoad","initialLoad","_ref$divideByPeriods","divideByPeriods","useState","_useState2","_slicedToArray","_useState","isLoadingByScroll","setIsLoadingByScroll","_useState4","_useState3","periodDates","setPeriodDates","useEffect","intervalId","setInterval","clearInterval","_ref2","loadMore","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","stop","apply","this","arguments","_jsxs","className","classNames","styles","cInfiniteList","_defineProperty","cInfiniteListOverflow","style","height","children","_jsx","InfiniteScroll","hasMore","loader","LoadingIndicator","fullscreen","map","item","unshift","itemElsByPeriod","reduce","result","index","periodKey","itemEl","itemCreatedAt","get","itemAt","set","length","itemElsWithPeriodEls","Object","keys","periodEls","concat","cInfiniteListPeriod","color","_toConsumableArray","renderItems","cInfiniteListEmpty","propTypes","PropTypes","string","bool","node","arrayOf","shape","isRequired","number","func","memo"],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import PropTypes from 'prop-types';
2
- declare const _default: import("react").ComponentType<Pick<Pick<PropTypes.InferProps<{
2
+ declare const _default: import("react").ComponentType<Pick<PropTypes.InferPropsInner<Pick<{
3
3
  showOnMount: PropTypes.Requireable<boolean>;
4
4
  spaceAround: PropTypes.Requireable<boolean>;
5
5
  classes: PropTypes.Validator<NonNullable<PropTypes.InferProps<{}>>>;
6
- }>, "classes"> & {
7
- showOnMount?: boolean | null | undefined;
8
- spaceAround?: boolean | null | undefined;
9
- } & {}, "showOnMount" | "spaceAround"> & import("@material-ui/styles").StyledComponentProps<"commentWrapper">>;
6
+ }, "classes">> & Partial<PropTypes.InferPropsInner<Pick<{
7
+ showOnMount: PropTypes.Requireable<boolean>;
8
+ spaceAround: PropTypes.Requireable<boolean>;
9
+ classes: PropTypes.Validator<NonNullable<PropTypes.InferProps<{}>>>;
10
+ }, "showOnMount" | "spaceAround">>> & import("react").RefAttributes<any>, "showOnMount" | "spaceAround" | keyof import("react").RefAttributes<any>> & import("@material-ui/styles").StyledComponentProps<"commentWrapper">>;
10
11
  export default _default;
11
12
  //# sourceMappingURL=CommentLoader.d.ts.map
@@ -1,2 +1,2 @@
1
- import r from"@babel/runtime/helpers/classCallCheck";import e from"@babel/runtime/helpers/createClass";import t from"@babel/runtime/helpers/assertThisInitialized";import o from"@babel/runtime/helpers/inherits";import n from"@babel/runtime/helpers/possibleConstructorReturn";import i from"@babel/runtime/helpers/getPrototypeOf";import s from"@babel/runtime/helpers/defineProperty";import{createRef as a,PureComponent as c}from"react";import p from"prop-types";import{withStyles as l}from"@material-ui/core/styles";import u from"./LoadingIndicator/LoadingIndicator.js";import m from"./CommentWrapper.js";import{jsx as f}from"react/jsx-runtime";function d(r){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(r){return!1}}();return function(){var t,o=i(r);if(e){var s=i(this).constructor;t=Reflect.construct(o,arguments,s)}else t=o.apply(this,arguments);return n(this,t)}}var h={loadingIndicatorWrapper:{padding:"0 20px 0 0"}},b=function(n){o(p,c);var i=d(p);function p(e){var o;return r(this,p),o=i.call(this,e),s(t(o),"showIntoView",(function(){o.commentLoaderEl.current.scrollIntoView({block:"end"})})),o.commentLoaderEl=a(),o}return e(p,[{key:"componentDidMount",value:function(){this.props.showOnMount&&this.showIntoView()}},{key:"render",value:function(){return f("div",{ref:this.commentLoaderEl,children:f(m,{spaceAround:this.props.spaceAround,isLoader:!0,className:this.props.classes.commentWrapper,children:f("div",{style:h.loadingIndicatorWrapper,children:f(u,{fullscreen:!1,size:30})})})})}}]),p}();b.propTypes={showOnMount:p.bool,spaceAround:p.bool,classes:p.shape({}).isRequired},b.defaultProps={showOnMount:!1,spaceAround:!1};var y=l({commentWrapper:{width:"calc(100% - 28px)"}})(b);export{y as default};
1
+ import{forwardRef as r,useRef as o,useCallback as e,useImperativeHandle as n,useLayoutEffect as i,memo as t}from"react";import a from"prop-types";import{withStyles as c}from"@material-ui/core/styles";import p from"./LoadingIndicator/LoadingIndicator.js";import s from"./CommentWrapper.js";import{jsx as d}from"react/jsx-runtime";var l={loadingIndicatorWrapper:{padding:"0 20px 0 0"}},m={showOnMount:a.bool,spaceAround:a.bool,classes:a.shape({}).isRequired},u=r((function(r,t){var a=r.showOnMount,c=void 0!==a&&a,m=r.spaceAround,u=void 0!==m&&m,f=r.classes,h=o(null),v=o(c),w=e((function(){h.current.scrollIntoView({block:"end"})}),[]);return n(t,(function(){return{commentLoaderEl:h,showIntoView:w}}),[w]),i((function(){v.current&&w()}),[w]),d("div",{ref:h,children:d(s,{spaceAround:u,isLoader:!0,className:f.commentWrapper,children:d("div",{style:l.loadingIndicatorWrapper,children:d(p,{fullscreen:!1,size:30})})})})}));u.propTypes=m;var f=c({commentWrapper:{width:"calc(100% - 28px)"}})(t(u));export{f as default};
2
2
  //# sourceMappingURL=CommentLoader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommentLoader.js","sources":["../../src/components/CommentLoader.js"],"sourcesContent":["import { createRef, PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport LoadingIndicator from '~components/LoadingIndicator';\nimport CommentWrapper from '~components/CommentWrapper';\n\nconst styles = {\n // NOTE: Centers the LoadingIndicator\n loadingIndicatorWrapper: { padding: '0 20px 0 0' },\n};\n\nconst muiStyles = {\n commentWrapper: {\n width: 'calc(100% - 28px)', // NOTE: 28 === settings icon size.\n },\n};\n\nclass CommentLoader extends PureComponent {\n constructor(props) {\n super(props);\n\n this.commentLoaderEl = createRef();\n }\n\n componentDidMount() {\n if (this.props.showOnMount) {\n this.showIntoView();\n }\n }\n\n showIntoView = () => {\n this.commentLoaderEl.current.scrollIntoView({ block: 'end' });\n };\n\n render() {\n return (\n <div ref={this.commentLoaderEl}>\n <CommentWrapper\n spaceAround={this.props.spaceAround}\n isLoader\n className={this.props.classes.commentWrapper}\n >\n <div style={styles.loadingIndicatorWrapper}>\n <LoadingIndicator fullscreen={false} size={30} />\n </div>\n </CommentWrapper>\n </div>\n );\n }\n}\n\nCommentLoader.propTypes = {\n showOnMount: PropTypes.bool,\n spaceAround: PropTypes.bool,\n\n classes: PropTypes.shape({}).isRequired,\n};\n\nCommentLoader.defaultProps = {\n showOnMount: false,\n spaceAround: false,\n};\n\nexport default withStyles(muiStyles)(CommentLoader);\n"],"names":["styles","loadingIndicatorWrapper","padding","CommentLoader","_PureComponent","_inherits","PureComponent","_super","_createSuper","props","_this","_classCallCheck","this","call","_defineProperty","_assertThisInitialized","commentLoaderEl","current","scrollIntoView","block","createRef","_createClass","key","value","showOnMount","showIntoView","_jsx","ref","children","CommentWrapper","spaceAround","isLoader","className","classes","commentWrapper","style","LoadingIndicator","fullscreen","size","propTypes","PropTypes","bool","shape","isRequired","defaultProps","CommentLoader$1","withStyles","width"],"mappings":"yiCAOA,IAAMA,EAAS,CAEbC,wBAAyB,CAAEC,QAAS,eAShCC,EAAa,SAAAC,GAAAC,EAAAF,EAASG,GAAT,IAAAC,EAAAC,EAAAL,GACjB,SAAAA,EAAYM,GAAO,IAAAC,EAGkB,OAHlBC,EAAAC,KAAAT,GACjBO,EAAAH,EAAAM,KAAAD,KAAMH,GAAOK,EAAAC,EAAAL,GAAA,gBAWA,WACbA,EAAKM,gBAAgBC,QAAQC,eAAe,CAAEC,MAAO,WAVrDT,EAAKM,gBAAkBI,IAAYV,CACrC,CA0BC,OA1BAW,EAAAlB,EAAA,CAAA,CAAAmB,IAAA,oBAAAC,MAED,WACMX,KAAKH,MAAMe,aACbZ,KAAKa,cAET,GAAC,CAAAH,IAAA,SAAAC,MAMD,WACE,OACEG,EAAA,MAAA,CAAKC,IAAKf,KAAKI,gBAAgBY,SAC7BF,EAACG,EAAc,CACbC,YAAalB,KAAKH,MAAMqB,YACxBC,UAAQ,EACRC,UAAWpB,KAAKH,MAAMwB,QAAQC,eAAeN,SAE7CF,EAAA,MAAA,CAAKS,MAAOnC,EAAOC,wBAAwB2B,SACzCF,EAACU,EAAgB,CAACC,YAAY,EAAOC,KAAM,UAKrD,KAACnC,CAAA,CA/BgB,GAkCnBA,EAAcoC,UAAY,CACxBf,YAAagB,EAAUC,KACvBX,YAAaU,EAAUC,KAEvBR,QAASO,EAAUE,MAAM,CAAA,GAAIC,YAG/BxC,EAAcyC,aAAe,CAC3BpB,aAAa,EACbM,aAAa,GAGf,IAAAe,EAAeC,EApDG,CAChBZ,eAAgB,CACda,MAAO,sBAkDID,CAAsB3C"}
1
+ {"version":3,"file":"CommentLoader.js","sources":["../../src/components/CommentLoader.js"],"sourcesContent":["import { forwardRef, memo, useCallback, useImperativeHandle, useLayoutEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport LoadingIndicator from '~components/LoadingIndicator';\nimport CommentWrapper from '~components/CommentWrapper';\n\nconst styles = {\n // NOTE: Centers the LoadingIndicator\n loadingIndicatorWrapper: { padding: '0 20px 0 0' },\n};\n\nconst muiStyles = {\n commentWrapper: {\n width: 'calc(100% - 28px)', // NOTE: 28 === settings icon size.\n },\n};\n\nconst propTypes = {\n showOnMount: PropTypes.bool,\n spaceAround: PropTypes.bool,\n\n classes: PropTypes.shape({}).isRequired,\n};\n\nconst CommentLoader = forwardRef(\n /** @param {PropTypes.InferProps<typeof propTypes>} props */ function CommentLoader(\n { showOnMount = false, spaceAround = false, classes },\n ref\n ) {\n const commentLoaderEl = useRef(null);\n const initialShowOnMount = useRef(showOnMount);\n const showIntoView = useCallback(() => {\n commentLoaderEl.current.scrollIntoView({ block: 'end' });\n }, []);\n\n useImperativeHandle(ref, () => ({ commentLoaderEl, showIntoView }), [showIntoView]);\n\n useLayoutEffect(() => {\n if (initialShowOnMount.current) {\n showIntoView();\n }\n }, [showIntoView]);\n\n return (\n <div ref={commentLoaderEl}>\n <CommentWrapper spaceAround={spaceAround} isLoader className={classes.commentWrapper}>\n <div style={styles.loadingIndicatorWrapper}>\n <LoadingIndicator fullscreen={false} size={30} />\n </div>\n </CommentWrapper>\n </div>\n );\n }\n);\n\nCommentLoader.propTypes = propTypes;\n\nexport default withStyles(muiStyles)(memo(CommentLoader));\n"],"names":["styles","loadingIndicatorWrapper","padding","propTypes","showOnMount","PropTypes","bool","spaceAround","classes","shape","isRequired","CommentLoader","forwardRef","ref","_ref$showOnMount","_ref","_ref$spaceAround","commentLoaderEl","useRef","initialShowOnMount","showIntoView","useCallback","current","scrollIntoView","block","useImperativeHandle","useLayoutEffect","_jsx","children","CommentWrapper","isLoader","className","commentWrapper","style","LoadingIndicator","fullscreen","size","withStyles","width","memo"],"mappings":"yUAOA,IAAMA,EAAS,CAEbC,wBAAyB,CAAEC,QAAS,eAShCC,EAAY,CAChBC,YAAaC,EAAUC,KACvBC,YAAaF,EAAUC,KAEvBE,QAASH,EAAUI,MAAM,CAAA,GAAIC,YAGzBC,EAAgBC,GACyC,SAE3DC,EAAAA,GACA,IAAAC,EAAAC,EAFEX,YAAAA,cAAmBU,EAAAE,EAAAD,EAAER,YAAAA,cAAmBS,EAAER,IAAAA,QAGtCS,EAAkBC,EAAO,MACzBC,EAAqBD,EAAOd,GAC5BgB,EAAeC,GAAY,WAC/BJ,EAAgBK,QAAQC,eAAe,CAAEC,MAAO,OACjD,GAAE,IAUH,OARAC,EAAoBZ,GAAK,WAAA,MAAO,CAAEI,gBAAAA,EAAiBG,aAAAA,EAAc,GAAG,CAACA,IAErEM,GAAgB,WACVP,EAAmBG,SACrBF,GAEJ,GAAG,CAACA,IAGFO,EAAA,MAAA,CAAKd,IAAKI,EAAgBW,SACxBD,EAACE,EAAc,CAACtB,YAAaA,EAAauB,UAAQ,EAACC,UAAWvB,EAAQwB,eAAeJ,SACnFD,EAAA,MAAA,CAAKM,MAAOjC,EAAOC,wBAAwB2B,SACzCD,EAACO,EAAgB,CAACC,YAAY,EAAOC,KAAM,UAKrD,IAGFzB,EAAcR,UAAYA,EAE1B,IAAekC,EAAAA,EA9CG,CAChBL,eAAgB,CACdM,MAAO,sBA4CID,CAAsBE,EAAK5B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=InfiniteList.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfiniteList.test.d.ts","sourceRoot":"","sources":["../../../../src/components/InfiniteList/__tests__/InfiniteList.test.js"],"names":[],"mappings":""}
@@ -1,61 +1,5 @@
1
- import { PureComponent } from 'react';
2
- import PropTypes from 'prop-types';
3
- import moment from 'moment';
4
- /** @extends {PureComponent<any, any, any>} */
5
- declare class InfiniteList extends PureComponent<any, any, any> {
6
- state: {
7
- isLoadingByScroll: boolean;
8
- periodDates: {
9
- hoursAgo12: moment.Moment;
10
- daysAgo1: moment.Moment;
11
- daysAgo7: moment.Moment;
12
- daysAgo14: moment.Moment;
13
- daysAgo30: moment.Moment;
14
- };
15
- };
16
- updatePeriodsIntervalId: NodeJS.Timer | null;
17
- constructor(props: any);
18
- componentDidMount(): void;
19
- componentWillUnmount(): void;
20
- get periodDates(): {
21
- hoursAgo12: moment.Moment;
22
- daysAgo1: moment.Moment;
23
- daysAgo7: moment.Moment;
24
- daysAgo14: moment.Moment;
25
- daysAgo30: moment.Moment;
26
- };
27
- loadItems: () => Promise<void>;
28
- renderNoItemsLabel(): import("react").JSX.Element;
29
- renderPeriodSeparator(periodKey: any): import("react").JSX.Element;
30
- renderItems(): any;
31
- render(): import("react").JSX.Element;
32
- }
33
- declare namespace InfiniteList {
34
- var propTypes: {
35
- infiniteClassName: PropTypes.Requireable<string>;
36
- useWindow: PropTypes.Requireable<boolean>;
37
- headerComponent: PropTypes.Requireable<PropTypes.ReactNodeLike>;
38
- items: PropTypes.Validator<(PropTypes.InferProps<PropTypes.ValidationMap<any>> | null | undefined)[]>;
39
- showNoItemsFound: PropTypes.Validator<boolean>;
40
- noItemsFoundLabel: PropTypes.Validator<string>;
41
- infiniteContainerHeight: PropTypes.Requireable<number>;
42
- moreItemsMayExist: PropTypes.Validator<boolean>;
43
- pathToCreatedAt: PropTypes.Validator<(string | null | undefined)[]>;
44
- renderItem: PropTypes.Validator<(...args: any[]) => any>;
45
- loadItems: PropTypes.Validator<(...args: any[]) => any>;
46
- threshold: PropTypes.Requireable<number>;
47
- initialLoad: PropTypes.Requireable<boolean>;
48
- divideByPeriods: PropTypes.Requireable<boolean>;
49
- };
50
- var defaultProps: {
51
- infiniteClassName: null;
52
- useWindow: boolean;
53
- headerComponent: null;
54
- infiniteContainerHeight: null;
55
- threshold: number;
56
- initialLoad: boolean;
57
- divideByPeriods: boolean;
58
- };
59
- }
60
- export default InfiniteList;
1
+ /** @param {any} props Preserve the legacy component's permissive public prop type. */
2
+ declare function InfiniteList({ infiniteClassName, useWindow, headerComponent, items, showNoItemsFound, noItemsFoundLabel, infiniteContainerHeight, moreItemsMayExist, pathToCreatedAt, renderItem, loadItems, threshold, initialLoad, divideByPeriods, }: any): import("react").JSX.Element;
3
+ declare const _default: import("react").MemoExoticComponent<typeof InfiniteList>;
4
+ export default _default;
61
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/InfiniteList/index.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAwB5B,8CAA8C;AAC9C,cAAM,YAAa,SAAQ,aAAa,CADZ,GAAG,EAAE,GAAG,EAAE,GAAG,CACD;IAI/B,KAAK;;;;;;;;;;IAML,uBAAuB;IAT9B,YAAY,KAAK,KAAA,EAUhB;IAED,iBAAiB,SAKhB;IAED,oBAAoB,SAInB;IAED,IAAI,WAAW;QAEX,UAAU;QACV,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,SAAS;MAEZ;IASD,SAAS,sBAUP;IAEF,kBAAkB,gCAUjB;IAED,qBAAqB,CAAC,SAAS,KAAA,+BAW9B;IAED,WAAW,QAoDV;IAED,MAAM,gCAsBL;CACF;kBA7JK,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;eA4LH,YAAY"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/InfiniteList/index.js"],"names":[],"mappings":"AAkCA,sFAAsF;AACtF,iBAAS,YAAY,CAAC,EACpB,iBAAwB,EACxB,SAAiB,EACjB,eAAsB,EACtB,KAAK,EACL,gBAAgB,EAChB,iBAAiB,EACjB,uBAA8B,EAC9B,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,SAAS,EACT,SAAgB,EAChB,WAAkB,EAClB,eAAsB,GACvB,EAhBW,GAgBX,+BA8HA"}
@@ -1,2 +1,2 @@
1
- import e from"@babel/runtime/helpers/toConsumableArray";import r from"@babel/runtime/helpers/asyncToGenerator";import t from"@babel/runtime/helpers/classCallCheck";import o from"@babel/runtime/helpers/createClass";import i from"@babel/runtime/helpers/assertThisInitialized";import n from"@babel/runtime/helpers/inherits";import s from"@babel/runtime/helpers/possibleConstructorReturn";import a from"@babel/runtime/helpers/getPrototypeOf";import l from"@babel/runtime/helpers/defineProperty";import d from"@babel/runtime/regenerator";import{PureComponent as u}from"react";import p from"prop-types";import c from"moment";import h from"classnames";import{get as m,set as f}from"lodash";import y from"react-infinite-scroller";import b from"@material-ui/core/colors/grey";import I from"./styles.css.js";import g from"../LoadingIndicator/LoadingIndicator.js";import{jsx as v,jsxs as L}from"react/jsx-runtime";function T(e){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var t,o=a(e);if(r){var i=a(this).constructor;t=Reflect.construct(o,arguments,i)}else t=o.apply(this,arguments);return s(this,t)}}var D=b[700],C={newerThan12Hours:"Last 12 hours",olderThan12Hours:"Last 24 hours",olderThan1Days:"Earlier this week",olderThan7Days:"Older than 7 days",olderThan14Days:"Older than 14 days",olderThan30Days:"Older than 30 days"},w=function(s){n(p,u);var a=T(p);function p(e){var o;return t(this,p),o=a.call(this,e),l(i(o),"loadItems",r(d.mark((function e(){return d.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!o.state.isLoadingByScroll){e.next=2;break}return e.abrupt("return");case 2:return o.setState({isLoadingByScroll:!0}),e.next=5,o.props.loadItems();case 5:o.setState({isLoadingByScroll:!1});case 6:case"end":return e.stop()}}),e)})))),o.state={isLoadingByScroll:!1,periodDates:o.periodDates},o.updatePeriodsIntervalId=null,o}return o(p,[{key:"componentDidMount",value:function(){var e=this;this.updatePeriodsIntervalId=setInterval((function(){return e.setState({periodDates:e.periodDates})}),216e5)}},{key:"componentWillUnmount",value:function(){this.updatePeriodsIntervalId&&clearInterval(this.updatePeriodsIntervalId)}},{key:"periodDates",get:function(){return{hoursAgo12:c().subtract(12,"hours"),daysAgo1:c().subtract(1,"days"),daysAgo7:c().subtract(7,"days"),daysAgo14:c().subtract(14,"days"),daysAgo30:c().subtract(30,"days")}}},{key:"renderNoItemsLabel",value:function(){return v("div",{"data-testid":"".concat("generic_infiniteList","_noItems"),className:I.cInfiniteListEmpty,children:this.props.noItemsFoundLabel},"c-infinite-list__empty")}},{key:"renderPeriodSeparator",value:function(e){return v("div",{"data-testid":"".concat("generic_infiniteList","_periodLabel"),className:I.cInfiniteListPeriod,style:{color:D},children:C[e]},e)}},{key:"renderItems",value:function(){var r=this;if(!this.props.divideByPeriods)return this.props.items.map((function(e){return r.props.renderItem(e)})).unshift(this.props.headerComponent);var t=this.state.periodDates,o=t.hoursAgo12,i=t.daysAgo1,n=t.daysAgo7,s=t.daysAgo14,a=t.daysAgo30,l=this.props.items.reduce((function(e,t,l){var d,u=r.props.renderItem(t,l),p=m(t,r.props.pathToCreatedAt),h=c(p);return h>=o?d="newerThan12Hours":h<o&&h>=i?d="olderThan12Hours":h<i&&h>=n?d="olderThan1Days":h<n&&h>=s?d="olderThan7Days":h<s&&h>=a?d="olderThan14Days":h<a&&(d="olderThan30Days"),f(e,[d,e[d].length],u)}),{newerThan12Hours:[],olderThan12Hours:[],olderThan1Days:[],olderThan7Days:[],olderThan14Days:[],olderThan30Days:[]}),d=Object.keys(l).reduce((function(t,o){return 0===l[o].length?t.concat(l[o]):t.concat([r.renderPeriodSeparator(o)].concat(e(l[o])))}),[]);return[this.props.headerComponent].concat(e(d))}},{key:"render",value:function(){return L("div",{className:h(I.cInfiniteList,this.props.infiniteClassName,l({},I.cInfiniteListOverflow,!this.props.useWindow)),style:{height:this.props.infiniteContainerHeight},children:[v(y,{loadMore:this.loadItems,hasMore:this.props.moreItemsMayExist&&!this.props.showNoItemsFound,threshold:this.props.threshold,loader:v(g,{fullscreen:!1},"c-infinite-scroll__loader"),useWindow:this.props.useWindow,initialLoad:this.props.initialLoad,children:this.renderItems()}),this.props.showNoItemsFound&&this.renderNoItemsLabel()]})}}]),p}();w.propTypes={infiniteClassName:p.string,useWindow:p.bool,headerComponent:p.node,items:p.arrayOf(p.shape()).isRequired,showNoItemsFound:p.bool.isRequired,noItemsFoundLabel:p.string.isRequired,infiniteContainerHeight:p.number,moreItemsMayExist:p.bool.isRequired,pathToCreatedAt:p.arrayOf(p.string).isRequired,renderItem:p.func.isRequired,loadItems:p.func.isRequired,threshold:p.number,initialLoad:p.bool,divideByPeriods:p.bool},w.defaultProps={infiniteClassName:null,useWindow:!1,headerComponent:null,infiniteContainerHeight:null,threshold:3e3,initialLoad:!0,divideByPeriods:!0};export{w as default};
1
+ import e from"@babel/runtime/helpers/defineProperty";import r from"@babel/runtime/helpers/toConsumableArray";import o from"@babel/runtime/helpers/asyncToGenerator";import t from"@babel/runtime/helpers/slicedToArray";import n from"@babel/runtime/regenerator";import{memo as i,useState as a,useEffect as s}from"react";import d from"prop-types";import l from"moment";import u from"classnames";import{get as c,set as m}from"lodash";import h from"react-infinite-scroller";import f from"@material-ui/core/colors/grey";import y from"./styles.css.js";import p from"../LoadingIndicator/LoadingIndicator.js";import{jsxs as b,jsx as g}from"react/jsx-runtime";var v=f[700],T={newerThan12Hours:"Last 12 hours",olderThan12Hours:"Last 24 hours",olderThan1Days:"Earlier this week",olderThan7Days:"Older than 7 days",olderThan14Days:"Older than 14 days",olderThan30Days:"Older than 30 days"},I=function(){return{hoursAgo12:l().subtract(12,"hours"),daysAgo1:l().subtract(1,"days"),daysAgo7:l().subtract(7,"days"),daysAgo14:l().subtract(14,"days"),daysAgo30:l().subtract(30,"days")}};function L(i){var d=i.infiniteClassName,f=void 0===d?null:d,L=i.useWindow,A=void 0!==L&&L,w=i.headerComponent,D=void 0===w?null:w,C=i.items,H=i.showNoItemsFound,_=i.noItemsFoundLabel,q=i.infiniteContainerHeight,x=void 0===q?null:q,N=i.moreItemsMayExist,O=i.pathToCreatedAt,R=i.renderItem,j=i.loadItems,k=i.threshold,E=void 0===k?3e3:k,F=i.initialLoad,M=void 0===F||F,P=i.divideByPeriods,W=void 0===P||P,B=a(!1),G=t(B,2),z=G[0],J=G[1],K=a(I),Q=t(K,2),S=Q[0],U=Q[1];s((function(){var e=setInterval((function(){return U(I())}),216e5);return function(){return clearInterval(e)}}),[]);var V,X=(V=o(n.mark((function e(){return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!z){e.next=2;break}return e.abrupt("return");case 2:return J(!0),e.next=5,j();case 5:J(!1);case 6:case"end":return e.stop()}}),e)}))),function(){return V.apply(this,arguments)});return b("div",{className:u(y.cInfiniteList,f,e({},y.cInfiniteListOverflow,!A)),style:{height:x},children:[g(h,{loadMore:X,hasMore:N&&!H,threshold:E,loader:g(p,{fullscreen:!1},"c-infinite-scroll__loader"),useWindow:A,initialLoad:M,children:function(){if(!W)return C.map((function(e){return R(e)})).unshift(D);var e=S.hoursAgo12,o=S.daysAgo1,t=S.daysAgo7,n=S.daysAgo14,i=S.daysAgo30,a=C.reduce((function(r,a,s){var d,u=R(a,s),h=c(a,O),f=l(h);return f>=e?d="newerThan12Hours":f<e&&f>=o?d="olderThan12Hours":f<o&&f>=t?d="olderThan1Days":f<t&&f>=n?d="olderThan7Days":f<n&&f>=i?d="olderThan14Days":f<i&&(d="olderThan30Days"),m(r,[d,r[d].length],u)}),{newerThan12Hours:[],olderThan12Hours:[],olderThan1Days:[],olderThan7Days:[],olderThan14Days:[],olderThan30Days:[]}),s=Object.keys(a).reduce((function(e,o){return 0===a[o].length?e.concat(a[o]):e.concat([(t=o,g("div",{"data-testid":"".concat("generic_infiniteList","_periodLabel"),className:y.cInfiniteListPeriod,style:{color:v},children:T[t]},t))].concat(r(a[o])));var t}),[]);return[D].concat(r(s))}()}),H&&g("div",{"data-testid":"".concat("generic_infiniteList","_noItems"),className:y.cInfiniteListEmpty,children:_},"c-infinite-list__empty")]})}L.propTypes={infiniteClassName:d.string,useWindow:d.bool,headerComponent:d.node,items:d.arrayOf(d.shape()).isRequired,showNoItemsFound:d.bool.isRequired,noItemsFoundLabel:d.string.isRequired,infiniteContainerHeight:d.number,moreItemsMayExist:d.bool.isRequired,pathToCreatedAt:d.arrayOf(d.string).isRequired,renderItem:d.func.isRequired,loadItems:d.func.isRequired,threshold:d.number,initialLoad:d.bool,divideByPeriods:d.bool};var A=i(L);export{A as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/InfiniteList/index.js"],"sourcesContent":["import { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport classNames from 'classnames';\nimport { get, set } from 'lodash';\nimport InfiniteScroll from 'react-infinite-scroller';\nimport grey from '@material-ui/core/colors/grey';\n\nimport styles from './styles.css';\n\nimport LoadingIndicator from '~components/LoadingIndicator';\n\nconst PAGE_NAME = 'generic_infiniteList';\n\nconst grey700 = grey['700'];\n\nconst INTERVAL_6_HOURS = 6 * 60 * 60 * 1000;\nconst PERIOD_LABELS = {\n newerThan12Hours: 'Last 12 hours',\n olderThan12Hours: 'Last 24 hours',\n olderThan1Days: 'Earlier this week',\n olderThan7Days: 'Older than 7 days',\n olderThan14Days: 'Older than 14 days',\n olderThan30Days: 'Older than 30 days',\n};\n\n/** @extends {PureComponent<any, any, any>} */\nclass InfiniteList extends PureComponent {\n constructor(props) {\n super(props);\n\n this.state = {\n isLoadingByScroll: false,\n\n periodDates: this.periodDates,\n };\n\n this.updatePeriodsIntervalId = null;\n }\n\n componentDidMount() {\n this.updatePeriodsIntervalId = setInterval(\n () => this.setState({ periodDates: this.periodDates }),\n INTERVAL_6_HOURS\n );\n }\n\n componentWillUnmount() {\n if (this.updatePeriodsIntervalId) {\n clearInterval(this.updatePeriodsIntervalId);\n }\n }\n\n get periodDates() {\n return {\n hoursAgo12: moment().subtract(12, 'hours'),\n daysAgo1: moment().subtract(1, 'days'),\n daysAgo7: moment().subtract(7, 'days'),\n daysAgo14: moment().subtract(14, 'days'),\n daysAgo30: moment().subtract(30, 'days'),\n };\n }\n\n // NOTE: 'react-infinite-scroller' has a bug that when scroll reaches threshold area, it starts\n // to fire loadMore on every scroll event - bottom, up. As a result multiple same request fired.\n //\n // We fix this preventing request that was fired by scroll before previous is finished.\n //\n // Issues:\n // https://github.com/CassetteRocks/react-infinite-scroller/issues/143\n loadItems = async () => {\n if (this.state.isLoadingByScroll) {\n return;\n }\n\n this.setState({ isLoadingByScroll: true });\n\n await this.props.loadItems();\n\n this.setState({ isLoadingByScroll: false });\n };\n\n renderNoItemsLabel() {\n return (\n <div\n data-testid={`${PAGE_NAME}_noItems`}\n key=\"c-infinite-list__empty\"\n className={styles.cInfiniteListEmpty}\n >\n {this.props.noItemsFoundLabel}\n </div>\n );\n }\n\n renderPeriodSeparator(periodKey) {\n return (\n <div\n data-testid={`${PAGE_NAME}_periodLabel`}\n key={periodKey}\n className={styles.cInfiniteListPeriod}\n style={{ color: grey700 }}\n >\n {PERIOD_LABELS[periodKey]}\n </div>\n );\n }\n\n renderItems() {\n if (!this.props.divideByPeriods) {\n return this.props.items\n .map(item => this.props.renderItem(item))\n .unshift(this.props.headerComponent);\n }\n\n const { hoursAgo12, daysAgo1, daysAgo7, daysAgo14, daysAgo30 } = this.state.periodDates;\n\n const itemElsByPeriod = this.props.items.reduce(\n (result, item, index) => {\n let periodKey;\n const itemEl = this.props.renderItem(item, index);\n // NOTE: Backward compatibility for immutable objects in list\n const pathToCreatedAt = get(item, this.props.pathToCreatedAt);\n const itemAt = moment(pathToCreatedAt);\n\n if (itemAt >= hoursAgo12) {\n periodKey = 'newerThan12Hours';\n } else if (itemAt < hoursAgo12 && itemAt >= daysAgo1) {\n periodKey = 'olderThan12Hours';\n } else if (itemAt < daysAgo1 && itemAt >= daysAgo7) {\n periodKey = 'olderThan1Days';\n } else if (itemAt < daysAgo7 && itemAt >= daysAgo14) {\n periodKey = 'olderThan7Days';\n } else if (itemAt < daysAgo14 && itemAt >= daysAgo30) {\n periodKey = 'olderThan14Days';\n } else if (itemAt < daysAgo30) {\n periodKey = 'olderThan30Days';\n }\n\n return set(result, [periodKey, result[periodKey].length], itemEl);\n },\n {\n newerThan12Hours: [],\n olderThan12Hours: [],\n olderThan1Days: [],\n olderThan7Days: [],\n olderThan14Days: [],\n olderThan30Days: [],\n }\n );\n\n const itemElsWithPeriodEls = Object.keys(itemElsByPeriod).reduce((result, periodEls) => {\n if (itemElsByPeriod[periodEls].length === 0) return result.concat(itemElsByPeriod[periodEls]);\n\n return result.concat([this.renderPeriodSeparator(periodEls), ...itemElsByPeriod[periodEls]]);\n }, []);\n\n const itemElsWithPeriodElsWithHeaderEl = [this.props.headerComponent, ...itemElsWithPeriodEls];\n\n return itemElsWithPeriodElsWithHeaderEl;\n }\n\n render() {\n return (\n <div\n className={classNames(styles.cInfiniteList, this.props.infiniteClassName, {\n [styles.cInfiniteListOverflow]: !this.props.useWindow,\n })}\n style={{ height: this.props.infiniteContainerHeight }}\n >\n <InfiniteScroll\n loadMore={this.loadItems}\n hasMore={this.props.moreItemsMayExist && !this.props.showNoItemsFound}\n threshold={this.props.threshold} // NOTE: We should load infinite scroll next page before user get to bottom\n loader={<LoadingIndicator key=\"c-infinite-scroll__loader\" fullscreen={false} />}\n useWindow={this.props.useWindow}\n initialLoad={this.props.initialLoad}\n >\n {this.renderItems()}\n </InfiniteScroll>\n\n {this.props.showNoItemsFound && this.renderNoItemsLabel()}\n </div>\n );\n }\n}\n\nInfiniteList.propTypes = {\n infiniteClassName: PropTypes.string,\n useWindow: PropTypes.bool,\n headerComponent: PropTypes.node,\n // NOTE: Backward compatibility with immutable;\n // Remove when get rid of immutablejs\n items: PropTypes.arrayOf(PropTypes.shape()).isRequired,\n showNoItemsFound: PropTypes.bool.isRequired,\n noItemsFoundLabel: PropTypes.string.isRequired,\n infiniteContainerHeight: PropTypes.number,\n moreItemsMayExist: PropTypes.bool.isRequired,\n pathToCreatedAt: PropTypes.arrayOf(PropTypes.string).isRequired,\n renderItem: PropTypes.func.isRequired,\n loadItems: PropTypes.func.isRequired,\n threshold: PropTypes.number,\n initialLoad: PropTypes.bool,\n divideByPeriods: PropTypes.bool,\n};\n\nInfiniteList.defaultProps = {\n infiniteClassName: null,\n useWindow: false,\n headerComponent: null,\n infiniteContainerHeight: null,\n threshold: 3000,\n initialLoad: true,\n divideByPeriods: true,\n};\n\nexport default InfiniteList;\n"],"names":["grey700","grey","PERIOD_LABELS","newerThan12Hours","olderThan12Hours","olderThan1Days","olderThan7Days","olderThan14Days","olderThan30Days","InfiniteList","_PureComponent","_inherits","PureComponent","_super","_createSuper","props","_this","_classCallCheck","this","call","_defineProperty","_assertThisInitialized","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","state","isLoadingByScroll","abrupt","setState","loadItems","stop","periodDates","updatePeriodsIntervalId","_createClass","key","value","_this2","setInterval","clearInterval","get","hoursAgo12","moment","subtract","daysAgo1","daysAgo7","daysAgo14","daysAgo30","_jsx","concat","className","styles","cInfiniteListEmpty","children","noItemsFoundLabel","periodKey","cInfiniteListPeriod","style","color","_this3","divideByPeriods","items","map","item","renderItem","unshift","headerComponent","_this$state$periodDat","itemElsByPeriod","reduce","result","index","itemEl","pathToCreatedAt","itemAt","set","length","itemElsWithPeriodEls","Object","keys","periodEls","renderPeriodSeparator","_jsxs","classNames","cInfiniteList","infiniteClassName","cInfiniteListOverflow","useWindow","height","infiniteContainerHeight","InfiniteScroll","loadMore","hasMore","moreItemsMayExist","showNoItemsFound","threshold","loader","LoadingIndicator","fullscreen","initialLoad","renderItems","renderNoItemsLabel","propTypes","PropTypes","string","bool","node","arrayOf","shape","isRequired","number","func","defaultProps"],"mappings":"8yCAYA,IAEMA,EAAUC,EAAK,KAGfC,EAAgB,CACpBC,iBAAkB,gBAClBC,iBAAkB,gBAClBC,eAAgB,oBAChBC,eAAgB,oBAChBC,gBAAiB,qBACjBC,gBAAiB,sBAIbC,EAAY,SAAAC,GAAAC,EAAAF,EAASG,GAAT,IAAAC,EAAAC,EAAAL,GAChB,SAAAA,EAAYM,GAAO,IAAAC,EASmB,OATnBC,EAAAC,KAAAT,GACjBO,EAAAH,EAAAM,KAAAD,KAAMH,GAAOK,EAyCHC,EAAAL,GAAA,YAAAM,EAAAC,EAAAC,MAAA,SAAAC,IAAA,OAAAF,EAAAG,MAAA,SAAAC,GAAA,OAAA,OAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,IACNb,EAAKc,MAAMC,kBAAiB,CAAAJ,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAK,OAAA,UAAA,KAAA,EAIW,OAA3ChB,EAAKiB,SAAS,CAAEF,mBAAmB,IAAQJ,EAAAE,KAAA,EAErCb,EAAKD,MAAMmB,YAAW,KAAA,EAE5BlB,EAAKiB,SAAS,CAAEF,mBAAmB,IAAS,KAAA,EAAA,IAAA,MAAA,OAAAJ,EAAAQ,OAAA,GAAAV,EAC7C,MAjDCT,EAAKc,MAAQ,CACXC,mBAAmB,EAEnBK,YAAapB,EAAKoB,aAGpBpB,EAAKqB,wBAA0B,KAAKrB,CACtC,CAiJC,OAjJAsB,EAAA7B,EAAA,CAAA,CAAA8B,IAAA,oBAAAC,MAED,WAAoB,IAAAC,EAAAvB,KAClBA,KAAKmB,wBAA0BK,aAC7B,WAAA,OAAMD,EAAKR,SAAS,CAAEG,YAAaK,EAAKL,aAAc,GA1BnC,MA6BvB,GAAC,CAAAG,IAAA,uBAAAC,MAED,WACMtB,KAAKmB,yBACPM,cAAczB,KAAKmB,wBAEvB,GAAC,CAAAE,IAAA,cAAAK,IAED,WACE,MAAO,CACLC,WAAYC,IAASC,SAAS,GAAI,SAClCC,SAAUF,IAASC,SAAS,EAAG,QAC/BE,SAAUH,IAASC,SAAS,EAAG,QAC/BG,UAAWJ,IAASC,SAAS,GAAI,QACjCI,UAAWL,IAASC,SAAS,GAAI,QAErC,GAQA,CAAAR,IAAA,qBAAAC,MAaA,WACE,OACEY,EAAA,MAAA,CACE,cAAA,GAAAC,OAzEU,uBAyE0B,YAEpCC,UAAWC,EAAOC,mBAAmBC,SAEpCvC,KAAKH,MAAM2C,mBAHR,yBAMV,GAAC,CAAAnB,IAAA,wBAAAC,MAED,SAAsBmB,GACpB,OACEP,EAAA,MAAA,CACE,cAAA,GAAAC,OArFU,uBAqF8B,gBAExCC,UAAWC,EAAOK,oBAClBC,MAAO,CAAEC,MAAO9D,GAAUyD,SAEzBvD,EAAcyD,IAJVA,EAOX,GAAC,CAAApB,IAAA,cAAAC,MAED,WAAc,IAAAuB,EAAA7C,KACZ,IAAKA,KAAKH,MAAMiD,gBACd,OAAO9C,KAAKH,MAAMkD,MACfC,KAAI,SAAAC,GAAI,OAAIJ,EAAKhD,MAAMqD,WAAWD,EAAM,IACxCE,QAAQnD,KAAKH,MAAMuD,iBAGxB,IAAAC,EAAiErD,KAAKY,MAAMM,YAApES,IAAAA,WAAYG,IAAAA,SAAUC,IAAAA,SAAUC,IAAAA,UAAWC,IAAAA,UAE7CqB,EAAkBtD,KAAKH,MAAMkD,MAAMQ,QACvC,SAACC,EAAQP,EAAMQ,GACb,IAAIhB,EACEiB,EAASb,EAAKhD,MAAMqD,WAAWD,EAAMQ,GAErCE,EAAkBjC,EAAIuB,EAAMJ,EAAKhD,MAAM8D,iBACvCC,EAAShC,EAAO+B,GAgBtB,OAdIC,GAAUjC,EACZc,EAAY,mBACHmB,EAASjC,GAAciC,GAAU9B,EAC1CW,EAAY,mBACHmB,EAAS9B,GAAY8B,GAAU7B,EACxCU,EAAY,iBACHmB,EAAS7B,GAAY6B,GAAU5B,EACxCS,EAAY,iBACHmB,EAAS5B,GAAa4B,GAAU3B,EACzCQ,EAAY,kBACHmB,EAAS3B,IAClBQ,EAAY,mBAGPoB,EAAIL,EAAQ,CAACf,EAAWe,EAAOf,GAAWqB,QAASJ,EAC5D,GACA,CACEzE,iBAAkB,GAClBC,iBAAkB,GAClBC,eAAgB,GAChBC,eAAgB,GAChBC,gBAAiB,GACjBC,gBAAiB,KAIfyE,EAAuBC,OAAOC,KAAKX,GAAiBC,QAAO,SAACC,EAAQU,GACxE,OAA0C,IAAtCZ,EAAgBY,GAAWJ,OAAqBN,EAAOrB,OAAOmB,EAAgBY,IAE3EV,EAAOrB,OAAM,CAAEU,EAAKsB,sBAAsBD,IAAeZ,OAAAA,EAAAA,EAAgBY,KACjF,GAAE,IAIH,OAF0ClE,KAAKH,MAAMuD,iBAAoBW,OAAAA,EAAAA,GAG3E,GAAC,CAAA1C,IAAA,SAAAC,MAED,WACE,OACE8C,EAAA,MAAA,CACEhC,UAAWiC,EAAWhC,EAAOiC,cAAetE,KAAKH,MAAM0E,kBACpDlC,EAAAA,CAAAA,EAAAA,EAAOmC,uBAAyBxE,KAAKH,MAAM4E,YAE9C9B,MAAO,CAAE+B,OAAQ1E,KAAKH,MAAM8E,yBAA0BpC,SAAA,CAEtDL,EAAC0C,EAAc,CACbC,SAAU7E,KAAKgB,UACf8D,QAAS9E,KAAKH,MAAMkF,oBAAsB/E,KAAKH,MAAMmF,iBACrDC,UAAWjF,KAAKH,MAAMoF,UACtBC,OAAQhD,EAACiD,EAAgB,CAAiCC,YAAY,GAAxC,6BAC9BX,UAAWzE,KAAKH,MAAM4E,UACtBY,YAAarF,KAAKH,MAAMwF,YAAY9C,SAEnCvC,KAAKsF,gBAGPtF,KAAKH,MAAMmF,kBAAoBhF,KAAKuF,uBAG3C,KAAChG,CAAA,CA5Je,GA+JlBA,EAAaiG,UAAY,CACvBjB,kBAAmBkB,EAAUC,OAC7BjB,UAAWgB,EAAUE,KACrBvC,gBAAiBqC,EAAUG,KAG3B7C,MAAO0C,EAAUI,QAAQJ,EAAUK,SAASC,WAC5Cf,iBAAkBS,EAAUE,KAAKI,WACjCvD,kBAAmBiD,EAAUC,OAAOK,WACpCpB,wBAAyBc,EAAUO,OACnCjB,kBAAmBU,EAAUE,KAAKI,WAClCpC,gBAAiB8B,EAAUI,QAAQJ,EAAUC,QAAQK,WACrD7C,WAAYuC,EAAUQ,KAAKF,WAC3B/E,UAAWyE,EAAUQ,KAAKF,WAC1Bd,UAAWQ,EAAUO,OACrBX,YAAaI,EAAUE,KACvB7C,gBAAiB2C,EAAUE,MAG7BpG,EAAa2G,aAAe,CAC1B3B,kBAAmB,KACnBE,WAAW,EACXrB,gBAAiB,KACjBuB,wBAAyB,KACzBM,UAAW,IACXI,aAAa,EACbvC,iBAAiB"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/InfiniteList/index.js"],"sourcesContent":["import { memo, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport classNames from 'classnames';\nimport { get, set } from 'lodash';\nimport InfiniteScroll from 'react-infinite-scroller';\nimport grey from '@material-ui/core/colors/grey';\n\nimport styles from './styles.css';\n\nimport LoadingIndicator from '~components/LoadingIndicator';\n\nconst PAGE_NAME = 'generic_infiniteList';\n\nconst grey700 = grey['700'];\n\nconst INTERVAL_6_HOURS = 6 * 60 * 60 * 1000;\nconst PERIOD_LABELS = {\n newerThan12Hours: 'Last 12 hours',\n olderThan12Hours: 'Last 24 hours',\n olderThan1Days: 'Earlier this week',\n olderThan7Days: 'Older than 7 days',\n olderThan14Days: 'Older than 14 days',\n olderThan30Days: 'Older than 30 days',\n};\n\nconst getPeriodDates = () => ({\n hoursAgo12: moment().subtract(12, 'hours'),\n daysAgo1: moment().subtract(1, 'days'),\n daysAgo7: moment().subtract(7, 'days'),\n daysAgo14: moment().subtract(14, 'days'),\n daysAgo30: moment().subtract(30, 'days'),\n});\n\n/** @param {any} props Preserve the legacy component's permissive public prop type. */\nfunction InfiniteList({\n infiniteClassName = null,\n useWindow = false,\n headerComponent = null,\n items,\n showNoItemsFound,\n noItemsFoundLabel,\n infiniteContainerHeight = null,\n moreItemsMayExist,\n pathToCreatedAt,\n renderItem,\n loadItems,\n threshold = 3000,\n initialLoad = true,\n divideByPeriods = true,\n}) {\n const [isLoadingByScroll, setIsLoadingByScroll] = useState(false);\n const [periodDates, setPeriodDates] = useState(getPeriodDates);\n\n useEffect(() => {\n const intervalId = setInterval(() => setPeriodDates(getPeriodDates()), INTERVAL_6_HOURS);\n return () => clearInterval(intervalId);\n }, []);\n\n // NOTE: 'react-infinite-scroller' has a bug that when scroll reaches threshold area, it starts\n // to fire loadMore on every scroll event - bottom, up. As a result multiple same request fired.\n //\n // We fix this preventing request that was fired by scroll before previous is finished.\n //\n // Issues:\n // https://github.com/CassetteRocks/react-infinite-scroller/issues/143\n const loadMore = async () => {\n if (isLoadingByScroll) {\n return;\n }\n\n setIsLoadingByScroll(true);\n\n await loadItems();\n\n setIsLoadingByScroll(false);\n };\n\n const renderNoItemsLabel = () => {\n return (\n <div\n data-testid={`${PAGE_NAME}_noItems`}\n key=\"c-infinite-list__empty\"\n className={styles.cInfiniteListEmpty}\n >\n {noItemsFoundLabel}\n </div>\n );\n };\n\n const renderPeriodSeparator = periodKey => {\n return (\n <div\n data-testid={`${PAGE_NAME}_periodLabel`}\n key={periodKey}\n className={styles.cInfiniteListPeriod}\n style={{ color: grey700 }}\n >\n {PERIOD_LABELS[periodKey]}\n </div>\n );\n };\n\n const renderItems = () => {\n if (!divideByPeriods) {\n return items.map(item => renderItem(item)).unshift(headerComponent);\n }\n\n const { hoursAgo12, daysAgo1, daysAgo7, daysAgo14, daysAgo30 } = periodDates;\n\n const itemElsByPeriod = items.reduce(\n (result, item, index) => {\n let periodKey;\n const itemEl = renderItem(item, index);\n // NOTE: Backward compatibility for immutable objects in list\n const itemCreatedAt = get(item, pathToCreatedAt);\n const itemAt = moment(itemCreatedAt);\n\n if (itemAt >= hoursAgo12) {\n periodKey = 'newerThan12Hours';\n } else if (itemAt < hoursAgo12 && itemAt >= daysAgo1) {\n periodKey = 'olderThan12Hours';\n } else if (itemAt < daysAgo1 && itemAt >= daysAgo7) {\n periodKey = 'olderThan1Days';\n } else if (itemAt < daysAgo7 && itemAt >= daysAgo14) {\n periodKey = 'olderThan7Days';\n } else if (itemAt < daysAgo14 && itemAt >= daysAgo30) {\n periodKey = 'olderThan14Days';\n } else if (itemAt < daysAgo30) {\n periodKey = 'olderThan30Days';\n }\n\n return set(result, [periodKey, result[periodKey].length], itemEl);\n },\n {\n newerThan12Hours: [],\n olderThan12Hours: [],\n olderThan1Days: [],\n olderThan7Days: [],\n olderThan14Days: [],\n olderThan30Days: [],\n }\n );\n\n const itemElsWithPeriodEls = Object.keys(itemElsByPeriod).reduce((result, periodEls) => {\n if (itemElsByPeriod[periodEls].length === 0) return result.concat(itemElsByPeriod[periodEls]);\n\n return result.concat([renderPeriodSeparator(periodEls), ...itemElsByPeriod[periodEls]]);\n }, []);\n\n const itemElsWithPeriodElsWithHeaderEl = [headerComponent, ...itemElsWithPeriodEls];\n\n return itemElsWithPeriodElsWithHeaderEl;\n };\n\n return (\n <div\n className={classNames(styles.cInfiniteList, infiniteClassName, {\n [styles.cInfiniteListOverflow]: !useWindow,\n })}\n style={{ height: infiniteContainerHeight }}\n >\n <InfiniteScroll\n loadMore={loadMore}\n hasMore={moreItemsMayExist && !showNoItemsFound}\n threshold={threshold} // NOTE: We should load infinite scroll next page before user get to bottom\n loader={<LoadingIndicator key=\"c-infinite-scroll__loader\" fullscreen={false} />}\n useWindow={useWindow}\n initialLoad={initialLoad}\n >\n {renderItems()}\n </InfiniteScroll>\n\n {showNoItemsFound && renderNoItemsLabel()}\n </div>\n );\n}\n\nInfiniteList.propTypes = {\n infiniteClassName: PropTypes.string,\n useWindow: PropTypes.bool,\n headerComponent: PropTypes.node,\n // NOTE: Backward compatibility with immutable;\n // Remove when get rid of immutablejs\n items: PropTypes.arrayOf(PropTypes.shape()).isRequired,\n showNoItemsFound: PropTypes.bool.isRequired,\n noItemsFoundLabel: PropTypes.string.isRequired,\n infiniteContainerHeight: PropTypes.number,\n moreItemsMayExist: PropTypes.bool.isRequired,\n pathToCreatedAt: PropTypes.arrayOf(PropTypes.string).isRequired,\n renderItem: PropTypes.func.isRequired,\n loadItems: PropTypes.func.isRequired,\n threshold: PropTypes.number,\n initialLoad: PropTypes.bool,\n divideByPeriods: PropTypes.bool,\n};\n\nexport default memo(InfiniteList);\n"],"names":["grey700","grey","PERIOD_LABELS","newerThan12Hours","olderThan12Hours","olderThan1Days","olderThan7Days","olderThan14Days","olderThan30Days","getPeriodDates","hoursAgo12","moment","subtract","daysAgo1","daysAgo7","daysAgo14","daysAgo30","InfiniteList","_ref","_ref$infiniteClassNam","infiniteClassName","_ref$useWindow","useWindow","_ref$headerComponent","headerComponent","items","showNoItemsFound","noItemsFoundLabel","_ref$infiniteContaine","infiniteContainerHeight","moreItemsMayExist","pathToCreatedAt","renderItem","loadItems","_ref$threshold","threshold","_ref$initialLoad","initialLoad","_ref$divideByPeriods","divideByPeriods","useState","_useState2","_slicedToArray","_useState","isLoadingByScroll","setIsLoadingByScroll","_useState4","_useState3","periodDates","setPeriodDates","useEffect","intervalId","setInterval","clearInterval","_ref2","loadMore","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","stop","apply","this","arguments","_jsxs","className","classNames","styles","cInfiniteList","_defineProperty","cInfiniteListOverflow","style","height","children","_jsx","InfiniteScroll","hasMore","loader","LoadingIndicator","fullscreen","map","item","unshift","itemElsByPeriod","reduce","result","index","periodKey","itemEl","itemCreatedAt","get","itemAt","set","length","itemElsWithPeriodEls","Object","keys","periodEls","concat","cInfiniteListPeriod","color","_toConsumableArray","renderItems","cInfiniteListEmpty","propTypes","PropTypes","string","bool","node","arrayOf","shape","isRequired","number","func","memo"],"mappings":"woBAYA,IAEMA,EAAUC,EAAK,KAGfC,EAAgB,CACpBC,iBAAkB,gBAClBC,iBAAkB,gBAClBC,eAAgB,oBAChBC,eAAgB,oBAChBC,gBAAiB,qBACjBC,gBAAiB,sBAGbC,EAAiB,WAAH,MAAU,CAC5BC,WAAYC,IAASC,SAAS,GAAI,SAClCC,SAAUF,IAASC,SAAS,EAAG,QAC/BE,SAAUH,IAASC,SAAS,EAAG,QAC/BG,UAAWJ,IAASC,SAAS,GAAI,QACjCI,UAAWL,IAASC,SAAS,GAAI,QAClC,EAGD,SAASK,EAeNC,GAAA,IAAAC,EAAAD,EAdDE,kBAAAA,aAAoB,KAAID,EAAAE,EAAAH,EACxBI,UAAAA,cAAiBD,EAAAE,EAAAL,EACjBM,gBAAAA,aAAkB,KAAID,EACtBE,IAAAA,MACAC,IAAAA,iBACAC,IAAAA,kBAAiBC,EAAAV,EACjBW,wBAAAA,aAA0B,KAAID,EAC9BE,IAAAA,kBACAC,IAAAA,gBACAC,IAAAA,WACAC,IAAAA,UAASC,EAAAhB,EACTiB,UAAAA,aAAY,IAAID,EAAAE,EAAAlB,EAChBmB,YAAAA,cAAkBD,EAAAE,EAAApB,EAClBqB,gBAAAA,cAAsBD,EAE4BE,EAAAA,GAAS,GAAMC,EAAAC,EAAAC,EAAA,GAA1DC,EAAiBH,EAAA,GAAEI,EAAoBJ,EAAA,GACRD,EAAAA,EAAS/B,GAAeqC,EAAAJ,EAAAK,EAAA,GAAvDC,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAElCI,GAAU,WACR,IAAMC,EAAaC,aAAY,WAAA,OAAMH,EAAexC,IAAiB,GAvChD,OAwCrB,OAAO,WAAA,OAAM4C,cAAcF,EAAW,CACvC,GAAE,IASH,IAAiBG,EAAXC,GAAWD,EAAAE,EAAAC,EAAAC,MAAA,SAAAC,IAAA,OAAAF,EAAAG,MAAA,SAAAC,GAAA,OAAA,OAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,IACXnB,EAAiB,CAAAiB,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAG,OAAA,UAAA,KAAA,EAIM,OAA3BnB,GAAqB,GAAMgB,EAAAE,KAAA,EAErB9B,IAAW,KAAA,EAEjBY,GAAqB,GAAO,KAAA,EAAA,IAAA,MAAA,OAAAgB,EAAAI,OAAA,GAAAN,EAC7B,KAAA,WAVa,OAAAL,EAAAY,MAAAC,KAAAC,UAAA,GAyFd,OACEC,EAAA,MAAA,CACEC,UAAWC,EAAWC,EAAOC,cAAerD,EAAiBsD,EAAA,CAAA,EAC1DF,EAAOG,uBAAyBrD,IAEnCsD,MAAO,CAAEC,OAAQhD,GAA0BiD,SAAA,CAE3CC,EAACC,EAAc,CACbzB,SAAUA,EACV0B,QAASnD,IAAsBJ,EAC/BS,UAAWA,EACX+C,OAAQH,EAACI,EAAgB,CAAiCC,YAAY,GAAxC,6BAC9B9D,UAAWA,EACXe,YAAaA,EAAYyC,SAjEX,WAClB,IAAKvC,EACH,OAAOd,EAAM4D,KAAI,SAAAC,GAAI,OAAItD,EAAWsD,EAAK,IAAEC,QAAQ/D,GAGrD,IAAQd,EAAyDsC,EAAzDtC,WAAYG,EAA6CmC,EAA7CnC,SAAUC,EAAmCkC,EAAnClC,SAAUC,EAAyBiC,EAAzBjC,UAAWC,EAAcgC,EAAdhC,UAE7CwE,EAAkB/D,EAAMgE,QAC5B,SAACC,EAAQJ,EAAMK,GACb,IAAIC,EACEC,EAAS7D,EAAWsD,EAAMK,GAE1BG,EAAgBC,EAAIT,EAAMvD,GAC1BiE,EAASrF,EAAOmF,GAgBtB,OAdIE,GAAUtF,EACZkF,EAAY,mBACHI,EAAStF,GAAcsF,GAAUnF,EAC1C+E,EAAY,mBACHI,EAASnF,GAAYmF,GAAUlF,EACxC8E,EAAY,iBACHI,EAASlF,GAAYkF,GAAUjF,EACxC6E,EAAY,iBACHI,EAASjF,GAAaiF,GAAUhF,EACzC4E,EAAY,kBACHI,EAAShF,IAClB4E,EAAY,mBAGPK,EAAIP,EAAQ,CAACE,EAAWF,EAAOE,GAAWM,QAASL,EAC5D,GACA,CACE1F,iBAAkB,GAClBC,iBAAkB,GAClBC,eAAgB,GAChBC,eAAgB,GAChBC,gBAAiB,GACjBC,gBAAiB,KAIf2F,EAAuBC,OAAOC,KAAKb,GAAiBC,QAAO,SAACC,EAAQY,GACxE,OAA0C,IAAtCd,EAAgBc,GAAWJ,OAAqBR,EAAOa,OAAOf,EAAgBc,IAE3EZ,EAAOa,OAAM,EAzDMX,EAyDkBU,EAvD5CvB,EAAA,MAAA,CACE,cAAA,GAAAwB,OAjFU,uBAiF8B,gBAExCjC,UAAWE,EAAOgC,oBAClB5B,MAAO,CAAE6B,MAAOzG,GAAU8E,SAEzB5E,EAAc0F,IAJVA,KAqDoDJ,OAAAA,EAAAA,EAAgBc,MAzDjD,IAAAV,CA0D3B,GAAE,IAIH,MAFsC,CAAIpE,GAAe+E,OAAAG,EAAKP,IAoBzDQ,KAGFjF,GA7FDqD,EAAA,MAAA,CACE,cAAA,GAAAwB,OArEU,uBAqE0B,YAEpCjC,UAAWE,EAAOoC,mBAAmB9B,SAEpCnD,GAHG,4BA8FZ,CAEAV,EAAa4F,UAAY,CACvBzF,kBAAmB0F,EAAUC,OAC7BzF,UAAWwF,EAAUE,KACrBxF,gBAAiBsF,EAAUG,KAG3BxF,MAAOqF,EAAUI,QAAQJ,EAAUK,SAASC,WAC5C1F,iBAAkBoF,EAAUE,KAAKI,WACjCzF,kBAAmBmF,EAAUC,OAAOK,WACpCvF,wBAAyBiF,EAAUO,OACnCvF,kBAAmBgF,EAAUE,KAAKI,WAClCrF,gBAAiB+E,EAAUI,QAAQJ,EAAUC,QAAQK,WACrDpF,WAAY8E,EAAUQ,KAAKF,WAC3BnF,UAAW6E,EAAUQ,KAAKF,WAC1BjF,UAAW2E,EAAUO,OACrBhF,YAAayE,EAAUE,KACvBzE,gBAAiBuE,EAAUE,MAG7B,IAAeO,EAAAA,EAAKtG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=CommentLoader.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommentLoader.test.d.ts","sourceRoot":"","sources":["../../../src/components/__tests__/CommentLoader.test.js"],"names":[],"mappings":""}
@@ -248,7 +248,7 @@ const validateDsn = dsn => {
248
248
 
249
249
  const MCP_SERVER_VERSION = '1.5.0';
250
250
 
251
- var version = "3.75.0-21";
251
+ var version = "3.75.0-23";
252
252
 
253
253
  const CORVA_UI_VERSION = version;
254
254
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@corva/ui",
3
- "version": "3.75.0-21",
3
+ "version": "3.75.0-23",
4
4
  "license": "UNLICENSED",
5
5
  "description": "Shared components/utils for Corva ui projects",
6
6
  "repository": {