{"ast":null,"code":"import React from'react';import useRequest from'use-request';import api from'./api';import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";const suggestions=['ap','be','ch','gr','pe'];const RaceExample=()=>{const[query,setQuery]=React.useState('');const search=React.useCallback(q=>q?api.search(q):Promise.resolve([]),[]);const{value:results,pending}=useRequest(search,[query]);return/*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"div\",{style:{position:'relative'},children:[/*#__PURE__*/_jsx(\"input\",{className:\"demo-input\",value:query,onChange:e=>setQuery(e.target.value),placeholder:\"Search fruits...\"}),pending&&/*#__PURE__*/_jsx(\"span\",{className:\"demo-spinner\",style:{position:'absolute',right:10,top:10}})]}),/*#__PURE__*/_jsx(\"div\",{style:{display:'flex',gap:4,marginTop:6,flexWrap:'wrap'},children:suggestions.map(s=>/*#__PURE__*/_jsx(\"button\",{className:\"demo-btn demo-btn-sm demo-btn-ghost\",onClick:()=>setQuery(s),children:s},s))}),results&&query&&/*#__PURE__*/_jsx(\"div\",{className:\"demo-result\",style:{marginTop:8},children:results.length===0?/*#__PURE__*/_jsx(\"span\",{style:{color:'var(--text-dim)'},children:\"No matches\"}):results.map((r,i)=>/*#__PURE__*/_jsxs(\"span\",{children:[i>0&&', ',r]},r))})]});};export default RaceExample;","map":{"version":3,"names":["React","useRequest","api","jsx","_jsx","jsxs","_jsxs","suggestions","RaceExample","query","setQuery","useState","search","useCallback","q","Promise","resolve","value","results","pending","children","style","position","className","onChange","e","target","placeholder","right","top","display","gap","marginTop","flexWrap","map","s","onClick","length","color","r","i"],"sources":["/root/.openclaw/workspace/projects/termosa-use-request/example/src/RaceExample.js"],"sourcesContent":["import React from 'react'\nimport useRequest from 'use-request'\nimport api from './api'\n\nconst suggestions = ['ap', 'be', 'ch', 'gr', 'pe']\n\nconst RaceExample = () => {\n  const [query, setQuery] = React.useState('')\n  const search = React.useCallback((q) => q ? api.search(q) : Promise.resolve([]), [])\n  const { value: results, pending } = useRequest(search, [query])\n\n  return (\n    <div>\n      <div style={{ position: 'relative' }}>\n        <input\n          className=\"demo-input\"\n          value={query}\n          onChange={(e) => setQuery(e.target.value)}\n          placeholder=\"Search fruits...\"\n        />\n        {pending && (\n          <span className=\"demo-spinner\" style={{ position: 'absolute', right: 10, top: 10 }} />\n        )}\n      </div>\n      <div style={{ display: 'flex', gap: 4, marginTop: 6, flexWrap: 'wrap' }}>\n        {suggestions.map((s) => (\n          <button\n            key={s}\n            className=\"demo-btn demo-btn-sm demo-btn-ghost\"\n            onClick={() => setQuery(s)}\n          >\n            {s}\n          </button>\n        ))}\n      </div>\n      {results && query && (\n        <div className=\"demo-result\" style={{ marginTop: 8 }}>\n          {results.length === 0\n            ? <span style={{ color: 'var(--text-dim)' }}>No matches</span>\n            : results.map((r, i) => (\n                <span key={r}>\n                  {i > 0 && ', '}\n                  {r}\n                </span>\n              ))\n          }\n        </div>\n      )}\n    </div>\n  )\n}\n\nexport default RaceExample\n"],"mappings":"AAAA,MAAO,CAAAA,KAAK,KAAM,OAAO,CACzB,MAAO,CAAAC,UAAU,KAAM,aAAa,CACpC,MAAO,CAAAC,GAAG,KAAM,OAAO,QAAAC,GAAA,IAAAC,IAAA,CAAAC,IAAA,IAAAC,KAAA,yBAEvB,KAAM,CAAAC,WAAW,CAAG,CAAC,IAAI,CAAE,IAAI,CAAE,IAAI,CAAE,IAAI,CAAE,IAAI,CAAC,CAElD,KAAM,CAAAC,WAAW,CAAGA,CAAA,GAAM,CACxB,KAAM,CAACC,KAAK,CAAEC,QAAQ,CAAC,CAAGV,KAAK,CAACW,QAAQ,CAAC,EAAE,CAAC,CAC5C,KAAM,CAAAC,MAAM,CAAGZ,KAAK,CAACa,WAAW,CAAEC,CAAC,EAAKA,CAAC,CAAGZ,GAAG,CAACU,MAAM,CAACE,CAAC,CAAC,CAAGC,OAAO,CAACC,OAAO,CAAC,EAAE,CAAC,CAAE,EAAE,CAAC,CACpF,KAAM,CAAEC,KAAK,CAAEC,OAAO,CAAEC,OAAQ,CAAC,CAAGlB,UAAU,CAACW,MAAM,CAAE,CAACH,KAAK,CAAC,CAAC,CAE/D,mBACEH,KAAA,QAAAc,QAAA,eACEd,KAAA,QAAKe,KAAK,CAAE,CAAEC,QAAQ,CAAE,UAAW,CAAE,CAAAF,QAAA,eACnChB,IAAA,UACEmB,SAAS,CAAC,YAAY,CACtBN,KAAK,CAAER,KAAM,CACbe,QAAQ,CAAGC,CAAC,EAAKf,QAAQ,CAACe,CAAC,CAACC,MAAM,CAACT,KAAK,CAAE,CAC1CU,WAAW,CAAC,kBAAkB,CAC/B,CAAC,CACDR,OAAO,eACNf,IAAA,SAAMmB,SAAS,CAAC,cAAc,CAACF,KAAK,CAAE,CAAEC,QAAQ,CAAE,UAAU,CAAEM,KAAK,CAAE,EAAE,CAAEC,GAAG,CAAE,EAAG,CAAE,CAAE,CACtF,EACE,CAAC,cACNzB,IAAA,QAAKiB,KAAK,CAAE,CAAES,OAAO,CAAE,MAAM,CAAEC,GAAG,CAAE,CAAC,CAAEC,SAAS,CAAE,CAAC,CAAEC,QAAQ,CAAE,MAAO,CAAE,CAAAb,QAAA,CACrEb,WAAW,CAAC2B,GAAG,CAAEC,CAAC,eACjB/B,IAAA,WAEEmB,SAAS,CAAC,qCAAqC,CAC/Ca,OAAO,CAAEA,CAAA,GAAM1B,QAAQ,CAACyB,CAAC,CAAE,CAAAf,QAAA,CAE1Be,CAAC,EAJGA,CAKC,CACT,CAAC,CACC,CAAC,CACLjB,OAAO,EAAIT,KAAK,eACfL,IAAA,QAAKmB,SAAS,CAAC,aAAa,CAACF,KAAK,CAAE,CAAEW,SAAS,CAAE,CAAE,CAAE,CAAAZ,QAAA,CAClDF,OAAO,CAACmB,MAAM,GAAK,CAAC,cACjBjC,IAAA,SAAMiB,KAAK,CAAE,CAAEiB,KAAK,CAAE,iBAAkB,CAAE,CAAAlB,QAAA,CAAC,YAAU,CAAM,CAAC,CAC5DF,OAAO,CAACgB,GAAG,CAAC,CAACK,CAAC,CAAEC,CAAC,gBACflC,KAAA,SAAAc,QAAA,EACGoB,CAAC,CAAG,CAAC,EAAI,IAAI,CACbD,CAAC,GAFOA,CAGL,CACP,CAAC,CAEH,CACN,EACE,CAAC,CAEV,CAAC,CAED,cAAe,CAAA/B,WAAW","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}