@coorpacademy/components 10.22.20 → 10.22.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/atom/html/index.native.js +1 -1
- package/es/atom/html/index.native.js.map +1 -1
- package/es/hoc/modal/select/index.native.js +3 -3
- package/es/hoc/modal/select/index.native.js.map +1 -1
- package/es/hoc/modal/select-item/index.native.js +1 -1
- package/es/hoc/modal/select-item/index.native.js.map +1 -1
- package/es/hoc/touchable/index.native.js +2 -2
- package/es/hoc/touchable/index.native.js.map +1 -1
- package/es/molecule/cm-popin/style.css +1 -2
- package/es/molecule/dashboard/cards-list/index.js +7 -3
- package/es/molecule/dashboard/cards-list/index.js.map +1 -1
- package/es/molecule/questions/free-text/index.native.js +2 -2
- package/es/molecule/questions/free-text/index.native.js.map +1 -1
- package/es/molecule/questions/mobile/slider/index.native.js +3 -3
- package/es/molecule/questions/mobile/slider/index.native.js.map +1 -1
- package/es/organism/review-congrats/index.js +3 -1
- package/es/organism/review-congrats/index.js.map +1 -1
- package/es/template/app-player/popin-correction/index.js +1 -0
- package/es/template/app-player/popin-correction/index.js.map +1 -1
- package/lib/atom/html/index.native.js +1 -1
- package/lib/atom/html/index.native.js.map +1 -1
- package/lib/hoc/modal/select/index.native.js +3 -3
- package/lib/hoc/modal/select/index.native.js.map +1 -1
- package/lib/hoc/modal/select-item/index.native.js +1 -1
- package/lib/hoc/modal/select-item/index.native.js.map +1 -1
- package/lib/hoc/touchable/index.native.js +2 -2
- package/lib/hoc/touchable/index.native.js.map +1 -1
- package/lib/molecule/cm-popin/style.css +1 -2
- package/lib/molecule/dashboard/cards-list/index.js +7 -3
- package/lib/molecule/dashboard/cards-list/index.js.map +1 -1
- package/lib/molecule/questions/free-text/index.native.js +2 -2
- package/lib/molecule/questions/free-text/index.native.js.map +1 -1
- package/lib/molecule/questions/mobile/slider/index.native.js +3 -3
- package/lib/molecule/questions/mobile/slider/index.native.js.map +1 -1
- package/lib/organism/review-congrats/index.js +3 -1
- package/lib/organism/review-congrats/index.js.map +1 -1
- package/lib/template/app-player/popin-correction/index.js +1 -0
- package/lib/template/app-player/popin-correction/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/template/app-player/popin-correction/index.js"],"names":["React","Component","PropTypes","NovaCompositionCoorpacademyCheck","CheckIcon","NovaLineInterfaceFeedbackInterfaceAlertCircle","AlertIcon","classnames","Loader","Link","Provider","ResourceBrowser","Accordion","Header","style","extractTabs","items","map","type","item","iconType","title","isOpen","open","Resources","resources","overlay","browserWrapper","value","browser","propTypes","shape","SimpleText","text","simpleTextWrapper","simpleText","innerHTML","__html","string","AssistanceLink","props","context","onClick","skin","white","wrapperAssistance","alertIcon","titleLink","contextTypes","childContextTypes","func","Question","header","answer","answerPrefix","question","questionHeader","answerWrapper","checkIcon","PopinCorrection","constructor","state","initWrapper","bind","componentDidMount","deferOpen","clearTimeout","deferedOpen","onOpen","setState","wrapper","render","extraLifeGranted","gameOver","klf","tips","quit","assistanceLink","primary","tabs","isLoading","failed","className","finalBackground","initialBackground","cta","linkProps","quitCta","color","hideQuitCta","scrollWrapper","loadingWrapper","loadingContent","content","activeLoader"],"mappings":"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","sourcesContent":["import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {defer, isNil, isEmpty, get, getOr, keys, omit} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaLineInterfaceFeedbackInterfaceAlertCircle as AlertIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport Loader from '../../../atom/loader';\nimport Link from '../../../atom/link';\nimport Provider from '../../../atom/provider';\nimport ResourceBrowser from '../../../organism/resource-browser';\nimport Accordion from '../../../organism/accordion/container';\nimport Header from '../popin-header';\nimport style from './style.css';\n\nconst extractTabs = items =>\n keys(items).map(type => {\n const item = items[type];\n return {iconType: type, title: item.title, isOpen: item.open};\n });\n\nconst Resources = ({resources, overlay}) => (\n <div className={style.browserWrapper}>\n <ResourceBrowser resources={resources.value} overlay={overlay} className={style.browser} />\n </div>\n);\n\nResources.propTypes = {\n resources: PropTypes.shape({\n value: ResourceBrowser.propTypes.resources\n }),\n overlay: ResourceBrowser.propTypes.overlay\n};\n\nconst SimpleText = ({text}) => (\n <div data-name=\"simpleText\" className={style.simpleTextWrapper}>\n <p\n className={classnames(style.simpleText, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: text}}\n />\n </div>\n);\n\nSimpleText.propTypes = {\n text: PropTypes.string\n};\n\nconst AssistanceLink = (props, context) => {\n if (isEmpty(props)) return null;\n const {title, onClick} = props;\n const {skin} = context;\n const white = get('common.white', skin);\n\n return (\n <div className={style.wrapperAssistance} onClick={onClick}>\n <AlertIcon className={style.alertIcon} color={white} />\n <span className={style.titleLink}> {title} </span>\n </div>\n );\n};\n\nAssistanceLink.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nAssistanceLink.propTypes = {\n title: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst Question = ({header, answer, answerPrefix}) => (\n <div className={style.question}>\n <p\n className={classnames(style.questionHeader, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: header}}\n />\n <div className={style.answerWrapper}>\n <CheckIcon className={style.checkIcon} color=\"inherit\" />\n {answerPrefix ? <span className={style.answerPrefix}>{answerPrefix}</span> : null}\n <span\n className={classnames(style.answer, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: answer}}\n />\n </div>\n </div>\n);\n\nQuestion.propTypes = {\n header: PropTypes.string,\n answerPrefix: PropTypes.string,\n answer: PropTypes.string\n};\n\nclass PopinCorrection extends Component {\n static propTypes = {\n resources: Resources.propTypes.resources,\n overlay: ResourceBrowser.propTypes.overlay,\n assistanceLink: PropTypes.shape(AssistanceLink.propTypes),\n header: PropTypes.shape(omit(['animated'], Header.propTypes)),\n extraLifeGranted: Header.propTypes.extraLifeGranted,\n gameOver: Header.propTypes.gameOver,\n question: PropTypes.shape(Question.propTypes),\n klf: PropTypes.shape(SimpleText.propTypes),\n tips: PropTypes.shape(SimpleText.propTypes),\n onClick: Accordion.propTypes.onClick,\n quit: PropTypes.shape({\n cta: PropTypes.shape({\n ...Link.propTypes,\n title: PropTypes.string\n })\n }),\n onOpen: PropTypes.func\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {open: false};\n this.initWrapper = this.initWrapper.bind(this);\n }\n\n componentDidMount() {\n this.deferOpen();\n }\n\n deferOpen() {\n clearTimeout(this.deferedOpen);\n\n this.deferedOpen = defer(() => {\n const {onOpen} = this.props;\n this.setState({open: true});\n onOpen && onOpen();\n });\n }\n\n initWrapper(wrapper) {\n this.wrapper = wrapper;\n }\n\n render() {\n const {\n header = {},\n extraLifeGranted,\n gameOver,\n question,\n overlay,\n resources,\n klf,\n tips,\n onClick,\n quit = {},\n assistanceLink = {}\n } = this.props;\n\n const {open} = this.state;\n\n const {skin} = this.context;\n const primary = getOr('#f0f', 'common.primary', skin);\n\n const tabs = extractTabs({resources, klf, tips});\n const isLoading = isNil(header.failed);\n const className = open ? style.finalBackground : style.initialBackground;\n const {title, ...linkProps} = quit.cta || {};\n\n const quitCta =\n title || extraLifeGranted ? (\n <Link\n {...linkProps}\n style={{\n color: primary\n }}\n className={extraLifeGranted ? style.hideQuitCta : style.quitCta}\n data-name=\"nextLink\"\n data-popin=\"popinCorrection\"\n data-next=\"quit-with-extra-life\"\n >\n {title}\n </Link>\n ) : null;\n\n return (\n <div ref={this.initWrapper} className={className} data-name=\"popinCorrection\">\n <div className={style.scrollWrapper}>\n <div className={isLoading ? style.loadingWrapper : style.wrapper}>\n <div className={isLoading ? style.loadingContent : style.content}>\n <Header\n {...header}\n gameOver={gameOver}\n extraLifeGranted={extraLifeGranted}\n animated\n />\n <Question {...question} />\n <Accordion tabProps={tabs} onClick={onClick} oneTabOnly>\n {isEmpty(getOr([], 'value', resources)) ? null : (\n <Resources resources={resources} overlay={overlay} />\n )}\n {klf.value ? <SimpleText text={klf.value} /> : null}\n {tips.value ? <SimpleText text={tips.value} /> : null}\n </Accordion>\n </div>\n {quitCta}\n <AssistanceLink {...assistanceLink} />\n </div>\n {isLoading ? <Loader className={style.activeLoader} /> : null}\n </div>\n </div>\n );\n }\n}\n\nexport default PopinCorrection;\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/template/app-player/popin-correction/index.js"],"names":["React","Component","PropTypes","NovaCompositionCoorpacademyCheck","CheckIcon","NovaLineInterfaceFeedbackInterfaceAlertCircle","AlertIcon","classnames","Loader","Link","Provider","ResourceBrowser","Accordion","Header","style","extractTabs","items","map","type","item","iconType","title","isOpen","open","Resources","resources","overlay","browserWrapper","value","browser","propTypes","shape","SimpleText","text","simpleTextWrapper","simpleText","innerHTML","__html","string","AssistanceLink","props","context","onClick","skin","white","wrapperAssistance","alertIcon","titleLink","contextTypes","childContextTypes","func","Question","header","answer","answerPrefix","question","questionHeader","answerWrapper","checkIcon","PopinCorrection","constructor","state","initWrapper","bind","componentDidMount","deferOpen","clearTimeout","deferedOpen","onOpen","setState","wrapper","render","extraLifeGranted","gameOver","klf","tips","quit","assistanceLink","primary","tabs","isLoading","failed","className","finalBackground","initialBackground","cta","linkProps","quitCta","color","hideQuitCta","scrollWrapper","loadingWrapper","loadingContent","content","activeLoader"],"mappings":";;;;;;;;;;;;;;AAAA,OAAOA,KAAP,IAAeC,SAAf,QAA+B,OAA/B;AACA,OAAOC,SAAP,MAAsB,YAAtB;AAEA,SACEC,gCAAgC,IAAIC,SADtC,EAEEC,6CAA6C,IAAIC,SAFnD,QAGO,0BAHP;AAIA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,MAAP,MAAmB,sBAAnB;AACA,OAAOC,IAAP,MAAiB,oBAAjB;AACA,OAAOC,QAAP,MAAqB,wBAArB;AACA,OAAOC,eAAP,MAA4B,oCAA5B;AACA,OAAOC,SAAP,MAAsB,uCAAtB;AACA,OAAOC,MAAP,MAAmB,iBAAnB;AACA,OAAOC,KAAP,MAAkB,aAAlB;;AAEA,MAAMC,WAAW,GAAGC,KAAK,IACvB,MAAKA,KAAL,EAAYC,GAAZ,CAAgBC,IAAI,IAAI;AACtB,QAAMC,IAAI,GAAGH,KAAK,CAACE,IAAD,CAAlB;AACA,SAAO;AAACE,IAAAA,QAAQ,EAAEF,IAAX;AAAiBG,IAAAA,KAAK,EAAEF,IAAI,CAACE,KAA7B;AAAoCC,IAAAA,MAAM,EAAEH,IAAI,CAACI;AAAjD,GAAP;AACD,CAHD,CADF;;AAMA,MAAMC,SAAS,GAAG,CAAC;AAACC,EAAAA,SAAD;AAAYC,EAAAA;AAAZ,CAAD,kBAChB;AAAK,EAAA,SAAS,EAAEZ,KAAK,CAACa;AAAtB,gBACE,oBAAC,eAAD;AAAiB,EAAA,SAAS,EAAEF,SAAS,CAACG,KAAtC;AAA6C,EAAA,OAAO,EAAEF,OAAtD;AAA+D,EAAA,SAAS,EAAEZ,KAAK,CAACe;AAAhF,EADF,CADF;;AAMAL,SAAS,CAACM,SAAV,2CAAsB;AACpBL,EAAAA,SAAS,EAAEvB,SAAS,CAAC6B,KAAV,CAAgB;AACzBH,IAAAA,KAAK,EAAEjB,eAAe,CAACmB,SAAhB,CAA0BL;AADR,GAAhB,CADS;AAIpBC,EAAAA,OAAO,EAAEf,eAAe,CAACmB,SAAhB,CAA0BJ;AAJf,CAAtB;;AAOA,MAAMM,UAAU,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,kBACjB;AAAK,eAAU,YAAf;AAA4B,EAAA,SAAS,EAAEnB,KAAK,CAACoB;AAA7C,gBACE;AACE,EAAA,SAAS,EAAE3B,UAAU,CAACO,KAAK,CAACqB,UAAP,EAAmBrB,KAAK,CAACsB,SAAzB,CADvB,CAEE;AAFF;AAGE,EAAA,uBAAuB,EAAE;AAACC,IAAAA,MAAM,EAAEJ;AAAT;AAH3B,EADF,CADF;;AAUAD,UAAU,CAACF,SAAX,2CAAuB;AACrBG,EAAAA,IAAI,EAAE/B,SAAS,CAACoC;AADK,CAAvB;;AAIA,MAAMC,cAAc,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AACzC,MAAI,SAAQD,KAAR,CAAJ,EAAoB,OAAO,IAAP;AACpB,QAAM;AAACnB,IAAAA,KAAD;AAAQqB,IAAAA;AAAR,MAAmBF,KAAzB;AACA,MAAI,SAAQnB,KAAR,CAAJ,EAAoB,OAAO,IAAP;AACpB,QAAM;AAACsB,IAAAA;AAAD,MAASF,OAAf;;AACA,QAAMG,KAAK,GAAG,KAAI,cAAJ,EAAoBD,IAApB,CAAd;;AAEA,sBACE;AAAK,IAAA,SAAS,EAAE7B,KAAK,CAAC+B,iBAAtB;AAAyC,IAAA,OAAO,EAAEH;AAAlD,kBACE,oBAAC,SAAD;AAAW,IAAA,SAAS,EAAE5B,KAAK,CAACgC,SAA5B;AAAuC,IAAA,KAAK,EAAEF;AAA9C,IADF,eAEE;AAAM,IAAA,SAAS,EAAE9B,KAAK,CAACiC;AAAvB,UAAoC1B,KAApC,MAFF,CADF;AAMD,CAbD;;AAeAkB,cAAc,CAACS,YAAf,GAA8B;AAC5BL,EAAAA,IAAI,EAAEjC,QAAQ,CAACuC,iBAAT,CAA2BN;AADL,CAA9B;AAIAJ,cAAc,CAACT,SAAf,2CAA2B;AACzBT,EAAAA,KAAK,EAAEnB,SAAS,CAACoC,MADQ;AAEzBI,EAAAA,OAAO,EAAExC,SAAS,CAACgD;AAFM,CAA3B;;AAKA,MAAMC,QAAQ,GAAG,CAAC;AAACC,EAAAA,MAAD;AAASC,EAAAA,MAAT;AAAiBC,EAAAA;AAAjB,CAAD,kBACf;AAAK,EAAA,SAAS,EAAExC,KAAK,CAACyC;AAAtB,gBACE;AACE,EAAA,SAAS,EAAEhD,UAAU,CAACO,KAAK,CAAC0C,cAAP,EAAuB1C,KAAK,CAACsB,SAA7B,CADvB,CAEE;AAFF;AAGE,EAAA,uBAAuB,EAAE;AAACC,IAAAA,MAAM,EAAEe;AAAT;AAH3B,EADF,eAME;AAAK,EAAA,SAAS,EAAEtC,KAAK,CAAC2C;AAAtB,gBACE,oBAAC,SAAD;AAAW,EAAA,SAAS,EAAE3C,KAAK,CAAC4C,SAA5B;AAAuC,EAAA,KAAK,EAAC;AAA7C,EADF,EAEGJ,YAAY,gBAAG;AAAM,EAAA,SAAS,EAAExC,KAAK,CAACwC;AAAvB,GAAsCA,YAAtC,CAAH,GAAgE,IAF/E,eAGE;AACE,EAAA,SAAS,EAAE/C,UAAU,CAACO,KAAK,CAACuC,MAAP,EAAevC,KAAK,CAACsB,SAArB,CADvB,CAEE;AAFF;AAGE,EAAA,uBAAuB,EAAE;AAACC,IAAAA,MAAM,EAAEgB;AAAT;AAH3B,EAHF,CANF,CADF;;AAmBAF,QAAQ,CAACrB,SAAT,2CAAqB;AACnBsB,EAAAA,MAAM,EAAElD,SAAS,CAACoC,MADC;AAEnBgB,EAAAA,YAAY,EAAEpD,SAAS,CAACoC,MAFL;AAGnBe,EAAAA,MAAM,EAAEnD,SAAS,CAACoC;AAHC,CAArB;;AAMA,MAAMqB,eAAN,SAA8B1D,SAA9B,CAAwC;AAyBtC2D,EAAAA,WAAW,CAACpB,KAAD,EAAQ;AACjB,UAAMA,KAAN;AACA,SAAKqB,KAAL,GAAa;AAACtC,MAAAA,IAAI,EAAE;AAAP,KAAb;AACA,SAAKuC,WAAL,GAAmB,KAAKA,WAAL,CAAiBC,IAAjB,CAAsB,IAAtB,CAAnB;AACD;;AAEDC,EAAAA,iBAAiB,GAAG;AAClB,SAAKC,SAAL;AACD;;AAEDA,EAAAA,SAAS,GAAG;AACVC,IAAAA,YAAY,CAAC,KAAKC,WAAN,CAAZ;AAEA,SAAKA,WAAL,GAAmB,OAAM,MAAM;AAC7B,YAAM;AAACC,QAAAA;AAAD,UAAW,KAAK5B,KAAtB;AACA,WAAK6B,QAAL,CAAc;AAAC9C,QAAAA,IAAI,EAAE;AAAP,OAAd;AACA6C,MAAAA,MAAM,IAAIA,MAAM,EAAhB;AACD,KAJkB,CAAnB;AAKD;;AAEDN,EAAAA,WAAW,CAACQ,OAAD,EAAU;AACnB,SAAKA,OAAL,GAAeA,OAAf;AACD;;AAEDC,EAAAA,MAAM,GAAG;AACP,UAAM;AACJnB,MAAAA,MAAM,GAAG,EADL;AAEJoB,MAAAA,gBAFI;AAGJC,MAAAA,QAHI;AAIJlB,MAAAA,QAJI;AAKJ7B,MAAAA,OALI;AAMJD,MAAAA,SANI;AAOJiD,MAAAA,GAPI;AAQJC,MAAAA,IARI;AASJjC,MAAAA,OATI;AAUJkC,MAAAA,IAAI,GAAG,EAVH;AAWJC,MAAAA,cAAc,GAAG;AAXb,QAYF,KAAKrC,KAZT;AAcA,UAAM;AAACjB,MAAAA;AAAD,QAAS,KAAKsC,KAApB;AAEA,UAAM;AAAClB,MAAAA;AAAD,QAAS,KAAKF,OAApB;;AACA,UAAMqC,OAAO,GAAG,OAAM,MAAN,EAAc,gBAAd,EAAgCnC,IAAhC,CAAhB;;AAEA,UAAMoC,IAAI,GAAGhE,WAAW,CAAC;AAACU,MAAAA,SAAD;AAAYiD,MAAAA,GAAZ;AAAiBC,MAAAA;AAAjB,KAAD,CAAxB;;AACA,UAAMK,SAAS,GAAG,OAAM5B,MAAM,CAAC6B,MAAb,CAAlB;;AACA,UAAMC,SAAS,GAAG3D,IAAI,GAAGT,KAAK,CAACqE,eAAT,GAA2BrE,KAAK,CAACsE,iBAAvD;;AACA,iBAA8BR,IAAI,CAACS,GAAL,IAAY,EAA1C;AAAA,UAAM;AAAChE,MAAAA;AAAD,KAAN;AAAA,UAAiBiE,SAAjB;;AAEA,UAAMC,OAAO,GACXlE,KAAK,IAAImD,gBAAT,gBACE,oBAAC,IAAD,eACMc,SADN;AAEE,MAAA,KAAK,EAAE;AACLE,QAAAA,KAAK,EAAEV;AADF,OAFT;AAKE,MAAA,SAAS,EAAEN,gBAAgB,GAAG1D,KAAK,CAAC2E,WAAT,GAAuB3E,KAAK,CAACyE,OAL1D;AAME,mBAAU,UANZ;AAOE,oBAAW,iBAPb;AAQE,mBAAU;AARZ,QAUGlE,KAVH,CADF,GAaI,IAdN;AAgBA,wBACE;AAAK,MAAA,GAAG,EAAE,KAAKyC,WAAf;AAA4B,MAAA,SAAS,EAAEoB,SAAvC;AAAkD,mBAAU;AAA5D,oBACE;AAAK,MAAA,SAAS,EAAEpE,KAAK,CAAC4E;AAAtB,oBACE;AAAK,MAAA,SAAS,EAAEV,SAAS,GAAGlE,KAAK,CAAC6E,cAAT,GAA0B7E,KAAK,CAACwD;AAAzD,oBACE;AAAK,MAAA,SAAS,EAAEU,SAAS,GAAGlE,KAAK,CAAC8E,cAAT,GAA0B9E,KAAK,CAAC+E;AAAzD,oBACE,oBAAC,MAAD,eACMzC,MADN;AAEE,MAAA,QAAQ,EAAEqB,QAFZ;AAGE,MAAA,gBAAgB,EAAED,gBAHpB;AAIE,MAAA,QAAQ;AAJV,OADF,eAOE,oBAAC,QAAD,EAAcjB,QAAd,CAPF,eAQE,oBAAC,SAAD;AAAW,MAAA,QAAQ,EAAEwB,IAArB;AAA2B,MAAA,OAAO,EAAErC,OAApC;AAA6C,MAAA,UAAU;AAAvD,OACG,SAAQ,OAAM,EAAN,EAAU,OAAV,EAAmBjB,SAAnB,CAAR,IAAyC,IAAzC,gBACC,oBAAC,SAAD;AAAW,MAAA,SAAS,EAAEA,SAAtB;AAAiC,MAAA,OAAO,EAAEC;AAA1C,MAFJ,EAIGgD,GAAG,CAAC9C,KAAJ,gBAAY,oBAAC,UAAD;AAAY,MAAA,IAAI,EAAE8C,GAAG,CAAC9C;AAAtB,MAAZ,GAA8C,IAJjD,EAKG+C,IAAI,CAAC/C,KAAL,gBAAa,oBAAC,UAAD;AAAY,MAAA,IAAI,EAAE+C,IAAI,CAAC/C;AAAvB,MAAb,GAAgD,IALnD,CARF,CADF,EAiBG2D,OAjBH,eAkBE,oBAAC,cAAD,EAAoBV,cAApB,CAlBF,CADF,EAqBGG,SAAS,gBAAG,oBAAC,MAAD;AAAQ,MAAA,SAAS,EAAElE,KAAK,CAACgF;AAAzB,MAAH,GAA+C,IArB3D,CADF,CADF;AA2BD;;AArHqC;;gBAAlCnC,e,kBAqBkB;AACpBhB,EAAAA,IAAI,EAAEjC,QAAQ,CAACuC,iBAAT,CAA2BN;AADb,C;;AArBlBgB,e,CACG7B,S,2CAAY;AACjBL,EAAAA,SAAS,EAAED,SAAS,CAACM,SAAV,CAAoBL,SADd;AAEjBC,EAAAA,OAAO,EAAEf,eAAe,CAACmB,SAAhB,CAA0BJ,OAFlB;AAGjBmD,EAAAA,cAAc,EAAE3E,SAAS,CAAC6B,KAAV,CAAgBQ,cAAc,CAACT,SAA/B,CAHC;AAIjBsB,EAAAA,MAAM,EAAElD,SAAS,CAAC6B,KAAV,CAAgB,MAAK,CAAC,UAAD,CAAL,EAAmBlB,MAAM,CAACiB,SAA1B,CAAhB,CAJS;AAKjB0C,EAAAA,gBAAgB,EAAE3D,MAAM,CAACiB,SAAP,CAAiB0C,gBALlB;AAMjBC,EAAAA,QAAQ,EAAE5D,MAAM,CAACiB,SAAP,CAAiB2C,QANV;AAOjBlB,EAAAA,QAAQ,EAAErD,SAAS,CAAC6B,KAAV,CAAgBoB,QAAQ,CAACrB,SAAzB,CAPO;AAQjB4C,EAAAA,GAAG,EAAExE,SAAS,CAAC6B,KAAV,CAAgBC,UAAU,CAACF,SAA3B,CARY;AASjB6C,EAAAA,IAAI,EAAEzE,SAAS,CAAC6B,KAAV,CAAgBC,UAAU,CAACF,SAA3B,CATW;AAUjBY,EAAAA,OAAO,EAAE9B,SAAS,CAACkB,SAAV,CAAoBY,OAVZ;AAWjBkC,EAAAA,IAAI,EAAE1E,SAAS,CAAC6B,KAAV,CAAgB;AACpBsD,IAAAA,GAAG,EAAEnF,SAAS,CAAC6B,KAAV,uBACAtB,IAAI,CAACqB,SADL;AAEHT,MAAAA,KAAK,EAAEnB,SAAS,CAACoC;AAFd;AADe,GAAhB,CAXW;AAiBjB8B,EAAAA,MAAM,EAAElE,SAAS,CAACgD;AAjBD,C;AAuHrB,eAAeS,eAAf","sourcesContent":["import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {defer, isNil, isEmpty, get, getOr, keys, omit} from 'lodash/fp';\nimport {\n NovaCompositionCoorpacademyCheck as CheckIcon,\n NovaLineInterfaceFeedbackInterfaceAlertCircle as AlertIcon\n} from '@coorpacademy/nova-icons';\nimport classnames from 'classnames';\nimport Loader from '../../../atom/loader';\nimport Link from '../../../atom/link';\nimport Provider from '../../../atom/provider';\nimport ResourceBrowser from '../../../organism/resource-browser';\nimport Accordion from '../../../organism/accordion/container';\nimport Header from '../popin-header';\nimport style from './style.css';\n\nconst extractTabs = items =>\n keys(items).map(type => {\n const item = items[type];\n return {iconType: type, title: item.title, isOpen: item.open};\n });\n\nconst Resources = ({resources, overlay}) => (\n <div className={style.browserWrapper}>\n <ResourceBrowser resources={resources.value} overlay={overlay} className={style.browser} />\n </div>\n);\n\nResources.propTypes = {\n resources: PropTypes.shape({\n value: ResourceBrowser.propTypes.resources\n }),\n overlay: ResourceBrowser.propTypes.overlay\n};\n\nconst SimpleText = ({text}) => (\n <div data-name=\"simpleText\" className={style.simpleTextWrapper}>\n <p\n className={classnames(style.simpleText, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: text}}\n />\n </div>\n);\n\nSimpleText.propTypes = {\n text: PropTypes.string\n};\n\nconst AssistanceLink = (props, context) => {\n if (isEmpty(props)) return null;\n const {title, onClick} = props;\n if (isEmpty(title)) return null;\n const {skin} = context;\n const white = get('common.white', skin);\n\n return (\n <div className={style.wrapperAssistance} onClick={onClick}>\n <AlertIcon className={style.alertIcon} color={white} />\n <span className={style.titleLink}> {title} </span>\n </div>\n );\n};\n\nAssistanceLink.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nAssistanceLink.propTypes = {\n title: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst Question = ({header, answer, answerPrefix}) => (\n <div className={style.question}>\n <p\n className={classnames(style.questionHeader, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: header}}\n />\n <div className={style.answerWrapper}>\n <CheckIcon className={style.checkIcon} color=\"inherit\" />\n {answerPrefix ? <span className={style.answerPrefix}>{answerPrefix}</span> : null}\n <span\n className={classnames(style.answer, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: answer}}\n />\n </div>\n </div>\n);\n\nQuestion.propTypes = {\n header: PropTypes.string,\n answerPrefix: PropTypes.string,\n answer: PropTypes.string\n};\n\nclass PopinCorrection extends Component {\n static propTypes = {\n resources: Resources.propTypes.resources,\n overlay: ResourceBrowser.propTypes.overlay,\n assistanceLink: PropTypes.shape(AssistanceLink.propTypes),\n header: PropTypes.shape(omit(['animated'], Header.propTypes)),\n extraLifeGranted: Header.propTypes.extraLifeGranted,\n gameOver: Header.propTypes.gameOver,\n question: PropTypes.shape(Question.propTypes),\n klf: PropTypes.shape(SimpleText.propTypes),\n tips: PropTypes.shape(SimpleText.propTypes),\n onClick: Accordion.propTypes.onClick,\n quit: PropTypes.shape({\n cta: PropTypes.shape({\n ...Link.propTypes,\n title: PropTypes.string\n })\n }),\n onOpen: PropTypes.func\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n this.state = {open: false};\n this.initWrapper = this.initWrapper.bind(this);\n }\n\n componentDidMount() {\n this.deferOpen();\n }\n\n deferOpen() {\n clearTimeout(this.deferedOpen);\n\n this.deferedOpen = defer(() => {\n const {onOpen} = this.props;\n this.setState({open: true});\n onOpen && onOpen();\n });\n }\n\n initWrapper(wrapper) {\n this.wrapper = wrapper;\n }\n\n render() {\n const {\n header = {},\n extraLifeGranted,\n gameOver,\n question,\n overlay,\n resources,\n klf,\n tips,\n onClick,\n quit = {},\n assistanceLink = {}\n } = this.props;\n\n const {open} = this.state;\n\n const {skin} = this.context;\n const primary = getOr('#f0f', 'common.primary', skin);\n\n const tabs = extractTabs({resources, klf, tips});\n const isLoading = isNil(header.failed);\n const className = open ? style.finalBackground : style.initialBackground;\n const {title, ...linkProps} = quit.cta || {};\n\n const quitCta =\n title || extraLifeGranted ? (\n <Link\n {...linkProps}\n style={{\n color: primary\n }}\n className={extraLifeGranted ? style.hideQuitCta : style.quitCta}\n data-name=\"nextLink\"\n data-popin=\"popinCorrection\"\n data-next=\"quit-with-extra-life\"\n >\n {title}\n </Link>\n ) : null;\n\n return (\n <div ref={this.initWrapper} className={className} data-name=\"popinCorrection\">\n <div className={style.scrollWrapper}>\n <div className={isLoading ? style.loadingWrapper : style.wrapper}>\n <div className={isLoading ? style.loadingContent : style.content}>\n <Header\n {...header}\n gameOver={gameOver}\n extraLifeGranted={extraLifeGranted}\n animated\n />\n <Question {...question} />\n <Accordion tabProps={tabs} onClick={onClick} oneTabOnly>\n {isEmpty(getOr([], 'value', resources)) ? null : (\n <Resources resources={resources} overlay={overlay} />\n )}\n {klf.value ? <SimpleText text={klf.value} /> : null}\n {tips.value ? <SimpleText text={tips.value} /> : null}\n </Accordion>\n </div>\n {quitCta}\n <AssistanceLink {...assistanceLink} />\n </div>\n {isLoading ? <Loader className={style.activeLoader} /> : null}\n </div>\n </div>\n );\n }\n}\n\nexport default PopinCorrection;\n"],"file":"index.js"}
|
|
@@ -43,7 +43,7 @@ const Html = props => {
|
|
|
43
43
|
onLinkPress
|
|
44
44
|
} = props;
|
|
45
45
|
const handleLinkPress = (0, _react.useMemo)(() => url => {
|
|
46
|
-
vibration
|
|
46
|
+
vibration == null ? void 0 : vibration.vibrate();
|
|
47
47
|
onLinkPress && onLinkPress(url);
|
|
48
48
|
}, [onLinkPress, vibration]); // Don't use StyleSheet there, it's not a react style
|
|
49
49
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/atom/html/index.native.tsx"],"names":["Html","props","disableBaseFontStyleColor","setDisableBaseFontStyleColor","templateContext","theme","vibration","children","fontSize","containerStyle","imageStyle","style","testID","anchorTextColor","HTML_ANCHOR_TEXT_COLOR","isTextCentered","numberOfLines","onLinkPress","handleLinkPress","url","vibrate","styles","p","marginVertical","textAlign","u","textDecorationLine","i","fontStyle","b","fontWeight","bold","s","tagsStyles","h1","h2","h3","h4","h5","h6","a","color","img","baseFontStyle","DEFAULT_TEXT_STYLE","colors","black","Array","isArray","styleObject","reduce","result","child","renderers","font","htmlAttribs","_children","span","Span","_","convertedCSSStyles","allowFontScaling","key","html"],"mappings":";;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;AAeA,MAAMA,IAAI,GAAIC,KAAD,IAAkB;AAC7B,QAAM,CAACC,yBAAD,EAA4BC,4BAA5B,IAA4D,qBAAkB,KAAlB,CAAlE;AACA,QAAMC,eAAe,GAAG,0CAAxB;AACA,QAAM;AAACC,IAAAA,KAAD;AAAQC,IAAAA;AAAR,MAAqBF,eAA3B;AACA,QAAM;AACJG,IAAAA,QADI;AAEJC,IAAAA,QAFI;AAGJC,IAAAA,cAHI;AAIJC,IAAAA,UAJI;AAKJC,IAAAA,KALI;AAMJC,IAAAA,MANI;AAOJC,IAAAA,eAAe,GAAGC,6BAPd;AAQJC,IAAAA,cARI;AASJC,IAAAA,aATI;AAUJC,IAAAA;AAVI,MAWFhB,KAXJ;AAaA,QAAMiB,eAAe,GAAG,oBACtB,MAAOC,GAAD,IAAiB;AACrBb,IAAAA,SAAS,
|
|
1
|
+
{"version":3,"sources":["../../../src/atom/html/index.native.tsx"],"names":["Html","props","disableBaseFontStyleColor","setDisableBaseFontStyleColor","templateContext","theme","vibration","children","fontSize","containerStyle","imageStyle","style","testID","anchorTextColor","HTML_ANCHOR_TEXT_COLOR","isTextCentered","numberOfLines","onLinkPress","handleLinkPress","url","vibrate","styles","p","marginVertical","textAlign","u","textDecorationLine","i","fontStyle","b","fontWeight","bold","s","tagsStyles","h1","h2","h3","h4","h5","h6","a","color","img","baseFontStyle","DEFAULT_TEXT_STYLE","colors","black","Array","isArray","styleObject","reduce","result","child","renderers","font","htmlAttribs","_children","span","Span","_","convertedCSSStyles","allowFontScaling","key","html"],"mappings":"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","sourcesContent":["import React, {useMemo, useState} from 'react';\nimport {View, ViewStyle, ImageStyle, TextStyle} from 'react-native';\nimport HtmlBase from 'react-native-render-html';\n\nimport {HTML_ANCHOR_TEXT_COLOR} from '../../variables/theme.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport Text, {DEFAULT_STYLE as DEFAULT_TEXT_STYLE} from '../text/index.native';\n\nexport type Props = {\n children: string;\n fontSize: TextStyle['fontSize'];\n numberOfLines?: number;\n onLinkPress?: (url: string) => void;\n containerStyle?: ViewStyle;\n anchorTextColor?: string;\n imageStyle?: ImageStyle;\n style?: ViewStyle | ViewStyle[];\n testID?: string;\n isTextCentered?: boolean;\n};\n\nconst Html = (props: Props) => {\n const [disableBaseFontStyleColor, setDisableBaseFontStyleColor] = useState<boolean>(false);\n const templateContext = useTemplateContext();\n const {theme, vibration} = templateContext;\n const {\n children,\n fontSize,\n containerStyle,\n imageStyle,\n style,\n testID,\n anchorTextColor = HTML_ANCHOR_TEXT_COLOR,\n isTextCentered,\n numberOfLines,\n onLinkPress\n } = props;\n\n const handleLinkPress = useMemo(\n () => (url: string) => {\n vibration?.vibrate();\n\n onLinkPress && onLinkPress(url);\n },\n [onLinkPress, vibration]\n );\n\n // Don't use StyleSheet there, it's not a react style\n const styles = {\n p: {\n marginVertical: 0,\n textAlign: 'center'\n },\n u: {\n textDecorationLine: 'underline'\n },\n i: {\n fontStyle: 'italic'\n },\n b: {\n fontWeight: theme.fontWeight.bold\n },\n s: {\n textDecorationLine: 'line-through'\n }\n };\n\n const tagsStyles = {\n ...styles,\n h1: {fontSize},\n h2: {fontSize},\n h3: {fontSize},\n h4: {fontSize},\n h5: {fontSize},\n h6: {fontSize},\n a: {color: anchorTextColor},\n img: imageStyle\n };\n\n let baseFontStyle = {...DEFAULT_TEXT_STYLE, fontSize, color: theme.colors.black};\n if (style) {\n if (Array.isArray(style)) {\n const styleObject = style.reduce((result, child) => ({\n ...result,\n ...child\n }));\n baseFontStyle = {\n ...baseFontStyle,\n ...styleObject\n };\n } else {\n baseFontStyle = {\n ...baseFontStyle,\n ...style\n };\n }\n }\n\n const renderers = {\n // eslint-disable-next-line react/display-name\n font: (htmlAttribs, _children) => {\n if (htmlAttribs.color) {\n setDisableBaseFontStyleColor(true);\n }\n return (\n <Text\n key={1}\n style={{\n ...baseFontStyle,\n color: htmlAttribs.color\n }}\n >\n {_children}\n </Text>\n );\n },\n span: function Span(\n _: any,\n _children: any,\n convertedCSSStyles: any,\n {allowFontScaling, key}: any\n ) {\n return (\n <Text\n numberOfLines={numberOfLines}\n allowFontScaling={allowFontScaling}\n key={key}\n style={convertedCSSStyles}\n >\n {_children}\n </Text>\n );\n }\n };\n\n return (\n <View testID={testID} style={containerStyle}>\n <HtmlBase\n // to text-align center on android\n // we have to encapsulate between <p> tag\n // and use custom style define on <p>\n // definition in component style doesn't work\n source={{\n // eslint-disable-next-line no-nested-ternary\n html: isTextCentered\n ? `<p>${children}</p>`\n : numberOfLines\n ? `<span>${children}</span>`\n : `${children}`\n }}\n tagsStyles={tagsStyles}\n baseFontStyle={{\n ...baseFontStyle,\n color: disableBaseFontStyleColor ? null : baseFontStyle.color\n }}\n onLinkPress={handleLinkPress}\n renderers={renderers}\n // this is exceptionally for the onboarding course\n // is the only course that has a gif in the context but the img tag\n // comes with width & height attr and these makes this lib do not render the gif\n // so to avoid it, we decided to ignore these attr\n ignoredStyles={['width', 'height']}\n testID=\"html-base\"\n />\n </View>\n );\n};\n\nexport default Html;\n"],"file":"index.native.js"}
|
|
@@ -54,7 +54,7 @@ const createRenderItem = (value, testID, onChange) => ({
|
|
|
54
54
|
|
|
55
55
|
const createSeparator = styleSheet => () => {
|
|
56
56
|
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
57
|
-
style: styleSheet
|
|
57
|
+
style: styleSheet == null ? void 0 : styleSheet.separator
|
|
58
58
|
});
|
|
59
59
|
};
|
|
60
60
|
|
|
@@ -85,7 +85,7 @@ const ModalSelect = props => {
|
|
|
85
85
|
|
|
86
86
|
return /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
87
87
|
onClose: onClose,
|
|
88
|
-
contentStyle: styleSheet
|
|
88
|
+
contentStyle: styleSheet == null ? void 0 : styleSheet.content,
|
|
89
89
|
testID: testID
|
|
90
90
|
}, /*#__PURE__*/_react.default.createElement(_reactNative.FlatList, {
|
|
91
91
|
data: values,
|
|
@@ -93,7 +93,7 @@ const ModalSelect = props => {
|
|
|
93
93
|
keyExtractor: keyExtractor,
|
|
94
94
|
showsVerticalScrollIndicator: false,
|
|
95
95
|
ItemSeparatorComponent: renderSeparator,
|
|
96
|
-
style: styleSheet
|
|
96
|
+
style: styleSheet == null ? void 0 : styleSheet.list,
|
|
97
97
|
testID: `${testID}-items`
|
|
98
98
|
}));
|
|
99
99
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/hoc/modal/select/index.native.tsx"],"names":["createStyleSheet","theme","StyleSheet","create","content","paddingHorizontal","separator","borderTopWidth","borderColor","colors","border","list","width","keyExtractor","item","index","createRenderItem","value","testID","onChange","handleChange","_value","text","createSeparator","styleSheet","ModalSelect","props","templateContext","setStylesheet","values","onClose","_stylesheet","renderItem","renderSeparator"],"mappings":";;;;;;;AAAA;;AACA;;AAMA;;AAEA;;AACA;;;;;;;;AAyBA,MAAMA,gBAAgB,GAAIC,KAAD,IACvBC,wBAAWC,MAAX,CAAkB;AAChBC,EAAAA,OAAO,EAAE;AACPC,IAAAA,iBAAiB,EAAE;AADZ,GADO;AAIhBC,EAAAA,SAAS,EAAE;AACTC,IAAAA,cAAc,EAAE,CADP;AAETC,IAAAA,WAAW,EAAEP,KAAK,CAACQ,MAAN,CAAaC;AAFjB,GAJK;AAQhBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,KAAK,EAAE;AADH;AARU,CAAlB,CADF;;AAcA,MAAMC,YAAY,GAAG,CAACC,IAAD,EAAmBC,KAAnB,KAA6C;AAChE,SAAQ,qBAAoBA,KAAK,GAAG,CAAE,EAAtC;AACD,CAFD;;AAIA,MAAMC,gBAAgB,GAAG,CAACC,KAAD,EAAgBC,MAAhB,EAAgCC,QAAhC,KAA+D,CAAC;AACvFL,EAAAA,IADuF;AAEvFC,EAAAA;AAFuF,CAAD,KAMlF;AACJ;AACA,QAAMK,YAAY,GAAIC,MAAD,IAAoB,MAAMF,QAAQ,CAACE,MAAD,CAAvD;;AAEA,sBACE,6BAAC,eAAD;AACE,IAAA,OAAO,EAAED,YAAY,CAACN,IAAI,CAACQ,IAAN,CADvB;AAEE,IAAA,UAAU,EAAEL,KAAK,KAAKH,IAAI,CAACQ,IAF7B;AAGE,IAAA,MAAM,EAAG,GAAEJ,MAAO,SAAQH,KAAK,GAAG,CAAE;AAHtC,KAKGD,IAAI,CAACQ,IALR,CADF;AASD,CAnBD;;AAqBA,MAAMC,eAAe,GAAIC,UAAD,IAAgC,MAAM;AAC5D,sBAAO,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEA,UAAU,
|
|
1
|
+
{"version":3,"sources":["../../../../src/hoc/modal/select/index.native.tsx"],"names":["createStyleSheet","theme","StyleSheet","create","content","paddingHorizontal","separator","borderTopWidth","borderColor","colors","border","list","width","keyExtractor","item","index","createRenderItem","value","testID","onChange","handleChange","_value","text","createSeparator","styleSheet","ModalSelect","props","templateContext","setStylesheet","values","onClose","_stylesheet","renderItem","renderSeparator"],"mappings":";;;;;;;AAAA;;AACA;;AAMA;;AAEA;;AACA;;;;;;;;AAyBA,MAAMA,gBAAgB,GAAIC,KAAD,IACvBC,wBAAWC,MAAX,CAAkB;AAChBC,EAAAA,OAAO,EAAE;AACPC,IAAAA,iBAAiB,EAAE;AADZ,GADO;AAIhBC,EAAAA,SAAS,EAAE;AACTC,IAAAA,cAAc,EAAE,CADP;AAETC,IAAAA,WAAW,EAAEP,KAAK,CAACQ,MAAN,CAAaC;AAFjB,GAJK;AAQhBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,KAAK,EAAE;AADH;AARU,CAAlB,CADF;;AAcA,MAAMC,YAAY,GAAG,CAACC,IAAD,EAAmBC,KAAnB,KAA6C;AAChE,SAAQ,qBAAoBA,KAAK,GAAG,CAAE,EAAtC;AACD,CAFD;;AAIA,MAAMC,gBAAgB,GAAG,CAACC,KAAD,EAAgBC,MAAhB,EAAgCC,QAAhC,KAA+D,CAAC;AACvFL,EAAAA,IADuF;AAEvFC,EAAAA;AAFuF,CAAD,KAMlF;AACJ;AACA,QAAMK,YAAY,GAAIC,MAAD,IAAoB,MAAMF,QAAQ,CAACE,MAAD,CAAvD;;AAEA,sBACE,6BAAC,eAAD;AACE,IAAA,OAAO,EAAED,YAAY,CAACN,IAAI,CAACQ,IAAN,CADvB;AAEE,IAAA,UAAU,EAAEL,KAAK,KAAKH,IAAI,CAACQ,IAF7B;AAGE,IAAA,MAAM,EAAG,GAAEJ,MAAO,SAAQH,KAAK,GAAG,CAAE;AAHtC,KAKGD,IAAI,CAACQ,IALR,CADF;AASD,CAnBD;;AAqBA,MAAMC,eAAe,GAAIC,UAAD,IAAgC,MAAM;AAC5D,sBAAO,6BAAC,iBAAD;AAAM,IAAA,KAAK,EAAEA,UAAF,oBAAEA,UAAU,CAAElB;AAAzB,IAAP;AACD,CAFD;;AAIA,MAAMmB,WAAW,GAAIC,KAAD,IAAkB;AACpC,QAAMC,eAAe,GAAG,0CAAxB;AACA,QAAM,CAACH,UAAD,EAAaI,aAAb,IAA8B,qBAAgC,IAAhC,CAApC;AACA,QAAM;AAAC3B,IAAAA;AAAD,MAAU0B,eAAhB;AACA,QAAM;AAACV,IAAAA,KAAK,GAAG,EAAT;AAAaY,IAAAA,MAAb;AAAqBV,IAAAA,QAArB;AAA+BW,IAAAA,OAAO,iBAAtC;AAA+CZ,IAAAA,MAAM,GAAG;AAAxD,MAA0EQ,KAAhF;AAEA,wBAAU,MAAM;AACd,UAAMK,WAAW,GAAG/B,gBAAgB,CAACC,KAAD,CAApC;;AACA2B,IAAAA,aAAa,CAACG,WAAD,CAAb;AACD,GAHD,EAGG,CAAC9B,KAAD,CAHH;AAKA,QAAM+B,UAAU,GAAG,oBAAQ,MAAMhB,gBAAgB,CAACC,KAAD,EAAQC,MAAR,EAAgBC,QAAhB,CAA9B,EAAyD,CAC1EF,KAD0E,EAE1EC,MAF0E,EAG1EC,QAH0E,CAAzD,CAAnB;AAMA,QAAMc,eAAe,GAAG,oBAAQ,MAAOT,UAAU,GAAGD,eAAe,CAACC,UAAD,CAAlB,GAAiC,IAA1D,EAAiE,CACvFA,UADuF,CAAjE,CAAxB;;AAIA,MAAI,CAACA,UAAL,EAAiB;AACf,WAAO,IAAP;AACD;;AAED,sBACE,6BAAC,cAAD;AAAO,IAAA,OAAO,EAAEM,OAAhB;AAAyB,IAAA,YAAY,EAAEN,UAAF,oBAAEA,UAAU,CAAEpB,OAAnD;AAA4D,IAAA,MAAM,EAAEc;AAApE,kBACE,6BAAC,qBAAD;AACE,IAAA,IAAI,EAAEW,MADR;AAEE,IAAA,UAAU,EAAEG,UAFd;AAGE,IAAA,YAAY,EAAEnB,YAHhB;AAIE,IAAA,4BAA4B,EAAE,KAJhC;AAKE,IAAA,sBAAsB,EAAEoB,eAL1B;AAME,IAAA,KAAK,EAAET,UAAF,oBAAEA,UAAU,CAAEb,IANrB;AAOE,IAAA,MAAM,EAAG,GAAEO,MAAO;AAPpB,IADF,CADF;AAaD,CAtCD;;eAwCeO,W","sourcesContent":["import React, {useState, useEffect, useMemo} from 'react';\nimport {View, FlatList, StyleSheet} from 'react-native';\nimport {noop} from 'lodash/fp';\nimport type {PressEvent} from 'react-native/Libraries/Types/CoreEventTypes';\n\nimport type {ChoiceItem} from '../../../types/progression-engine.d';\nimport {Theme} from '../../../variables/theme.native';\nimport {useTemplateContext} from '../../../template/app-review/template-context';\n\nimport Modal from '../index.native';\nimport ModalSelectItem from '../select-item/index.native';\n\nexport type OnChangeFunction = (value: string) => void;\n\nexport type Props = {\n value?: string;\n values: Array<ChoiceItem> | undefined;\n onChange: OnChangeFunction;\n onClose?: (event: PressEvent) => void;\n testID?: string;\n};\n\ntype StyleSheetType = {\n content: {\n paddingHorizontal: number;\n };\n separator: {\n borderTopWidth: number;\n borderColor: string;\n };\n list: {\n width: string;\n };\n};\n\nconst createStyleSheet = (theme: Theme) =>\n StyleSheet.create({\n content: {\n paddingHorizontal: 0\n },\n separator: {\n borderTopWidth: 1,\n borderColor: theme.colors.border\n },\n list: {\n width: '100%'\n }\n });\n\nconst keyExtractor = (item: ChoiceItem, index: number): string => {\n return `modal-select-item-${index + 1}`;\n};\n\nconst createRenderItem = (value: string, testID: String, onChange: OnChangeFunction) => ({\n item,\n index\n}: {\n item: ChoiceItem;\n index: number;\n}) => {\n // eslint-disable-next-line unicorn/consistent-function-scoping\n const handleChange = (_value: string) => () => onChange(_value);\n\n return (\n <ModalSelectItem\n onPress={handleChange(item.text)}\n isSelected={value === item.text}\n testID={`${testID}-item-${index + 1}`}\n >\n {item.text}\n </ModalSelectItem>\n );\n};\n\nconst createSeparator = (styleSheet: StyleSheetType) => () => {\n return <View style={styleSheet?.separator} />;\n};\n\nconst ModalSelect = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {theme} = templateContext;\n const {value = '', values, onChange, onClose = noop, testID = 'modal-select'} = props;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n const renderItem = useMemo(() => createRenderItem(value, testID, onChange), [\n value,\n testID,\n onChange\n ]);\n\n const renderSeparator = useMemo(() => (styleSheet ? createSeparator(styleSheet) : null), [\n styleSheet\n ]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <Modal onClose={onClose} contentStyle={styleSheet?.content} testID={testID}>\n <FlatList\n data={values}\n renderItem={renderItem}\n keyExtractor={keyExtractor}\n showsVerticalScrollIndicator={false}\n ItemSeparatorComponent={renderSeparator}\n style={styleSheet?.list}\n testID={`${testID}-items`}\n />\n </Modal>\n );\n};\n\nexport default ModalSelect;\n"],"file":"index.native.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/hoc/modal/select-item/index.native.tsx"],"names":["createStyleSheet","brandTheme","theme","StyleSheet","create","container","backgroundColor","colors","white","padding","spacing","small","text","fontWeight","bold","color","black","selectedTextStyle","primary","ModalSelectItem","props","templateContext","styleSheet","setStylesheet","_stylesheet","children","onPress","isSelected","testID"],"mappings":";;;;;AAAA;;AACA;;AAGA;;AACA;;AACA;;;;;;;;AAwBA,MAAMA,gBAAgB,GAAG,CAACC,UAAD,EAAkBC,KAAlB,KACvBC,wBAAWC,MAAX,CAAkB;AAChBC,EAAAA,SAAS,EAAE;AACTC,IAAAA,eAAe,EAAEJ,KAAK,CAACK,MAAN,CAAaC,KADrB;AAETC,IAAAA,OAAO,EAAEP,KAAK,CAACQ,OAAN,CAAcC;AAFd,GADK;AAKhBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,UAAU,EAAEX,KAAK,CAACW,UAAN,CAAiBC,IADzB;AAEJC,IAAAA,KAAK,EAAEb,KAAK,CAACK,MAAN,CAAaS;AAFhB,GALU;AAShBC,EAAAA,iBAAiB,EAAE;AACjBF,IAAAA,KAAK,EAAEd,UAAU,
|
|
1
|
+
{"version":3,"sources":["../../../../src/hoc/modal/select-item/index.native.tsx"],"names":["createStyleSheet","brandTheme","theme","StyleSheet","create","container","backgroundColor","colors","white","padding","spacing","small","text","fontWeight","bold","color","black","selectedTextStyle","primary","ModalSelectItem","props","templateContext","styleSheet","setStylesheet","_stylesheet","children","onPress","isSelected","testID"],"mappings":";;;;;AAAA;;AACA;;AAGA;;AACA;;AACA;;;;;;;;AAwBA,MAAMA,gBAAgB,GAAG,CAACC,UAAD,EAAkBC,KAAlB,KACvBC,wBAAWC,MAAX,CAAkB;AAChBC,EAAAA,SAAS,EAAE;AACTC,IAAAA,eAAe,EAAEJ,KAAK,CAACK,MAAN,CAAaC,KADrB;AAETC,IAAAA,OAAO,EAAEP,KAAK,CAACQ,OAAN,CAAcC;AAFd,GADK;AAKhBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,UAAU,EAAEX,KAAK,CAACW,UAAN,CAAiBC,IADzB;AAEJC,IAAAA,KAAK,EAAEb,KAAK,CAACK,MAAN,CAAaS;AAFhB,GALU;AAShBC,EAAAA,iBAAiB,EAAE;AACjBF,IAAAA,KAAK,EAAEd,UAAF,oBAAEA,UAAU,CAAEM,MAAZ,CAAmBW;AADT;AATH,CAAlB,CADF;;AAeA,MAAMC,eAAe,GAAIC,KAAD,IAAkB;AACxC,QAAMC,eAAe,GAAG,0CAAxB;AACA,QAAM,CAACC,UAAD,EAAaC,aAAb,IAA8B,qBAAgC,IAAhC,CAApC;AACA,QAAM;AAACtB,IAAAA,UAAD;AAAaC,IAAAA;AAAb,MAAsBmB,eAA5B;AAEA,wBAAU,MAAM;AACd,UAAMG,WAAW,GAAGxB,gBAAgB,CAACC,UAAD,EAAaC,KAAb,CAApC;;AACAqB,IAAAA,aAAa,CAACC,WAAD,CAAb;AACD,GAHD,EAGG,CAACtB,KAAD,EAAQD,UAAR,CAHH;;AAKA,MAAI,CAACqB,UAAL,EAAiB;AACf,WAAO,IAAP;AACD;;AAED,QAAM;AAACG,IAAAA,QAAD;AAAWC,IAAAA,OAAX;AAAoBC,IAAAA,UAApB;AAAgCC,IAAAA;AAAhC,MAA0CR,KAAhD;AAEA,sBACE,6BAAC,eAAD;AAAW,IAAA,OAAO,EAAEM,OAApB;AAA6B,IAAA,KAAK,EAAEJ,UAAU,CAACjB,SAA/C;AAA0D,IAAA,MAAM,EAAEuB;AAAlE,kBACE,6BAAC,cAAD;AAAM,IAAA,KAAK,EAAE,CAACN,UAAU,CAACV,IAAZ,EAAkBe,UAAU,IAAIL,UAAU,CAACL,iBAA3C;AAAb,KAA6EQ,QAA7E,CADF,CADF;AAKD,CArBD;;eAuBeN,e","sourcesContent":["import React, {useState, useEffect} from 'react';\nimport {StyleSheet, TextStyle} from 'react-native';\nimport type {PressEvent} from 'react-native/Libraries/Types/CoreEventTypes';\n\nimport Text from '../../../atom/text/index.native';\nimport Touchable from '../../touchable/index.native';\nimport {useTemplateContext} from '../../../template/app-review/template-context';\nimport {Theme} from '../../../variables/theme.native';\n\nexport type Props = {\n isSelected?: boolean;\n children: string;\n onPress?: (event: PressEvent) => any;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: {\n backgroundColor: string;\n padding: number;\n };\n text: {\n fontWeight: TextStyle;\n color: string;\n };\n selectedTextStyle: {\n color: string;\n };\n};\n\nconst createStyleSheet = (brandTheme: any, theme: Theme) =>\n StyleSheet.create({\n container: {\n backgroundColor: theme.colors.white,\n padding: theme.spacing.small\n },\n text: {\n fontWeight: theme.fontWeight.bold,\n color: theme.colors.black\n },\n selectedTextStyle: {\n color: brandTheme?.colors.primary\n }\n });\n\nconst ModalSelectItem = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {brandTheme, theme} = templateContext;\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(brandTheme, theme);\n setStylesheet(_stylesheet);\n }, [theme, brandTheme]);\n\n if (!styleSheet) {\n return null;\n }\n\n const {children, onPress, isSelected, testID} = props;\n\n return (\n <Touchable onPress={onPress} style={styleSheet.container} testID={testID}>\n <Text style={[styleSheet.text, isSelected && styleSheet.selectedTextStyle]}>{children}</Text>\n </Touchable>\n );\n};\n\nexport default ModalSelectItem;\n"],"file":"index.native.js"}
|
|
@@ -49,13 +49,13 @@ const Touchable = props => {
|
|
|
49
49
|
} = props;
|
|
50
50
|
const handlePress = (0, _react.useMemo)(() => event => {
|
|
51
51
|
if (!onPress) return;
|
|
52
|
-
vibration
|
|
52
|
+
vibration == null ? void 0 : vibration.vibrate();
|
|
53
53
|
analytics && logEvent(_analytics.ANALYTICS_EVENT_TYPE.PRESS, analyticsID, analytics, analyticsParams);
|
|
54
54
|
onPress(event);
|
|
55
55
|
}, [analytics, analyticsID, analyticsParams, onPress, vibration]);
|
|
56
56
|
const handleLongPress = (0, _react.useMemo)(() => event => {
|
|
57
57
|
if (!onLongPress) return;
|
|
58
|
-
vibration
|
|
58
|
+
vibration == null ? void 0 : vibration.vibrate();
|
|
59
59
|
analytics && logEvent(_analytics.ANALYTICS_EVENT_TYPE.LONG_PRESS, analyticsID, analytics, analyticsParams);
|
|
60
60
|
onLongPress(event);
|
|
61
61
|
}, [analytics, analyticsID, analyticsParams, onLongPress, vibration]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/hoc/touchable/index.native.tsx"],"names":["hitSlop","left","right","bottom","top","logEvent","eventName","analyticsID","analytics","analyticsParams","id","Touchable","props","templateContext","theme","vibration","onPress","onLongPress","isWithoutFeedback","isHighlight","activeOpacity","disabled","handlePress","event","vibrate","ANALYTICS_EVENT_TYPE","PRESS","handleLongPress","LONG_PRESS","colors","gray","light"],"mappings":";;;;;AAAA;;AAQA;;AACA;;AACA;;;;;;;;AAGA,MAAMA,OAAO,GAAG;AACdC,EAAAA,IAAI,EAAE,EADQ;AAEdC,EAAAA,KAAK,EAAE,EAFO;AAGdC,EAAAA,MAAM,EAAE,EAHM;AAIdC,EAAAA,GAAG,EAAE;AAJS,CAAhB;;AAmCA,MAAMC,QAAQ,GAAG,CACfC,SADe,EAEfC,WAFe,EAGfC,SAHe,EAIfC,eAJe,KAKZ;AACHD,EAAAA,SAAS,IACPA,SAAS,CAACH,QAAV,CAAmBC,SAAnB,wBACMG,eAAe,IAAI,EADzB;AAEEC,IAAAA,EAAE,EAAEH;AAFN,KADF;AAKD,CAXD;;AAaA,MAAMI,SAAS,GAAIC,KAAD,IAAkB;AAClC,QAAMC,eAAe,GAAG,0CAAxB;AAEA,QAAM;AAACC,IAAAA,KAAD;AAAQC,IAAAA,SAAR;AAAmBP,IAAAA;AAAnB,MAAgCK,eAAtC;AAEA,QAAM;AACJN,IAAAA,WADI;AAEJE,IAAAA,eAFI;AAGJO,IAAAA,OAHI;AAIJC,IAAAA,WAJI;AAKJC,IAAAA,iBALI;AAMJC,IAAAA,WANI;AAOJC,IAAAA,aAPI;AAQJC,IAAAA;AARI,MASFT,KATJ;AAWA,QAAMU,WAAW,GAAG,oBAClB,MAAOC,KAAD,IAAuB;AAC3B,QAAI,CAACP,OAAL,EAAc;AAEdD,IAAAA,SAAS,
|
|
1
|
+
{"version":3,"sources":["../../../src/hoc/touchable/index.native.tsx"],"names":["hitSlop","left","right","bottom","top","logEvent","eventName","analyticsID","analytics","analyticsParams","id","Touchable","props","templateContext","theme","vibration","onPress","onLongPress","isWithoutFeedback","isHighlight","activeOpacity","disabled","handlePress","event","vibrate","ANALYTICS_EVENT_TYPE","PRESS","handleLongPress","LONG_PRESS","colors","gray","light"],"mappings":";;;;;AAAA;;AAQA;;AACA;;AACA;;;;;;;;AAGA,MAAMA,OAAO,GAAG;AACdC,EAAAA,IAAI,EAAE,EADQ;AAEdC,EAAAA,KAAK,EAAE,EAFO;AAGdC,EAAAA,MAAM,EAAE,EAHM;AAIdC,EAAAA,GAAG,EAAE;AAJS,CAAhB;;AAmCA,MAAMC,QAAQ,GAAG,CACfC,SADe,EAEfC,WAFe,EAGfC,SAHe,EAIfC,eAJe,KAKZ;AACHD,EAAAA,SAAS,IACPA,SAAS,CAACH,QAAV,CAAmBC,SAAnB,wBACMG,eAAe,IAAI,EADzB;AAEEC,IAAAA,EAAE,EAAEH;AAFN,KADF;AAKD,CAXD;;AAaA,MAAMI,SAAS,GAAIC,KAAD,IAAkB;AAClC,QAAMC,eAAe,GAAG,0CAAxB;AAEA,QAAM;AAACC,IAAAA,KAAD;AAAQC,IAAAA,SAAR;AAAmBP,IAAAA;AAAnB,MAAgCK,eAAtC;AAEA,QAAM;AACJN,IAAAA,WADI;AAEJE,IAAAA,eAFI;AAGJO,IAAAA,OAHI;AAIJC,IAAAA,WAJI;AAKJC,IAAAA,iBALI;AAMJC,IAAAA,WANI;AAOJC,IAAAA,aAPI;AAQJC,IAAAA;AARI,MASFT,KATJ;AAWA,QAAMU,WAAW,GAAG,oBAClB,MAAOC,KAAD,IAAuB;AAC3B,QAAI,CAACP,OAAL,EAAc;AAEdD,IAAAA,SAAS,QAAT,YAAAA,SAAS,CAAES,OAAX;AAEAhB,IAAAA,SAAS,IAAIH,QAAQ,CAACoB,gCAAqBC,KAAtB,EAA6BnB,WAA7B,EAA0CC,SAA1C,EAAqDC,eAArD,CAArB;AACAO,IAAAA,OAAO,CAACO,KAAD,CAAP;AACD,GARiB,EASlB,CAACf,SAAD,EAAYD,WAAZ,EAAyBE,eAAzB,EAA0CO,OAA1C,EAAmDD,SAAnD,CATkB,CAApB;AAYA,QAAMY,eAAe,GAAG,oBACtB,MAAOJ,KAAD,IAAuB;AAC3B,QAAI,CAACN,WAAL,EAAkB;AAElBF,IAAAA,SAAS,QAAT,YAAAA,SAAS,CAAES,OAAX;AAEAhB,IAAAA,SAAS,IACPH,QAAQ,CAACoB,gCAAqBG,UAAtB,EAAkCrB,WAAlC,EAA+CC,SAA/C,EAA0DC,eAA1D,CADV;AAEAQ,IAAAA,WAAW,CAACM,KAAD,CAAX;AACD,GATqB,EAUtB,CAACf,SAAD,EAAYD,WAAZ,EAAyBE,eAAzB,EAA0CQ,WAA1C,EAAuDF,SAAvD,CAVsB,CAAxB;;AAaA,MAAII,WAAJ,EAAiB;AACf,wBACE,6BAAC,+BAAD,eACMP,KADN;AAEE,MAAA,OAAO,EAAEZ,OAFX;AAGE,MAAA,aAAa,EAAEc,KAAK,CAACe,MAAN,CAAaC,IAAb,CAAkBC,KAHnC;AAIE,MAAA,OAAO,EAAET,WAJX;AAKE,MAAA,WAAW,EAAEK,eALf;AAME,MAAA,aAAa,EAAEP,aAAa,KAAKC,QAAQ,GAAG,CAAH,GAAO,IAApB;AAN9B,OADF;AAUD;;AAED,sBACE,6BAAC,6BAAD,eACMT,KADN;AAEE,IAAA,OAAO,EAAEZ,OAFX;AAGE,IAAA,OAAO,EAAEsB,WAHX;AAIE,IAAA,WAAW,EAAEK,eAJf;AAKE,IAAA,aAAa,EAAGT,iBAAiB,IAAI,CAAtB,IAA4BE,aAA5B,KAA8CC,QAAQ,GAAG,CAAH,GAAO,GAA7D;AALjB,KADF;AASD,CA/DD;;eAiEeV,S","sourcesContent":["import {TouchableOpacity, TouchableHighlight, ViewStyle} from 'react-native';\nimport type {\n BlurEvent,\n LayoutEvent,\n FocusEvent,\n PressEvent\n} from 'react-native/Libraries/Types/CoreEventTypes';\n\nimport React, {useMemo} from 'react';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {ANALYTICS_EVENT_TYPE, Analytics, AnalyticsEventParams} from '../../variables/analytics';\nimport {Vibration} from '../../variables/vibration';\n\nconst hitSlop = {\n left: 12,\n right: 12,\n bottom: 12,\n top: 12\n};\n\nexport type Props = {\n accessible?: boolean;\n children?: React.ReactNode;\n delayLongPress?: number;\n delayPressIn?: number;\n delayPressOut?: number;\n disabled?: boolean;\n focusable?: boolean;\n onBlur?: (event: BlurEvent) => any;\n onFocus?: (event: FocusEvent) => any;\n onLayout?: (event: LayoutEvent) => any;\n onLongPress?: (event: PressEvent) => any;\n onPress?: (event: PressEvent) => any;\n onPressIn?: (event: PressEvent) => any;\n onPressOut?: (event: PressEvent) => any;\n testID?: string;\n isHighlight?: boolean;\n isWithoutFeedback?: boolean;\n // for TouchableOpacity\n activeOpacity?: number;\n style?: ViewStyle;\n // Analytics\n analytics?: Analytics;\n analyticsID?: string;\n analyticsParams?: AnalyticsEventParams;\n vibration?: Vibration;\n};\n\nconst logEvent = (\n eventName: string,\n analyticsID: String,\n analytics: Analytics,\n analyticsParams: AnalyticsEventParams | undefined\n) => {\n analytics &&\n analytics.logEvent(eventName, {\n ...(analyticsParams || {}),\n id: analyticsID\n });\n};\n\nconst Touchable = (props: Props) => {\n const templateContext = useTemplateContext();\n\n const {theme, vibration, analytics} = templateContext;\n\n const {\n analyticsID,\n analyticsParams,\n onPress,\n onLongPress,\n isWithoutFeedback,\n isHighlight,\n activeOpacity,\n disabled\n } = props;\n\n const handlePress = useMemo(\n () => (event: PressEvent) => {\n if (!onPress) return;\n\n vibration?.vibrate();\n\n analytics && logEvent(ANALYTICS_EVENT_TYPE.PRESS, analyticsID, analytics, analyticsParams);\n onPress(event);\n },\n [analytics, analyticsID, analyticsParams, onPress, vibration]\n );\n\n const handleLongPress = useMemo(\n () => (event: PressEvent) => {\n if (!onLongPress) return;\n\n vibration?.vibrate();\n\n analytics &&\n logEvent(ANALYTICS_EVENT_TYPE.LONG_PRESS, analyticsID, analytics, analyticsParams);\n onLongPress(event);\n },\n [analytics, analyticsID, analyticsParams, onLongPress, vibration]\n );\n\n if (isHighlight) {\n return (\n <TouchableHighlight\n {...props}\n hitSlop={hitSlop}\n underlayColor={theme.colors.gray.light}\n onPress={handlePress}\n onLongPress={handleLongPress}\n activeOpacity={activeOpacity || (disabled ? 1 : 0.85)}\n />\n );\n }\n\n return (\n <TouchableOpacity\n {...props}\n hitSlop={hitSlop}\n onPress={handlePress}\n onLongPress={handleLongPress}\n activeOpacity={(isWithoutFeedback && 1) || activeOpacity || (disabled ? 1 : 0.2)}\n />\n );\n};\n\nexport default Touchable;\n"],"file":"index.native.js"}
|
|
@@ -175,7 +175,7 @@
|
|
|
175
175
|
position: fixed;
|
|
176
176
|
bottom: 32px;
|
|
177
177
|
left: 32px;
|
|
178
|
-
z-index:
|
|
178
|
+
z-index: 1000;
|
|
179
179
|
}
|
|
180
180
|
.cookieTitle {
|
|
181
181
|
font-family: "Gilroy";
|
|
@@ -185,7 +185,6 @@
|
|
|
185
185
|
line-height: 32px;
|
|
186
186
|
color: white;
|
|
187
187
|
padding-left: 16px;
|
|
188
|
-
width: 60%;
|
|
189
188
|
}
|
|
190
189
|
.cookieIcon {
|
|
191
190
|
height: 20px;
|
|
@@ -208,10 +208,12 @@ class CardsList extends _react.default.PureComponent {
|
|
|
208
208
|
}
|
|
209
209
|
|
|
210
210
|
setCardsWrapper(element) {
|
|
211
|
+
var _this$cardsWrapper, _this$cardsWrapper2;
|
|
212
|
+
|
|
211
213
|
this.cardsWrapper = element;
|
|
212
214
|
this.setState({
|
|
213
|
-
scrollLeft: this.cardsWrapper
|
|
214
|
-
offsetWidth: this.cardsWrapper
|
|
215
|
+
scrollLeft: (_this$cardsWrapper = this.cardsWrapper) == null ? void 0 : _this$cardsWrapper.scrollLeft,
|
|
216
|
+
offsetWidth: (_this$cardsWrapper2 = this.cardsWrapper) == null ? void 0 : _this$cardsWrapper2.offsetWidth
|
|
215
217
|
});
|
|
216
218
|
}
|
|
217
219
|
|
|
@@ -224,7 +226,9 @@ class CardsList extends _react.default.PureComponent {
|
|
|
224
226
|
}
|
|
225
227
|
|
|
226
228
|
handleScroll() {
|
|
227
|
-
|
|
229
|
+
var _this$cardsWrapper3;
|
|
230
|
+
|
|
231
|
+
const scrollLeft = (_this$cardsWrapper3 = this.cardsWrapper) == null ? void 0 : _this$cardsWrapper3.scrollLeft;
|
|
228
232
|
this.setState({
|
|
229
233
|
scrollLeft
|
|
230
234
|
});
|
|
@@ -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":"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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"}
|
|
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"}
|
|
@@ -25,8 +25,8 @@ const createStyleSheet = (brandTheme, theme) => _reactNative.StyleSheet.create({
|
|
|
25
25
|
minWidth: 175
|
|
26
26
|
},
|
|
27
27
|
text: {
|
|
28
|
-
borderColor: brandTheme
|
|
29
|
-
color: brandTheme
|
|
28
|
+
borderColor: brandTheme == null ? void 0 : brandTheme.colors.primary,
|
|
29
|
+
color: (brandTheme == null ? void 0 : brandTheme.colors.primary) || theme.colors.gray.medium,
|
|
30
30
|
fontWeight: theme.fontWeight.bold,
|
|
31
31
|
fontSize: theme.fontSize.regular,
|
|
32
32
|
textAlign: 'center'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/molecule/questions/free-text/index.native.tsx"],"names":["createStyleSheet","brandTheme","theme","StyleSheet","create","input","padding","spacing","tiny","borderWidth","borderColor","colors","gray","lightMedium","borderRadius","radius","common","backgroundColor","white","minWidth","text","primary","color","medium","fontWeight","bold","fontSize","regular","textAlign","spaced","paddingVertical","fullWitdh","width","logEvent","eventName","analytics","questionType","id","FreeText","props","templateContext","styleSheet","setStylesheet","translations","PLACEHOLDER_COLOR","fullWidth","testID","onChange","isDisabled","value","handleFocus","ANALYTICS_EVENT_TYPE","INPUT_FOCUS","handleBlur","INPUT_BLUR","_stylesheet","typeHere"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;;;;;AAmDA,MAAMA,gBAAgB,GAAG,CAACC,UAAD,EAAkBC,KAAlB,KACvBC,wBAAWC,MAAX,CAAkB;AAChBC,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAEJ,KAAK,CAACK,OAAN,CAAcC,IADlB;AAELC,IAAAA,WAAW,EAAE,CAFR;AAGLC,IAAAA,WAAW,EAAER,KAAK,CAACS,MAAN,CAAaC,IAAb,CAAkBC,WAH1B;AAILC,IAAAA,YAAY,EAAEZ,KAAK,CAACa,MAAN,CAAaC,MAJtB;AAKLC,IAAAA,eAAe,EAAEf,KAAK,CAACS,MAAN,CAAaO,KALzB;AAMLC,IAAAA,QAAQ,EAAE;AANL,GADS;AAShBC,EAAAA,IAAI,EAAE;AACJV,IAAAA,WAAW,EAAET,UAAU,
|
|
1
|
+
{"version":3,"sources":["../../../../src/molecule/questions/free-text/index.native.tsx"],"names":["createStyleSheet","brandTheme","theme","StyleSheet","create","input","padding","spacing","tiny","borderWidth","borderColor","colors","gray","lightMedium","borderRadius","radius","common","backgroundColor","white","minWidth","text","primary","color","medium","fontWeight","bold","fontSize","regular","textAlign","spaced","paddingVertical","fullWitdh","width","logEvent","eventName","analytics","questionType","id","FreeText","props","templateContext","styleSheet","setStylesheet","translations","PLACEHOLDER_COLOR","fullWidth","testID","onChange","isDisabled","value","handleFocus","ANALYTICS_EVENT_TYPE","INPUT_FOCUS","handleBlur","INPUT_BLUR","_stylesheet","typeHere"],"mappings":"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","sourcesContent":["import {View, StyleSheet, TextInput} from 'react-native';\nimport React, {useState, useEffect, useCallback} from 'react';\nimport {useTemplateContext} from '../../../template/app-review/template-context';\nimport {ANALYTICS_EVENT_TYPE, Analytics} from '../../../variables/analytics';\nimport {Theme} from '../../../variables/theme.native';\nimport {FontSize, TextAlign} from '../../../types/styles';\n\ntype QuestionType = 'basic' | 'template';\n\ninterface Props {\n fullWidth?: boolean;\n testID: string;\n questionType: QuestionType;\n analytics?: Analytics;\n onChange: (text: string) => void;\n isDisabled?: boolean;\n value?: string; // when value is undefined, TextInput acts as not controlled\n}\n\ntype StyleSheetType = {\n input: {\n padding: number;\n borderWidth: number;\n borderColor: string;\n borderRadius: number;\n backgroundColor: string;\n minWidth: number;\n };\n text: {\n color: string;\n fontWeight:\n | 'normal'\n | 'bold'\n | '100'\n | '200'\n | '300'\n | '400'\n | '500'\n | '600'\n | '700'\n | '800'\n | '900'\n | undefined;\n fontSize: FontSize;\n textAlign: TextAlign;\n };\n spaced: {\n paddingVertical: number;\n };\n fullWitdh: {\n width: string;\n };\n};\n\nconst createStyleSheet = (brandTheme: any, theme: Theme) =>\n StyleSheet.create({\n input: {\n padding: theme.spacing.tiny,\n borderWidth: 1,\n borderColor: theme.colors.gray.lightMedium,\n borderRadius: theme.radius.common,\n backgroundColor: theme.colors.white,\n minWidth: 175\n },\n text: {\n borderColor: brandTheme?.colors.primary,\n color: brandTheme?.colors.primary || theme.colors.gray.medium,\n fontWeight: theme.fontWeight.bold,\n fontSize: theme.fontSize.regular,\n textAlign: 'center'\n },\n spaced: {\n paddingVertical: theme.spacing.tiny\n },\n fullWitdh: {\n width: '100%'\n }\n });\n\nconst logEvent = (eventName: string, analytics: Analytics, questionType: QuestionType) => {\n analytics &&\n analytics.logEvent(eventName, {\n id: `question-input-text`,\n questionType\n });\n};\n\nconst FreeText = (props: Props) => {\n const templateContext = useTemplateContext();\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const {brandTheme, theme, translations} = templateContext;\n const PLACEHOLDER_COLOR = theme.colors.gray.medium;\n\n // ------------------------------------\n\n const {\n analytics,\n questionType,\n fullWidth = false,\n testID,\n onChange,\n isDisabled = false,\n value\n } = props;\n\n // ------------------------------------\n\n const handleFocus = useCallback(\n () => analytics && logEvent(ANALYTICS_EVENT_TYPE.INPUT_FOCUS, analytics, questionType),\n [analytics, questionType]\n );\n\n const handleBlur = useCallback(\n () => analytics && logEvent(ANALYTICS_EVENT_TYPE.INPUT_BLUR, analytics, questionType),\n [analytics, questionType]\n );\n\n // ------------------------------------\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(brandTheme, theme);\n setStylesheet(_stylesheet);\n }, [brandTheme, theme]);\n\n // ------------------------------------\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={[styleSheet.spaced, fullWidth && styleSheet.fullWitdh]}>\n <TextInput\n style={[styleSheet.input, styleSheet.text]}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChangeText={onChange}\n placeholder={translations.typeHere}\n placeholderTextColor={PLACEHOLDER_COLOR}\n value={value}\n testID={testID}\n editable={!isDisabled}\n selectTextOnFocus={!isDisabled}\n />\n </View>\n );\n};\n\nexport default FreeText;\n"],"file":"index.native.js"}
|
|
@@ -102,7 +102,7 @@ const QuestionSlider = props => {
|
|
|
102
102
|
testID: testID
|
|
103
103
|
}, /*#__PURE__*/_react.default.createElement(_index.default, {
|
|
104
104
|
style: [styleSheet.header, {
|
|
105
|
-
color: brandTheme
|
|
105
|
+
color: brandTheme == null ? void 0 : brandTheme.colors.primary
|
|
106
106
|
}],
|
|
107
107
|
testID: "slider-value"
|
|
108
108
|
}, value), /*#__PURE__*/_react.default.createElement(_reactNativeSlider.default, {
|
|
@@ -112,10 +112,10 @@ const QuestionSlider = props => {
|
|
|
112
112
|
maximumValue: max,
|
|
113
113
|
minimumValue: min,
|
|
114
114
|
onSlidingComplete: handleSlidingComplete,
|
|
115
|
-
minimumTrackTintColor: brandTheme
|
|
115
|
+
minimumTrackTintColor: brandTheme == null ? void 0 : brandTheme.colors.primary,
|
|
116
116
|
trackStyle: styleSheet.track,
|
|
117
117
|
thumbStyle: [styleSheet.thumb, {
|
|
118
|
-
borderColor: brandTheme
|
|
118
|
+
borderColor: brandTheme == null ? void 0 : brandTheme.colors.primary
|
|
119
119
|
}],
|
|
120
120
|
testID: "slider"
|
|
121
121
|
}), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/molecule/questions/mobile/slider/index.native.tsx"],"names":["createStyleSheet","theme","StyleSheet","create","container","flex","paddingHorizontal","flexDirection","justifyContent","header","fontSize","fontWeight","bold","textAlign","textValue","color","colors","black","valuesContainer","leftValue","alignItems","rightValue","track","height","borderRadius","radius","button","thumb","BOX_STYLE","width","backgroundColor","borderWidth","QuestionSlider","props","step","style","min","max","unit","value","storeValue","onSlidingComplete","testID","templateContext","brandTheme","styleSheet","setStylesheet","setValue","handleSlidingComplete","_stylesheet","primary","borderColor"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../../../src/molecule/questions/mobile/slider/index.native.tsx"],"names":["createStyleSheet","theme","StyleSheet","create","container","flex","paddingHorizontal","flexDirection","justifyContent","header","fontSize","fontWeight","bold","textAlign","textValue","color","colors","black","valuesContainer","leftValue","alignItems","rightValue","track","height","borderRadius","radius","button","thumb","BOX_STYLE","width","backgroundColor","borderWidth","QuestionSlider","props","step","style","min","max","unit","value","storeValue","onSlidingComplete","testID","templateContext","brandTheme","styleSheet","setStylesheet","setValue","handleSlidingComplete","_stylesheet","primary","borderColor"],"mappings":"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","sourcesContent":["import React, {useState, useEffect, useCallback} from 'react';\nimport {View, StyleSheet, ViewStyle, FlexAlignType} from 'react-native';\nimport Slider from '@coorpacademy/react-native-slider';\n\nimport {Theme} from '../../../../variables/theme.native';\nimport Text from '../../../../atom/text/index.native';\nimport {useTemplateContext} from '../../../../template/app-review/template-context';\nimport {BOX_STYLE} from '../../../../variables/shadow';\nimport {FlexDirection, JustifyContent, TextAlign, FontWeight} from '../../../../types/styles';\n\nexport type OnSlidingCompleteFunction = (value: number) => void;\n\nexport type Props = {\n min: number;\n max: number;\n value?: number;\n unit?: string;\n onSlidingComplete: OnSlidingCompleteFunction;\n style?: ViewStyle;\n step?: number;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: {\n flex: number;\n paddingHorizontal: number;\n flexDirection: FlexDirection;\n justifyContent: JustifyContent;\n };\n header: {\n fontSize: number;\n fontWeight: FontWeight;\n textAlign: TextAlign;\n };\n textValue: {\n fontSize: number;\n color: string;\n fontWeight: FontWeight;\n textAlign: TextAlign;\n };\n valuesContainer: {\n flexDirection: FlexDirection;\n justifyContent: JustifyContent;\n };\n leftValue: {\n flex: number;\n alignItems: FlexAlignType | undefined;\n };\n rightValue: {\n flex: number;\n alignItems: FlexAlignType | undefined;\n };\n track: {\n height: number;\n borderRadius: number;\n };\n thumb: {\n width: number;\n height: number;\n borderRadius: number;\n backgroundColor: string;\n borderWidth: number;\n };\n};\n\nconst createStyleSheet = (theme: Theme) =>\n StyleSheet.create({\n container: {\n flex: 1,\n paddingHorizontal: 20,\n flexDirection: 'column',\n justifyContent: 'center'\n },\n header: {\n fontSize: 25,\n fontWeight: theme.fontWeight.bold,\n textAlign: 'center'\n },\n textValue: {\n fontSize: 15,\n color: theme.colors.black,\n fontWeight: theme.fontWeight.bold,\n textAlign: 'center'\n },\n valuesContainer: {\n flexDirection: 'row',\n justifyContent: 'space-around'\n },\n leftValue: {\n flex: 1,\n alignItems: 'flex-start'\n },\n rightValue: {\n flex: 1,\n alignItems: 'flex-end'\n },\n track: {\n height: 10,\n borderRadius: theme.radius.button\n },\n thumb: {\n ...BOX_STYLE,\n width: 30,\n height: 30,\n borderRadius: 30 / 2,\n backgroundColor: 'white',\n borderWidth: 1\n }\n });\n\nconst QuestionSlider = (props: Props) => {\n const {\n step,\n style,\n min,\n max,\n unit = '',\n value: storeValue = 0,\n onSlidingComplete,\n testID\n } = props;\n const templateContext = useTemplateContext();\n const {brandTheme, theme} = templateContext;\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const [value, setValue] = useState<number>(storeValue);\n\n const handleSlidingComplete = useCallback(() => {\n onSlidingComplete(value);\n }, [onSlidingComplete, value]);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={[styleSheet.container, style]} testID={testID}>\n <Text style={[styleSheet.header, {color: brandTheme?.colors.primary}]} testID=\"slider-value\">\n {value}\n </Text>\n <Slider\n step={step || 1}\n value={value}\n onValueChange={setValue}\n maximumValue={max}\n minimumValue={min}\n onSlidingComplete={handleSlidingComplete}\n minimumTrackTintColor={brandTheme?.colors.primary}\n trackStyle={styleSheet.track}\n thumbStyle={[styleSheet.thumb, {borderColor: brandTheme?.colors.primary}]}\n testID=\"slider\"\n />\n <View style={styleSheet.valuesContainer} testID=\"slider-values-container\">\n <View style={styleSheet.leftValue}>\n <Text style={styleSheet.textValue} testID=\"slider-min-value\">\n {`${min} ${unit}`}\n </Text>\n </View>\n <View style={styleSheet.rightValue}>\n <Text style={styleSheet.textValue} testID=\"slider-max-value\">\n {`${max} ${unit}`}\n </Text>\n </View>\n </View>\n </View>\n );\n};\n\nexport default QuestionSlider;\n"],"file":"index.native.js"}
|
|
@@ -24,7 +24,9 @@ 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
|
-
|
|
27
|
+
var _container$current;
|
|
28
|
+
|
|
29
|
+
((_container$current = container.current) == null ? void 0 : _container$current.scrollTo) && container.current.scrollTo({
|
|
28
30
|
left: 1000,
|
|
29
31
|
behavior: 'smooth'
|
|
30
32
|
});
|
|
@@ -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"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEO,MAAMA,SAAS,GAAGC,SAAS,IAAI,MAAM;
|
|
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"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEO,MAAMA,SAAS,GAAGC,SAAS,IAAI,MAAM;AAAA;;AAC1C,yBAAAA,SAAS,CAACC,OAAV,wCAAmBC,QAAnB,KACEF,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,2CAA2BA,kBAA3B;eAEevB,c","sourcesContent":["import React, {useEffect, useRef} from 'react';\nimport AtomLottieWrapper from '../../atom/lottie-wrapper';\nimport ButtonLink from '../../atom/button-link';\nimport MoleculeReviewCardCongrats from '../../molecule/review-card-congrats';\nimport style from './style.css';\nimport propTypes from './prop-types';\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 = propTypes;\n\nexport default ReviewCongrats;\n"],"file":"index.js"}
|