UNPKG

3.91 kBSource Map (JSON)View Raw
1{"version":3,"file":"Help.js","sources":["../src/components/Help/Help.js"],"sourcesContent":["import React, { useCallback, useRef, useState } from 'react'\nimport PropTypes from 'prop-types'\nimport { useInside } from 'use-inside'\nimport { GU, textStyle } from '../../style'\nimport { useTheme } from '../../theme'\nimport { IconQuestion } from '../../icons'\nimport DiscButton from '../DiscButton/DiscButton'\nimport Popover from '../Popover/Popover'\n\nfunction Help({ hint, children }) {\n const theme = useTheme()\n const buttonElement = useRef()\n const [visible, setVisible] = useState(false)\n const open = useCallback(() => setVisible(true), [])\n const close = useCallback(() => setVisible(false), [])\n const [insideBoxHeading] = useInside('Box:heading')\n const [insideFieldLabel] = useInside('Field:label')\n return (\n <React.Fragment>\n <DiscButton\n ref={buttonElement}\n description={hint}\n onClick={open}\n size={2 * GU}\n css={`\n margin-top: ${insideFieldLabel ? -3 : 0}px;\n margin-left: ${insideBoxHeading || insideFieldLabel ? 1 * GU : 0}px;\n `}\n >\n <IconQuestion size=\"tiny\" />\n </DiscButton>\n <Popover\n opener={buttonElement.current}\n visible={visible}\n onClose={close}\n css={`\n border: 0;\n overflow: hidden;\n ${textStyle('body3')};\n `}\n >\n <div\n css={`\n position: relative;\n max-width: ${48 * GU}px;\n min-width: ${20 * GU}px;\n padding: ${3 * GU}px;\n &:before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: ${0.5 * GU}px;\n background: ${theme.help};\n }\n `}\n >\n {children}\n </div>\n </Popover>\n </React.Fragment>\n )\n}\n\nHelp.propTypes = {\n hint: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n}\n\nexport default Help\n"],"names":["Help","hint","children","theme","useTheme","buttonElement","useRef","useState","visible","setVisible","open","useCallback","close","useInside","insideBoxHeading","insideFieldLabel","React","GU","IconQuestion","current","textStyle","help","propTypes","PropTypes","string","isRequired","node"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,SAASA,IAAT,OAAkC;AAAA,MAAlBC,IAAkB,QAAlBA,IAAkB;AAAA,MAAZC,QAAY,QAAZA,QAAY;AAChC,MAAMC,KAAK,GAAGC,cAAQ,EAAtB;AACA,MAAMC,aAAa,GAAGC,YAAM,EAA5B;;AAFgC,kBAGFC,cAAQ,CAAC,KAAD,CAHN;AAAA;AAAA,MAGzBC,OAHyB;AAAA,MAGhBC,UAHgB;;AAIhC,MAAMC,IAAI,GAAGC,iBAAW,CAAC;AAAA,WAAMF,UAAU,CAAC,IAAD,CAAhB;AAAA,GAAD,EAAyB,EAAzB,CAAxB;AACA,MAAMG,KAAK,GAAGD,iBAAW,CAAC;AAAA,WAAMF,UAAU,CAAC,KAAD,CAAhB;AAAA,GAAD,EAA0B,EAA1B,CAAzB;;AALgC,mBAMLI,SAAS,CAAC,aAAD,CANJ;AAAA;AAAA,MAMzBC,gBANyB;;AAAA,oBAOLD,SAAS,CAAC,aAAD,CAPJ;AAAA;AAAA,MAOzBE,gBAPyB;;AAQhC,sBACEC,6BAACA,cAAD,CAAO,QAAP,qBACEA;AACE,IAAA,GAAG,EAAEX,aADP;AAEE,IAAA,WAAW,EAAEJ,IAFf;AAGE,IAAA,OAAO,EAAES,IAHX;AAIE,IAAA,IAAI,EAAE,IAAIO,YAJZ;AAAA,UAMkBF,gBAAgB,GAAG,CAAC,CAAJ,GAAQ,CAN1C;AAAA,WAOmBD,gBAAgB,IAAIC,gBAApB,GAAuC,IAAIE,YAA3C,GAAgD;AAPnE,kBAUED,6BAACE,oBAAD;AAAc,IAAA,IAAI,EAAC;AAAnB,IAVF,CADF,eAaEF;AACE,IAAA,MAAM,EAAEX,aAAa,CAACc,OADxB;AAEE,IAAA,OAAO,EAAEX,OAFX;AAGE,IAAA,OAAO,EAAEI,KAHX;AAAA,WAOMQ,oBAAS,CAAC,OAAD;AAPf,kBAUEJ;AAAA,WAGiB,KAAKC,YAHtB;AAAA,WAIiB,KAAKA,YAJtB;AAAA,WAKe,IAAIA,YALnB;AAAA,WAYe,MAAMA,YAZrB;AAAA,WAaoBd,KAAK,CAACkB;AAb1B,KAiBGnB,QAjBH,CAVF,CAbF,CADF;AA8CD;;AAEDF,IAAI,CAACsB,SAAL,GAAiB;AACfrB,EAAAA,IAAI,EAAEsB,eAAS,CAACC,MAAV,CAAiBC,UADR;AAEfvB,EAAAA,QAAQ,EAAEqB,eAAS,CAACG,IAAV,CAAeD;AAFV,CAAjB;;;;"}
\No newline at end of file