@coorpacademy/components 10.17.1 → 10.18.0

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.
Files changed (83) hide show
  1. package/es/atom/drag-and-drop/index.js +8 -5
  2. package/es/atom/drag-and-drop/index.js.map +1 -1
  3. package/es/atom/drag-and-drop/style.css +5 -0
  4. package/es/atom/drag-and-drop/test/fixtures/disabled-with-image-reset.js +12 -0
  5. package/es/atom/drag-and-drop/test/fixtures/disabled-with-image-reset.js.map +1 -0
  6. package/es/atom/drag-and-drop/test/fixtures/disabled.js +12 -0
  7. package/es/atom/drag-and-drop/test/fixtures/disabled.js.map +1 -0
  8. package/es/atom/image-upload/index.js +3 -1
  9. package/es/atom/image-upload/index.js.map +1 -1
  10. package/es/atom/image-upload/test/fixtures/disabled.js +12 -0
  11. package/es/atom/image-upload/test/fixtures/disabled.js.map +1 -0
  12. package/es/atom/lottie-wrapper/index.js +2 -2
  13. package/es/atom/lottie-wrapper/index.js.map +1 -1
  14. package/es/molecule/brand-create-form/index.js +1 -0
  15. package/es/molecule/brand-create-form/index.js.map +1 -1
  16. package/es/molecule/drag-and-drop-wrapper/test/fixtures/{without-checkbox.js → disabled.js} +3 -2
  17. package/es/molecule/drag-and-drop-wrapper/test/fixtures/disabled.js.map +1 -0
  18. package/es/molecule/review-card-congrats/index.js +99 -0
  19. package/es/molecule/review-card-congrats/index.js.map +1 -0
  20. package/es/molecule/review-card-congrats/style.css +139 -0
  21. package/es/molecule/review-card-congrats/test/card-congrats.js +47 -0
  22. package/es/molecule/review-card-congrats/test/card-congrats.js.map +1 -0
  23. package/es/molecule/review-card-congrats/test/fixtures/rank.js +22 -0
  24. package/es/molecule/review-card-congrats/test/fixtures/rank.js.map +1 -0
  25. package/es/molecule/review-card-congrats/test/fixtures/star.js +21 -0
  26. package/es/molecule/review-card-congrats/test/fixtures/star.js.map +1 -0
  27. package/es/molecule/review-card-congrats/test/fixtures.js +15 -0
  28. package/es/molecule/review-card-congrats/test/fixtures.js.map +1 -0
  29. package/es/organism/review-congrats/index.js +72 -0
  30. package/es/organism/review-congrats/index.js.map +1 -0
  31. package/es/organism/review-congrats/style.css +225 -0
  32. package/es/organism/review-congrats/test/fixtures/default.js +25 -0
  33. package/es/organism/review-congrats/test/fixtures/default.js.map +1 -0
  34. package/es/organism/review-congrats/test/fixtures.js +13 -0
  35. package/es/organism/review-congrats/test/fixtures.js.map +1 -0
  36. package/es/organism/review-congrats/test/review-congrats.js +37 -0
  37. package/es/organism/review-congrats/test/review-congrats.js.map +1 -0
  38. package/es/organism/rewards-form/test/fixtures/default.js +3 -2
  39. package/es/organism/rewards-form/test/fixtures/default.js.map +1 -1
  40. package/es/variables/colors.css +1 -0
  41. package/lib/atom/drag-and-drop/index.js +9 -5
  42. package/lib/atom/drag-and-drop/index.js.map +1 -1
  43. package/lib/atom/drag-and-drop/style.css +5 -0
  44. package/lib/atom/drag-and-drop/test/fixtures/disabled-with-image-reset.js +21 -0
  45. package/lib/atom/drag-and-drop/test/fixtures/disabled-with-image-reset.js.map +1 -0
  46. package/lib/atom/drag-and-drop/test/fixtures/disabled.js +21 -0
  47. package/lib/atom/drag-and-drop/test/fixtures/disabled.js.map +1 -0
  48. package/lib/atom/image-upload/index.js +3 -1
  49. package/lib/atom/image-upload/index.js.map +1 -1
  50. package/lib/atom/image-upload/test/fixtures/disabled.js +21 -0
  51. package/lib/atom/image-upload/test/fixtures/disabled.js.map +1 -0
  52. package/lib/atom/lottie-wrapper/index.js +2 -2
  53. package/lib/atom/lottie-wrapper/index.js.map +1 -1
  54. package/lib/molecule/brand-create-form/index.js +1 -0
  55. package/lib/molecule/brand-create-form/index.js.map +1 -1
  56. package/lib/molecule/drag-and-drop-wrapper/test/fixtures/{without-checkbox.js → disabled.js} +3 -2
  57. package/lib/molecule/drag-and-drop-wrapper/test/fixtures/disabled.js.map +1 -0
  58. package/lib/molecule/review-card-congrats/index.js +124 -0
  59. package/lib/molecule/review-card-congrats/index.js.map +1 -0
  60. package/lib/molecule/review-card-congrats/style.css +139 -0
  61. package/lib/molecule/review-card-congrats/test/card-congrats.js +63 -0
  62. package/lib/molecule/review-card-congrats/test/card-congrats.js.map +1 -0
  63. package/lib/molecule/review-card-congrats/test/fixtures/rank.js +32 -0
  64. package/lib/molecule/review-card-congrats/test/fixtures/rank.js.map +1 -0
  65. package/lib/molecule/review-card-congrats/test/fixtures/star.js +31 -0
  66. package/lib/molecule/review-card-congrats/test/fixtures/star.js.map +1 -0
  67. package/lib/molecule/review-card-congrats/test/fixtures.js +25 -0
  68. package/lib/molecule/review-card-congrats/test/fixtures.js.map +1 -0
  69. package/lib/organism/review-congrats/index.js +91 -0
  70. package/lib/organism/review-congrats/index.js.map +1 -0
  71. package/lib/organism/review-congrats/style.css +225 -0
  72. package/lib/organism/review-congrats/test/fixtures/default.js +36 -0
  73. package/lib/organism/review-congrats/test/fixtures/default.js.map +1 -0
  74. package/lib/organism/review-congrats/test/fixtures.js +22 -0
  75. package/lib/organism/review-congrats/test/fixtures.js.map +1 -0
  76. package/lib/organism/review-congrats/test/review-congrats.js +53 -0
  77. package/lib/organism/review-congrats/test/review-congrats.js.map +1 -0
  78. package/lib/organism/rewards-form/test/fixtures/default.js +4 -3
  79. package/lib/organism/rewards-form/test/fixtures/default.js.map +1 -1
  80. package/lib/variables/colors.css +1 -0
  81. package/package.json +3 -3
  82. package/es/molecule/drag-and-drop-wrapper/test/fixtures/without-checkbox.js.map +0 -1
  83. package/lib/molecule/drag-and-drop-wrapper/test/fixtures/without-checkbox.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/drag-and-drop/index.js"],"names":["constantNull","DragAndDrop","React","Component","constructor","props","state","dragging","handleDragStart","bind","handleDragStop","setState","render","idBox","children","title","description","uploadLabel","previewLabel","previewContent","loading","modified","onReset","error","buttonAriaLabel","errorButtonLabel","previewView","type","style","preview","src","loaderWrapper","loadingCancel","closeIcon","loader","loaderText","resetContent","resetUploadWrapper","resetSrcLabel","label","buildButton","defaultButtonProps","icon","position","button","previewContainer","modifiedPreviewContainer","inputWrapper","modifiedInputWrapper","errorInputWrapper","wrapper","infosContainer","iconError","dragAndDropLabel","errorMessage","propTypes","PropTypes","string","shape","bool","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {uniqueId, constant, isEmpty} from 'lodash/fp';\nimport {\n NovaSolidStatusClose as Close,\n NovaSolidFilesBasicFileUpload2 as FileUploadIcon,\n NovaSolidFilesBasicFileBlock2 as FileUploadBlockedIcon\n} from '@coorpacademy/nova-icons';\nimport Loader from '../loader';\nimport Button from '../button-link';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst constantNull = constant(null);\n\nclass DragAndDrop extends React.Component {\n static propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n uploadLabel: PropTypes.string,\n previewLabel: PropTypes.string,\n previewContent: PropTypes.shape({\n type: PropTypes.string,\n src: PropTypes.string,\n label: PropTypes.string\n }),\n loading: PropTypes.bool,\n modified: PropTypes.bool,\n children: PropTypes.func,\n onReset: PropTypes.func,\n error: PropTypes.string,\n buttonAriaLabel: PropTypes.string,\n errorButtonLabel: PropTypes.string\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n dragging: false\n };\n\n this.handleDragStart = this.handleDragStart.bind(this);\n this.handleDragStop = this.handleDragStop.bind(this);\n }\n\n handleDragStart() {\n this.setState({\n dragging: true\n });\n }\n\n handleDragStop() {\n this.setState({\n dragging: false\n });\n }\n\n render() {\n const idBox = uniqueId('drop-box-');\n const {\n children = constantNull,\n title,\n description,\n uploadLabel,\n previewLabel = '',\n previewContent,\n loading = false,\n modified = false,\n onReset = null,\n error = '',\n buttonAriaLabel = '',\n errorButtonLabel = ''\n } = this.props;\n const {dragging} = this.state;\n\n let previewView = null;\n\n if (previewContent && previewContent.type === 'image') {\n previewView = (\n <div className={style.preview}>\n <img src={previewContent.src} />\n </div>\n );\n } else if (previewContent && previewContent.type === 'video') {\n previewView = (\n <div className={style.preview}>\n <video controls src={previewContent.src} type=\"video/*\" />\n </div>\n );\n } else if (loading) {\n previewView = (\n <div className={style.loaderWrapper}>\n <div className={style.loadingCancel}>\n <Close\n data-name=\"reset-content-icon\"\n height={12}\n width={12}\n className={style.closeIcon}\n onClick={onReset}\n />\n </div>\n <div className={style.loader}>\n <Loader theme=\"coorpmanager\" />\n </div>\n <span className={style.loaderText}>Uploading</span>\n </div>\n );\n } else {\n previewView = <span>{previewLabel}</span>;\n }\n\n const resetContent =\n previewContent && previewContent.src ? (\n <div className={style.resetUploadWrapper}>\n <div className={style.resetSrcLabel}>\n {previewContent.label ? previewContent.label : previewContent.src}\n </div>\n {onReset ? (\n <Close\n data-name=\"reset-content-icon\"\n height={12}\n width={12}\n className={style.closeIcon}\n onClick={onReset}\n />\n ) : null}\n </div>\n ) : null;\n\n const buildButton = () => {\n const defaultButtonProps = {\n label: uploadLabel,\n 'aria-label': buttonAriaLabel,\n 'data-name': 'default-button',\n icon: {\n position: 'left',\n type: 'folders'\n }\n };\n if (dragging) {\n return null;\n } else if (error) {\n return <Button {...defaultButtonProps} label={errorButtonLabel} icon={{}} />;\n } else {\n return <Button {...defaultButtonProps} />;\n }\n };\n\n const button = buildButton(dragging, error);\n\n const previewContainer = getClassState(\n style.previewContainer,\n style.modifiedPreviewContainer,\n null,\n modified,\n error\n );\n const inputWrapper = getClassState(\n style.inputWrapper,\n style.modifiedInputWrapper,\n style.errorInputWrapper,\n modified,\n error\n );\n\n return (\n <div className={style.wrapper} data-name=\"drag-and-drop-wrapper\">\n <div className={style.title}>{title}</div>\n {!isEmpty(previewContent) || loading ? (\n <div className={previewContainer}>{previewView}</div>\n ) : (\n <div className={dragging ? style.dragging : inputWrapper} id={idBox}>\n <div className={style.infosContainer}>\n {error ? (\n <FileUploadBlockedIcon className={style.iconError} />\n ) : (\n <FileUploadIcon className={style.icon} />\n )}\n {description ? <div className={style.description}>{description}</div> : null}\n {error ? null : <div className={style.dragAndDropLabel}>{'Drag & Drop here'}</div>}\n </div>\n {button}\n <div>{children(this.handleDragStart, this.handleDragStop)}</div>\n </div>\n )}\n {error ? <span className={style.errorMessage}>{error}</span> : resetContent}\n </div>\n );\n }\n}\n\nexport default DragAndDrop;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/drag-and-drop/index.js"],"names":["constantNull","DragAndDrop","React","Component","constructor","props","state","dragging","handleDragStart","bind","handleDragStop","setState","render","idBox","children","title","description","uploadLabel","previewLabel","previewContent","loading","modified","onReset","error","buttonAriaLabel","errorButtonLabel","disabled","previewView","type","style","preview","src","loaderWrapper","loadingCancel","closeIcon","loader","loaderText","resetContent","resetUploadWrapper","resetSrcLabel","label","buildButton","defaultButtonProps","icon","position","button","previewContainer","modifiedPreviewContainer","inputWrapper","modifiedInputWrapper","errorInputWrapper","wrapper","infosContainer","iconError","dragAndDropLabel","errorMessage","propTypes","PropTypes","string","shape","bool","func"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA;;AAKA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,YAAY,GAAG,wBAAS,IAAT,CAArB;;AAEA,MAAMC,WAAN,SAA0BC,eAAMC,SAAhC,CAA0C;AAqBxCC,EAAAA,WAAW,CAACC,KAAD,EAAQ;AACjB,UAAMA,KAAN;AAEA,SAAKC,KAAL,GAAa;AACXC,MAAAA,QAAQ,EAAE;AADC,KAAb;AAIA,SAAKC,eAAL,GAAuB,KAAKA,eAAL,CAAqBC,IAArB,CAA0B,IAA1B,CAAvB;AACA,SAAKC,cAAL,GAAsB,KAAKA,cAAL,CAAoBD,IAApB,CAAyB,IAAzB,CAAtB;AACD;;AAEDD,EAAAA,eAAe,GAAG;AAChB,SAAKG,QAAL,CAAc;AACZJ,MAAAA,QAAQ,EAAE;AADE,KAAd;AAGD;;AAEDG,EAAAA,cAAc,GAAG;AACf,SAAKC,QAAL,CAAc;AACZJ,MAAAA,QAAQ,EAAE;AADE,KAAd;AAGD;;AAEDK,EAAAA,MAAM,GAAG;AACP,UAAMC,KAAK,GAAG,wBAAS,WAAT,CAAd;AACA,UAAM;AACJC,MAAAA,QAAQ,GAAGd,YADP;AAEJe,MAAAA,KAFI;AAGJC,MAAAA,WAHI;AAIJC,MAAAA,WAJI;AAKJC,MAAAA,YAAY,GAAG,EALX;AAMJC,MAAAA,cANI;AAOJC,MAAAA,OAAO,GAAG,KAPN;AAQJC,MAAAA,QAAQ,GAAG,KARP;AASJC,MAAAA,OAAO,GAAG,IATN;AAUJC,MAAAA,KAAK,GAAG,EAVJ;AAWJC,MAAAA,eAAe,GAAG,EAXd;AAYJC,MAAAA,gBAAgB,GAAG,EAZf;AAaJC,MAAAA,QAAQ,GAAG;AAbP,QAcF,KAAKrB,KAdT;AAeA,UAAM;AAACE,MAAAA;AAAD,QAAa,KAAKD,KAAxB;AAEA,QAAIqB,WAAW,GAAG,IAAlB;;AAEA,QAAIR,cAAc,IAAIA,cAAc,CAACS,IAAf,KAAwB,OAA9C,EAAuD;AACrDD,MAAAA,WAAW,gBACT;AAAK,QAAA,SAAS,EAAEE,eAAMC;AAAtB,sBACE;AAAK,QAAA,GAAG,EAAEX,cAAc,CAACY;AAAzB,QADF,CADF;AAKD,KAND,MAMO,IAAIZ,cAAc,IAAIA,cAAc,CAACS,IAAf,KAAwB,OAA9C,EAAuD;AAC5DD,MAAAA,WAAW,gBACT;AAAK,QAAA,SAAS,EAAEE,eAAMC;AAAtB,sBACE;AAAO,QAAA,QAAQ,MAAf;AAAgB,QAAA,GAAG,EAAEX,cAAc,CAACY,GAApC;AAAyC,QAAA,IAAI,EAAC;AAA9C,QADF,CADF;AAKD,KANM,MAMA,IAAIX,OAAJ,EAAa;AAClBO,MAAAA,WAAW,gBACT;AAAK,QAAA,SAAS,EAAEE,eAAMG;AAAtB,sBACE;AAAK,QAAA,SAAS,EAAEH,eAAMI;AAAtB,sBACE,6BAAC,+BAAD;AACE,qBAAU,oBADZ;AAEE,QAAA,MAAM,EAAE,EAFV;AAGE,QAAA,KAAK,EAAE,EAHT;AAIE,QAAA,SAAS,EAAEJ,eAAMK,SAJnB;AAKE,QAAA,OAAO,EAAEZ;AALX,QADF,CADF,eAUE;AAAK,QAAA,SAAS,EAAEO,eAAMM;AAAtB,sBACE,6BAAC,eAAD;AAAQ,QAAA,KAAK,EAAC;AAAd,QADF,CAVF,eAaE;AAAM,QAAA,SAAS,EAAEN,eAAMO;AAAvB,qBAbF,CADF;AAiBD,KAlBM,MAkBA;AACLT,MAAAA,WAAW,gBAAG,2CAAOT,YAAP,CAAd;AACD;;AAED,UAAMmB,YAAY,GAChBlB,cAAc,IAAIA,cAAc,CAACY,GAAjC,gBACE;AAAK,MAAA,SAAS,EAAE,yBAAWF,eAAMS,kBAAjB,EAAqCZ,QAAQ,IAAIG,eAAMH,QAAvD;AAAhB,oBACE;AAAK,MAAA,SAAS,EAAEG,eAAMU;AAAtB,OACGpB,cAAc,CAACqB,KAAf,GAAuBrB,cAAc,CAACqB,KAAtC,GAA8CrB,cAAc,CAACY,GADhE,CADF,EAIGT,OAAO,gBACN,6BAAC,+BAAD;AACE,mBAAU,oBADZ;AAEE,MAAA,MAAM,EAAE,EAFV;AAGE,MAAA,KAAK,EAAE,EAHT;AAIE,MAAA,SAAS,EAAEO,eAAMK,SAJnB;AAKE,MAAA,OAAO,EAAEZ;AALX,MADM,GAQJ,IAZN,CADF,GAeI,IAhBN;;AAkBA,UAAMmB,WAAW,GAAG,MAAM;AACxB,YAAMC,kBAAkB,GAAG;AACzBF,QAAAA,KAAK,EAAEvB,WADkB;AAEzB,sBAAcO,eAFW;AAGzB,qBAAa,gBAHY;AAIzBmB,QAAAA,IAAI,EAAE;AACJC,UAAAA,QAAQ,EAAE,MADN;AAEJhB,UAAAA,IAAI,EAAE;AAFF;AAJmB,OAA3B;;AASA,UAAIrB,QAAJ,EAAc;AACZ,eAAO,IAAP;AACD,OAFD,MAEO,IAAIgB,KAAJ,EAAW;AAChB,4BAAO,6BAAC,mBAAD,eAAYmB,kBAAZ;AAAgC,UAAA,KAAK,EAAEjB,gBAAvC;AAAyD,UAAA,IAAI,EAAE;AAA/D,WAAP;AACD,OAFM,MAEA;AACL,4BAAO,6BAAC,mBAAD,EAAYiB,kBAAZ,CAAP;AACD;AACF,KAjBD;;AAmBA,UAAMG,MAAM,GAAGJ,WAAW,CAAClC,QAAD,EAAWgB,KAAX,CAA1B;AAEA,UAAMuB,gBAAgB,GAAG,4BACvBjB,eAAMiB,gBADiB,EAEvBjB,eAAMkB,wBAFiB,EAGvB,IAHuB,EAIvB1B,QAJuB,EAKvBE,KALuB,CAAzB;AAOA,UAAMyB,YAAY,GAAG,4BACnBnB,eAAMmB,YADa,EAEnBnB,eAAMoB,oBAFa,EAGnBpB,eAAMqB,iBAHa,EAInB7B,QAJmB,EAKnBE,KALmB,CAArB;AAQA,wBACE;AAAK,MAAA,SAAS,EAAEM,eAAMsB,OAAtB;AAA+B,mBAAU;AAAzC,oBACE;AAAK,MAAA,SAAS,EAAEtB,eAAMd;AAAtB,OAA8BA,KAA9B,CADF,EAEG,CAAC,uBAAQI,cAAR,CAAD,IAA4BC,OAA5B,gBACC;AAAK,MAAA,SAAS,EAAE,yBAAW0B,gBAAX,EAA6BpB,QAAQ,IAAIG,eAAMH,QAA/C;AAAhB,OACGC,WADH,CADD,gBAKC;AACE,MAAA,SAAS,EAAE,yBACTpB,QAAQ,GAAGsB,eAAMtB,QAAT,GAAoByC,YADnB,EAETtB,QAAQ,IAAIG,eAAMH,QAFT,CADb;AAKE,MAAA,EAAE,EAAEb;AALN,oBAOE;AAAK,MAAA,SAAS,EAAEgB,eAAMuB;AAAtB,OACG7B,KAAK,gBACJ,6BAAC,wCAAD;AAAuB,MAAA,SAAS,EAAEM,eAAMwB;AAAxC,MADI,gBAGJ,6BAAC,yCAAD;AAAgB,MAAA,SAAS,EAAExB,eAAMc;AAAjC,MAJJ,EAMG3B,WAAW,gBAAG;AAAK,MAAA,SAAS,EAAEa,eAAMb;AAAtB,OAAoCA,WAApC,CAAH,GAA4D,IAN1E,EAOGO,KAAK,GAAG,IAAH,gBAAU;AAAK,MAAA,SAAS,EAAEM,eAAMyB;AAAtB,OAAyC,kBAAzC,CAPlB,CAPF,EAgBGT,MAhBH,eAiBE,0CAAM/B,QAAQ,CAAC,KAAKN,eAAN,EAAuB,KAAKE,cAA5B,CAAd,CAjBF,CAPJ,EA2BGa,KAAK,gBACJ;AAAM,MAAA,SAAS,EAAE,yBAAWM,eAAM0B,YAAjB,EAA+B7B,QAAQ,IAAIG,eAAMH,QAAjD;AAAjB,OACGH,KADH,CADI,GAKJc,YAhCJ,CADF;AAqCD;;AA9LuC;;AAApCpC,W,CACGuD,S,2CAAY;AACjBzC,EAAAA,KAAK,EAAE0C,mBAAUC,MADA;AAEjB1C,EAAAA,WAAW,EAAEyC,mBAAUC,MAFN;AAGjBzC,EAAAA,WAAW,EAAEwC,mBAAUC,MAHN;AAIjBxC,EAAAA,YAAY,EAAEuC,mBAAUC,MAJP;AAKjBvC,EAAAA,cAAc,EAAEsC,mBAAUE,KAAV,CAAgB;AAC9B/B,IAAAA,IAAI,EAAE6B,mBAAUC,MADc;AAE9B3B,IAAAA,GAAG,EAAE0B,mBAAUC,MAFe;AAG9BlB,IAAAA,KAAK,EAAEiB,mBAAUC;AAHa,GAAhB,CALC;AAUjBtC,EAAAA,OAAO,EAAEqC,mBAAUG,IAVF;AAWjBvC,EAAAA,QAAQ,EAAEoC,mBAAUG,IAXH;AAYjBlC,EAAAA,QAAQ,EAAE+B,mBAAUG,IAZH;AAajB9C,EAAAA,QAAQ,EAAE2C,mBAAUI,IAbH;AAcjBvC,EAAAA,OAAO,EAAEmC,mBAAUI,IAdF;AAejBtC,EAAAA,KAAK,EAAEkC,mBAAUC,MAfA;AAgBjBlC,EAAAA,eAAe,EAAEiC,mBAAUC,MAhBV;AAiBjBjC,EAAAA,gBAAgB,EAAEgC,mBAAUC;AAjBX,C;eAgMNzD,W","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {uniqueId, constant, isEmpty} from 'lodash/fp';\nimport {\n NovaSolidStatusClose as Close,\n NovaSolidFilesBasicFileUpload2 as FileUploadIcon,\n NovaSolidFilesBasicFileBlock2 as FileUploadBlockedIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport Loader from '../loader';\nimport Button from '../button-link';\nimport getClassState from '../../util/get-class-state';\nimport style from './style.css';\n\nconst constantNull = constant(null);\n\nclass DragAndDrop extends React.Component {\n static propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n uploadLabel: PropTypes.string,\n previewLabel: PropTypes.string,\n previewContent: PropTypes.shape({\n type: PropTypes.string,\n src: PropTypes.string,\n label: PropTypes.string\n }),\n loading: PropTypes.bool,\n modified: PropTypes.bool,\n disabled: PropTypes.bool,\n children: PropTypes.func,\n onReset: PropTypes.func,\n error: PropTypes.string,\n buttonAriaLabel: PropTypes.string,\n errorButtonLabel: PropTypes.string\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n dragging: false\n };\n\n this.handleDragStart = this.handleDragStart.bind(this);\n this.handleDragStop = this.handleDragStop.bind(this);\n }\n\n handleDragStart() {\n this.setState({\n dragging: true\n });\n }\n\n handleDragStop() {\n this.setState({\n dragging: false\n });\n }\n\n render() {\n const idBox = uniqueId('drop-box-');\n const {\n children = constantNull,\n title,\n description,\n uploadLabel,\n previewLabel = '',\n previewContent,\n loading = false,\n modified = false,\n onReset = null,\n error = '',\n buttonAriaLabel = '',\n errorButtonLabel = '',\n disabled = false\n } = this.props;\n const {dragging} = this.state;\n\n let previewView = null;\n\n if (previewContent && previewContent.type === 'image') {\n previewView = (\n <div className={style.preview}>\n <img src={previewContent.src} />\n </div>\n );\n } else if (previewContent && previewContent.type === 'video') {\n previewView = (\n <div className={style.preview}>\n <video controls src={previewContent.src} type=\"video/*\" />\n </div>\n );\n } else if (loading) {\n previewView = (\n <div className={style.loaderWrapper}>\n <div className={style.loadingCancel}>\n <Close\n data-name=\"reset-content-icon\"\n height={12}\n width={12}\n className={style.closeIcon}\n onClick={onReset}\n />\n </div>\n <div className={style.loader}>\n <Loader theme=\"coorpmanager\" />\n </div>\n <span className={style.loaderText}>Uploading</span>\n </div>\n );\n } else {\n previewView = <span>{previewLabel}</span>;\n }\n\n const resetContent =\n previewContent && previewContent.src ? (\n <div className={classnames(style.resetUploadWrapper, disabled && style.disabled)}>\n <div className={style.resetSrcLabel}>\n {previewContent.label ? previewContent.label : previewContent.src}\n </div>\n {onReset ? (\n <Close\n data-name=\"reset-content-icon\"\n height={12}\n width={12}\n className={style.closeIcon}\n onClick={onReset}\n />\n ) : null}\n </div>\n ) : null;\n\n const buildButton = () => {\n const defaultButtonProps = {\n label: uploadLabel,\n 'aria-label': buttonAriaLabel,\n 'data-name': 'default-button',\n icon: {\n position: 'left',\n type: 'folders'\n }\n };\n if (dragging) {\n return null;\n } else if (error) {\n return <Button {...defaultButtonProps} label={errorButtonLabel} icon={{}} />;\n } else {\n return <Button {...defaultButtonProps} />;\n }\n };\n\n const button = buildButton(dragging, error);\n\n const previewContainer = getClassState(\n style.previewContainer,\n style.modifiedPreviewContainer,\n null,\n modified,\n error\n );\n const inputWrapper = getClassState(\n style.inputWrapper,\n style.modifiedInputWrapper,\n style.errorInputWrapper,\n modified,\n error\n );\n\n return (\n <div className={style.wrapper} data-name=\"drag-and-drop-wrapper\">\n <div className={style.title}>{title}</div>\n {!isEmpty(previewContent) || loading ? (\n <div className={classnames(previewContainer, disabled && style.disabled)}>\n {previewView}\n </div>\n ) : (\n <div\n className={classnames(\n dragging ? style.dragging : inputWrapper,\n disabled && style.disabled\n )}\n id={idBox}\n >\n <div className={style.infosContainer}>\n {error ? (\n <FileUploadBlockedIcon className={style.iconError} />\n ) : (\n <FileUploadIcon className={style.icon} />\n )}\n {description ? <div className={style.description}>{description}</div> : null}\n {error ? null : <div className={style.dragAndDropLabel}>{'Drag & Drop here'}</div>}\n </div>\n {button}\n <div>{children(this.handleDragStart, this.handleDragStop)}</div>\n </div>\n )}\n {error ? (\n <span className={classnames(style.errorMessage, disabled && style.disabled)}>\n {error}\n </span>\n ) : (\n resetContent\n )}\n </div>\n );\n }\n}\n\nexport default DragAndDrop;\n"],"file":"index.js"}
@@ -24,6 +24,11 @@
24
24
  width: 100%;
25
25
  }
26
26
 
27
+ .disabled {
28
+ opacity: 0.5;
29
+ cursor: not-allowed;
30
+ }
31
+
27
32
  .title {
28
33
  font-size: 16px;
29
34
  font-weight: 700;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _withImageReset = _interopRequireDefault(require("./with-image-reset"));
7
+
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+
10
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
11
+
12
+ const {
13
+ props
14
+ } = _withImageReset.default;
15
+ var _default = {
16
+ props: _extends(_extends({}, props), {}, {
17
+ disabled: true
18
+ })
19
+ };
20
+ exports.default = _default;
21
+ //# sourceMappingURL=disabled-with-image-reset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/atom/drag-and-drop/test/fixtures/disabled-with-image-reset.js"],"names":["props","withImageReset","disabled"],"mappings":";;;;;AAAA;;;;;;AAEA,MAAM;AAACA,EAAAA;AAAD,IAAUC,uBAAhB;eAEe;AACbD,EAAAA,KAAK,wBACAA,KADA;AAEHE,IAAAA,QAAQ,EAAE;AAFP;AADQ,C","sourcesContent":["import withImageReset from './with-image-reset';\n\nconst {props} = withImageReset;\n\nexport default {\n props: {\n ...props,\n disabled: true\n }\n};\n"],"file":"disabled-with-image-reset.js"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _default2 = _interopRequireDefault(require("./default"));
7
+
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+
10
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
11
+
12
+ const {
13
+ props
14
+ } = _default2.default;
15
+ var _default = {
16
+ props: _extends(_extends({}, props), {}, {
17
+ disabled: true
18
+ })
19
+ };
20
+ exports.default = _default;
21
+ //# sourceMappingURL=disabled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/atom/drag-and-drop/test/fixtures/disabled.js"],"names":["props","defaultProps","disabled"],"mappings":";;;;;AAAA;;;;;;AAEA,MAAM;AAACA,EAAAA;AAAD,IAAUC,iBAAhB;eAEe;AACbD,EAAAA,KAAK,wBACAA,KADA;AAEHE,IAAAA,QAAQ,EAAE;AAFP;AADQ,C","sourcesContent":["import defaultProps from './default';\n\nconst {props} = defaultProps;\n\nexport default {\n props: {\n ...props,\n disabled: true\n }\n};\n"],"file":"disabled.js"}
@@ -37,6 +37,7 @@ const ImageUpload = ({
37
37
  uploadLabel,
38
38
  loading,
39
39
  modified,
40
+ disabled = false,
40
41
  onChange,
41
42
  onReset = null,
42
43
  name,
@@ -62,13 +63,14 @@ const ImageUpload = ({
62
63
  modified: modified,
63
64
  onReset: handleReset,
64
65
  error: error,
66
+ disabled: disabled,
65
67
  buttonAriaLabel: buttonAriaLabel,
66
68
  errorButtonLabel: errorButtonLabel
67
69
  }, (onDragStart, onDragStop) => /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("input", {
68
70
  type: "file",
69
71
  name: name,
70
72
  accept: acceptedImages,
71
- disabled: loading,
73
+ disabled: loading || disabled,
72
74
  className: _style.default.input,
73
75
  onChange: onChange,
74
76
  onDragEnter: onDragStart,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/image-upload/index.js"],"names":["ImageUpload","title","description","previewLabel","previewContent","uploadLabel","loading","modified","onChange","onReset","name","imageTypes","error","buttonAriaLabel","errorButtonLabel","handleReset","e","preventDefault","acceptedImages","t","onDragStart","onDragStop","style","input","propTypes","DragAndDrop","PropTypes","string","func","arrayOf","ImagePropType"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,WAAW,GAAG,CAAC;AACnBC,EAAAA,KADmB;AAEnBC,EAAAA,WAFmB;AAGnBC,EAAAA,YAHmB;AAInBC,EAAAA,cAJmB;AAKnBC,EAAAA,WALmB;AAMnBC,EAAAA,OANmB;AAOnBC,EAAAA,QAPmB;AAQnBC,EAAAA,QARmB;AASnBC,EAAAA,OAAO,GAAG,IATS;AAUnBC,EAAAA,IAVmB;AAWnB;AACAC,EAAAA,UAAU,GAAG,CAAC,GAAD,CAZM;AAanBC,EAAAA,KAAK,GAAG,EAbW;AAcnBC,EAAAA,eAdmB;AAenBC,EAAAA;AAfmB,CAAD,KAgBd;AACJ,QAAMC,WAAW,GAAG,wBAClBC,CAAC,IAAI;AACH,QAAI,qBAAMP,OAAN,CAAJ,EAAoB;AACpBO,IAAAA,CAAC,CAACC,cAAF;AACA,WAAOR,OAAO,CAACO,CAAD,CAAd;AACD,GALiB,EAMlB,CAACP,OAAD,CANkB,CAApB;AASA,QAAMS,cAAc,GAAG,oBACrB,mBAAIC,CAAC,IAAK,SAAQA,CAAE,EAApB,CADqB,EAErB,oBAAK,GAAL,CAFqB,EAGrBR,UAHqB,CAAvB;AAKA,sBACE,6BAAC,oBAAD;AACE,IAAA,KAAK,EAAEV,KADT;AAEE,IAAA,WAAW,EAAEC,WAFf;AAGE,IAAA,YAAY,EAAEC,YAHhB;AAIE,IAAA,cAAc,EAAEC,cAJlB;AAKE,IAAA,WAAW,EAAEC,WALf;AAME,IAAA,OAAO,EAAEC,OANX;AAOE,IAAA,QAAQ,EAAEC,QAPZ;AAQE,IAAA,OAAO,EAAEQ,WARX;AASE,IAAA,KAAK,EAAEH,KATT;AAUE,IAAA,eAAe,EAAEC,eAVnB;AAWE,IAAA,gBAAgB,EAAEC;AAXpB,KAaG,CAACM,WAAD,EAAcC,UAAd,kBACC,uDACE;AACE,IAAA,IAAI,EAAC,MADP;AAEE,IAAA,IAAI,EAAEX,IAFR;AAGE,IAAA,MAAM,EAAEQ,cAHV;AAIE,IAAA,QAAQ,EAAEZ,OAJZ;AAKE,IAAA,SAAS,EAAEgB,eAAMC,KALnB;AAME,IAAA,QAAQ,EAAEf,QANZ;AAOE,IAAA,WAAW,EAAEY,WAPf;AAQE,IAAA,MAAM,EAAEC,UARV;AASE,IAAA,WAAW,EAAEA;AATf,IADF,CAdJ,CADF;AA+BD,CA9DD;;AAgEArB,WAAW,CAACwB,SAAZ,iEACKC,qBAAYD,SADjB;AAEEd,EAAAA,IAAI,EAAEgB,mBAAUC,MAFlB;AAGEnB,EAAAA,QAAQ,EAAEkB,mBAAUE,IAHtB;AAIEnB,EAAAA,OAAO,EAAEiB,mBAAUE,IAJrB;AAKEjB,EAAAA,UAAU,EAAEe,mBAAUG,OAAV,CAAkBC,wBAAlB,CALd;AAMElB,EAAAA,KAAK,EAAEc,mBAAUC,MANnB;AAOEd,EAAAA,eAAe,EAAEa,mBAAUC,MAP7B;AAQEb,EAAAA,gBAAgB,EAAEY,mBAAUC;AAR9B;eAWe3B,W","sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {join, map, pipe, isNil} from 'lodash/fp';\nimport DragAndDrop from '../drag-and-drop';\nimport {ImagePropType} from '../../util/proptypes';\nimport style from './style.css';\n\nconst ImageUpload = ({\n title,\n description,\n previewLabel,\n previewContent,\n uploadLabel,\n loading,\n modified,\n onChange,\n onReset = null,\n name,\n // See ImagePropType for accepted values\n imageTypes = ['*'],\n error = '',\n buttonAriaLabel,\n errorButtonLabel\n}) => {\n const handleReset = useCallback(\n e => {\n if (isNil(onReset)) return;\n e.preventDefault();\n return onReset(e);\n },\n [onReset]\n );\n\n const acceptedImages = pipe(\n map(t => `image/${t}`),\n join(',')\n )(imageTypes);\n\n return (\n <DragAndDrop\n title={title}\n description={description}\n previewLabel={previewLabel}\n previewContent={previewContent}\n uploadLabel={uploadLabel}\n loading={loading}\n modified={modified}\n onReset={handleReset}\n error={error}\n buttonAriaLabel={buttonAriaLabel}\n errorButtonLabel={errorButtonLabel}\n >\n {(onDragStart, onDragStop) => (\n <div>\n <input\n type=\"file\"\n name={name}\n accept={acceptedImages}\n disabled={loading}\n className={style.input}\n onChange={onChange}\n onDragEnter={onDragStart}\n onDrop={onDragStop}\n onDragLeave={onDragStop}\n />\n </div>\n )}\n </DragAndDrop>\n );\n};\n\nImageUpload.propTypes = {\n ...DragAndDrop.propTypes,\n name: PropTypes.string,\n onChange: PropTypes.func,\n onReset: PropTypes.func,\n imageTypes: PropTypes.arrayOf(ImagePropType),\n error: PropTypes.string,\n buttonAriaLabel: PropTypes.string,\n errorButtonLabel: PropTypes.string\n};\n\nexport default ImageUpload;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/image-upload/index.js"],"names":["ImageUpload","title","description","previewLabel","previewContent","uploadLabel","loading","modified","disabled","onChange","onReset","name","imageTypes","error","buttonAriaLabel","errorButtonLabel","handleReset","e","preventDefault","acceptedImages","t","onDragStart","onDragStop","style","input","propTypes","DragAndDrop","PropTypes","string","func","arrayOf","ImagePropType"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,WAAW,GAAG,CAAC;AACnBC,EAAAA,KADmB;AAEnBC,EAAAA,WAFmB;AAGnBC,EAAAA,YAHmB;AAInBC,EAAAA,cAJmB;AAKnBC,EAAAA,WALmB;AAMnBC,EAAAA,OANmB;AAOnBC,EAAAA,QAPmB;AAQnBC,EAAAA,QAAQ,GAAG,KARQ;AASnBC,EAAAA,QATmB;AAUnBC,EAAAA,OAAO,GAAG,IAVS;AAWnBC,EAAAA,IAXmB;AAYnB;AACAC,EAAAA,UAAU,GAAG,CAAC,GAAD,CAbM;AAcnBC,EAAAA,KAAK,GAAG,EAdW;AAenBC,EAAAA,eAfmB;AAgBnBC,EAAAA;AAhBmB,CAAD,KAiBd;AACJ,QAAMC,WAAW,GAAG,wBAClBC,CAAC,IAAI;AACH,QAAI,qBAAMP,OAAN,CAAJ,EAAoB;AACpBO,IAAAA,CAAC,CAACC,cAAF;AACA,WAAOR,OAAO,CAACO,CAAD,CAAd;AACD,GALiB,EAMlB,CAACP,OAAD,CANkB,CAApB;AASA,QAAMS,cAAc,GAAG,oBACrB,mBAAIC,CAAC,IAAK,SAAQA,CAAE,EAApB,CADqB,EAErB,oBAAK,GAAL,CAFqB,EAGrBR,UAHqB,CAAvB;AAKA,sBACE,6BAAC,oBAAD;AACE,IAAA,KAAK,EAAEX,KADT;AAEE,IAAA,WAAW,EAAEC,WAFf;AAGE,IAAA,YAAY,EAAEC,YAHhB;AAIE,IAAA,cAAc,EAAEC,cAJlB;AAKE,IAAA,WAAW,EAAEC,WALf;AAME,IAAA,OAAO,EAAEC,OANX;AAOE,IAAA,QAAQ,EAAEC,QAPZ;AAQE,IAAA,OAAO,EAAES,WARX;AASE,IAAA,KAAK,EAAEH,KATT;AAUE,IAAA,QAAQ,EAAEL,QAVZ;AAWE,IAAA,eAAe,EAAEM,eAXnB;AAYE,IAAA,gBAAgB,EAAEC;AAZpB,KAcG,CAACM,WAAD,EAAcC,UAAd,kBACC,uDACE;AACE,IAAA,IAAI,EAAC,MADP;AAEE,IAAA,IAAI,EAAEX,IAFR;AAGE,IAAA,MAAM,EAAEQ,cAHV;AAIE,IAAA,QAAQ,EAAEb,OAAO,IAAIE,QAJvB;AAKE,IAAA,SAAS,EAAEe,eAAMC,KALnB;AAME,IAAA,QAAQ,EAAEf,QANZ;AAOE,IAAA,WAAW,EAAEY,WAPf;AAQE,IAAA,MAAM,EAAEC,UARV;AASE,IAAA,WAAW,EAAEA;AATf,IADF,CAfJ,CADF;AAgCD,CAhED;;AAkEAtB,WAAW,CAACyB,SAAZ,iEACKC,qBAAYD,SADjB;AAEEd,EAAAA,IAAI,EAAEgB,mBAAUC,MAFlB;AAGEnB,EAAAA,QAAQ,EAAEkB,mBAAUE,IAHtB;AAIEnB,EAAAA,OAAO,EAAEiB,mBAAUE,IAJrB;AAKEjB,EAAAA,UAAU,EAAEe,mBAAUG,OAAV,CAAkBC,wBAAlB,CALd;AAMElB,EAAAA,KAAK,EAAEc,mBAAUC,MANnB;AAOEd,EAAAA,eAAe,EAAEa,mBAAUC,MAP7B;AAQEb,EAAAA,gBAAgB,EAAEY,mBAAUC;AAR9B;eAWe5B,W","sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {join, map, pipe, isNil} from 'lodash/fp';\nimport DragAndDrop from '../drag-and-drop';\nimport {ImagePropType} from '../../util/proptypes';\nimport style from './style.css';\n\nconst ImageUpload = ({\n title,\n description,\n previewLabel,\n previewContent,\n uploadLabel,\n loading,\n modified,\n disabled = false,\n onChange,\n onReset = null,\n name,\n // See ImagePropType for accepted values\n imageTypes = ['*'],\n error = '',\n buttonAriaLabel,\n errorButtonLabel\n}) => {\n const handleReset = useCallback(\n e => {\n if (isNil(onReset)) return;\n e.preventDefault();\n return onReset(e);\n },\n [onReset]\n );\n\n const acceptedImages = pipe(\n map(t => `image/${t}`),\n join(',')\n )(imageTypes);\n\n return (\n <DragAndDrop\n title={title}\n description={description}\n previewLabel={previewLabel}\n previewContent={previewContent}\n uploadLabel={uploadLabel}\n loading={loading}\n modified={modified}\n onReset={handleReset}\n error={error}\n disabled={disabled}\n buttonAriaLabel={buttonAriaLabel}\n errorButtonLabel={errorButtonLabel}\n >\n {(onDragStart, onDragStop) => (\n <div>\n <input\n type=\"file\"\n name={name}\n accept={acceptedImages}\n disabled={loading || disabled}\n className={style.input}\n onChange={onChange}\n onDragEnter={onDragStart}\n onDrop={onDragStop}\n onDragLeave={onDragStop}\n />\n </div>\n )}\n </DragAndDrop>\n );\n};\n\nImageUpload.propTypes = {\n ...DragAndDrop.propTypes,\n name: PropTypes.string,\n onChange: PropTypes.func,\n onReset: PropTypes.func,\n imageTypes: PropTypes.arrayOf(ImagePropType),\n error: PropTypes.string,\n buttonAriaLabel: PropTypes.string,\n errorButtonLabel: PropTypes.string\n};\n\nexport default ImageUpload;\n"],"file":"index.js"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _default2 = _interopRequireDefault(require("./default"));
7
+
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+
10
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
11
+
12
+ const {
13
+ props
14
+ } = _default2.default;
15
+ var _default = {
16
+ props: _extends(_extends({}, props), {}, {
17
+ disabled: true
18
+ })
19
+ };
20
+ exports.default = _default;
21
+ //# sourceMappingURL=disabled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/atom/image-upload/test/fixtures/disabled.js"],"names":["props","defaultProps","disabled"],"mappings":";;;;;AAAA;;;;;;AAEA,MAAM;AAACA,EAAAA;AAAD,IAAUC,iBAAhB;eAEe;AACbD,EAAAA,KAAK,wBAAMA,KAAN;AAAaE,IAAAA,QAAQ,EAAE;AAAvB;AADQ,C","sourcesContent":["import defaultProps from './default';\n\nconst {props} = defaultProps;\n\nexport default {\n props: {...props, disabled: true}\n};\n"],"file":"disabled.js"}
@@ -114,9 +114,9 @@ const LottieWrapper = props => {
114
114
  // to remove when the migration towards @testing-library/react is done
115
115
 
116
116
  /* istanbul ignore next */
117
- if (animationItem && (0, _includes.default)(animationControl, (0, _keys.default)((0, _omit.default)('loading', ANIMATION_CONTROL))) && !autoplay) {
117
+ if ((0, _includes.default)(animationControl, (0, _keys.default)((0, _omit.default)('loading', ANIMATION_CONTROL))) && !autoplay) {
118
118
  setIsAnimationVisible(true);
119
- animationItem[animationControl]();
119
+ if (animationItem) animationItem[animationControl]();
120
120
  if (animationControl === ANIMATION_CONTROL.stop) setIsAnimationVisible(false);
121
121
  }
122
122
  }, [animationControl, animationItem, autoplay]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/lottie-wrapper/index.js"],"names":["ANIMATION_CONTROL","play","pause","stop","loading","isIE11","window","userAgent","hasMsCrypto","hasRevision","hasTrident","fetchAndLoadAnimation","_lottie","_fetch","animationSrc","containerRef","loop","animationClassnames","hideOnTransparent","autoplay","animationUrl","URL","toString","fetchResult","headers","animationData","json","animation","loadAnimation","container","current","renderer","rendererSettings","className","preserveAspectRatio","LottieWrapper","props","dataName","ariaLabel","width","height","ie11ImageBackup","backupImageClassName","animationControl","animationClassName","animationItem","setAnimationItem","isAnimationVisible","setIsAnimationVisible","_isIE11","wrapperClassName","style","lottieContainer","lottieAnimationClassName","ie11BackupImageClassName","backupImage","lottie","unfetch","destroy","name","maxWidth","maxHeight","opacity","transition","propTypes","PropTypes","string","isRequired","bool","shape","number","oneOf"],"mappings":"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","sourcesContent":["import React, {useMemo, useRef, useEffect, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport lottie from 'lottie-web';\nimport get from 'lodash/fp/get';\nimport has from 'lodash/fp/has';\nimport includes from 'lodash/fp/includes';\nimport keys from 'lodash/fp/keys';\nimport omit from 'lodash/fp/omit';\nimport unfetch from 'isomorphic-unfetch';\nimport style from './style.css';\n\nexport const ANIMATION_CONTROL = {\n play: 'play',\n pause: 'pause',\n stop: 'stop',\n loading: 'loading'\n};\n\nconst isIE11 = () => {\n if (typeof window === 'undefined') return;\n const userAgent = get('navigator.userAgent', window);\n const hasMsCrypto = has('msCrypto', window);\n const hasRevision = includes('rv:', userAgent);\n const hasTrident = includes('Trident/', userAgent);\n\n return hasMsCrypto || (hasRevision && hasTrident);\n};\n\nexport const fetchAndLoadAnimation = async (\n _lottie,\n _fetch,\n animationSrc,\n containerRef,\n loop,\n animationClassnames,\n hideOnTransparent,\n autoplay\n) => {\n const animationUrl = new URL(animationSrc).toString();\n const fetchResult = await _fetch(animationUrl, {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'Content-Type': 'application/json'\n }\n });\n\n const animationData = await fetchResult.json();\n\n const animation = _lottie.loadAnimation({\n container: containerRef.current, // the dom element that will contain the animation\n renderer: 'svg',\n autoplay,\n loop,\n animationData,\n rendererSettings: {\n className: animationClassnames,\n hideOnTransparent,\n preserveAspectRatio: 'xMidYMid meet' // same options as a preserveAspectRatio prop\n }\n });\n return animation;\n};\n\nconst LottieWrapper = props => {\n const {\n className,\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n animationSrc,\n loop = false,\n rendererSettings = {},\n width,\n height,\n ie11ImageBackup,\n backupImageClassName,\n autoplay = true,\n animationControl\n } = props;\n\n const {className: animationClassName, hideOnTransparent = true} = rendererSettings;\n\n const containerRef = useRef(null);\n\n // lottie's animation instance\n const [animationItem, setAnimationItem] = useState(null);\n\n const [isAnimationVisible, setIsAnimationVisible] = useState(autoplay);\n\n const _isIE11 = useMemo(() => isIE11(), []);\n\n const wrapperClassName = useMemo(() => classnames(className, style.lottieContainer), [className]);\n\n const lottieAnimationClassName = useMemo(() => classnames(animationClassName, style.animation), [\n animationClassName\n ]);\n\n const ie11BackupImageClassName = useMemo(\n () => classnames(backupImageClassName, style.backupImage),\n [backupImageClassName]\n );\n\n useEffect(() => {\n // enzyme does not handle well the state update after an async useEffect in tests\n // to remove when the migration towards @testing-library/react is done\n /* istanbul ignore next */\n if (\n animationItem &&\n includes(animationControl, keys(omit('loading', ANIMATION_CONTROL))) &&\n !autoplay\n ) {\n setIsAnimationVisible(true);\n animationItem[animationControl]();\n if (animationControl === ANIMATION_CONTROL.stop) setIsAnimationVisible(false);\n }\n }, [animationControl, animationItem, autoplay]);\n\n useEffect(() => {\n const loadAnimation = async () => {\n if (!_isIE11 && !animationItem) {\n /* istanbul ignore else */\n if (typeof window !== 'undefined') {\n window.lottie = lottie;\n }\n const animation = await fetchAndLoadAnimation(\n lottie,\n unfetch,\n animationSrc,\n containerRef,\n loop,\n lottieAnimationClassName,\n hideOnTransparent,\n autoplay\n );\n\n /* istanbul ignore next */\n setAnimationItem(animation);\n }\n };\n\n loadAnimation();\n return () => animationItem && /* istanbul ignore next */ lottie.destroy(animationItem.name);\n }, [\n lottieAnimationClassName,\n containerRef,\n hideOnTransparent,\n loop,\n animationSrc,\n _isIE11,\n animationItem,\n autoplay\n ]);\n\n return (\n <div\n ref={containerRef}\n aria-label={ariaLabel}\n data-name={dataName}\n className={wrapperClassName}\n style={{\n ...(width && {\n width: `${width}px`,\n maxWidth: `${width}px`\n }),\n ...(height && {\n height: `${height}px`,\n maxHeight: `${height}px`\n }),\n opacity: isAnimationVisible ? 1 : 0,\n transition: 'opacity 0.25s ease-in'\n }}\n >\n {_isIE11 ? (\n <img\n src={ie11ImageBackup}\n className={ie11BackupImageClassName}\n data-name=\"ie11-backup-image\"\n />\n ) : null}\n </div>\n );\n};\n\nLottieWrapper.propTypes = {\n 'aria-label': PropTypes.string.isRequired,\n 'data-name': PropTypes.string,\n animationSrc: PropTypes.string.isRequired,\n loop: PropTypes.bool,\n rendererSettings: PropTypes.shape({\n hideOnTransparent: PropTypes.bool,\n className: PropTypes.string\n }),\n height: PropTypes.number,\n width: PropTypes.number,\n className: PropTypes.string,\n ie11ImageBackup: PropTypes.string.isRequired,\n backupImageClassName: PropTypes.string,\n autoplay: PropTypes.bool,\n animationControl: PropTypes.oneOf(keys(ANIMATION_CONTROL))\n};\n\nexport default LottieWrapper;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/lottie-wrapper/index.js"],"names":["ANIMATION_CONTROL","play","pause","stop","loading","isIE11","window","userAgent","hasMsCrypto","hasRevision","hasTrident","fetchAndLoadAnimation","_lottie","_fetch","animationSrc","containerRef","loop","animationClassnames","hideOnTransparent","autoplay","animationUrl","URL","toString","fetchResult","headers","animationData","json","animation","loadAnimation","container","current","renderer","rendererSettings","className","preserveAspectRatio","LottieWrapper","props","dataName","ariaLabel","width","height","ie11ImageBackup","backupImageClassName","animationControl","animationClassName","animationItem","setAnimationItem","isAnimationVisible","setIsAnimationVisible","_isIE11","wrapperClassName","style","lottieContainer","lottieAnimationClassName","ie11BackupImageClassName","backupImage","lottie","unfetch","destroy","name","maxWidth","maxHeight","opacity","transition","propTypes","PropTypes","string","isRequired","bool","shape","number","oneOf"],"mappings":"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","sourcesContent":["import React, {useMemo, useRef, useEffect, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport lottie from 'lottie-web';\nimport get from 'lodash/fp/get';\nimport has from 'lodash/fp/has';\nimport includes from 'lodash/fp/includes';\nimport keys from 'lodash/fp/keys';\nimport omit from 'lodash/fp/omit';\nimport unfetch from 'isomorphic-unfetch';\nimport style from './style.css';\n\nexport const ANIMATION_CONTROL = {\n play: 'play',\n pause: 'pause',\n stop: 'stop',\n loading: 'loading'\n};\n\nconst isIE11 = () => {\n if (typeof window === 'undefined') return;\n const userAgent = get('navigator.userAgent', window);\n const hasMsCrypto = has('msCrypto', window);\n const hasRevision = includes('rv:', userAgent);\n const hasTrident = includes('Trident/', userAgent);\n\n return hasMsCrypto || (hasRevision && hasTrident);\n};\n\nexport const fetchAndLoadAnimation = async (\n _lottie,\n _fetch,\n animationSrc,\n containerRef,\n loop,\n animationClassnames,\n hideOnTransparent,\n autoplay\n) => {\n const animationUrl = new URL(animationSrc).toString();\n const fetchResult = await _fetch(animationUrl, {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'Content-Type': 'application/json'\n }\n });\n\n const animationData = await fetchResult.json();\n\n const animation = _lottie.loadAnimation({\n container: containerRef.current, // the dom element that will contain the animation\n renderer: 'svg',\n autoplay,\n loop,\n animationData,\n rendererSettings: {\n className: animationClassnames,\n hideOnTransparent,\n preserveAspectRatio: 'xMidYMid meet' // same options as a preserveAspectRatio prop\n }\n });\n return animation;\n};\n\nconst LottieWrapper = props => {\n const {\n className,\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n animationSrc,\n loop = false,\n rendererSettings = {},\n width,\n height,\n ie11ImageBackup,\n backupImageClassName,\n autoplay = true,\n animationControl\n } = props;\n\n const {className: animationClassName, hideOnTransparent = true} = rendererSettings;\n\n const containerRef = useRef(null);\n\n // lottie's animation instance\n const [animationItem, setAnimationItem] = useState(null);\n\n const [isAnimationVisible, setIsAnimationVisible] = useState(autoplay);\n\n const _isIE11 = useMemo(() => isIE11(), []);\n\n const wrapperClassName = useMemo(() => classnames(className, style.lottieContainer), [className]);\n\n const lottieAnimationClassName = useMemo(() => classnames(animationClassName, style.animation), [\n animationClassName\n ]);\n\n const ie11BackupImageClassName = useMemo(\n () => classnames(backupImageClassName, style.backupImage),\n [backupImageClassName]\n );\n\n useEffect(() => {\n // enzyme does not handle well the state update after an async useEffect in tests\n // to remove when the migration towards @testing-library/react is done\n /* istanbul ignore next */\n if (includes(animationControl, keys(omit('loading', ANIMATION_CONTROL))) && !autoplay) {\n setIsAnimationVisible(true);\n if (animationItem) animationItem[animationControl]();\n if (animationControl === ANIMATION_CONTROL.stop) setIsAnimationVisible(false);\n }\n }, [animationControl, animationItem, autoplay]);\n\n useEffect(() => {\n const loadAnimation = async () => {\n if (!_isIE11 && !animationItem) {\n /* istanbul ignore else */\n if (typeof window !== 'undefined') {\n window.lottie = lottie;\n }\n const animation = await fetchAndLoadAnimation(\n lottie,\n unfetch,\n animationSrc,\n containerRef,\n loop,\n lottieAnimationClassName,\n hideOnTransparent,\n autoplay\n );\n\n /* istanbul ignore next */\n setAnimationItem(animation);\n }\n };\n\n loadAnimation();\n return () => animationItem && /* istanbul ignore next */ lottie.destroy(animationItem.name);\n }, [\n lottieAnimationClassName,\n containerRef,\n hideOnTransparent,\n loop,\n animationSrc,\n _isIE11,\n animationItem,\n autoplay\n ]);\n\n return (\n <div\n ref={containerRef}\n aria-label={ariaLabel}\n data-name={dataName}\n className={wrapperClassName}\n style={{\n ...(width && {\n width: `${width}px`,\n maxWidth: `${width}px`\n }),\n ...(height && {\n height: `${height}px`,\n maxHeight: `${height}px`\n }),\n opacity: isAnimationVisible ? 1 : 0,\n transition: 'opacity 0.25s ease-in'\n }}\n >\n {_isIE11 ? (\n <img\n src={ie11ImageBackup}\n className={ie11BackupImageClassName}\n data-name=\"ie11-backup-image\"\n />\n ) : null}\n </div>\n );\n};\n\nLottieWrapper.propTypes = {\n 'aria-label': PropTypes.string.isRequired,\n 'data-name': PropTypes.string,\n animationSrc: PropTypes.string.isRequired,\n loop: PropTypes.bool,\n rendererSettings: PropTypes.shape({\n hideOnTransparent: PropTypes.bool,\n className: PropTypes.string\n }),\n height: PropTypes.number,\n width: PropTypes.number,\n className: PropTypes.string,\n ie11ImageBackup: PropTypes.string.isRequired,\n backupImageClassName: PropTypes.string,\n autoplay: PropTypes.bool,\n animationControl: PropTypes.oneOf(keys(ANIMATION_CONTROL))\n};\n\nexport default LottieWrapper;\n"],"file":"index.js"}
@@ -66,6 +66,7 @@ const BrandCreateForm = (props, context) => {
66
66
  className: fieldClass
67
67
  }, /*#__PURE__*/_react.default.createElement("label", null, /*#__PURE__*/_react.default.createElement("input", {
68
68
  type: "text",
69
+ maxLength: "40",
69
70
  "data-name": "brand_create_text_input",
70
71
  placeholder: field.placeholder,
71
72
  defaultValue: field.value,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecule/brand-create-form/index.js"],"names":["BrandCreateForm","props","context","title","subtitle","description","field","onSubmit","submitValue","isPending","isModified","translate","waitMessage","wrapperClass","error","style","modifiedWrapper","wrapper","fieldClass","default","disabled","onChange","handleChange","e","target","value","actionView","wait","loading","header","content","placeholder","label","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","isRequired","shape","func","bool"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '../../atom/button';\nimport Loader from '../../atom/loader';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\n\nconst BrandCreateForm = (props, context) => {\n const {title, subtitle, description, field, onSubmit, submitValue, isPending, isModified} = props;\n const {translate} = context;\n const waitMessage = translate('Wait_creation');\n\n const wrapperClass =\n isModified || isPending || field.error ? style.modifiedWrapper : style.wrapper;\n const fieldClass = field.error ? style.error : style.default;\n const disabled = isPending || !isModified;\n const {onChange} = field;\n const handleChange = useMemo(() => e => onChange(e.target.value), [onChange]);\n\n const actionView = isPending ? (\n <div>\n <div className={style.wait}>{waitMessage}</div>\n <div className={style.loading}>\n <Loader />\n </div>\n </div>\n ) : (\n <div>\n <Button\n data-name=\"brand_create_submit_button\"\n type=\"submit\"\n disabled={disabled}\n submitValue={submitValue}\n />\n </div>\n );\n\n return (\n <div className={wrapperClass}>\n <div className={style.header}>\n <h1>{title}</h1>\n </div>\n <form className={style.content} onSubmit={onSubmit}>\n <h2>{subtitle}</h2>\n <div className={style.description}>{description}</div>\n <div className={fieldClass}>\n <label>\n <input\n type=\"text\"\n data-name=\"brand_create_text_input\"\n placeholder={field.placeholder}\n defaultValue={field.value}\n onInput={handleChange}\n />\n {field.label}\n </label>\n </div>\n {actionView}\n </form>\n </div>\n );\n};\n\nBrandCreateForm.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nBrandCreateForm.propTypes = {\n title: PropTypes.string.isRequired,\n subtitle: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n field: PropTypes.shape({\n placeholder: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n error: PropTypes.string,\n value: PropTypes.string\n }).isRequired,\n onSubmit: PropTypes.func.isRequired,\n submitValue: PropTypes.string.isRequired,\n isPending: PropTypes.bool,\n isModified: PropTypes.bool\n};\n\nexport default BrandCreateForm;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/molecule/brand-create-form/index.js"],"names":["BrandCreateForm","props","context","title","subtitle","description","field","onSubmit","submitValue","isPending","isModified","translate","waitMessage","wrapperClass","error","style","modifiedWrapper","wrapper","fieldClass","default","disabled","onChange","handleChange","e","target","value","actionView","wait","loading","header","content","placeholder","label","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","isRequired","shape","func","bool"],"mappings":"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","sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '../../atom/button';\nimport Loader from '../../atom/loader';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\n\nconst BrandCreateForm = (props, context) => {\n const {title, subtitle, description, field, onSubmit, submitValue, isPending, isModified} = props;\n const {translate} = context;\n const waitMessage = translate('Wait_creation');\n\n const wrapperClass =\n isModified || isPending || field.error ? style.modifiedWrapper : style.wrapper;\n const fieldClass = field.error ? style.error : style.default;\n const disabled = isPending || !isModified;\n const {onChange} = field;\n const handleChange = useMemo(() => e => onChange(e.target.value), [onChange]);\n\n const actionView = isPending ? (\n <div>\n <div className={style.wait}>{waitMessage}</div>\n <div className={style.loading}>\n <Loader />\n </div>\n </div>\n ) : (\n <div>\n <Button\n data-name=\"brand_create_submit_button\"\n type=\"submit\"\n disabled={disabled}\n submitValue={submitValue}\n />\n </div>\n );\n\n return (\n <div className={wrapperClass}>\n <div className={style.header}>\n <h1>{title}</h1>\n </div>\n <form className={style.content} onSubmit={onSubmit}>\n <h2>{subtitle}</h2>\n <div className={style.description}>{description}</div>\n <div className={fieldClass}>\n <label>\n <input\n type=\"text\"\n maxLength=\"40\"\n data-name=\"brand_create_text_input\"\n placeholder={field.placeholder}\n defaultValue={field.value}\n onInput={handleChange}\n />\n {field.label}\n </label>\n </div>\n {actionView}\n </form>\n </div>\n );\n};\n\nBrandCreateForm.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nBrandCreateForm.propTypes = {\n title: PropTypes.string.isRequired,\n subtitle: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n field: PropTypes.shape({\n placeholder: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n error: PropTypes.string,\n value: PropTypes.string\n }).isRequired,\n onSubmit: PropTypes.func.isRequired,\n submitValue: PropTypes.string.isRequired,\n isPending: PropTypes.bool,\n isModified: PropTypes.bool\n};\n\nexport default BrandCreateForm;\n"],"file":"index.js"}
@@ -12,9 +12,10 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
12
12
  var _default = {
13
13
  props: {
14
14
  list: [_extends(_extends({}, _default2.default.props), {}, {
15
- title: 'Add a badge'
15
+ title: 'Add a badge',
16
+ disabled: true
16
17
  })]
17
18
  }
18
19
  };
19
20
  exports.default = _default;
20
- //# sourceMappingURL=without-checkbox.js.map
21
+ //# sourceMappingURL=disabled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/molecule/drag-and-drop-wrapper/test/fixtures/disabled.js"],"names":["props","list","firstdDragAndDrop","title","disabled"],"mappings":";;;;;AAAA;;;;;;eAEe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAE,uBAAKC,kBAAkBF,KAAvB;AAA8BG,MAAAA,KAAK,EAAE,aAArC;AAAoDC,MAAAA,QAAQ,EAAE;AAA9D;AADD;AADM,C","sourcesContent":["import firstdDragAndDrop from '../../../../atom/image-upload/test/fixtures/default';\n\nexport default {\n props: {\n list: [{...firstdDragAndDrop.props, title: 'Add a badge', disabled: true}]\n }\n};\n"],"file":"disabled.js"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = exports.setAnimations = void 0;
5
+
6
+ var _multiply2 = _interopRequireDefault(require("lodash/fp/multiply"));
7
+
8
+ var _parseInt3 = _interopRequireDefault(require("lodash/fp/parseInt"));
9
+
10
+ var _round2 = _interopRequireDefault(require("lodash/fp/round"));
11
+
12
+ var _pipe2 = _interopRequireDefault(require("lodash/fp/pipe"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _classnames = _interopRequireDefault(require("classnames"));
19
+
20
+ var _novaIcons = require("@coorpacademy/nova-icons");
21
+
22
+ var _lottieWrapper = _interopRequireDefault(require("../../atom/lottie-wrapper"));
23
+
24
+ var _animation = _interopRequireWildcard(require("../../hoc/animation"));
25
+
26
+ var _animationScheduler = _interopRequireDefault(require("../../hoc/animation-scheduler"));
27
+
28
+ var _style = _interopRequireDefault(require("./style.css"));
29
+
30
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
31
+
32
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
+
34
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
+
36
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
37
+
38
+ const setAnimations = (setIsAnimationVisible, setIsAnimated) => () => {
39
+ setIsAnimationVisible('play');
40
+ setIsAnimated(true);
41
+ };
42
+
43
+ exports.setAnimations = setAnimations;
44
+
45
+ const ReviewCardCongrats = props => {
46
+ const {
47
+ 'aria-label': ariaLabel,
48
+ 'data-name': dataName,
49
+ animationLottie,
50
+ cardType,
51
+ iconAriaLabel,
52
+ className,
53
+ reviewCardTitle,
54
+ reviewCardValue,
55
+ rankSuffix,
56
+ timerAnimation
57
+ } = props;
58
+ const [isAnimationVisible, setIsAnimationVisible] = (0, _react.useState)('loading');
59
+ const [isAnimated, setIsAnimated] = (0, _react.useState)(false);
60
+ (0, _react.useEffect)(() => {
61
+ let timer; // istanbul ignore else
62
+
63
+ if (!isAnimationVisible || !isAnimated) {
64
+ timer = setTimeout(setAnimations(setIsAnimationVisible, setIsAnimated), timerAnimation);
65
+ }
66
+
67
+ return () => timer && clearTimeout(timer);
68
+ }, [timerAnimation]);
69
+ const wrapperClassName = (0, _classnames.default)(className, _style.default.cardContainer, cardType === 'card-star' ? _style.default.cardStar : _style.default.cardRank);
70
+ return /*#__PURE__*/_react.default.createElement("div", {
71
+ className: wrapperClassName,
72
+ "aria-label": ariaLabel,
73
+ "data-name": dataName
74
+ }, /*#__PURE__*/_react.default.createElement("div", {
75
+ className: _style.default.mainIcon
76
+ }, /*#__PURE__*/_react.default.createElement(_lottieWrapper.default, _extends({}, animationLottie, {
77
+ loop: false,
78
+ animationControl: isAnimationVisible,
79
+ autoplay: false,
80
+ "data-name": "lottie-wrapper",
81
+ className: _style.default.wrapperLottie,
82
+ backupImageClassName: _style.default.ie11Backup
83
+ }))), /*#__PURE__*/_react.default.createElement("div", {
84
+ className: _style.default.title
85
+ }, reviewCardTitle), /*#__PURE__*/_react.default.createElement("div", {
86
+ className: cardType === 'card-star' ? _style.default.textContainerStar : _style.default.textContainerRank
87
+ }, cardType === 'card-rank' ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaSolidVoteRewardsRewardsBadge5, {
88
+ className: _style.default.iconRank,
89
+ width: 40,
90
+ height: 40,
91
+ "aria-label": iconAriaLabel
92
+ }) : null, /*#__PURE__*/_react.default.createElement(_animationScheduler.default, {
93
+ animated: isAnimated
94
+ }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("span", {
95
+ className: cardType === 'card-star' ? _style.default.textStar : _style.default.textRank
96
+ }, /*#__PURE__*/_react.default.createElement(_animation.default, {
97
+ name: "counter",
98
+ bezier: _animation.EASE_OUT_CUBIC,
99
+ duration: 2000
100
+ }, progress => (0, _pipe2.default)((0, _parseInt3.default)(10), (0, _multiply2.default)(progress), _round2.default)(reviewCardValue))))), cardType === 'card-star' ? /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyStar, {
101
+ className: _style.default.iconStar,
102
+ width: 53,
103
+ height: 53,
104
+ "aria-label": iconAriaLabel
105
+ }) : /*#__PURE__*/_react.default.createElement("div", {
106
+ className: _style.default.rankSuffix
107
+ }, rankSuffix)));
108
+ };
109
+
110
+ ReviewCardCongrats.propTypes = process.env.NODE_ENV !== "production" ? {
111
+ 'aria-label': _propTypes.default.string,
112
+ 'data-name': _propTypes.default.string,
113
+ animationLottie: _propTypes.default.shape(_lottieWrapper.default.propTypes),
114
+ cardType: _propTypes.default.string,
115
+ iconAriaLabel: _propTypes.default.string,
116
+ className: _propTypes.default.string,
117
+ reviewCardTitle: _propTypes.default.string,
118
+ reviewCardValue: _propTypes.default.string,
119
+ rankSuffix: _propTypes.default.string,
120
+ timerAnimation: _propTypes.default.number
121
+ } : {};
122
+ var _default = ReviewCardCongrats;
123
+ exports.default = _default;
124
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/molecule/review-card-congrats/index.js"],"names":["setAnimations","setIsAnimationVisible","setIsAnimated","ReviewCardCongrats","props","ariaLabel","dataName","animationLottie","cardType","iconAriaLabel","className","reviewCardTitle","reviewCardValue","rankSuffix","timerAnimation","isAnimationVisible","isAnimated","timer","setTimeout","clearTimeout","wrapperClassName","style","cardContainer","cardStar","cardRank","mainIcon","wrapperLottie","ie11Backup","title","textContainerStar","textContainerRank","iconRank","textStar","textRank","EASE_OUT_CUBIC","progress","iconStar","propTypes","PropTypes","string","shape","AtomLottieWrapper","number"],"mappings":"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","sourcesContent":["import React, {useEffect, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {pipe, round, parseInt as _parseInt, multiply} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaSolidVoteRewardsRewardsBadge5 as RankIcon\n} from '@coorpacademy/nova-icons';\nimport AtomLottieWrapper from '../../atom/lottie-wrapper';\nimport Animation, {EASE_OUT_CUBIC} from '../../hoc/animation';\nimport AnimationScheduler from '../../hoc/animation-scheduler';\nimport style from './style.css';\n\nexport const setAnimations = (setIsAnimationVisible, setIsAnimated) => () => {\n setIsAnimationVisible('play');\n setIsAnimated(true);\n};\n\nconst ReviewCardCongrats = props => {\n const {\n 'aria-label': ariaLabel,\n 'data-name': dataName,\n animationLottie,\n cardType,\n iconAriaLabel,\n className,\n reviewCardTitle,\n reviewCardValue,\n rankSuffix,\n timerAnimation\n } = props;\n\n const [isAnimationVisible, setIsAnimationVisible] = useState('loading');\n const [isAnimated, setIsAnimated] = useState(false);\n\n useEffect(() => {\n let timer;\n // istanbul ignore else\n if (!isAnimationVisible || !isAnimated) {\n timer = setTimeout(setAnimations(setIsAnimationVisible, setIsAnimated), timerAnimation);\n }\n return () => timer && clearTimeout(timer);\n }, [timerAnimation]);\n\n const wrapperClassName = classnames(\n className,\n style.cardContainer,\n cardType === 'card-star' ? style.cardStar : style.cardRank\n );\n\n return (\n <div className={wrapperClassName} aria-label={ariaLabel} data-name={dataName}>\n <div className={style.mainIcon}>\n <AtomLottieWrapper\n {...animationLottie}\n loop={false}\n animationControl={isAnimationVisible}\n autoplay={false}\n data-name=\"lottie-wrapper\"\n className={style.wrapperLottie}\n backupImageClassName={style.ie11Backup}\n />\n </div>\n <div className={style.title}>{reviewCardTitle}</div>\n <div className={cardType === 'card-star' ? style.textContainerStar : style.textContainerRank}>\n {cardType === 'card-rank' ? (\n <RankIcon className={style.iconRank} width={40} height={40} aria-label={iconAriaLabel} />\n ) : null}\n <AnimationScheduler animated={isAnimated}>\n <div>\n <span className={cardType === 'card-star' ? style.textStar : style.textRank}>\n <Animation name=\"counter\" bezier={EASE_OUT_CUBIC} duration={2000}>\n {progress => pipe(_parseInt(10), multiply(progress), round)(reviewCardValue)}\n </Animation>\n </span>\n </div>\n </AnimationScheduler>\n {cardType === 'card-star' ? (\n <StarIcon className={style.iconStar} width={53} height={53} aria-label={iconAriaLabel} />\n ) : (\n <div className={style.rankSuffix}>{rankSuffix}</div>\n )}\n </div>\n </div>\n );\n};\n\nReviewCardCongrats.propTypes = {\n 'aria-label': PropTypes.string,\n 'data-name': PropTypes.string,\n animationLottie: PropTypes.shape(AtomLottieWrapper.propTypes),\n cardType: PropTypes.string,\n iconAriaLabel: PropTypes.string,\n className: PropTypes.string,\n reviewCardTitle: PropTypes.string,\n reviewCardValue: PropTypes.string,\n rankSuffix: PropTypes.string,\n timerAnimation: PropTypes.number\n};\n\nexport default ReviewCardCongrats;\n"],"file":"index.js"}
@@ -0,0 +1,139 @@
1
+ @value breakpoints: "../../variables/breakpoints.css";
2
+ @value mobile from breakpoints;
3
+ @value colors: "../../variables/colors.css";
4
+ @value cm_blue_900 from colors;
5
+ @value cm_positive_100 from colors;
6
+ @value cm_yellow_secondary_200 from colors;
7
+
8
+ @keyframes fadeIn {
9
+ 0% {
10
+ opacity: 0;
11
+ }
12
+ 100% {
13
+ opacity: 1;
14
+ }
15
+ }
16
+
17
+ .textBase {
18
+ font-family: 'Gilroy';
19
+ font-style: normal;
20
+ user-select: none;
21
+ }
22
+
23
+ .textContainerBase {
24
+ display: flex;
25
+ align-items: center;
26
+ margin-bottom: 40px;
27
+ }
28
+
29
+ .textIconBase {
30
+ composes: textBase;
31
+ font-weight: 700;
32
+ font-size: 64px;
33
+ line-height: 77px;
34
+ }
35
+
36
+ .cardContainer {
37
+ animation: fadeIn 2s ease-in-out forwards;
38
+ backdrop-filter: blur(36px);
39
+ border-radius: 24px;
40
+ display: flex;
41
+ flex-direction: column;
42
+ justify-content: center;
43
+ width: 280px;
44
+ }
45
+
46
+ .cardStar {
47
+ box-shadow: 0px 0px 45px 6px rgba(255, 206, 10, 0.1);
48
+ }
49
+
50
+ .cardRank {
51
+ box-shadow: 0px 0px 45px 6px rgba(24, 187, 152, 0.1);
52
+ }
53
+
54
+ .mainIcon {
55
+ display: flex;
56
+ justify-content: center;
57
+ margin: 20px 0px 12px;
58
+ }
59
+
60
+ .wrapperLottie {
61
+ width: 165px;
62
+ height: 165px;
63
+ }
64
+
65
+ .ie11Backup {
66
+ composes: wrapperLottie;
67
+ }
68
+
69
+ .title {
70
+ composes: textBase;
71
+ color: cm_blue_900;
72
+ font-weight: 400;
73
+ font-size: 28px;
74
+ line-height: 36px;
75
+ text-align: center;
76
+ }
77
+
78
+ .textContainerStar {
79
+ composes: textContainerBase;
80
+ justify-content: flex-end;
81
+ }
82
+
83
+ .textContainerRank {
84
+ composes: textContainerBase;
85
+ justify-content: space-between;
86
+ padding: 0 45px;
87
+ }
88
+
89
+ .textStar {
90
+ composes: textIconBase;
91
+ color: cm_yellow_secondary_200;
92
+ }
93
+
94
+ .textRank {
95
+ composes: textIconBase;
96
+ color: cm_blue_900;
97
+ }
98
+
99
+ .iconStar {
100
+ color: cm_yellow_secondary_200;
101
+ padding: 0 55px 0 10px;
102
+ }
103
+
104
+ .iconRank {
105
+ color: cm_positive_100;
106
+ }
107
+
108
+ .rankSuffix {
109
+ composes: textIconBase;
110
+ color: cm_blue_900;
111
+ }
112
+
113
+ @media mobile {
114
+ .cardContainer {
115
+ width: 240px;
116
+ }
117
+
118
+ .mainIcon {
119
+ margin: 14px 0px 6px;
120
+ }
121
+
122
+ .textContainerBase {
123
+ margin-bottom: 20px;
124
+ }
125
+
126
+ .iconStar {
127
+ color: cm_yellow_secondary_200;
128
+ padding: 0 35px 0 10px;
129
+ }
130
+
131
+ .wrapperLottie {
132
+ width: 140px;
133
+ height: 140px;
134
+ }
135
+
136
+ .textStar, .textRank, .rankSuffix {
137
+ font-size: 54px;
138
+ }
139
+ }