UNPKG

3.25 kBSource Map (JSON)View Raw
1{"version":3,"file":"SearchInput.js","sources":["../src/components/Input/SearchInput.js"],"sourcesContent":["import React, { useRef, useCallback } from 'react'\nimport ButtonIcon from '../Button/ButtonIcon'\nimport TextInput from './TextInput'\nimport { IconSearch, IconCross } from '../../icons'\nimport { useTheme } from '../../theme'\n\nconst EMPTY = ''\n\nconst SearchInput = React.forwardRef(({ onChange, ...props }, ref) => {\n const theme = useTheme()\n const fallbackRef = useRef()\n const _ref = ref || fallbackRef\n\n const handleChange = useCallback(\n ev => {\n const { value } = ev.currentTarget\n onChange(value, { inputChangeEvent: ev })\n },\n [onChange]\n )\n\n const handleClearClick = useCallback(\n ev => {\n onChange(EMPTY, { clearClickEvent: ev })\n if (_ref.current) {\n _ref.current.focus()\n }\n },\n [onChange, _ref]\n )\n\n return (\n <TextInput\n ref={_ref}\n adornment={\n (props.value || '') === EMPTY ? (\n <IconSearch\n css={`\n color: ${theme.surfaceIcon};\n `}\n />\n ) : (\n <ButtonIcon\n onClick={handleClearClick}\n label=\"Clear search input\"\n css={`\n color: ${theme.surfaceIcon};\n `}\n >\n <IconCross />\n </ButtonIcon>\n )\n }\n adornmentPosition=\"end\"\n onChange={handleChange}\n {...props}\n />\n )\n})\n\nSearchInput.propTypes = {\n ...TextInput.propTypes,\n}\n\nexport default SearchInput\n"],"names":["EMPTY","SearchInput","React","forwardRef","ref","onChange","props","theme","useTheme","fallbackRef","useRef","_ref","handleChange","useCallback","ev","value","currentTarget","inputChangeEvent","handleClearClick","clearClickEvent","current","focus","TextInput","surfaceIcon","IconCross","propTypes"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAMA,KAAK,GAAG,EAAd;;;;;;;;;;;;;;;;AAEA,IAAMC,WAAW,gBAAGC,cAAK,CAACC,UAAN,CAAiB,iBAAyBC,GAAzB,EAAiC;AAAA,MAA9BC,QAA8B,SAA9BA,QAA8B;AAAA,MAAjBC,KAAiB;;AACpE,MAAMC,KAAK,GAAGC,cAAQ,EAAtB;AACA,MAAMC,WAAW,GAAGC,YAAM,EAA1B;;AACA,MAAMC,IAAI,GAAGP,GAAG,IAAIK,WAApB;;AAEA,MAAMG,YAAY,GAAGC,iBAAW,CAC9B,UAAAC,EAAE,EAAI;AAAA,QACIC,KADJ,GACcD,EAAE,CAACE,aADjB,CACID,KADJ;AAEJV,IAAAA,QAAQ,CAACU,KAAD,EAAQ;AAAEE,MAAAA,gBAAgB,EAAEH;AAApB,KAAR,CAAR;AACD,GAJ6B,EAK9B,CAACT,QAAD,CAL8B,CAAhC;AAQA,MAAMa,gBAAgB,GAAGL,iBAAW,CAClC,UAAAC,EAAE,EAAI;AACJT,IAAAA,QAAQ,CAACL,KAAD,EAAQ;AAAEmB,MAAAA,eAAe,EAAEL;AAAnB,KAAR,CAAR;;AACA,QAAIH,IAAI,CAACS,OAAT,EAAkB;AAChBT,MAAAA,IAAI,CAACS,OAAL,CAAaC,KAAb;AACD;AACF,GANiC,EAOlC,CAAChB,QAAD,EAAWM,IAAX,CAPkC,CAApC;AAUA,sBACET,6BAACoB,iBAAD;AACE,IAAA,GAAG,EAAEX,IADP;AAEE,IAAA,SAAS,EACP,CAACL,KAAK,CAACS,KAAN,IAAe,EAAhB,MAAwBf,KAAxB,gBACEE;AAAA,YAEaK,KAAK,CAACgB;AAFnB,MADF,gBAOErB;AACE,MAAA,OAAO,EAAEgB,gBADX;AAEE,MAAA,KAAK,EAAC,oBAFR;AAAA,aAIaX,KAAK,CAACgB;AAJnB,oBAOErB,6BAACsB,iBAAD,OAPF,CAVN;AAqBE,IAAA,iBAAiB,EAAC,KArBpB;AAsBE,IAAA,QAAQ,EAAEZ;AAtBZ,KAuBMN,KAvBN,EADF;AA2BD,CAlDmB,CAApB;AAoDAL,WAAW,CAACwB,SAAZ,qBACKH,iBAAS,CAACG,SADf;;;;"}
\No newline at end of file