@pie-element/explicit-constructed-response 6.12.1-next.1 → 6.12.1-next.11

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/alternateSection.jsx"],"names":["styles","theme","design","marginBottom","spacing","unit","altChoices","alignItems","flexDirection","display","paddingTop","width","choice","flex","marginRight","deleteBtn","fill","palette","grey","selectContainer","justifyContent","rightContainer","lengthField","errorText","fontSize","typography","color","error","main","inputError","border","borderRadius","Choice","value","props","markup","onChange","e","target","setState","updateText","nextProps","state","classes","onDelete","spellCheck","showMaxLength","inputProps","maxLength","React","Component","PropTypes","object","string","func","isRequired","bool","AlternateSection","choices","onSelect","selectChoices","find","c","length","label","map","parseInt","filter","id","isNaN","index","choiceChanged","lengthChanged","labelLengthsArr","newLength","Math","max","choiceRemoved","event","numberValue","minLength","getChoicesMaxLength","updateChoicesIfNeeded","errors","select","handleSelect","min","changeLength","addButton","onAddChoice","val","onChoiceChanged","onRemoveChoice","array","number","Styled"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,MAAM,EAAE;AACNC,MAAAA,YAAY,EAAEF,KAAK,CAACG,OAAN,CAAcC,IAAd,GAAqB;AAD7B,KADiB;AAIzBC,IAAAA,UAAU,EAAE;AACVC,MAAAA,UAAU,EAAE,YADF;AAEVC,MAAAA,aAAa,EAAE,QAFL;AAGVC,MAAAA,OAAO,EAAE,MAHC;AAIVC,MAAAA,UAAU,EAAET,KAAK,CAACG,OAAN,CAAcC,IAAd,GAAqB,GAJvB;AAKV,eAAS;AACPF,QAAAA,YAAY,EAAEF,KAAK,CAACG,OAAN,CAAcC,IAAd,GAAqB,GAD5B;AAEPM,QAAAA,KAAK,EAAE;AAFA;AALC,KAJa;AAczBC,IAAAA,MAAM,EAAE;AACNC,MAAAA,IAAI,EAAE,GADA;AAENC,MAAAA,WAAW,EAAEb,KAAK,CAACG,OAAN,CAAcC,IAAd,GAAqB;AAF5B,KAdiB;AAkBzBU,IAAAA,SAAS,EAAE;AACTC,MAAAA,IAAI,EAAEf,KAAK,CAACgB,OAAN,CAAcC,IAAd,CAAmB,GAAnB;AADG,KAlBc;AAqBzBC,IAAAA,eAAe,EAAE;AACfZ,MAAAA,UAAU,EAAE,UADG;AAEfE,MAAAA,OAAO,EAAE,MAFM;AAGfW,MAAAA,cAAc,EAAE,eAHD;AAIfT,MAAAA,KAAK,EAAE;AAJQ,KArBQ;AA2BzBU,IAAAA,cAAc,EAAE;AACdd,MAAAA,UAAU,EAAE,QADE;AAEdE,MAAAA,OAAO,EAAE;AAFK,KA3BS;AA+BzBa,IAAAA,WAAW,EAAE;AACXX,MAAAA,KAAK,EAAE,OADI;AAEXG,MAAAA,WAAW,EAAEb,KAAK,CAACG,OAAN,CAAcC,IAAd,GAAqB;AAFvB,KA/BY;AAmCzBkB,IAAAA,SAAS,EAAE;AACTC,MAAAA,QAAQ,EAAEvB,KAAK,CAACwB,UAAN,CAAiBD,QAAjB,GAA4B,CAD7B;AAETE,MAAAA,KAAK,EAAEzB,KAAK,CAACgB,OAAN,CAAcU,KAAd,CAAoBC,IAFlB;AAGTlB,MAAAA,UAAU,EAAET,KAAK,CAACG,OAAN,CAAcC,IAAd,GAAqB;AAHxB,KAnCc;AAwCzBwB,IAAAA,UAAU,EAAE;AACVC,MAAAA,MAAM,sBAAe7B,KAAK,CAACgB,OAAN,CAAcU,KAAd,CAAoBC,IAAnC,CADI;AAEVG,MAAAA,YAAY,EAAE;AAFJ;AAxCa,GAAZ;AAAA,CAAf;;IA8CaC,M;;;;;;;;;;;;;;;8FAYH;AACNC,MAAAA,KAAK,EAAE,MAAKC,KAAL,CAAWC;AADZ,K;mGAIK,0BAAS,MAAKD,KAAL,CAAWE,QAApB,EAA8B,GAA9B,C;iGAQF,UAACC,CAAD,EAAO;AAChB,UAAQJ,KAAR,GAAkBI,CAAC,CAACC,MAApB,CAAQL,KAAR;;AAEA,YAAKM,QAAL,CAAc;AAAEN,QAAAA,KAAK,EAALA;AAAF,OAAd;;AACA,YAAKO,UAAL,CAAgBP,KAAhB;AACD,K;;;;;;WAXD,0CAAiCQ,SAAjC,EAA4C;AAC1C,UAAIA,SAAS,CAACN,MAAd,EAAsB;AACpB,aAAKI,QAAL,CAAc;AAAEN,UAAAA,KAAK,EAAEQ,SAAS,CAACN;AAAnB,SAAd;AACD;AACF;;;WASD,kBAAS;AACP,UAAQF,KAAR,GAAkB,KAAKS,KAAvB,CAAQT,KAAR;AACA,wBAAgE,KAAKC,KAArE;AAAA,UAAQS,OAAR,eAAQA,OAAR;AAAA,UAAiBC,QAAjB,eAAiBA,QAAjB;AAAA,UAA2BC,UAA3B,eAA2BA,UAA3B;AAAA,UAAuClB,KAAvC,eAAuCA,KAAvC;AAAA,UAA8CmB,aAA9C,eAA8CA,aAA9C;AACA,UAAMC,UAAU,GAAGD,aAAa,GAAG,EAAH,GAAQ;AAAEE,QAAAA,SAAS,EAAE;AAAb,OAAxC;AAGA,0BACE,gCAAC,iBAAD,CAAO,QAAP,qBACE;AACE,QAAA,KAAK,EAAE;AACLzC,UAAAA,UAAU,EAAE,QADP;AAELE,UAAAA,OAAO,EAAE,MAFJ;AAGLW,UAAAA,cAAc,EAAE;AAHX;AADT,sBAOE,gCAAC,yBAAD;AACE,QAAA,SAAS,EAAE,4BAAWuB,OAAO,CAAC/B,MAAnB,EAA2Be,KAAK,IAAIgB,OAAO,CAACd,UAA5C,CADb;AAEE,QAAA,KAAK,EAAEI,KAFT;AAGE,QAAA,QAAQ,EAAE,KAAKG,QAHjB;AAIE,QAAA,UAAU,EAAE,CAJd;AAKE,QAAA,gBAAgB,MALlB;AAME,QAAA,UAAU,EAAES,UANd;AAOE,QAAA,UAAU,EAAEE;AAPd,QAPF,eAgBE,gCAAC,sBAAD;AAAY,sBAAW,QAAvB;AAAgC,QAAA,SAAS,EAAEJ,OAAO,CAAC5B,SAAnD;AAA8D,QAAA,OAAO,EAAE6B;AAAvE,sBACE,gCAAC,kBAAD,OADF,CAhBF,CADF,EAqBGjB,KAAK,iBAAI;AAAK,QAAA,SAAS,EAAEgB,OAAO,CAACpB;AAAxB,SAAoCI,KAApC,CArBZ,CADF;AAyBD;;;EA9DyBsB,kBAAMC,S;;;iCAArBlB,M,eACQ;AACjBW,EAAAA,OAAO,EAAEQ,sBAAUC,MADF;AAEjBzB,EAAAA,KAAK,EAAEwB,sBAAUE,MAFA;AAGjBlB,EAAAA,MAAM,EAAEgB,sBAAUE,MAHD;AAIjBjB,EAAAA,QAAQ,EAAEe,sBAAUG,IAAV,CAAeC,UAJR;AAKjBX,EAAAA,QAAQ,EAAEO,sBAAUG,IAAV,CAAeC,UALR;AAMjBtB,EAAAA,KAAK,EAAEkB,sBAAUE,MANA;AAOjBR,EAAAA,UAAU,EAAEM,sBAAUK,IAPL;AAQjBV,EAAAA,aAAa,EAAEK,sBAAUK;AARR,C;;IAgERC,gB;;;;;;;;;;;;;;;+FAgBH,E;+GAUgB,UAACvB,KAAD,EAAW;AACjC,UACE,CAAC,OAAKQ,KAAL,CAAWgB,OAAZ,IACA,CAAC,yBAAQxB,KAAK,CAACwB,OAAd,EAAuB,OAAKhB,KAAL,CAAWgB,OAAlC,CADD,IAEA,CAAC,yBAAQxB,KAAK,CAACwB,OAAd,EAAuB,OAAKxB,KAAL,CAAWwB,OAAlC,CAHH,EAIE;AACA,eAAKnB,QAAL,CAAc;AACZmB,UAAAA,OAAO,EAAExB,KAAK,CAACwB;AADH,SAAd;AAGD;AACF,K;sGAEc,UAACrB,CAAD,EAAO;AACpB,yBAAoC,OAAKH,KAAzC;AAAA,UAAQyB,QAAR,gBAAQA,QAAR;AAAA,UAAkBC,aAAlB,gBAAkBA,aAAlB;AACA,UAAQ3B,KAAR,GAAkBI,CAAC,CAACC,MAApB,CAAQL,KAAR;AAEA0B,MAAAA,QAAQ,CAACC,aAAa,CAACC,IAAd,CAAmB,UAACC,CAAD;AAAA,eAAOA,CAAC,CAAC7B,KAAF,KAAYA,KAAnB;AAAA,OAAnB,CAAD,CAAR;AACD,K;qGAEa,YAAM;AAClB,UAAQyB,OAAR,GAAoB,OAAKhB,KAAzB,CAAQgB,OAAR;;AAEA,UAAIA,OAAO,CAACK,MAAR,IAAkBL,OAAO,CAACA,OAAO,CAACK,MAAR,GAAiB,CAAlB,CAAP,CAA4BC,KAA5B,KAAsC,EAA5D,EAAgE;AAC9D,YAAM/B,KAAK,GAAG,qBAAIyB,OAAO,CAACO,GAAR,CAAY,UAACH,CAAD;AAAA,iBAAOI,QAAQ,CAACJ,CAAC,CAAC7B,KAAH,CAAf;AAAA,SAAZ,EAAsCkC,MAAtC,CAA6C,UAACC,EAAD;AAAA,iBAAQ,CAACC,KAAK,CAACD,EAAD,CAAd;AAAA,SAA7C,CAAJ,KAAyE,CAAvF;;AAEA,eAAK7B,QAAL,CAAc;AACZmB,UAAAA,OAAO,gDACFA,OADE,IAEL;AACEzB,YAAAA,KAAK,YAAKA,KAAK,GAAG,CAAb,CADP;AAEE+B,YAAAA,KAAK,EAAE;AAFT,WAFK;AADK,SAAd;AASD;AACF,K;yGAEiB,UAACpD,MAAD,EAASqB,KAAT,EAAgBqC,KAAhB,EAA0B;AAC1C,0BAA6D,OAAKpC,KAAlE;AAAA,UAAQqC,aAAR,iBAAQA,aAAR;AAAA,UAAuBC,aAAvB,iBAAuBA,aAAvB;AAAA,UAAsCxB,SAAtC,iBAAsCA,SAAtC;AAAA,UAAiDU,OAAjD,iBAAiDA,OAAjD;AAEA,UAAMe,eAAe,GAAGf,OAAO,CAACO,GAAR,CAAY,UAACrD,MAAD;AAAA,eAAY,CAACA,MAAM,CAACoD,KAAP,IAAgB,EAAjB,EAAqBD,MAAjC;AAAA,OAAZ,CAAxB;AACAU,MAAAA,eAAe,CAACH,KAAD,CAAf,GAAyBrC,KAAK,CAAC8B,MAA/B;AAEA,UAAMW,SAAS,GAAGC,IAAI,CAACC,GAAL,OAAAD,IAAI,sCAAQF,eAAR,EAAtB;AAEAF,MAAAA,aAAa,iCACR3D,MADQ;AAEXoD,QAAAA,KAAK,EAAE/B;AAFI,SAAb;;AAKA,UAAIyC,SAAS,GAAG1B,SAAZ,IAAyB0B,SAAS,GAAG,EAAZ,IAAkB1B,SAA/C,EAA0D;AACxDwB,QAAAA,aAAa,CAAC,oCAAkBE,SAAlB,CAAD,CAAb;AACD;AACF,K;wGAEgB,UAAC9D,MAAD,EAAY;AAC3B,UAAQiE,aAAR,GAA0B,OAAK3C,KAA/B,CAAQ2C,aAAR;AAEAA,MAAAA,aAAa,CAACjE,MAAM,CAACqB,KAAR,CAAb;AACD,K;6GAEqB,YAAM;AAC1B,UAAQyB,OAAR,GAAoB,OAAKhB,KAAzB,CAAQgB,OAAR;;AAEA,UAAI,CAACA,OAAL,EAAc;AACZ,eAAO,CAAP;AACD;;AAED,UAAMe,eAAe,GAAGf,OAAO,CAACO,GAAR,CAAY,UAACrD,MAAD;AAAA,eAAY,CAACA,MAAM,CAACoD,KAAP,IAAgB,EAAjB,EAAqBD,MAAjC;AAAA,OAAZ,CAAxB;AAEA,aAAOY,IAAI,CAACC,GAAL,OAAAD,IAAI,sCAAQF,eAAR,EAAX;AACD,K;sGAEc,UAACK,KAAD,EAAW;AACxB,UAAQN,aAAR,GAA0B,OAAKtC,KAA/B,CAAQsC,aAAR;AACA,UAAMO,WAAW,GAAGb,QAAQ,CAACY,KAAK,CAACxC,MAAN,CAAaL,KAAd,EAAqB,EAArB,CAA5B;;AACA,UAAM+C,SAAS,GAAG,OAAKC,mBAAL,EAAlB;;AAEA,UAAIF,WAAW,IAAIA,WAAW,IAAIC,SAA9B,IAA2CD,WAAW,IAAIC,SAAS,GAAG,EAA1E,EAA8E;AAC5ER,QAAAA,aAAa,CAACO,WAAD,CAAb;AACD;AACF,K;;;;;;WAzFD,0CAAiCtC,SAAjC,EAA4C;AAC1C,WAAKyC,qBAAL,CAA2BzC,SAA3B;AACD;;;WAED,6BAAoB;AAClB,WAAKyC,qBAAL,CAA2B,KAAKhD,KAAhC;AACD;;;WAqFD,kBAAS;AAAA;;AACP,yBAAwF,KAAKA,KAA7F;AAAA,UAAQS,OAAR,gBAAQA,OAAR;AAAA,UAAiBiB,aAAjB,gBAAiBA,aAAjB;AAAA,UAAgCZ,SAAhC,gBAAgCA,SAAhC;AAAA,UAA2CF,aAA3C,gBAA2CA,aAA3C;AAAA,UAA0Db,KAA1D,gBAA0DA,KAA1D;AAAA,UAAiEY,UAAjE,gBAAiEA,UAAjE;AAAA,UAA6EsC,MAA7E,gBAA6EA,MAA7E;AACA,UAAQzB,OAAR,GAAoB,KAAKhB,KAAzB,CAAQgB,OAAR;AACA,UAAMsB,SAAS,GAAG,KAAKC,mBAAL,EAAlB;AAEA,0BACE;AAAK,QAAA,SAAS,EAAEtC,OAAO,CAACzC;AAAxB,sBACE;AAAK,QAAA,SAAS,EAAEyC,OAAO,CAACxB;AAAxB,sBACE,gCAAC,kBAAD;AACE,QAAA,SAAS,EAAEwB,OAAO,CAACyC,MADrB;AAEE,QAAA,YAAY,MAFd;AAGE,QAAA,QAAQ,EAAE,KAAKC,YAHjB;AAIE,QAAA,KAAK,EAAEpD,KAAK,IAAI,EAJlB;AAKE,QAAA,QAAQ,EAAEa;AALZ,sBAOE,gCAAC,oBAAD;AAAU,QAAA,KAAK,EAAC;AAAhB,sBACE,4CAAKb,KAAK,GAAG,kBAAH,GAAwB,mBAAlC,CADF,CAPF,EAUG2B,aAAa,CAACK,GAAd,CAAkB,UAACH,CAAD,EAAIQ,KAAJ;AAAA,4BACjB,gCAAC,oBAAD;AAAU,UAAA,GAAG,EAAEA,KAAf;AAAsB,UAAA,KAAK,EAAER,CAAF,aAAEA,CAAF,uBAAEA,CAAC,CAAE7B;AAAhC,WACG6B,CADH,aACGA,CADH,uBACGA,CAAC,CAAEE,KADN,CADiB;AAAA,OAAlB,CAVH,CADF,EAkBGN,OAAO,IAAIA,OAAO,CAACK,MAAR,GAAiB,CAA5B,iBACC;AAAK,QAAA,SAAS,EAAEpB,OAAO,CAACtB;AAAxB,SACG2B,SAAS,IAAIF,aAAb,iBACC,gCAAC,qBAAD;AACE,QAAA,SAAS,EAAEH,OAAO,CAACrB,WADrB;AAEE,QAAA,KAAK,EAAC,6BAFR;AAGE,QAAA,IAAI,EAAC,QAHP;AAIE,QAAA,UAAU,EAAE;AACVgE,UAAAA,GAAG,EAAEN,SADK;AAEVJ,UAAAA,GAAG,EAAEI,SAAS,GAAG;AAFP,SAJd;AAQE,QAAA,KAAK,EAAEhC,SART;AASE,QAAA,QAAQ,EAAE,KAAKuC;AATjB,QAFJ,eAcE,gCAAC,kBAAD;AAAQ,QAAA,SAAS,EAAE5C,OAAO,CAAC6C,SAA3B;AAAsC,QAAA,OAAO,EAAC,WAA9C;AAA0D,QAAA,KAAK,EAAC,SAAhE;AAA0E,QAAA,OAAO,EAAE,KAAKC;AAAxF,eAdF,CAnBJ,CADF,EAwCGN,MAAM,IAAIA,MAAM,CAAC,CAAD,CAAhB,iBAAuB;AAAK,QAAA,SAAS,EAAExC,OAAO,CAACpB;AAAxB,SAAoC4D,MAAM,CAAC,CAAD,CAA1C,CAxC1B,eA0CE;AAAK,QAAA,SAAS,EAAExC,OAAO,CAACrC;AAAxB,SACGoD,OAAO,IACNA,OAAO,CAACO,GAAR,CACE,UAACH,CAAD,EAAIQ,KAAJ;AAAA,eACEA,KAAK,GAAG,CAAR,iBACE,gCAAC,MAAD;AACE,UAAA,GAAG,EAAEA,KADP;AAEE,UAAA,OAAO,EAAE3B,OAFX;AAGE,UAAA,MAAM,EAAEmB,CAAC,CAACE,KAHZ;AAIE,UAAA,QAAQ,EAAE,kBAAC0B,GAAD;AAAA,mBAAS,MAAI,CAACC,eAAL,CAAqB7B,CAArB,EAAwB4B,GAAxB,EAA6BpB,KAA7B,CAAT;AAAA,WAJZ;AAKE,UAAA,QAAQ,EAAE;AAAA,mBAAM,MAAI,CAACsB,cAAL,CAAoB9B,CAApB,CAAN;AAAA,WALZ;AAME,UAAA,UAAU,EAAEjB,UANd;AAOE,UAAA,KAAK,EAAEsC,MAAM,IAAIA,MAAM,CAACb,KAAD,CAPzB;AAQE,UAAA,aAAa,EAAExB;AARjB,UAFJ;AAAA,OADF,CAFJ,CA1CF,CADF;AA+DD;;;EAjLmCG,kBAAMC,S;;;iCAA/BO,gB,eACQ;AACjBC,EAAAA,OAAO,EAAEP,sBAAU0C,KADF;AAEjBjC,EAAAA,aAAa,EAAET,sBAAU0C,KAAV,CAAgBtC,UAFd;AAGjBZ,EAAAA,OAAO,EAAEQ,sBAAUC,MAAV,CAAiBG,UAHT;AAIjB4B,EAAAA,MAAM,EAAEhC,sBAAUC,MAJD;AAKjBO,EAAAA,QAAQ,EAAER,sBAAUG,IAAV,CAAeC,UALR;AAMjBgB,EAAAA,aAAa,EAAEpB,sBAAUG,IAAV,CAAeC,UANb;AAOjBiB,EAAAA,aAAa,EAAErB,sBAAUG,IAPR;AAQjBuB,EAAAA,aAAa,EAAE1B,sBAAUG,IAAV,CAAeC,UARb;AASjBtB,EAAAA,KAAK,EAAEkB,sBAAUE,MATA;AAUjBL,EAAAA,SAAS,EAAEG,sBAAU2C,MAVJ;AAWjBhD,EAAAA,aAAa,EAAEK,sBAAUK,IAXR;AAYjBX,EAAAA,UAAU,EAAEM,sBAAUK;AAZL,C;AAmLrB,IAAMuC,MAAM,GAAG,wBAAW/F,MAAX,EAAmByD,gBAAnB,CAAf;eAEesC,M","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash/debounce';\nimport isEqual from 'lodash/isEqual';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\nimport Button from '@material-ui/core/Button';\nimport Delete from '@material-ui/icons/Delete';\nimport IconButton from '@material-ui/core/IconButton';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Select from '@material-ui/core/Select';\nimport TextField from '@material-ui/core/TextField';\nimport { withStyles } from '@material-ui/core/styles';\nimport max from 'lodash/max';\nimport classnames from 'classnames';\n\nimport { getAdjustedLength } from './markupUtils';\n\nconst styles = (theme) => ({\n design: {\n marginBottom: theme.spacing.unit / 2,\n },\n altChoices: {\n alignItems: 'flex-start',\n flexDirection: 'column',\n display: 'flex',\n paddingTop: theme.spacing.unit * 2.5,\n '& > *': {\n marginBottom: theme.spacing.unit * 2.5,\n width: '100%',\n },\n },\n choice: {\n flex: '1',\n marginRight: theme.spacing.unit * 2.5,\n },\n deleteBtn: {\n fill: theme.palette.grey[600],\n },\n selectContainer: {\n alignItems: 'flex-end',\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%',\n },\n rightContainer: {\n alignItems: 'center',\n display: 'flex',\n },\n lengthField: {\n width: '230px',\n marginRight: theme.spacing.unit * 2.5,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit / 2,\n },\n inputError: {\n border: `2px solid ${theme.palette.error.main}`,\n borderRadius: '6px',\n },\n});\n\nexport class Choice extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n error: PropTypes.string,\n markup: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onDelete: PropTypes.func.isRequired,\n value: PropTypes.string,\n spellCheck: PropTypes.bool,\n showMaxLength: PropTypes.bool,\n };\n\n state = {\n value: this.props.markup,\n };\n\n updateText = debounce(this.props.onChange, 300);\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.markup) {\n this.setState({ value: nextProps.markup });\n }\n }\n\n onChange = (e) => {\n const { value } = e.target;\n\n this.setState({ value });\n this.updateText(value);\n };\n\n render() {\n const { value } = this.state;\n const { classes, onDelete, spellCheck, error, showMaxLength } = this.props;\n const inputProps = showMaxLength ? {} : { maxLength: 25 };\n\n\n return (\n <React.Fragment>\n <div\n style={{\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'space-between',\n }}\n >\n <OutlinedInput\n className={classnames(classes.choice, error && classes.inputError)}\n value={value}\n onChange={this.onChange}\n labelWidth={0}\n disableUnderline\n spellCheck={spellCheck}\n inputProps={inputProps}\n />\n <IconButton aria-label=\"delete\" className={classes.deleteBtn} onClick={onDelete}>\n <Delete />\n </IconButton>\n </div>\n {error && <div className={classes.errorText}>{error}</div>}\n </React.Fragment>\n );\n }\n}\n\nexport class AlternateSection extends React.Component {\n static propTypes = {\n choices: PropTypes.array,\n selectChoices: PropTypes.array.isRequired,\n classes: PropTypes.object.isRequired,\n errors: PropTypes.object,\n onSelect: PropTypes.func.isRequired,\n choiceChanged: PropTypes.func.isRequired,\n lengthChanged: PropTypes.func,\n choiceRemoved: PropTypes.func.isRequired,\n value: PropTypes.string,\n maxLength: PropTypes.number,\n showMaxLength: PropTypes.bool,\n spellCheck: PropTypes.bool,\n };\n\n state = {};\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.updateChoicesIfNeeded(nextProps);\n }\n\n componentDidMount() {\n this.updateChoicesIfNeeded(this.props);\n }\n\n updateChoicesIfNeeded = (props) => {\n if (\n !this.state.choices ||\n !isEqual(props.choices, this.state.choices) ||\n !isEqual(props.choices, this.props.choices)\n ) {\n this.setState({\n choices: props.choices,\n });\n }\n };\n\n handleSelect = (e) => {\n const { onSelect, selectChoices } = this.props;\n const { value } = e.target;\n\n onSelect(selectChoices.find((c) => c.value === value));\n };\n\n onAddChoice = () => {\n const { choices } = this.state;\n\n if (choices.length && choices[choices.length - 1].label !== '') {\n const value = max(choices.map((c) => parseInt(c.value)).filter((id) => !isNaN(id))) || 0;\n\n this.setState({\n choices: [\n ...choices,\n {\n value: `${value + 1}`,\n label: '',\n },\n ],\n });\n }\n };\n\n onChoiceChanged = (choice, value, index) => {\n const { choiceChanged, lengthChanged, maxLength, choices } = this.props;\n\n const labelLengthsArr = choices.map((choice) => (choice.label || '').length);\n labelLengthsArr[index] = value.length;\n\n const newLength = Math.max(...labelLengthsArr);\n\n choiceChanged({\n ...choice,\n label: value,\n });\n\n if (newLength > maxLength || newLength + 10 <= maxLength) {\n lengthChanged(getAdjustedLength(newLength));\n }\n };\n\n onRemoveChoice = (choice) => {\n const { choiceRemoved } = this.props;\n\n choiceRemoved(choice.value);\n };\n\n getChoicesMaxLength = () => {\n const { choices } = this.state;\n\n if (!choices) {\n return 1;\n }\n\n const labelLengthsArr = choices.map((choice) => (choice.label || '').length);\n\n return Math.max(...labelLengthsArr);\n };\n\n changeLength = (event) => {\n const { lengthChanged } = this.props;\n const numberValue = parseInt(event.target.value, 10);\n const minLength = this.getChoicesMaxLength();\n\n if (numberValue && numberValue >= minLength && numberValue <= minLength + 10) {\n lengthChanged(numberValue);\n }\n };\n\n render() {\n const { classes, selectChoices, maxLength, showMaxLength, value, spellCheck, errors } = this.props;\n const { choices } = this.state;\n const minLength = this.getChoicesMaxLength();\n\n return (\n <div className={classes.design}>\n <div className={classes.selectContainer}>\n <Select\n className={classes.select}\n displayEmpty\n onChange={this.handleSelect}\n value={value || ''}\n readOnly={showMaxLength}\n >\n <MenuItem value=\"\">\n <em>{value ? 'Remove selection' : 'Select a response'}</em>\n </MenuItem>\n {selectChoices.map((c, index) => (\n <MenuItem key={index} value={c?.value}>\n {c?.label}\n </MenuItem>\n ))}\n </Select>\n\n {choices && choices.length > 0 && (\n <div className={classes.rightContainer}>\n {maxLength && showMaxLength && (\n <TextField\n className={classes.lengthField}\n label=\"Maximum length (characters)\"\n type=\"number\"\n inputProps={{\n min: minLength,\n max: minLength + 10,\n }}\n value={maxLength}\n onChange={this.changeLength}\n />\n )}\n <Button className={classes.addButton} variant=\"contained\" color=\"primary\" onClick={this.onAddChoice}>\n Add\n </Button>\n </div>\n )}\n </div>\n {errors && errors[0] && <div className={classes.errorText}>{errors[0]}</div>}\n\n <div className={classes.altChoices}>\n {choices &&\n choices.map(\n (c, index) =>\n index > 0 && (\n <Choice\n key={index}\n classes={classes}\n markup={c.label}\n onChange={(val) => this.onChoiceChanged(c, val, index)}\n onDelete={() => this.onRemoveChoice(c)}\n spellCheck={spellCheck}\n error={errors && errors[index]}\n showMaxLength={showMaxLength}\n />\n ),\n )}\n </div>\n </div>\n );\n }\n}\n\nconst Styled = withStyles(styles)(AlternateSection);\n\nexport default Styled;\n"],"file":"alternateSection.js"}
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _default = {
8
+ model: {
9
+ disabled: false,
10
+ mode: 'gather',
11
+ prompt: 'Use the inputs to complete the sentence',
12
+ shuffle: true,
13
+ markup: '<p>The {{0}} jumped {{1}} the {{2}}</p>',
14
+ toolbarEditorPosition: 'bottom',
15
+ displayType: 'block',
16
+ spellCheckEnabled: true,
17
+ playerSpellCheckEnabled: true,
18
+ choices: {
19
+ 0: [{
20
+ label: 'cow',
21
+ value: '0'
22
+ }, {
23
+ label: 'cattle',
24
+ value: '1'
25
+ }, {
26
+ label: 'calf',
27
+ value: '2',
28
+ correct: false
29
+ }],
30
+ 1: [{
31
+ label: 'over',
32
+ value: '0'
33
+ }, {
34
+ label: 'past',
35
+ value: '1'
36
+ }, {
37
+ label: 'beyond',
38
+ value: '2'
39
+ }],
40
+ 2: [{
41
+ label: 'moon',
42
+ value: '0'
43
+ }, {
44
+ label: 'satellite',
45
+ value: '2'
46
+ }, {
47
+ label: 'house ',
48
+ value: '3'
49
+ }]
50
+ },
51
+ maxLengthPerChoiceEnabled: true,
52
+ rationaleEnabled: true,
53
+ promptEnabled: true,
54
+ teacherInstructionsEnabled: true,
55
+ studentInstructionsEnabled: true
56
+ },
57
+ configuration: {
58
+ baseInputConfiguration: {
59
+ html: {
60
+ disabled: true
61
+ },
62
+ audio: {
63
+ disabled: false
64
+ },
65
+ video: {
66
+ disabled: false
67
+ },
68
+ image: {
69
+ disabled: false
70
+ }
71
+ },
72
+ prompt: {
73
+ settings: true,
74
+ label: 'Prompt',
75
+ inputConfiguration: {
76
+ audio: {
77
+ disabled: false
78
+ },
79
+ video: {
80
+ disabled: false
81
+ },
82
+ image: {
83
+ disabled: false
84
+ }
85
+ },
86
+ required: false
87
+ },
88
+ partialScoring: {
89
+ settings: false,
90
+ label: 'Allow Partial Scoring'
91
+ },
92
+ rationale: {
93
+ settings: true,
94
+ label: 'Rationale',
95
+ inputConfiguration: {
96
+ audio: {
97
+ disabled: false
98
+ },
99
+ video: {
100
+ disabled: false
101
+ },
102
+ image: {
103
+ disabled: false
104
+ }
105
+ },
106
+ required: false
107
+ },
108
+ settingsPanelDisabled: false,
109
+ spellCheck: {
110
+ label: 'Spellcheck',
111
+ settings: false,
112
+ enabled: true
113
+ },
114
+ editSource: {
115
+ label: 'Edit Source',
116
+ settings: false,
117
+ enabled: false
118
+ },
119
+ playerSpellCheck: {
120
+ label: 'Student Spellcheck',
121
+ settings: true,
122
+ enabled: true
123
+ },
124
+ teacherInstructions: {
125
+ settings: true,
126
+ label: 'Teacher Instructions',
127
+ inputConfiguration: {
128
+ audio: {
129
+ disabled: false
130
+ },
131
+ video: {
132
+ disabled: false
133
+ },
134
+ image: {
135
+ disabled: false
136
+ }
137
+ },
138
+ required: false
139
+ },
140
+ template: {
141
+ inputConfiguration: {
142
+ audio: {
143
+ disabled: false
144
+ },
145
+ video: {
146
+ disabled: false
147
+ },
148
+ image: {
149
+ disabled: false
150
+ }
151
+ }
152
+ },
153
+ maxLengthPerChoice: {
154
+ settings: true,
155
+ label: 'Maximum Length Per Choice'
156
+ },
157
+ maxResponseAreas: 10,
158
+ maxImageWidth: {
159
+ teacherInstructions: 300,
160
+ prompt: 300,
161
+ rationale: 300
162
+ },
163
+ maxImageHeight: {
164
+ teacherInstructions: 300,
165
+ prompt: 300,
166
+ rationale: 300
167
+ },
168
+ withRubric: {
169
+ settings: false,
170
+ label: 'Add Rubric'
171
+ },
172
+ mathMlOptions: {
173
+ mmlOutput: false,
174
+ mmlEditing: false
175
+ },
176
+ language: {
177
+ settings: false,
178
+ label: 'Specify Language',
179
+ enabled: false
180
+ },
181
+ languageChoices: {
182
+ label: 'Language Choices',
183
+ options: []
184
+ }
185
+ }
186
+ };
187
+ exports["default"] = _default;
188
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/defaults.js"],"names":["model","disabled","mode","prompt","shuffle","markup","toolbarEditorPosition","displayType","spellCheckEnabled","playerSpellCheckEnabled","choices","label","value","correct","maxLengthPerChoiceEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","configuration","baseInputConfiguration","html","audio","video","image","settings","inputConfiguration","required","partialScoring","rationale","settingsPanelDisabled","spellCheck","enabled","editSource","playerSpellCheck","teacherInstructions","template","maxLengthPerChoice","maxResponseAreas","maxImageWidth","maxImageHeight","withRubric","mathMlOptions","mmlOutput","mmlEditing","language","languageChoices","options"],"mappings":"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","sourcesContent":["export default {\n model: {\n disabled: false,\n mode: 'gather',\n prompt: 'Use the inputs to complete the sentence',\n shuffle: true,\n markup: '<p>The {{0}} jumped {{1}} the {{2}}</p>',\n toolbarEditorPosition: 'bottom',\n displayType: 'block',\n spellCheckEnabled: true,\n playerSpellCheckEnabled: true,\n choices: {\n 0: [\n {\n label: 'cow',\n value: '0',\n },\n {\n label: 'cattle',\n value: '1',\n },\n {\n label: 'calf',\n value: '2',\n correct: false,\n },\n ],\n 1: [\n {\n label: 'over',\n value: '0',\n },\n {\n label: 'past',\n value: '1',\n },\n {\n label: 'beyond',\n value: '2',\n },\n ],\n 2: [\n {\n label: 'moon',\n value: '0',\n },\n {\n label: 'satellite',\n value: '2',\n },\n {\n label: 'house ',\n value: '3',\n },\n ],\n },\n maxLengthPerChoiceEnabled: true,\n rationaleEnabled: true,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n },\n configuration: {\n baseInputConfiguration: {\n html: { disabled: true },\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n prompt: {\n settings: true,\n label: 'Prompt',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring',\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n settingsPanelDisabled: false,\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n editSource: {\n label: 'Edit Source',\n settings: false,\n enabled: false,\n },\n playerSpellCheck: {\n label: 'Student Spellcheck',\n settings: true,\n enabled: true,\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n template: {\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n maxLengthPerChoice: {\n settings: true,\n label: 'Maximum Length Per Choice',\n },\n maxResponseAreas: 10,\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n },\n};\n"],"file":"defaults.js"}
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.ECRToolbar = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
+
24
+ var _react = _interopRequireDefault(require("react"));
25
+
26
+ var _propTypes = _interopRequireDefault(require("prop-types"));
27
+
28
+ var _styles = require("@material-ui/core/styles");
29
+
30
+ var _OutlinedInput = _interopRequireDefault(require("@material-ui/core/OutlinedInput"));
31
+
32
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
33
+
34
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
35
+
36
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
37
+
38
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
39
+
40
+ var findSlateNode = function findSlateNode(key) {
41
+ return window.document.querySelector('[data-key="' + key + '"]');
42
+ };
43
+
44
+ var ECRToolbar = /*#__PURE__*/function (_React$Component) {
45
+ (0, _inherits2["default"])(ECRToolbar, _React$Component);
46
+
47
+ var _super = _createSuper(ECRToolbar);
48
+
49
+ function ECRToolbar() {
50
+ var _this;
51
+
52
+ (0, _classCallCheck2["default"])(this, ECRToolbar);
53
+
54
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
55
+ args[_key] = arguments[_key];
56
+ }
57
+
58
+ _this = _super.call.apply(_super, [this].concat(args));
59
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
60
+ markup: ''
61
+ });
62
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDone", function () {
63
+ var newValue = _this.state.markup;
64
+ var _this$props = _this.props,
65
+ node = _this$props.node,
66
+ value = _this$props.value,
67
+ onToolbarDone = _this$props.onToolbarDone,
68
+ onChangeResponse = _this$props.onChangeResponse;
69
+
70
+ var update = _objectSpread(_objectSpread({}, node.data.toJSON()), {}, {
71
+ value: newValue
72
+ });
73
+
74
+ var change = value.change().setNodeByKey(node.key, {
75
+ data: update
76
+ });
77
+ var nextText = value.document.getNextText(node.key);
78
+ change.moveFocusTo(nextText.key, 0).moveAnchorTo(nextText.key, 0);
79
+ onToolbarDone(change, true);
80
+ onChangeResponse(newValue);
81
+ });
82
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (e) {
83
+ return _this.setState({
84
+ markup: e.target.value
85
+ });
86
+ });
87
+ return _this;
88
+ }
89
+
90
+ (0, _createClass2["default"])(ECRToolbar, [{
91
+ key: "componentDidMount",
92
+ value: function componentDidMount() {
93
+ var _this$props2 = this.props,
94
+ correctChoice = _this$props2.correctChoice,
95
+ node = _this$props2.node;
96
+ var choice = correctChoice || {};
97
+ var domNode = findSlateNode(node.key);
98
+
99
+ if (domNode) {
100
+ //eslint-disable-next-line
101
+ var domNodeRect = domNode.getBoundingClientRect();
102
+ var editor = domNode.closest('[data-slate-editor]');
103
+ var editorRect = editor.getBoundingClientRect();
104
+ var top = domNodeRect.top - editorRect.top;
105
+ var left = domNodeRect.left - editorRect.left;
106
+ this.setState({
107
+ markup: choice.label,
108
+ toolbarStyle: {
109
+ position: 'absolute',
110
+ top: "".concat(top + domNodeRect.height + 20, "px"),
111
+ left: "".concat(left + 20, "px"),
112
+ width: domNodeRect.width
113
+ }
114
+ });
115
+ }
116
+ }
117
+ }, {
118
+ key: "render",
119
+ value: function render() {
120
+ var _this$props3 = this.props,
121
+ classes = _this$props3.classes,
122
+ maxLengthPerChoiceEnabled = _this$props3.maxLengthPerChoiceEnabled;
123
+ var _this$state = this.state,
124
+ markup = _this$state.markup,
125
+ toolbarStyle = _this$state.toolbarStyle;
126
+ var inputProps = maxLengthPerChoiceEnabled ? {} : {
127
+ maxLength: 25
128
+ };
129
+ return /*#__PURE__*/_react["default"].createElement("div", {
130
+ style: _objectSpread(_objectSpread({}, toolbarStyle), {}, {
131
+ backgroundColor: '#E0E1E6'
132
+ })
133
+ }, /*#__PURE__*/_react["default"].createElement(_OutlinedInput["default"], {
134
+ style: {
135
+ width: '100%'
136
+ },
137
+ autoFocus: true,
138
+ labelWidth: 0,
139
+ classes: {
140
+ input: classes.input
141
+ },
142
+ onChange: this.onChange,
143
+ onBlur: this.onDone,
144
+ value: markup || '',
145
+ inputProps: inputProps
146
+ }));
147
+ }
148
+ }]);
149
+ return ECRToolbar;
150
+ }(_react["default"].Component);
151
+
152
+ exports.ECRToolbar = ECRToolbar;
153
+ (0, _defineProperty2["default"])(ECRToolbar, "propTypes", {
154
+ correctChoice: _propTypes["default"].object,
155
+ classes: _propTypes["default"].object,
156
+ node: _propTypes["default"].object,
157
+ onDone: _propTypes["default"].func,
158
+ onChangeResponse: _propTypes["default"].func.isRequired,
159
+ onToolbarDone: _propTypes["default"].func.isRequired,
160
+ value: _propTypes["default"].shape({
161
+ change: _propTypes["default"].func.isRequired,
162
+ document: _propTypes["default"].shape({
163
+ getNextText: _propTypes["default"].func.isRequired
164
+ })
165
+ }),
166
+ maxLengthPerChoiceEnabled: _propTypes["default"].bool
167
+ });
168
+ var StyledECRToolbar = (0, _styles.withStyles)(function (theme) {
169
+ return {
170
+ respArea: {
171
+ backgroundColor: theme.palette.common.white
172
+ },
173
+ input: {
174
+ backgroundColor: theme.palette.common.white,
175
+ padding: '10px 20px 10px 10px'
176
+ },
177
+ errorInput: {
178
+ border: "2px solid ".concat(theme.palette.error.main)
179
+ }
180
+ };
181
+ })(ECRToolbar);
182
+ var _default = StyledECRToolbar;
183
+ exports["default"] = _default;
184
+ //# sourceMappingURL=ecr-toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ecr-toolbar.jsx"],"names":["findSlateNode","key","window","document","querySelector","ECRToolbar","markup","newValue","state","props","node","value","onToolbarDone","onChangeResponse","update","data","toJSON","change","setNodeByKey","nextText","getNextText","moveFocusTo","moveAnchorTo","e","setState","target","correctChoice","choice","domNode","domNodeRect","getBoundingClientRect","editor","closest","editorRect","top","left","label","toolbarStyle","position","height","width","classes","maxLengthPerChoiceEnabled","inputProps","maxLength","backgroundColor","input","onChange","onDone","React","Component","PropTypes","object","func","isRequired","shape","bool","StyledECRToolbar","theme","respArea","palette","common","white","padding","errorInput","border","error","main"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\n\nconst findSlateNode = (key) => {\n return window.document.querySelector('[data-key=\"' + key + '\"]');\n};\n\nexport class ECRToolbar extends React.Component {\n static propTypes = {\n correctChoice: PropTypes.object,\n classes: PropTypes.object,\n node: PropTypes.object,\n onDone: PropTypes.func,\n onChangeResponse: PropTypes.func.isRequired,\n onToolbarDone: PropTypes.func.isRequired,\n value: PropTypes.shape({\n change: PropTypes.func.isRequired,\n document: PropTypes.shape({\n getNextText: PropTypes.func.isRequired,\n }),\n }),\n maxLengthPerChoiceEnabled: PropTypes.bool,\n };\n\n state = {\n markup: '',\n };\n\n componentDidMount() {\n const { correctChoice, node } = this.props;\n const choice = correctChoice || {};\n\n const domNode = findSlateNode(node.key);\n\n if (domNode) {\n //eslint-disable-next-line\n const domNodeRect = domNode.getBoundingClientRect();\n const editor = domNode.closest('[data-slate-editor]');\n const editorRect = editor.getBoundingClientRect();\n const top = domNodeRect.top - editorRect.top;\n const left = domNodeRect.left - editorRect.left;\n\n this.setState({\n markup: choice.label,\n toolbarStyle: {\n position: 'absolute',\n top: `${top + domNodeRect.height + 20}px`,\n left: `${left + 20}px`,\n width: domNodeRect.width,\n },\n });\n }\n }\n\n onDone = () => {\n const { markup: newValue } = this.state;\n const { node, value, onToolbarDone, onChangeResponse } = this.props;\n const update = { ...node.data.toJSON(), value: newValue };\n const change = value.change().setNodeByKey(node.key, { data: update });\n\n const nextText = value.document.getNextText(node.key);\n\n change.moveFocusTo(nextText.key, 0).moveAnchorTo(nextText.key, 0);\n\n onToolbarDone(change, true);\n onChangeResponse(newValue);\n };\n\n onChange = (e) => this.setState({ markup: e.target.value });\n\n render() {\n const { classes, maxLengthPerChoiceEnabled } = this.props;\n const { markup, toolbarStyle } = this.state;\n const inputProps = maxLengthPerChoiceEnabled ? {} : { maxLength: 25 };\n\n return (\n <div\n style={{\n ...toolbarStyle,\n backgroundColor: '#E0E1E6',\n }}\n >\n <OutlinedInput\n style={{ width: '100%' }}\n autoFocus\n labelWidth={0}\n classes={{\n input: classes.input,\n }}\n onChange={this.onChange}\n onBlur={this.onDone}\n value={markup || ''}\n inputProps={inputProps}\n />\n </div>\n );\n }\n}\n\nconst StyledECRToolbar = withStyles((theme) => ({\n respArea: {\n backgroundColor: theme.palette.common.white,\n },\n input: {\n backgroundColor: theme.palette.common.white,\n padding: '10px 20px 10px 10px',\n },\n errorInput: {\n border: `2px solid ${theme.palette.error.main}`,\n },\n}))(ECRToolbar);\n\nexport default StyledECRToolbar;\n"],"file":"ecr-toolbar.js"}