UNPKG

3.78 kBSource Map (JSON)View Raw
1{"version":3,"file":"RadioList.js","sources":["../src/components/Radio/RadioList.js"],"sourcesContent":["import React from 'react'\nimport PropTypes from 'prop-types'\nimport { GU } from '../../style'\nimport { noop } from '../../utils'\nimport RadioGroup from './RadioGroup'\nimport RadioListItem from './RadioListItem'\n\nfunction RadioList({\n description,\n items,\n onChange,\n selected,\n title,\n ...props\n}) {\n return (\n <div {...props}>\n {title && (\n <h2\n css={`\n margin-bottom: ${0.5 * GU}px;\n font-weight: 600;\n `}\n >\n {title}\n </h2>\n )}\n {description && (\n <div\n css={`\n margin-bottom: ${2.5 * GU}px;\n `}\n >\n {description}\n </div>\n )}\n <RadioGroup\n onChange={onChange}\n selected={selected}\n css={`\n display: flex;\n flex-direction: column;\n `}\n >\n {items.map(({ description, title }, i) => (\n <RadioListItem\n key={i}\n description={description}\n index={i}\n title={title}\n />\n ))}\n </RadioGroup>\n </div>\n )\n}\n\nRadioList.propTypes = {\n description: PropTypes.node,\n items: PropTypes.arrayOf(\n PropTypes.shape({\n description: PropTypes.node.isRequired,\n title: PropTypes.node.isRequired,\n })\n ),\n onChange: PropTypes.func,\n selected: ({ items, selected }, _, componentName) => {\n if (!Number.isInteger(selected) || selected >= items.length) {\n throw new Error(\n `Invalid prop \\`selected\\` supplied to \\`${componentName}\\`. ` +\n '`selected` must be an integer less than the length of `items`. ' +\n `Given ${selected} instead.`\n )\n }\n },\n title: PropTypes.node,\n}\n\nRadioList.defaultProps = {\n items: [],\n onChange: noop,\n selected: 0,\n}\n\nexport default RadioList\n"],"names":["RadioList","description","items","onChange","selected","title","props","React","GU","map","i","RadioListItem","propTypes","PropTypes","node","arrayOf","shape","isRequired","func","_","componentName","Number","isInteger","length","Error","defaultProps","noop"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,SAASA,SAAT,OAOG;AAAA,MANDC,WAMC,QANDA,WAMC;AAAA,MALDC,KAKC,QALDA,KAKC;AAAA,MAJDC,QAIC,QAJDA,QAIC;AAAA,MAHDC,QAGC,QAHDA,QAGC;AAAA,MAFDC,KAEC,QAFDA,KAEC;AAAA,MADEC,KACF;;AACD,sBACEC,oCAASD,KAAT,EACGD,KAAK,iBACJE;AAAA,UAEqB,MAAMC;AAF3B,KAMGH,KANH,CAFJ,EAWGJ,WAAW,iBACVM;AAAA,WAEqB,MAAMC;AAF3B,KAKGP,WALH,CAZJ,eAoBEM;AACE,IAAA,QAAQ,EAAEJ,QADZ;AAEE,IAAA,QAAQ,EAAEC;AAFZ,KAQGF,KAAK,CAACO,GAAN,CAAU,iBAAyBC,CAAzB;AAAA,QAAGT,WAAH,SAAGA,WAAH;AAAA,QAAgBI,KAAhB,SAAgBA,KAAhB;AAAA,wBACTE,6BAACI,qBAAD;AACE,MAAA,GAAG,EAAED,CADP;AAEE,MAAA,WAAW,EAAET,WAFf;AAGE,MAAA,KAAK,EAAES,CAHT;AAIE,MAAA,KAAK,EAAEL;AAJT,MADS;AAAA,GAAV,CARH,CApBF,CADF;AAwCD;;AAEDL,SAAS,CAACY,SAAV,GAAsB;AACpBX,EAAAA,WAAW,EAAEY,eAAS,CAACC,IADH;AAEpBZ,EAAAA,KAAK,EAAEW,eAAS,CAACE,OAAV,CACLF,eAAS,CAACG,KAAV,CAAgB;AACdf,IAAAA,WAAW,EAAEY,eAAS,CAACC,IAAV,CAAeG,UADd;AAEdZ,IAAAA,KAAK,EAAEQ,eAAS,CAACC,IAAV,CAAeG;AAFR,GAAhB,CADK,CAFa;AAQpBd,EAAAA,QAAQ,EAAEU,eAAS,CAACK,IARA;AASpBd,EAAAA,QAAQ,EAAE,yBAAsBe,CAAtB,EAAyBC,aAAzB,EAA2C;AAAA,QAAxClB,KAAwC,SAAxCA,KAAwC;AAAA,QAAjCE,SAAiC,SAAjCA,QAAiC;;AACnD,QAAI,CAACiB,MAAM,CAACC,SAAP,CAAiBlB,SAAjB,CAAD,IAA+BA,SAAQ,IAAIF,KAAK,CAACqB,MAArD,EAA6D;AAC3D,YAAM,IAAIC,KAAJ,CACJ,+CAA2CJ,aAA3C,WACE,iEADF,mBAEWhB,SAFX,cADI,CAAN;AAKD;AACF,GAjBmB;AAkBpBC,EAAAA,KAAK,EAAEQ,eAAS,CAACC;AAlBG,CAAtB;AAqBAd,SAAS,CAACyB,YAAV,GAAyB;AACvBvB,EAAAA,KAAK,EAAE,EADgB;AAEvBC,EAAAA,QAAQ,EAAEuB,kBAFa;AAGvBtB,EAAAA,QAAQ,EAAE;AAHa,CAAzB;;;;"}
\No newline at end of file