@coorpacademy/components 10.19.1 → 10.19.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/atom/button-link-icon-only/test/button-link-icon-only.js +18 -23
- package/es/atom/button-link-icon-only/test/button-link-icon-only.js.map +1 -1
- package/es/atom/checkbox/index.js +25 -41
- package/es/atom/checkbox/index.js.map +1 -1
- package/es/atom/checkbox/test/fixtures/default.js +2 -1
- package/es/atom/checkbox/test/fixtures/default.js.map +1 -1
- package/es/atom/checkbox/test/on-change.js +25 -22
- package/es/atom/checkbox/test/on-change.js.map +1 -1
- package/es/atom/clue/index.js +2 -1
- package/es/atom/clue/index.js.map +1 -1
- package/es/atom/clue/test/see-clue.js +83 -58
- package/es/atom/clue/test/see-clue.js.map +1 -1
- package/es/atom/lottie-wrapper/index.js +1 -1
- package/es/atom/lottie-wrapper/index.js.map +1 -1
- package/es/atom/review-background/style.css +1 -1
- package/es/atom/review-header-step-item/index.js +7 -3
- package/es/atom/review-header-step-item/index.js.map +1 -1
- package/es/atom/review-header-step-item/style.css +7 -10
- package/es/atom/review-presentation/index.js +10 -2
- package/es/atom/review-presentation/index.js.map +1 -1
- package/es/molecule/dashboard/cards-list/index.js +3 -7
- package/es/molecule/dashboard/cards-list/index.js.map +1 -1
- package/es/molecule/review-correction-popin/index.js +5 -2
- package/es/molecule/review-correction-popin/index.js.map +1 -1
- package/es/molecule/review-correction-popin/test/fixtures/wrong.js +1 -0
- package/es/molecule/review-correction-popin/test/fixtures/wrong.js.map +1 -1
- package/es/molecule/review-header-steps/index.js +3 -3
- package/es/molecule/review-header-steps/index.js.map +1 -1
- package/es/organism/review-congrats/index.js +1 -1
- package/es/organism/review-congrats/index.js.map +1 -1
- package/es/organism/review-congrats/style.css +0 -1
- package/es/organism/review-header/index.js +3 -3
- package/es/organism/review-header/index.js.map +1 -1
- package/es/organism/review-header/style.css +1 -1
- package/es/organism/review-header/test/fixtures/all-questions-ok.js +3 -1
- package/es/organism/review-header/test/fixtures/all-questions-ok.js.map +1 -1
- package/es/template/slides-review/index.js +421 -0
- package/es/template/slides-review/index.js.map +1 -0
- package/es/template/slides-review/style.css +373 -0
- package/es/template/slides-review/test/fixtures/failure.js +37 -0
- package/es/template/slides-review/test/fixtures/failure.js.map +1 -0
- package/es/template/slides-review/test/fixtures/only-once-on-last-slide.js +29 -0
- package/es/template/slides-review/test/fixtures/only-once-on-last-slide.js.map +1 -0
- package/es/template/slides-review/test/fixtures/random-responses.js +34 -0
- package/es/template/slides-review/test/fixtures/random-responses.js.map +1 -0
- package/es/template/slides-review/test/fixtures/success.js +54 -0
- package/es/template/slides-review/test/fixtures/success.js.map +1 -0
- package/es/template/slides-review/test/fixtures.js +19 -0
- package/es/template/slides-review/test/fixtures.js.map +1 -0
- package/es/template/slides-review/test/slides-review.js +147 -0
- package/es/template/slides-review/test/slides-review.js.map +1 -0
- package/es/util/render-with-context.js +35 -0
- package/es/util/render-with-context.js.map +1 -0
- package/es/util/test/render-with-context.js +91 -0
- package/es/util/test/render-with-context.js.map +1 -0
- package/lib/atom/button-link-icon-only/test/button-link-icon-only.js +20 -24
- package/lib/atom/button-link-icon-only/test/button-link-icon-only.js.map +1 -1
- package/lib/atom/checkbox/index.js +29 -41
- package/lib/atom/checkbox/index.js.map +1 -1
- package/lib/atom/checkbox/test/fixtures/default.js +2 -1
- package/lib/atom/checkbox/test/fixtures/default.js.map +1 -1
- package/lib/atom/checkbox/test/on-change.js +29 -23
- package/lib/atom/checkbox/test/on-change.js.map +1 -1
- package/lib/atom/clue/index.js +2 -1
- package/lib/atom/clue/index.js.map +1 -1
- package/lib/atom/clue/test/see-clue.js +88 -59
- package/lib/atom/clue/test/see-clue.js.map +1 -1
- package/lib/atom/lottie-wrapper/index.js +1 -1
- package/lib/atom/lottie-wrapper/index.js.map +1 -1
- package/lib/atom/review-background/style.css +1 -1
- package/lib/atom/review-header-step-item/index.js +10 -4
- package/lib/atom/review-header-step-item/index.js.map +1 -1
- package/lib/atom/review-header-step-item/style.css +7 -10
- package/lib/atom/review-presentation/index.js +10 -2
- package/lib/atom/review-presentation/index.js.map +1 -1
- package/lib/molecule/dashboard/cards-list/index.js +3 -7
- package/lib/molecule/dashboard/cards-list/index.js.map +1 -1
- package/lib/molecule/review-correction-popin/index.js +5 -2
- package/lib/molecule/review-correction-popin/index.js.map +1 -1
- package/lib/molecule/review-correction-popin/test/fixtures/wrong.js +1 -0
- package/lib/molecule/review-correction-popin/test/fixtures/wrong.js.map +1 -1
- package/lib/molecule/review-header-steps/index.js +3 -3
- package/lib/molecule/review-header-steps/index.js.map +1 -1
- package/lib/organism/review-congrats/index.js +1 -1
- package/lib/organism/review-congrats/index.js.map +1 -1
- package/lib/organism/review-congrats/style.css +0 -1
- package/lib/organism/review-header/index.js.map +1 -1
- package/lib/organism/review-header/style.css +1 -1
- package/lib/organism/review-header/test/fixtures/all-questions-ok.js +3 -1
- package/lib/organism/review-header/test/fixtures/all-questions-ok.js.map +1 -1
- package/lib/template/slides-review/index.js +447 -0
- package/lib/template/slides-review/index.js.map +1 -0
- package/lib/template/slides-review/style.css +373 -0
- package/lib/template/slides-review/test/fixtures/failure.js +50 -0
- package/lib/template/slides-review/test/fixtures/failure.js.map +1 -0
- package/lib/template/slides-review/test/fixtures/only-once-on-last-slide.js +39 -0
- package/lib/template/slides-review/test/fixtures/only-once-on-last-slide.js.map +1 -0
- package/lib/template/slides-review/test/fixtures/random-responses.js +45 -0
- package/lib/template/slides-review/test/fixtures/random-responses.js.map +1 -0
- package/lib/template/slides-review/test/fixtures/success.js +67 -0
- package/lib/template/slides-review/test/fixtures/success.js.map +1 -0
- package/lib/template/slides-review/test/fixtures.js +31 -0
- package/lib/template/slides-review/test/fixtures.js.map +1 -0
- package/lib/template/slides-review/test/slides-review.js +163 -0
- package/lib/template/slides-review/test/slides-review.js.map +1 -0
- package/lib/util/render-with-context.js +49 -0
- package/lib/util/render-with-context.js.map +1 -0
- package/lib/util/test/render-with-context.js +103 -0
- package/lib/util/test/render-with-context.js.map +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/molecule/dashboard/cards-list/index.js"],"names":["ShowMoreLink","props","onShowMore","showMore","className","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","func","string","IconView","context","contentType","ICONS","chapter","TimerIcon","course","LearnerIcon","dark","IconType","style","icon","computeWidth","card","type","nextPage","page","maxPages","CardsList","React","PureComponent","constructor","state","actualPage","scrollLeft","offsetWidth","possiblePositions","possiblePages","cardsWidth","handleScroll_","handleScroll","bind","handleOnLeft","handleOnRight","scrollTo","updateState","updatePages","setCardsWrapper","getScrollWidth","handleResize","componentDidMount","cardsWrapper","addEventListener","window","componentDidUpdate","cards","newCardsWidth","updatePaginationState","setState","componentWillUnmount","removeEventListener","cancel","wrapperWidth","wrapperScrollLeft","cardWidths","cardPositions","accWidth","cardWidth","acc","pageIndex","accPageWidth","pageWidth","skip","position","element","index","onScroll","leftBound","rightBound","leftIndex","rightIndex","limit","indexOfNextFirstCard","indexOf","nextPosition","render","title","dataName","titleStyle","titleLink","cardsView","key","leftArrowView","circle","left","rightArrowView","right","titleView","hasPages","showMoreView","showMoreBar","switchPagesView","pagingWrapper","wrapper","list","header","translate","arrayOf","shape","Card","protoTypes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAgBA;;AACA;;AAMA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,YAAY,GAAGC,KAAK,IAAI;AAC5B,QAAM;AAACC,IAAAA,UAAD;AAAaC,IAAAA,QAAb;AAAuBC,IAAAA;AAAvB,MAAoCH,KAA1C;AACA,sBACE;AAAK,IAAA,SAAS,EAAEG,SAAhB;AAA2B,IAAA,OAAO,EAAEF;AAApC,KACGC,QADH,CADF;AAKD,CAPD;;AASAH,YAAY,CAACK,YAAb,GAA4B;AAC1BC,EAAAA,IAAI,EAAEC,kBAASC,iBAAT,CAA2BF;AADP,CAA5B;AAIAN,YAAY,CAACS,SAAb,2CAAyB;AACvBP,EAAAA,UAAU,EAAEQ,mBAAUC,IADC;AAEvBR,EAAAA,QAAQ,EAAEO,mBAAUE,MAFG;AAGvBR,EAAAA,SAAS,EAAEM,mBAAUE;AAHE,CAAzB;;AAMA,MAAMC,QAAQ,GAAG,CAACZ,KAAD,EAAQa,OAAR,KAAoB;AACnC,QAAM;AAACR,IAAAA;AAAD,MAASQ,OAAf;AACA,QAAM;AAACC,IAAAA;AAAD,MAAgBd,KAAtB;AACA,QAAMe,KAAK,GAAG;AACZC,IAAAA,OAAO,EAAEC,2CADG;AAEZC,IAAAA,MAAM,EAAEC;AAFI,GAAd;;AAKA,MAAI,CAACL,WAAL,EAAkB;AAChB,WAAO,IAAP;AACD;;AAED,QAAMM,IAAI,GAAG,mBAAI,aAAJ,EAAmBf,IAAnB,CAAb;AACA,QAAMgB,QAAQ,GAAGN,KAAK,CAACD,WAAD,CAAtB;AAEA,sBACE,uDACE,6BAAC,QAAD;AAAU,IAAA,KAAK,EAAEM,IAAjB;AAAuB,IAAA,SAAS,EAAEE,eAAMC,IAAxC;AAA8C,wBAAkBT;AAAhE,IADF,CADF;AAKD,CApBD;;AAsBA,MAAMU,YAAY,GAAGC,IAAI,IAAI;AAC3B,UAAQA,IAAI,IAAIA,IAAI,CAACC,IAArB;AACE,SAAK,SAAL;AACE,aAAO,GAAP;;AACF;AACE,aAAO,GAAP;AAJJ;AAMD,CAPD;;AASA,MAAMC,QAAQ,GAAG,CAACC,IAAD,EAAOC,QAAP,KAAoB;AACnC,MAAID,IAAI,GAAG,CAAX,EAAc,OAAOC,QAAP;AACd,MAAID,IAAI,GAAGC,QAAX,EAAqB,OAAO,CAAP;AACrB,SAAOD,IAAP;AACD,CAJD;;AAMAhB,QAAQ,CAACJ,SAAT,2CAAqB;AACnBM,EAAAA,WAAW,EAAEL,mBAAUE;AADJ,CAArB;;AAIA,MAAMmB,SAAN,SAAwBC,eAAMC,aAA9B,CAA4C;AAgB1CC,EAAAA,WAAW,CAACjC,KAAD,EAAQ;AACjB,UAAMA,KAAN;AAEA,SAAKkC,KAAL,GAAa;AACXC,MAAAA,UAAU,EAAE,CADD;AAEXN,MAAAA,QAAQ,EAAE,CAFC;AAGXO,MAAAA,UAAU,EAAE,CAHD;AAIXC,MAAAA,WAAW,EAAE,CAJF;AAKXC,MAAAA,iBAAiB,EAAE,EALR;AAMXC,MAAAA,aAAa,EAAE,EANJ;AAOXC,MAAAA,UAAU,EAAE;AAPD,KAAb;AAUA,SAAKC,aAAL,GAAqB,wBAAS,GAAT,EAAc,KAAKC,YAAL,CAAkBC,IAAlB,CAAuB,IAAvB,CAAd,CAArB;AACA,SAAKD,YAAL,GAAoB,KAAKA,YAAL,CAAkBC,IAAlB,CAAuB,IAAvB,CAApB;AACA,SAAKC,YAAL,GAAoB,KAAKA,YAAL,CAAkBD,IAAlB,CAAuB,IAAvB,CAApB;AACA,SAAKE,aAAL,GAAqB,KAAKA,aAAL,CAAmBF,IAAnB,CAAwB,IAAxB,CAArB;AACA,SAAKG,QAAL,GAAgB,KAAKA,QAAL,CAAcH,IAAd,CAAmB,IAAnB,CAAhB;AACA,SAAKI,WAAL,GAAmB,wBAAS,GAAT,EAAc,KAAKC,WAAL,CAAiBL,IAAjB,CAAsB,IAAtB,CAAd,CAAnB;AACA,SAAKK,WAAL,GAAmB,KAAKA,WAAL,CAAiBL,IAAjB,CAAsB,IAAtB,CAAnB;AACA,SAAKM,eAAL,GAAuB,KAAKA,eAAL,CAAqBN,IAArB,CAA0B,IAA1B,CAAvB;AACA,SAAKO,cAAL,GAAsB,KAAKA,cAAL,CAAoBP,IAApB,CAAyB,IAAzB,CAAtB;AACA,SAAKQ,YAAL,GAAoB,KAAKA,YAAL,CAAkBR,IAAlB,CAAuB,IAAvB,CAApB;AACD;;AAEDS,EAAAA,iBAAiB,GAAG;AAClB,SAAKC,YAAL,CAAkBC,gBAAlB,CAAmC,QAAnC,EAA6C,KAAKb,aAAlD;;AAEA,QAAIc,MAAJ,EAAY;AACVA,MAAAA,MAAM,CAACD,gBAAP,CAAwB,QAAxB,EAAkC,KAAKH,YAAvC;AACD;AACF;;AAEDK,EAAAA,kBAAkB,GAAG;AACnB,UAAM;AAACC,MAAAA,KAAK,GAAG;AAAT,QAAe,KAAKzD,KAA1B;AACA,UAAM;AAACqC,MAAAA,WAAD;AAAcG,MAAAA;AAAd,QAA4B,KAAKN,KAAvC;AACA,UAAMwB,aAAa,GAAG,oBAAK,mBAAIlC,YAAJ,CAAL,iBAA6BiC,KAA7B,CAAtB;;AAEA,QAAIC,aAAa,KAAKlB,UAAlB,IAAgCH,WAAW,KAAK,CAApD,EAAuD;AACrD,WAAKsB,qBAAL,CAA2BF,KAA3B,EADqD,CAErD;;AACA,WAAKG,QAAL,CAAc;AACZpB,QAAAA,UAAU,EAAEkB;AADA,OAAd;AAGD;AACF;;AAEDG,EAAAA,oBAAoB,GAAG;AACrB,SAAKR,YAAL,CAAkBS,mBAAlB,CAAsC,QAAtC,EAAgD,KAAKrB,aAArD;;AAEA,QAAIc,MAAJ,EAAY;AACVA,MAAAA,MAAM,CAACO,mBAAP,CAA2B,QAA3B,EAAqC,KAAKX,YAA1C;AACD;;AACD,SAAKJ,WAAL,CAAiBgB,MAAjB;AACD;;AAEDZ,EAAAA,YAAY,GAAG;AACb,UAAM;AAACM,MAAAA,KAAK,GAAG;AAAT,QAAe,KAAKzD,KAA1B;AACA,SAAK2D,qBAAL,CAA2BF,KAA3B;AACD;;AAEDE,EAAAA,qBAAqB,CAACF,KAAD,EAAQ;AAC3B,UAAM;AAACpB,MAAAA,WAAW,EAAE2B,YAAd;AAA4B5B,MAAAA,UAAU,EAAE6B;AAAxC,QAA6D,KAAK/B,KAAxE;AAEA,UAAMgC,UAAU,GAAG,mBAAI1C,YAAJ,EAAkBiC,KAAlB,CAAnB;AAEA,UAAMnB,iBAAiB,GAAG,oBACxB,sBACE,CAAC,CAAC6B,aAAD,EAAgBC,QAAhB,CAAD,EAA4BC,SAA5B,KAA0C,CACxC,CAAC,GAAGF,aAAJ,EAAmBC,QAAnB,CADwC,EAExCC,SAAS,GAAGD,QAF4B,CAD5C,EAKE,CAAC,EAAD,EAAK,CAAL,CALF,CADwB,kBASxBF,UATwB,CAA1B;AAWA,UAAM3B,aAAa,GAAG,oBACpB,sBACE,CAAC,CAAC+B,GAAD,EAAMC,SAAN,EAAiBC,YAAjB,CAAD,EAAiCH,SAAjC,KAA+C;AAC7C,YAAMI,SAAS,GAAGD,YAAY,GAAGH,SAAjC;;AACA,UAAII,SAAS,GAAGT,YAAhB,EAA8B;AAC5B,eAAO,CAAC,CAAC,GAAGM,GAAJ,EAASC,SAAS,GAAG,CAArB,CAAD,EAA0BA,SAAS,GAAG,CAAtC,EAAyCF,SAAzC,CAAP;AACD;;AACD,aAAO,CAAC,CAAC,GAAGC,GAAJ,EAASC,SAAT,CAAD,EAAsBA,SAAtB,EAAiCE,SAAjC,CAAP;AACD,KAPH,EAQE,CAAC,EAAD,EAAK,CAAL,EAAQ,CAAR,CARF,CADoB,kBAYpBP,UAZoB,CAAtB;AAcA,UAAMQ,IAAI,GAAG,yBAAUC,QAAQ,IAAIA,QAAQ,IAAIV,iBAAlC,EAAqD3B,iBAArD,CAAb;AACA,UAAMH,UAAU,GAAGI,aAAa,CAACmC,IAAI,GAAG,CAAR,CAAhC;AAEA,SAAKd,QAAL,CAAc;AACZtB,MAAAA,iBADY;AAEZC,MAAAA,aAFY;AAGZV,MAAAA,QAAQ,EAAE,oBAAKU,aAAL,CAHE;AAIZJ,MAAAA;AAJY,KAAd;AAMD;;AAEDc,EAAAA,eAAe,CAAC2B,OAAD,EAAU;AAAA;;AACvB,SAAKvB,YAAL,GAAoBuB,OAApB;AACA,SAAKhB,QAAL,CAAc;AACZxB,MAAAA,UAAU,wBAAE,KAAKiB,YAAP,qBAAE,mBAAmBjB,UADnB;AAEZC,MAAAA,WAAW,yBAAE,KAAKgB,YAAP,qBAAE,oBAAmBhB;AAFpB,KAAd;AAID;;AAEDa,EAAAA,cAAc,CAAC2B,KAAD,EAAQ;AACpB,UAAM;AAACpB,MAAAA,KAAK,GAAG;AAAT,QAAe,KAAKzD,KAA1B;AACA,UAAMyB,IAAI,GAAGgC,KAAK,CAACoB,KAAD,CAAlB;AACA,WAAOrD,YAAY,CAACC,IAAD,CAAnB;AACD;;AAEDiB,EAAAA,YAAY,GAAG;AAAA;;AACb,UAAMN,UAAU,0BAAG,KAAKiB,YAAR,qBAAG,oBAAmBjB,UAAtC;AACA,SAAKwB,QAAL,CAAc;AAACxB,MAAAA;AAAD,KAAd;AAEA,UAAM;AAACE,MAAAA,iBAAD;AAAoBD,MAAAA;AAApB,QAAmC,KAAKH,KAA9C;AACA,UAAM;AAAC4C,MAAAA;AAAD,QAAa,KAAK9E,KAAxB;;AACA,QAAI8E,QAAJ,EAAc;AACZ,YAAMC,SAAS,GAAG3C,UAAlB;AACA,YAAM4C,UAAU,GAAG5C,UAAU,GAAGC,WAAhC;AAEA,YAAM4C,SAAS,GAAG,yBAAUN,QAAQ,IAAIA,QAAQ,GAAGI,SAAjC,EAA4CzC,iBAA5C,IAAiE,CAAnF;AACA,YAAM4C,UAAU,GAAG,6BAAcP,QAAQ,IAAIA,QAAQ,GAAGK,UAArC,EAAiD1C,iBAAjD,CAAnB;AACA,YAAMoC,IAAI,GAAGO,SAAb;AACA,YAAME,KAAK,GAAGD,UAAU,GAAGR,IAAb,GAAoB,CAAlC;AAEAI,MAAAA,QAAQ,CAACJ,IAAD,EAAOS,KAAP,CAAR;AACD;AACF;;AAEDvC,EAAAA,YAAY,GAAG;AACb,UAAM;AAACT,MAAAA,UAAD;AAAaN,MAAAA;AAAb,QAAyB,KAAKK,KAApC;AACA,SAAKY,QAAL,CAAcnB,QAAQ,CAACQ,UAAU,GAAG,CAAd,EAAiBN,QAAjB,CAAtB;AACD;;AAEDgB,EAAAA,aAAa,GAAG;AACd,UAAM;AAACV,MAAAA,UAAD;AAAaN,MAAAA;AAAb,QAAyB,KAAKK,KAApC;AACA,SAAKY,QAAL,CAAcnB,QAAQ,CAACQ,UAAU,GAAG,CAAd,EAAiBN,QAAjB,CAAtB;AACD;;AAEDiB,EAAAA,QAAQ,CAAClB,IAAD,EAAO;AACb,UAAM;AAACW,MAAAA,aAAD;AAAgBD,MAAAA;AAAhB,QAAqC,KAAKJ,KAAhD;AACA,UAAMkD,oBAAoB,GAAG7C,aAAa,CAAC8C,OAAd,CAAsBzD,IAAtB,CAA7B;AACA,UAAM0D,YAAY,GAAGhD,iBAAiB,CAAC8C,oBAAD,CAAtC;AACA,SAAK/B,YAAL,CAAkBjB,UAAlB,GAA+BkD,YAA/B;AACA,SAAKtC,WAAL,CAAiBpB,IAAjB;AACA,SAAKgC,QAAL,CAAc;AACZxB,MAAAA,UAAU,EAAEkD;AADA,KAAd;AAGD;;AAEDtC,EAAAA,WAAW,CAACb,UAAD,EAAa;AACtB,SAAKyB,QAAL,CAAc;AACZzB,MAAAA;AADY,KAAd;AAGD;;AAEDoD,EAAAA,MAAM,GAAG;AACP,UAAM;AAACC,MAAAA,KAAD;AAAQtF,MAAAA,QAAR;AAAkBuD,MAAAA,KAAlB;AAAyBxD,MAAAA,UAAzB;AAAqCwF,MAAAA,QAArC;AAA+C3E,MAAAA;AAA/C,QAA8D,KAAKd,KAAzE;AACA,UAAM;AAACK,MAAAA;AAAD,QAAS,KAAKQ,OAApB;AACA,UAAM;AAACgB,MAAAA;AAAD,QAAa,KAAKK,KAAxB;AACA,UAAMd,IAAI,GAAG,qBAAM,SAAN,EAAiB,aAAjB,EAAgCf,IAAhC,CAAb;AACA,UAAMqF,UAAU,GAAGzF,UAAU,GAAGqB,eAAMqE,SAAT,GAAqBrE,eAAMkE,KAAxD;AACA,UAAMI,SAAS,GAAG,uCAEhB,mBAAI,CAAC,CAACC,GAAD,EAAMpE,IAAN,CAAD,KAAiB;AACnB,0BACE;AAAK,QAAA,SAAS,EAAEH,eAAMG,IAAtB;AAA4B,QAAA,GAAG,EAAEoE;AAAjC,sBACE,6BAAC,aAAD,eAAUpE,IAAV;AAAgB,QAAA,QAAQ,EAAG,GAAEgE,QAAS,IAAGI,GAAI;AAA7C,SADF,CADF;AAKD,KAND,CAFgB,EAShBpC,KATgB,CAAlB;;AAUA,UAAMqC,aAAa,gBACjB;AAAK,MAAA,SAAS,EAAExE,eAAMyE,MAAtB;AAA8B,MAAA,OAAO,EAAE,KAAKnD,YAA5C;AAA0D,mBAAU;AAApE,oBACE,6BAAC,6CAAD;AAAW,MAAA,KAAK,EAAExB,IAAlB;AAAwB,MAAA,SAAS,EAAEE,eAAM0E,IAAzC;AAA+C,MAAA,KAAK,EAAE,EAAtD;AAA0D,MAAA,MAAM,EAAE;AAAlE,MADF,CADF;;AAKA,UAAMC,cAAc,gBAClB;AAAK,MAAA,SAAS,EAAE3E,eAAMyE,MAAtB;AAA8B,MAAA,OAAO,EAAE,KAAKlD,aAA5C;AAA2D,mBAAU;AAArE,oBACE,6BAAC,8CAAD;AAAY,MAAA,KAAK,EAAEzB,IAAnB;AAAyB,MAAA,SAAS,EAAEE,eAAM4E,KAA1C;AAAiD,MAAA,KAAK,EAAE,EAAxD;AAA4D,MAAA,MAAM,EAAE;AAApE,MADF,CADF;;AAMA,UAAMC,SAAS,gBACb;AAAM,mBAAU,OAAhB;AAAwB,MAAA,SAAS,EAAET,UAAnC;AAA+C,MAAA,OAAO,EAAEzF;AAAxD,oBACE,6BAAC,QAAD;AAAU,MAAA,WAAW,EAAEa;AAAvB,MADF,eAEE,2CAAO0E,KAAP,CAFF,CADF;;AAOA,UAAMY,QAAQ,GAAGvE,QAAQ,GAAG,CAA5B;AACA,UAAMwE,YAAY,GAChBD,QAAQ,IAAIlG,QAAZ,IAAwBD,UAAxB,gBACE,6BAAC,YAAD;AACE,MAAA,SAAS,EAAEmG,QAAQ,GAAG9E,eAAMgF,WAAT,GAAuBhF,eAAMpB,QADlD;AAEE,MAAA,UAAU,EAAED,UAFd;AAGE,MAAA,QAAQ,EAAEC;AAHZ,MADF,GAMI,IAPN;AASA,UAAMqG,eAAe,GAAGH,QAAQ,gBAC9B;AAAK,MAAA,SAAS,EAAE9E,eAAMkF;AAAtB,OACGH,YADH,EAEGP,aAFH,EAGGG,cAHH,CAD8B,GAM5B,IANJ;AAOA,wBACE;AAAK,MAAA,SAAS,EAAE3E,eAAMmF,OAAtB;AAA+B,mBAAU;AAAzC,oBACE;AAAK,MAAA,SAAS,EAAEnF,eAAMoF;AAAtB,oBACE,uDACE;AAAK,mBAAU,QAAf;AAAwB,MAAA,SAAS,EAAEpF,eAAMqF;AAAzC,OACGR,SADH,EAEGI,eAFH,CADF,eAKE;AAAK,MAAA,SAAS,EAAEjF,eAAMmC,KAAtB;AAA6B,MAAA,GAAG,EAAE,KAAKR;AAAvC,OACG2C,SADH,CALF,CADF,CADF,CADF;AAeD;;AApPyC;;gBAAtC9D,S,kBAWkB;AACpBzB,EAAAA,IAAI,EAAEC,kBAASC,iBAAT,CAA2BF,IADb;AAEpBuG,EAAAA,SAAS,EAAEtG,kBAASC,iBAAT,CAA2BqG;AAFlB,C;;AAXlB9E,S,CACGtB,S,2CAAY;AACjBM,EAAAA,WAAW,EAAEL,mBAAUE,MADN;AAEjB8E,EAAAA,QAAQ,EAAEhF,mBAAUE,MAFH;AAGjB6E,EAAAA,KAAK,EAAE/E,mBAAUE,MAHA;AAIjBT,EAAAA,QAAQ,EAAEO,mBAAUE,MAJH;AAKjB8C,EAAAA,KAAK,EAAEhD,mBAAUoG,OAAV,CAAkBpG,mBAAUqG,KAAV,CAAgBC,cAAKC,UAArB,CAAlB,CALU;AAMjBlC,EAAAA,QAAQ,EAAErE,mBAAUC,IANH;AAOjBT,EAAAA,UAAU,EAAEQ,mBAAUC;AAPL,C;eAsPNoB,S","sourcesContent":["import React from 'react';\nimport {\n debounce,\n throttle,\n get,\n getOr,\n map,\n sum,\n last,\n pipe,\n toPairs,\n reduce,\n head,\n findIndex,\n findLastIndex\n} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionNavigationArrowLeft as ArrowLeft,\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../../atom/provider';\nimport Card from '../../card';\nimport style from './style.css';\n\nconst ShowMoreLink = props => {\n const {onShowMore, showMore, className} = props;\n return (\n <div className={className} onClick={onShowMore}>\n {showMore}\n </div>\n );\n};\n\nShowMoreLink.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nShowMoreLink.propTypes = {\n onShowMore: PropTypes.func,\n showMore: PropTypes.string,\n className: PropTypes.string\n};\n\nconst IconView = (props, context) => {\n const {skin} = context;\n const {contentType} = props;\n const ICONS = {\n chapter: TimerIcon,\n course: LearnerIcon\n };\n\n if (!contentType) {\n return null;\n }\n\n const dark = get('common.dark', skin);\n const IconType = ICONS[contentType];\n\n return (\n <div>\n <IconType color={dark} className={style.icon} data-contenttype={contentType} />\n </div>\n );\n};\n\nconst computeWidth = card => {\n switch (card && card.type) {\n case 'chapter':\n return 219;\n default:\n return 272;\n }\n};\n\nconst nextPage = (page, maxPages) => {\n if (page < 0) return maxPages;\n if (page > maxPages) return 0;\n return page;\n};\n\nIconView.propTypes = {\n contentType: PropTypes.string\n};\n\nclass CardsList extends React.PureComponent {\n static propTypes = {\n contentType: PropTypes.string,\n dataName: PropTypes.string,\n title: PropTypes.string,\n showMore: PropTypes.string,\n cards: PropTypes.arrayOf(PropTypes.shape(Card.protoTypes)),\n onScroll: PropTypes.func,\n onShowMore: PropTypes.func\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n actualPage: 0,\n maxPages: 0,\n scrollLeft: 0,\n offsetWidth: 0,\n possiblePositions: [],\n possiblePages: [],\n cardsWidth: 0\n };\n\n this.handleScroll_ = throttle(200, this.handleScroll.bind(this));\n this.handleScroll = this.handleScroll.bind(this);\n this.handleOnLeft = this.handleOnLeft.bind(this);\n this.handleOnRight = this.handleOnRight.bind(this);\n this.scrollTo = this.scrollTo.bind(this);\n this.updateState = debounce(200, this.updatePages.bind(this));\n this.updatePages = this.updatePages.bind(this);\n this.setCardsWrapper = this.setCardsWrapper.bind(this);\n this.getScrollWidth = this.getScrollWidth.bind(this);\n this.handleResize = this.handleResize.bind(this);\n }\n\n componentDidMount() {\n this.cardsWrapper.addEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.addEventListener('resize', this.handleResize);\n }\n }\n\n componentDidUpdate() {\n const {cards = []} = this.props;\n const {offsetWidth, cardsWidth} = this.state;\n const newCardsWidth = pipe(map(computeWidth), sum)(cards);\n\n if (newCardsWidth !== cardsWidth && offsetWidth !== 0) {\n this.updatePaginationState(cards);\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n cardsWidth: newCardsWidth\n });\n }\n }\n\n componentWillUnmount() {\n this.cardsWrapper.removeEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.removeEventListener('resize', this.handleResize);\n }\n this.updateState.cancel();\n }\n\n handleResize() {\n const {cards = []} = this.props;\n this.updatePaginationState(cards);\n }\n\n updatePaginationState(cards) {\n const {offsetWidth: wrapperWidth, scrollLeft: wrapperScrollLeft} = this.state;\n\n const cardWidths = map(computeWidth)(cards);\n\n const possiblePositions = pipe(\n reduce(\n ([cardPositions, accWidth], cardWidth) => [\n [...cardPositions, accWidth],\n cardWidth + accWidth\n ],\n [[], 0]\n ),\n head\n )(cardWidths);\n\n const possiblePages = pipe(\n reduce(\n ([acc, pageIndex, accPageWidth], cardWidth) => {\n const pageWidth = accPageWidth + cardWidth;\n if (pageWidth > wrapperWidth) {\n return [[...acc, pageIndex + 1], pageIndex + 1, cardWidth];\n }\n return [[...acc, pageIndex], pageIndex, pageWidth];\n },\n [[], 0, 0]\n ),\n head\n )(cardWidths);\n\n const skip = findIndex(position => position >= wrapperScrollLeft, possiblePositions);\n const actualPage = possiblePages[skip + 1];\n\n this.setState({\n possiblePositions,\n possiblePages,\n maxPages: last(possiblePages),\n actualPage\n });\n }\n\n setCardsWrapper(element) {\n this.cardsWrapper = element;\n this.setState({\n scrollLeft: this.cardsWrapper?.scrollLeft,\n offsetWidth: this.cardsWrapper?.offsetWidth\n });\n }\n\n getScrollWidth(index) {\n const {cards = []} = this.props;\n const card = cards[index];\n return computeWidth(card);\n }\n\n handleScroll() {\n const scrollLeft = this.cardsWrapper?.scrollLeft;\n this.setState({scrollLeft});\n\n const {possiblePositions, offsetWidth} = this.state;\n const {onScroll} = this.props;\n if (onScroll) {\n const leftBound = scrollLeft;\n const rightBound = scrollLeft + offsetWidth;\n\n const leftIndex = findIndex(position => position > leftBound, possiblePositions) - 1;\n const rightIndex = findLastIndex(position => position < rightBound, possiblePositions);\n const skip = leftIndex;\n const limit = rightIndex - skip + 1;\n\n onScroll(skip, limit);\n }\n }\n\n handleOnLeft() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage - 1, maxPages));\n }\n\n handleOnRight() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage + 1, maxPages));\n }\n\n scrollTo(page) {\n const {possiblePages, possiblePositions} = this.state;\n const indexOfNextFirstCard = possiblePages.indexOf(page);\n const nextPosition = possiblePositions[indexOfNextFirstCard];\n this.cardsWrapper.scrollLeft = nextPosition;\n this.updatePages(page);\n this.setState({\n scrollLeft: nextPosition\n });\n }\n\n updatePages(actualPage) {\n this.setState({\n actualPage\n });\n }\n\n render() {\n const {title, showMore, cards, onShowMore, dataName, contentType} = this.props;\n const {skin} = this.context;\n const {maxPages} = this.state;\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const titleStyle = onShowMore ? style.titleLink : style.title;\n const cardsView = pipe(\n toPairs,\n map(([key, card]) => {\n return (\n <div className={style.card} key={key}>\n <Card {...card} dataName={`${dataName}-${key}`} />\n </div>\n );\n })\n )(cards);\n const leftArrowView = (\n <div className={style.circle} onClick={this.handleOnLeft} data-name=\"card-list-left-arrow\">\n <ArrowLeft color={dark} className={style.left} width={10} height={10} />\n </div>\n );\n const rightArrowView = (\n <div className={style.circle} onClick={this.handleOnRight} data-name=\"card-list-right-arrow\">\n <ArrowRight color={dark} className={style.right} width={10} height={10} />\n </div>\n );\n\n const titleView = (\n <span data-name=\"title\" className={titleStyle} onClick={onShowMore}>\n <IconView contentType={contentType} />\n <span>{title}</span>\n </span>\n );\n\n const hasPages = maxPages > 0;\n const showMoreView =\n hasPages && showMore && onShowMore ? (\n <ShowMoreLink\n className={hasPages ? style.showMoreBar : style.showMore}\n onShowMore={onShowMore}\n showMore={showMore}\n />\n ) : null;\n\n const switchPagesView = hasPages ? (\n <div className={style.pagingWrapper}>\n {showMoreView}\n {leftArrowView}\n {rightArrowView}\n </div>\n ) : null;\n return (\n <div className={style.wrapper} data-name=\"cardsList\">\n <div className={style.list}>\n <div>\n <div data-name=\"header\" className={style.header}>\n {titleView}\n {switchPagesView}\n </div>\n <div className={style.cards} ref={this.setCardsWrapper}>\n {cardsView}\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default CardsList;\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/molecule/dashboard/cards-list/index.js"],"names":["ShowMoreLink","props","onShowMore","showMore","className","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","func","string","IconView","context","contentType","ICONS","chapter","TimerIcon","course","LearnerIcon","dark","IconType","style","icon","computeWidth","card","type","nextPage","page","maxPages","CardsList","React","PureComponent","constructor","state","actualPage","scrollLeft","offsetWidth","possiblePositions","possiblePages","cardsWidth","handleScroll_","handleScroll","bind","handleOnLeft","handleOnRight","scrollTo","updateState","updatePages","setCardsWrapper","getScrollWidth","handleResize","componentDidMount","cardsWrapper","addEventListener","window","componentDidUpdate","cards","newCardsWidth","updatePaginationState","setState","componentWillUnmount","removeEventListener","cancel","wrapperWidth","wrapperScrollLeft","cardWidths","cardPositions","accWidth","cardWidth","acc","pageIndex","accPageWidth","pageWidth","skip","position","element","index","onScroll","leftBound","rightBound","leftIndex","rightIndex","limit","indexOfNextFirstCard","indexOf","nextPosition","render","title","dataName","titleStyle","titleLink","cardsView","key","leftArrowView","circle","left","rightArrowView","right","titleView","hasPages","showMoreView","showMoreBar","switchPagesView","pagingWrapper","wrapper","list","header","translate","arrayOf","shape","Card","protoTypes"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {\n debounce,\n throttle,\n get,\n getOr,\n map,\n sum,\n last,\n pipe,\n toPairs,\n reduce,\n head,\n findIndex,\n findLastIndex\n} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionNavigationArrowLeft as ArrowLeft,\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../../atom/provider';\nimport Card from '../../card';\nimport style from './style.css';\n\nconst ShowMoreLink = props => {\n const {onShowMore, showMore, className} = props;\n return (\n <div className={className} onClick={onShowMore}>\n {showMore}\n </div>\n );\n};\n\nShowMoreLink.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nShowMoreLink.propTypes = {\n onShowMore: PropTypes.func,\n showMore: PropTypes.string,\n className: PropTypes.string\n};\n\nconst IconView = (props, context) => {\n const {skin} = context;\n const {contentType} = props;\n const ICONS = {\n chapter: TimerIcon,\n course: LearnerIcon\n };\n\n if (!contentType) {\n return null;\n }\n\n const dark = get('common.dark', skin);\n const IconType = ICONS[contentType];\n\n return (\n <div>\n <IconType color={dark} className={style.icon} data-contenttype={contentType} />\n </div>\n );\n};\n\nconst computeWidth = card => {\n switch (card && card.type) {\n case 'chapter':\n return 219;\n default:\n return 272;\n }\n};\n\nconst nextPage = (page, maxPages) => {\n if (page < 0) return maxPages;\n if (page > maxPages) return 0;\n return page;\n};\n\nIconView.propTypes = {\n contentType: PropTypes.string\n};\n\nclass CardsList extends React.PureComponent {\n static propTypes = {\n contentType: PropTypes.string,\n dataName: PropTypes.string,\n title: PropTypes.string,\n showMore: PropTypes.string,\n cards: PropTypes.arrayOf(PropTypes.shape(Card.protoTypes)),\n onScroll: PropTypes.func,\n onShowMore: PropTypes.func\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n actualPage: 0,\n maxPages: 0,\n scrollLeft: 0,\n offsetWidth: 0,\n possiblePositions: [],\n possiblePages: [],\n cardsWidth: 0\n };\n\n this.handleScroll_ = throttle(200, this.handleScroll.bind(this));\n this.handleScroll = this.handleScroll.bind(this);\n this.handleOnLeft = this.handleOnLeft.bind(this);\n this.handleOnRight = this.handleOnRight.bind(this);\n this.scrollTo = this.scrollTo.bind(this);\n this.updateState = debounce(200, this.updatePages.bind(this));\n this.updatePages = this.updatePages.bind(this);\n this.setCardsWrapper = this.setCardsWrapper.bind(this);\n this.getScrollWidth = this.getScrollWidth.bind(this);\n this.handleResize = this.handleResize.bind(this);\n }\n\n componentDidMount() {\n this.cardsWrapper.addEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.addEventListener('resize', this.handleResize);\n }\n }\n\n componentDidUpdate() {\n const {cards = []} = this.props;\n const {offsetWidth, cardsWidth} = this.state;\n const newCardsWidth = pipe(map(computeWidth), sum)(cards);\n\n if (newCardsWidth !== cardsWidth && offsetWidth !== 0) {\n this.updatePaginationState(cards);\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n cardsWidth: newCardsWidth\n });\n }\n }\n\n componentWillUnmount() {\n this.cardsWrapper.removeEventListener('scroll', this.handleScroll_);\n\n if (window) {\n window.removeEventListener('resize', this.handleResize);\n }\n this.updateState.cancel();\n }\n\n handleResize() {\n const {cards = []} = this.props;\n this.updatePaginationState(cards);\n }\n\n updatePaginationState(cards) {\n const {offsetWidth: wrapperWidth, scrollLeft: wrapperScrollLeft} = this.state;\n\n const cardWidths = map(computeWidth)(cards);\n\n const possiblePositions = pipe(\n reduce(\n ([cardPositions, accWidth], cardWidth) => [\n [...cardPositions, accWidth],\n cardWidth + accWidth\n ],\n [[], 0]\n ),\n head\n )(cardWidths);\n\n const possiblePages = pipe(\n reduce(\n ([acc, pageIndex, accPageWidth], cardWidth) => {\n const pageWidth = accPageWidth + cardWidth;\n if (pageWidth > wrapperWidth) {\n return [[...acc, pageIndex + 1], pageIndex + 1, cardWidth];\n }\n return [[...acc, pageIndex], pageIndex, pageWidth];\n },\n [[], 0, 0]\n ),\n head\n )(cardWidths);\n\n const skip = findIndex(position => position >= wrapperScrollLeft, possiblePositions);\n const actualPage = possiblePages[skip + 1];\n\n this.setState({\n possiblePositions,\n possiblePages,\n maxPages: last(possiblePages),\n actualPage\n });\n }\n\n setCardsWrapper(element) {\n this.cardsWrapper = element;\n this.setState({\n scrollLeft: this.cardsWrapper?.scrollLeft,\n offsetWidth: this.cardsWrapper?.offsetWidth\n });\n }\n\n getScrollWidth(index) {\n const {cards = []} = this.props;\n const card = cards[index];\n return computeWidth(card);\n }\n\n handleScroll() {\n const scrollLeft = this.cardsWrapper?.scrollLeft;\n this.setState({scrollLeft});\n\n const {possiblePositions, offsetWidth} = this.state;\n const {onScroll} = this.props;\n if (onScroll) {\n const leftBound = scrollLeft;\n const rightBound = scrollLeft + offsetWidth;\n\n const leftIndex = findIndex(position => position > leftBound, possiblePositions) - 1;\n const rightIndex = findLastIndex(position => position < rightBound, possiblePositions);\n const skip = leftIndex;\n const limit = rightIndex - skip + 1;\n\n onScroll(skip, limit);\n }\n }\n\n handleOnLeft() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage - 1, maxPages));\n }\n\n handleOnRight() {\n const {actualPage, maxPages} = this.state;\n this.scrollTo(nextPage(actualPage + 1, maxPages));\n }\n\n scrollTo(page) {\n const {possiblePages, possiblePositions} = this.state;\n const indexOfNextFirstCard = possiblePages.indexOf(page);\n const nextPosition = possiblePositions[indexOfNextFirstCard];\n this.cardsWrapper.scrollLeft = nextPosition;\n this.updatePages(page);\n this.setState({\n scrollLeft: nextPosition\n });\n }\n\n updatePages(actualPage) {\n this.setState({\n actualPage\n });\n }\n\n render() {\n const {title, showMore, cards, onShowMore, dataName, contentType} = this.props;\n const {skin} = this.context;\n const {maxPages} = this.state;\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const titleStyle = onShowMore ? style.titleLink : style.title;\n const cardsView = pipe(\n toPairs,\n map(([key, card]) => {\n return (\n <div className={style.card} key={key}>\n <Card {...card} dataName={`${dataName}-${key}`} />\n </div>\n );\n })\n )(cards);\n const leftArrowView = (\n <div className={style.circle} onClick={this.handleOnLeft} data-name=\"card-list-left-arrow\">\n <ArrowLeft color={dark} className={style.left} width={10} height={10} />\n </div>\n );\n const rightArrowView = (\n <div className={style.circle} onClick={this.handleOnRight} data-name=\"card-list-right-arrow\">\n <ArrowRight color={dark} className={style.right} width={10} height={10} />\n </div>\n );\n\n const titleView = (\n <span data-name=\"title\" className={titleStyle} onClick={onShowMore}>\n <IconView contentType={contentType} />\n <span>{title}</span>\n </span>\n );\n\n const hasPages = maxPages > 0;\n const showMoreView =\n hasPages && showMore && onShowMore ? (\n <ShowMoreLink\n className={hasPages ? style.showMoreBar : style.showMore}\n onShowMore={onShowMore}\n showMore={showMore}\n />\n ) : null;\n\n const switchPagesView = hasPages ? (\n <div className={style.pagingWrapper}>\n {showMoreView}\n {leftArrowView}\n {rightArrowView}\n </div>\n ) : null;\n return (\n <div className={style.wrapper} data-name=\"cardsList\">\n <div className={style.list}>\n <div>\n <div data-name=\"header\" className={style.header}>\n {titleView}\n {switchPagesView}\n </div>\n <div className={style.cards} ref={this.setCardsWrapper}>\n {cardsView}\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default CardsList;\n"],"file":"index.js"}
|
|
@@ -106,11 +106,14 @@ ReviewCorrectionPopin.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
|
106
106
|
}),
|
|
107
107
|
next: _propTypes.default.shape({
|
|
108
108
|
label: _propTypes.default.string,
|
|
109
|
-
onClick: _propTypes.default.func
|
|
109
|
+
onClick: _propTypes.default.func,
|
|
110
|
+
'data-name': _propTypes.default.string,
|
|
111
|
+
'aria-label': _propTypes.default.string
|
|
110
112
|
}),
|
|
111
113
|
klf: _propTypes.default.shape({
|
|
112
114
|
label: _propTypes.default.string,
|
|
113
|
-
onClick: _propTypes.default.func
|
|
115
|
+
onClick: _propTypes.default.func,
|
|
116
|
+
tooltip: _propTypes.default.string
|
|
114
117
|
})
|
|
115
118
|
} : {};
|
|
116
119
|
var _default = ReviewCorrectionPopin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/review-correction-popin/index.js"],"names":["buildKlfButton","klf","klfButtonProps","icon","position","type","style","klfContainer","klfButtonContainer","klfButton","toolTip","tooltipText","tooltip","ReviewCorrectionPopin","props","information","resultLabel","next","nextQuestionButtonProps","cta","ICONS","right","RightIcon","wrong","WrongIcon","Icon","wrapper","popin","correctionSection","iconCircle","iconRight","iconWrong","feedbackSection","labelContainer","label","message","actions","actionsWrong","nextQuestionContainer","nextQuestionButton","propTypes","PropTypes","oneOf","string","shape","onClick","func"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/review-correction-popin/index.js"],"names":["buildKlfButton","klf","klfButtonProps","icon","position","type","style","klfContainer","klfButtonContainer","klfButton","toolTip","tooltipText","tooltip","ReviewCorrectionPopin","props","information","resultLabel","next","nextQuestionButtonProps","cta","ICONS","right","RightIcon","wrong","WrongIcon","Icon","wrapper","popin","correctionSection","iconCircle","iconRight","iconWrong","feedbackSection","labelContainer","label","message","actions","actionsWrong","nextQuestionContainer","nextQuestionButton","propTypes","PropTypes","oneOf","string","shape","onClick","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport {\n NovaCompositionCoorpacademyCheck as RightIcon,\n NovaSolidStatusClose as WrongIcon\n} from '@coorpacademy/nova-icons';\nimport ButtonLink from '../../atom/button-link';\nimport style from './style.css';\n\nconst buildKlfButton = klf => {\n const klfButtonProps = {\n ...klf,\n icon: {\n position: 'left',\n type: 'key'\n },\n type: 'primary'\n };\n\n return (\n <div className={style.klfContainer}>\n <div className={style.klfButtonContainer}>\n <ButtonLink {...klfButtonProps} className={style.klfButton} />\n </div>\n <div className={style.toolTip}>\n <div className={style.tooltipText}>{klf.tooltip}</div>\n </div>\n </div>\n );\n};\n\nconst ReviewCorrectionPopin = props => {\n const {information, resultLabel, type, klf, next} = props;\n\n const nextQuestionButtonProps = {\n ...next,\n type: 'primary'\n };\n\n const cta = type === 'wrong' ? buildKlfButton(klf) : null;\n\n const ICONS = {\n right: RightIcon,\n wrong: WrongIcon\n };\n const Icon = ICONS[type];\n\n return (\n <div className={style.wrapper}>\n <div className={classnames(style.popin, type === 'right' ? style.right : style.wrong)}>\n <div className={style.correctionSection}>\n <div className={style.iconCircle}>\n <Icon className={type === 'right' ? style.iconRight : style.iconWrong} />\n </div>\n <div className={style.resultLabel} aria-label=\"result\">\n <span aria-label={resultLabel}>{resultLabel}</span>\n </div>\n </div>\n <div className={style.feedbackSection}>\n <div className={style.information} aria-label=\"answer-information\">\n <div className={style.labelContainer}>\n <span className={style.label} aria-label={information.label}>\n {information.label}\n </span>\n </div>\n <span className={style.message} aria-label={information.message}>\n {information.message}\n </span>\n </div>\n </div>\n <div className={type === 'right' ? style.actions : style.actionsWrong}>\n {cta}\n <div className={style.nextQuestionContainer}>\n <ButtonLink {...nextQuestionButtonProps} className={style.nextQuestionButton} />\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nReviewCorrectionPopin.propTypes = {\n type: PropTypes.oneOf(['right', 'wrong']),\n resultLabel: PropTypes.string,\n information: PropTypes.shape({\n label: PropTypes.string,\n message: PropTypes.string\n }),\n next: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n 'data-name': PropTypes.string,\n 'aria-label': PropTypes.string\n }),\n klf: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n tooltip: PropTypes.string\n })\n};\n\nexport default ReviewCorrectionPopin;\n"],"file":"index.js"}
|
|
@@ -11,6 +11,7 @@ var _default = {
|
|
|
11
11
|
message: 'Corporate lawyers trying to understand software.'
|
|
12
12
|
},
|
|
13
13
|
klf: {
|
|
14
|
+
onClick: () => console.log('klf tooltip'),
|
|
14
15
|
label: 'Key learning factor',
|
|
15
16
|
tooltip: '17 frustrated software engineers grappling with the complexities of software development.'
|
|
16
17
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/molecule/review-correction-popin/test/fixtures/wrong.js"],"names":["props","type","resultLabel","information","label","message","klf","
|
|
1
|
+
{"version":3,"sources":["../../../../../src/molecule/review-correction-popin/test/fixtures/wrong.js"],"names":["props","type","resultLabel","information","label","message","klf","onClick","console","log","tooltip","next"],"mappings":";;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAE,OADD;AAELC,IAAAA,WAAW,EAAE,cAFR;AAGLC,IAAAA,WAAW,EAAE;AACXC,MAAAA,KAAK,EAAE,gBADI;AAEXC,MAAAA,OAAO,EAAE;AAFE,KAHR;AAOLC,IAAAA,GAAG,EAAE;AACHC,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,aAAZ,CADZ;AAEHL,MAAAA,KAAK,EAAE,qBAFJ;AAGHM,MAAAA,OAAO,EACL;AAJC,KAPA;AAaLC,IAAAA,IAAI,EAAE;AACJP,MAAAA,KAAK,EAAE,eADH;AAEJG,MAAAA,OAAO,EAAE,MAAMC,OAAO,CAACC,GAAR,CAAY,eAAZ;AAFX;AAbD;AADM,C","sourcesContent":["export default {\n props: {\n type: 'wrong',\n resultLabel: 'WRONG ANSWER',\n information: {\n label: 'Correct Answer',\n message: 'Corporate lawyers trying to understand software.'\n },\n klf: {\n onClick: () => console.log('klf tooltip'),\n label: 'Key learning factor',\n tooltip:\n '17 frustrated software engineers grappling with the complexities of software development.'\n },\n next: {\n label: 'Next Question',\n onClick: () => console.log('Next Question')\n }\n }\n};\n"],"file":"wrong.js"}
|
|
@@ -17,7 +17,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
17
17
|
|
|
18
18
|
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); }
|
|
19
19
|
|
|
20
|
-
const
|
|
20
|
+
const ReviewHeaderSteps = props => {
|
|
21
21
|
const {
|
|
22
22
|
steps
|
|
23
23
|
} = props;
|
|
@@ -30,9 +30,9 @@ const ReviewHeaderStep = props => {
|
|
|
30
30
|
}, items);
|
|
31
31
|
};
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
ReviewHeaderSteps.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
34
34
|
steps: _propTypes.default.arrayOf(_propTypes.default.shape(_reviewHeaderStepItem.default.props))
|
|
35
35
|
} : {};
|
|
36
|
-
var _default =
|
|
36
|
+
var _default = ReviewHeaderSteps;
|
|
37
37
|
exports.default = _default;
|
|
38
38
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/molecule/review-header-steps/index.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/molecule/review-header-steps/index.js"],"names":["ReviewHeaderSteps","props","steps","items","step","value","style","wrapper","propTypes","PropTypes","arrayOf","shape","ReviewHeaderStepItem"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,iBAAiB,GAAGC,KAAK,IAAI;AACjC,QAAM;AAACC,IAAAA;AAAD,MAAUD,KAAhB;AAEA,QAAME,KAAK,GAAG,kBAAIC,IAAI,iBAAI,6BAAC,6BAAD,eAA0BA,IAA1B;AAAgC,IAAA,GAAG,EAAEA,IAAI,CAACC;AAA1C,KAAZ,EAAiEH,KAAjE,CAAd;AAEA,sBACE;AAAK,IAAA,SAAS,EAAEI,eAAMC,OAAtB;AAA+B,iBAAU;AAAzC,KACGJ,KADH,CADF;AAKD,CAVD;;AAYAH,iBAAiB,CAACQ,SAAlB,2CAA8B;AAC5BN,EAAAA,KAAK,EAAEO,mBAAUC,OAAV,CAAkBD,mBAAUE,KAAV,CAAgBC,8BAAqBX,KAArC,CAAlB;AADqB,CAA9B;eAIeD,iB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport map from 'lodash/fp/map';\nimport ReviewHeaderStepItem from '../../atom/review-header-step-item';\nimport style from './style.css';\n\nconst ReviewHeaderSteps = props => {\n const {steps} = props;\n\n const items = map(step => <ReviewHeaderStepItem {...step} key={step.value} />, steps);\n\n return (\n <div className={style.wrapper} data-name=\"header-steps\">\n {items}\n </div>\n );\n};\n\nReviewHeaderSteps.propTypes = {\n steps: PropTypes.arrayOf(PropTypes.shape(ReviewHeaderStepItem.props))\n};\n\nexport default ReviewHeaderSteps;\n"],"file":"index.js"}
|
|
@@ -24,7 +24,7 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
|
|
|
24
24
|
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); }
|
|
25
25
|
|
|
26
26
|
const setScroll = container => () => {
|
|
27
|
-
container.current.scrollTo({
|
|
27
|
+
container.current?.scrollTo && container.current.scrollTo({
|
|
28
28
|
left: 1000,
|
|
29
29
|
behavior: 'smooth'
|
|
30
30
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/organism/review-congrats/index.js"],"names":["setScroll","container","current","scrollTo","left","behavior","ReviewCongrats","props","ariaLabel","dataName","animationLottie","title","cardCongratsStar","cardCongratsRank","buttonRevising","buttonRevisingSkill","timer","setTimeout","clearTimeout","style","mainContainer","lottie","ie11Backup","containerCongrats","containerCards","cardStar","cardRank","buttonContainer","buttonRevise","propTypes","PropTypes","string","shape","AtomLottieWrapper","MoleculeReviewCardCongrats","label","onClick","func","type"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEO,MAAMA,SAAS,GAAGC,SAAS,IAAI,MAAM;AAC1CA,EAAAA,SAAS,CAACC,OAAV,CAAkBC,QAAlB,CAA2B;AACzBC,IAAAA,IAAI,EAAE,IADmB;AAEzBC,IAAAA,QAAQ,EAAE;AAFe,GAA3B;
|
|
1
|
+
{"version":3,"sources":["../../../src/organism/review-congrats/index.js"],"names":["setScroll","container","current","scrollTo","left","behavior","ReviewCongrats","props","ariaLabel","dataName","animationLottie","title","cardCongratsStar","cardCongratsRank","buttonRevising","buttonRevisingSkill","timer","setTimeout","clearTimeout","style","mainContainer","lottie","ie11Backup","containerCongrats","containerCards","cardStar","cardRank","buttonContainer","buttonRevise","propTypes","PropTypes","string","shape","AtomLottieWrapper","MoleculeReviewCardCongrats","label","onClick","func","type"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEO,MAAMA,SAAS,GAAGC,SAAS,IAAI,MAAM;AAC1CA,EAAAA,SAAS,CAACC,OAAV,EAAmBC,QAAnB,IACEF,SAAS,CAACC,OAAV,CAAkBC,QAAlB,CAA2B;AACzBC,IAAAA,IAAI,EAAE,IADmB;AAEzBC,IAAAA,QAAQ,EAAE;AAFe,GAA3B,CADF;AAKD,CANM;;;;AAQP,MAAMC,cAAc,GAAGC,KAAK,IAAI;AAC9B,QAAM;AACJ,kBAAcC,SADV;AAEJ,iBAAaC,QAFT;AAGJC,IAAAA,eAHI;AAIJC,IAAAA,KAJI;AAKJC,IAAAA,gBALI;AAMJC,IAAAA,gBANI;AAOJC,IAAAA,cAPI;AAQJC,IAAAA;AARI,MASFR,KATJ;AAWA,QAAMN,SAAS,GAAG,mBAAO,IAAP,CAAlB;AAEA,wBAAU,MAAM;AACd,UAAMe,KAAK,GAAGC,UAAU,CAACjB,SAAS,CAACC,SAAD,CAAV,EAAuB,IAAvB,CAAxB;AACA,WAAO,MAAMe,KAAK,IAAIE,YAAY,CAACF,KAAD,CAAlC;AACD,GAHD,EAGG,EAHH;AAKA,sBACE;AAAK,IAAA,SAAS,EAAEG,eAAMC,aAAtB;AAAqC,kBAAYZ,SAAjD;AAA4D,iBAAWC;AAAvE,kBACE,6BAAC,sBAAD,eACMC,eADN;AAEE,IAAA,IAAI,EAAE,KAFR;AAGE,IAAA,gBAAgB,EAAE,MAHpB;AAIE,IAAA,QAAQ,MAJV;AAKE,iBAAU,gBALZ;AAME,IAAA,SAAS,EAAES,eAAME,MANnB;AAOE,IAAA,oBAAoB,EAAEF,eAAMG;AAP9B,KADF,eAUE;AAAK,IAAA,SAAS,EAAEH,eAAMI;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEJ,eAAMR;AAAtB,KAA8BA,KAA9B,CADF,eAEE;AAAK,IAAA,GAAG,EAAEV,SAAV;AAAqB,IAAA,SAAS,EAAEkB,eAAMK;AAAtC,kBACE,6BAAC,2BAAD,eAAgCZ,gBAAhC;AAAkD,IAAA,SAAS,EAAEO,eAAMM;AAAnE,KADF,eAEE,6BAAC,2BAAD,eACMZ,gBADN;AAEE,IAAA,cAAc,EAAE,IAFlB;AAGE,IAAA,SAAS,EAAEM,eAAMO;AAHnB,KAFF,CAFF,eAUE;AAAK,IAAA,SAAS,EAAEP,eAAMQ;AAAtB,kBACE,6BAAC,mBAAD,eACMb,cADN;AAEE,IAAA,SAAS,EAAEK,eAAMS,YAFnB;AAGE,iBAAU;AAHZ,KADF,eAME,6BAAC,mBAAD,eAAgBb,mBAAhB;AAAqC,IAAA,SAAS,EAAEI,eAAMS;AAAtD,KANF,CAVF,CAVF,CADF;AAgCD,CAnDD;;AAqDAtB,cAAc,CAACuB,SAAf,2CAA2B;AACzB,gBAAcC,mBAAUC,MADC;AAEzB,eAAaD,mBAAUC,MAFE;AAGzBrB,EAAAA,eAAe,EAAEoB,mBAAUE,KAAV,CAAgBC,uBAAkBJ,SAAlC,CAHQ;AAIzBlB,EAAAA,KAAK,EAAEmB,mBAAUC,MAJQ;AAKzBnB,EAAAA,gBAAgB,EAAEkB,mBAAUE,KAAV,CAAgBE,4BAA2BL,SAA3C,CALO;AAMzBhB,EAAAA,gBAAgB,EAAEiB,mBAAUE,KAAV,CAAgBE,4BAA2BL,SAA3C,CANO;AAOzBf,EAAAA,cAAc,EAAEgB,mBAAUE,KAAV,CAAgB;AAC9BG,IAAAA,KAAK,EAAEL,mBAAUC,MADa;AAE9BK,IAAAA,OAAO,EAAEN,mBAAUO,IAFW;AAG9BC,IAAAA,IAAI,EAAER,mBAAUC;AAHc,GAAhB,CAPS;AAYzBhB,EAAAA,mBAAmB,EAAEe,mBAAUE,KAAV,CAAgB;AACnCG,IAAAA,KAAK,EAAEL,mBAAUC,MADkB;AAEnCK,IAAAA,OAAO,EAAEN,mBAAUO,IAFgB;AAGnCC,IAAAA,IAAI,EAAER,mBAAUC;AAHmB,GAAhB;AAZI,CAA3B;eAmBezB,c","sourcesContent":["import React, {useEffect, useRef} from 'react';\nimport PropTypes from 'prop-types';\nimport AtomLottieWrapper from '../../atom/lottie-wrapper';\nimport ButtonLink from '../../atom/button-link';\nimport MoleculeReviewCardCongrats from '../../molecule/review-card-congrats';\nimport style from './style.css';\n\nexport const setScroll = container => () => {\n container.current?.scrollTo &&\n container.current.scrollTo({\n left: 1000,\n behavior: 'smooth'\n });\n};\n\nconst ReviewCongrats = props => {\n const {\n 'aria-label': ariaLabel,\n 'data-name': dataName,\n animationLottie,\n title,\n cardCongratsStar,\n cardCongratsRank,\n buttonRevising,\n buttonRevisingSkill\n } = props;\n\n const container = useRef(null);\n\n useEffect(() => {\n const timer = setTimeout(setScroll(container), 2000);\n return () => timer && clearTimeout(timer);\n }, []);\n\n return (\n <div className={style.mainContainer} aria-label={ariaLabel} data-name={dataName}>\n <AtomLottieWrapper\n {...animationLottie}\n loop={false}\n animationControl={'play'}\n autoplay\n data-name=\"lottie-wrapper\"\n className={style.lottie}\n backupImageClassName={style.ie11Backup}\n />\n <div className={style.containerCongrats}>\n <div className={style.title}>{title}</div>\n <div ref={container} className={style.containerCards}>\n <MoleculeReviewCardCongrats {...cardCongratsStar} className={style.cardStar} />\n <MoleculeReviewCardCongrats\n {...cardCongratsRank}\n timerAnimation={1800}\n className={style.cardRank}\n />\n </div>\n <div className={style.buttonContainer}>\n <ButtonLink\n {...buttonRevising}\n className={style.buttonRevise}\n data-name=\"revise-skill-link\"\n />\n <ButtonLink {...buttonRevisingSkill} className={style.buttonRevise} />\n </div>\n </div>\n </div>\n );\n};\n\nReviewCongrats.propTypes = {\n 'aria-label': PropTypes.string,\n 'data-name': PropTypes.string,\n animationLottie: PropTypes.shape(AtomLottieWrapper.propTypes),\n title: PropTypes.string,\n cardCongratsStar: PropTypes.shape(MoleculeReviewCardCongrats.propTypes),\n cardCongratsRank: PropTypes.shape(MoleculeReviewCardCongrats.propTypes),\n buttonRevising: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n type: PropTypes.string\n }),\n buttonRevisingSkill: PropTypes.shape({\n label: PropTypes.string,\n onClick: PropTypes.func,\n type: PropTypes.string\n })\n};\n\nexport default ReviewCongrats;\n"],"file":"index.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/organism/review-header/index.js"],"names":["ReviewHeader","props","context","steps","mode","skillName","ariaLabel","closeButtonAriaLabel","onQuitClick","hiddenSteps","skin","primarySkinColor","buttonProps","icon","onClick","size","className","style","review","stepsWrapper","stepsWrapperAnimation","headerWrapper","titlesWrapper","title","color","iconButtonWrapper","propTypes","
|
|
1
|
+
{"version":3,"sources":["../../../src/organism/review-header/index.js"],"names":["ReviewHeader","props","context","steps","mode","skillName","ariaLabel","closeButtonAriaLabel","onQuitClick","hiddenSteps","skin","primarySkinColor","buttonProps","icon","onClick","size","className","style","review","stepsWrapper","stepsWrapperAnimation","headerWrapper","titlesWrapper","title","color","iconButtonWrapper","propTypes","ReviewHeaderSteps","PropTypes","string","isRequired","func","bool"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,YAAY,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AACvC,QAAM;AACJC,IAAAA,KADI;AAEJC,IAAAA,IAFI;AAGJC,IAAAA,SAHI;AAIJ,kBAAcC,SAJV;AAKJC,IAAAA,oBALI;AAMJC,IAAAA,WANI;AAOJC,IAAAA;AAPI,MAQFR,KARJ;AASA,QAAM;AAACS,IAAAA;AAAD,MAASR,OAAf;AACA,QAAMS,gBAAgB,GAAG,oBAAM,SAAN,EAAiB,gBAAjB,EAAmCD,IAAnC,CAAzB;AAEA,QAAME,WAAW,GAAG;AAClBC,IAAAA,IAAI,EAAE,OADY;AAElB,iBAAa,4BAFK;AAGlB,kBAAcN,oBAHI;AAIlBO,IAAAA,OAAO,EAAEN,WAJS;AAKlBO,IAAAA,IAAI,EAAE,YALY;AAMlBC,IAAAA,SAAS,EAAEC,eAAMC;AANC,GAApB;AASA,QAAMC,YAAY,GAAG,yBACnBF,eAAME,YADa,EAEnBV,WAAW,GAAGQ,eAAMG,qBAAT,GAAiC,IAFzB,CAArB;AAKA,sBACE;AAAK,IAAA,SAAS,EAAEH,eAAMI,aAAtB;AAAqC,iBAAU,eAA/C;AAA+D,kBAAYf;AAA3E,kBACE;AAAK,IAAA,SAAS,EAAEW,eAAMK;AAAtB,kBACE;AAAK,IAAA,SAAS,EAAEL,eAAMM,KAAtB;AAA6B,IAAA,KAAK,EAAEnB,IAApC;AAA0C,kBAAYA,IAAtD;AAA4D,iBAAU;AAAtE,KACGA,IADH,CADF,eAIE;AACE,IAAA,SAAS,EAAEa,eAAMZ,SADnB;AAEE,IAAA,KAAK,EAAE;AACLmB,MAAAA,KAAK,EAAEb;AADF,KAFT;AAKE,IAAA,KAAK,EAAEN,SALT;AAME,kBAAYA,SANd;AAOE,iBAAU;AAPZ,KASGA,SATH,CAJF,CADF,eAkBE;AAAK,IAAA,SAAS,EAAEc;AAAhB,kBACE,6BAAC,0BAAD;AAAmB,IAAA,KAAK,EAAEhB,KAA1B;AAAiC,IAAA,GAAG,EAAE;AAAtC,IADF,CAlBF,eAsBE;AAAK,IAAA,SAAS,EAAEc,eAAMQ,iBAAtB;AAAyC,iBAAU;AAAnD,kBACE,6BAAC,2BAAD,EAAwBb,WAAxB,CADF,CAtBF,CADF;AA4BD,CAvDD;;AAyDAZ,YAAY,CAAC0B,SAAb,2CAAyB;AACvBvB,EAAAA,KAAK,EAAEwB,2BAAkBD,SAAlB,CAA4BvB,KADZ;AAEvBC,EAAAA,IAAI,EAAEwB,mBAAUC,MAAV,CAAiBC,UAFA;AAGvBzB,EAAAA,SAAS,EAAEuB,mBAAUC,MAAV,CAAiBC,UAHL;AAIvB,gBAAcF,mBAAUC,MAJD;AAKvBtB,EAAAA,oBAAoB,EAAEqB,mBAAUC,MALT;AAMvBrB,EAAAA,WAAW,EAAEoB,mBAAUG,IANA;AAOvBtB,EAAAA,WAAW,EAAEmB,mBAAUI;AAPA,CAAzB;eAUehC,Y","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport getOr from 'lodash/fp/getOr';\nimport ButtonLinkIconOnly from '../../atom/button-link-icon-only';\nimport ReviewHeaderSteps from '../../molecule/review-header-steps';\nimport style from './style.css';\n\nconst ReviewHeader = (props, context) => {\n const {\n steps,\n mode,\n skillName,\n 'aria-label': ariaLabel,\n closeButtonAriaLabel,\n onQuitClick,\n hiddenSteps\n } = props;\n const {skin} = context;\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const buttonProps = {\n icon: 'close',\n 'data-name': 'review-header-close-button',\n 'aria-label': closeButtonAriaLabel,\n onClick: onQuitClick,\n size: 'responsive',\n className: style.review\n };\n\n const stepsWrapper = classnames(\n style.stepsWrapper,\n hiddenSteps ? style.stepsWrapperAnimation : null\n );\n\n return (\n <div className={style.headerWrapper} data-name=\"review-header\" aria-label={ariaLabel}>\n <div className={style.titlesWrapper}>\n <div className={style.title} title={mode} aria-label={mode} data-name=\"review-header-mode\">\n {mode}\n </div>\n <div\n className={style.skillName}\n style={{\n color: primarySkinColor\n }}\n title={skillName}\n aria-label={skillName}\n data-name=\"review-header-skill-name\"\n >\n {skillName}\n </div>\n </div>\n\n <div className={stepsWrapper}>\n <ReviewHeaderSteps steps={steps} key={'review-header-steps'} />\n </div>\n\n <div className={style.iconButtonWrapper} data-name=\"review-header-close-button-wrapper\">\n <ButtonLinkIconOnly {...buttonProps} />\n </div>\n </div>\n );\n};\n\nReviewHeader.propTypes = {\n steps: ReviewHeaderSteps.propTypes.steps,\n mode: PropTypes.string.isRequired,\n skillName: PropTypes.string.isRequired,\n 'aria-label': PropTypes.string,\n closeButtonAriaLabel: PropTypes.string,\n onQuitClick: PropTypes.func,\n hiddenSteps: PropTypes.bool\n};\n\nexport default ReviewHeader;\n"],"file":"index.js"}
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
.stepsWrapperAnimation {
|
|
52
52
|
opacity: 0;
|
|
53
53
|
transform: translate(-50%, -180%);
|
|
54
|
-
transition: opacity 0.5s ease-in-out
|
|
54
|
+
transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
.iconButtonWrapper {
|
|
@@ -12,7 +12,9 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
12
12
|
const defaultHeaderProps = {
|
|
13
13
|
mode: 'Revision mode',
|
|
14
14
|
skillName: 'Agility',
|
|
15
|
-
onQuitClick: () => {
|
|
15
|
+
onQuitClick: () => {
|
|
16
|
+
console.log('onQuitClick');
|
|
17
|
+
},
|
|
16
18
|
'aria-label': 'aria-header-wrapper',
|
|
17
19
|
closeButtonAriaLabel: 'aria-close-button'
|
|
18
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/organism/review-header/test/fixtures/all-questions-ok.js"],"names":["defaultHeaderProps","mode","skillName","onQuitClick","closeButtonAriaLabel","props","steps","stepsProps"],"mappings":";;;;;AAAA;;;;;;AAEO,MAAMA,kBAAkB,GAAG;AAChCC,EAAAA,IAAI,EAAE,eAD0B;AAEhCC,EAAAA,SAAS,EAAE,SAFqB;AAGhCC,EAAAA,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"sources":["../../../../../src/organism/review-header/test/fixtures/all-questions-ok.js"],"names":["defaultHeaderProps","mode","skillName","onQuitClick","console","log","closeButtonAriaLabel","props","steps","stepsProps"],"mappings":";;;;;AAAA;;;;;;AAEO,MAAMA,kBAAkB,GAAG;AAChCC,EAAAA,IAAI,EAAE,eAD0B;AAEhCC,EAAAA,SAAS,EAAE,SAFqB;AAGhCC,EAAAA,WAAW,EAAE,MAAM;AACjBC,IAAAA,OAAO,CAACC,GAAR,CAAY,aAAZ;AACD,GAL+B;AAMhC,gBAAc,qBANkB;AAOhCC,EAAAA,oBAAoB,EAAE;AAPU,CAA3B;;eAUQ;AACbC,EAAAA,KAAK,wBACAP,kBADA;AAEHQ,IAAAA,KAAK,EAAEC,wBAAWF,KAAX,CAAiBC;AAFrB;AADQ,C","sourcesContent":["import stepsProps from '../../../../molecule/review-header-steps/test/fixtures/all-questions-ok';\n\nexport const defaultHeaderProps = {\n mode: 'Revision mode',\n skillName: 'Agility',\n onQuitClick: () => {\n console.log('onQuitClick');\n },\n 'aria-label': 'aria-header-wrapper',\n closeButtonAriaLabel: 'aria-close-button'\n};\n\nexport default {\n props: {\n ...defaultHeaderProps,\n steps: stepsProps.props.steps\n }\n};\n"],"file":"all-questions-ok.js"}
|