{"version":3,"sources":["../src/components/source-search-box/source-search-box.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport {\n  Command,\n  CommandDialog,\n  CommandEmpty,\n  CommandGroup,\n  CommandInput,\n  CommandItem,\n  CommandList,\n  CommandSeparator,\n  CommandShortcut,\n} from \"../ui/command\";\n\nimport { Calculator, Calendar, CreditCard, Settings, Smile, User } from \"lucide-react\";\n\nimport { DocumentPointer } from \"@vn-sdk/react-core\";\n\nexport interface SourceSearchBoxProps {\n  searchTerm: string;\n  suggestedFiles: DocumentPointer[];\n  onSelectedFile: (filePointer: DocumentPointer) => void;\n}\n\nexport function SourceSearchBox(props: SourceSearchBoxProps) {\n  const [selectedValue, setSelectedValue] = useState<string>(\"\");\n\n  return (\n    <Command\n      className=\"rounded-lg border shadow-md\"\n      value={selectedValue}\n      onValueChange={(value) => {\n        setSelectedValue(value);\n      }}\n      filter={(value, search) => {\n        // if the search term is empty, show all commands\n        if (props.searchTerm === \"\") return 1;\n\n        // if the search term is a prefix of the command, show it\n        if (value.startsWith(props.searchTerm)) return 1;\n\n        // otherwise, don't show it\n        return 0;\n      }}\n    >\n      <CommandInput\n        value={props.searchTerm}\n        className=\"rounded-t-lg hidden\"\n        placeholder=\"Search for a command...\"\n      />\n      <CommandList>\n        <CommandEmpty>No results found.</CommandEmpty>\n\n        <CommandGroup heading=\"Available resources\">\n          {props.suggestedFiles.map((filePointer) => {\n            return (\n              <CommandItem\n                key={`word-${filePointer.sourceApplication}.${filePointer.name}`}\n                value={filePointer.name}\n                onSelect={(value) => {\n                  props.onSelectedFile(filePointer);\n                }}\n              >\n                <div className=\" px-3  flex flex-row gap-1 items-center\">\n                  <Logo width=\"20px\" height=\"20px\">\n                    <img\n                      src={filePointer.iconImageUri}\n                      alt={filePointer.sourceApplication}\n                      className=\"w-full h-full\"\n                    />\n                  </Logo>\n                  {filePointer.name}\n                </div>\n              </CommandItem>\n            );\n          })}\n        </CommandGroup>\n\n        {/* <CommandGroup heading=\"Suggestions\">\n          <CommandItem\n            onSelect={(value) => {\n              console.log(value);\n              console.log(value);\n            }}\n          >\n            <Calendar className=\"mr-2 h-4 w-4\" />\n            <span>Calendar</span>\n          </CommandItem>\n          <CommandItem>\n            <Smile className=\"mr-2 h-4 w-4\" />\n            <span>Search Emoji</span>\n          </CommandItem>\n          <CommandItem>\n            <Calculator className=\"mr-2 h-4 w-4\" />\n            <span>Calculator</span>\n          </CommandItem>\n        </CommandGroup> */}\n        <CommandSeparator />\n      </CommandList>\n    </Command>\n  );\n}\n\nexport function Logo({\n  children,\n  width,\n  height,\n}: {\n  children: React.ReactNode;\n  width: string;\n  height: string;\n}) {\n  return (\n    <div className=\"flex items-center justify-center\" style={{ width: width, height: height }}>\n      {children}\n    </div>\n  );\n}\n"],"mappings":";;;;;;;;;;;AAAA,SAAS,gBAAgB;AA4CnB,cAkBU,YAlBV;AArBC,SAAS,gBAAgB,OAA6B;AAC3D,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAiB,EAAE;AAE7D,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,OAAO;AAAA,MACP,eAAe,CAAC,UAAU;AACxB,yBAAiB,KAAK;AAAA,MACxB;AAAA,MACA,QAAQ,CAAC,OAAO,WAAW;AAEzB,YAAI,MAAM,eAAe;AAAI,iBAAO;AAGpC,YAAI,MAAM,WAAW,MAAM,UAAU;AAAG,iBAAO;AAG/C,eAAO;AAAA,MACT;AAAA,MAEA;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,OAAO,MAAM;AAAA,YACb,WAAU;AAAA,YACV,aAAY;AAAA;AAAA,QACd;AAAA,QACA,qBAAC,eACC;AAAA,8BAAC,gBAAa,+BAAiB;AAAA,UAE/B,oBAAC,gBAAa,SAAQ,uBACnB,gBAAM,eAAe,IAAI,CAAC,gBAAgB;AACzC,mBACE;AAAA,cAAC;AAAA;AAAA,gBAEC,OAAO,YAAY;AAAA,gBACnB,UAAU,CAAC,UAAU;AACnB,wBAAM,eAAe,WAAW;AAAA,gBAClC;AAAA,gBAEA,+BAAC,SAAI,WAAU,2CACb;AAAA,sCAAC,QAAK,OAAM,QAAO,QAAO,QACxB;AAAA,oBAAC;AAAA;AAAA,sBACC,KAAK,YAAY;AAAA,sBACjB,KAAK,YAAY;AAAA,sBACjB,WAAU;AAAA;AAAA,kBACZ,GACF;AAAA,kBACC,YAAY;AAAA,mBACf;AAAA;AAAA,cAfK,QAAQ,YAAY,qBAAqB,YAAY;AAAA,YAgB5D;AAAA,UAEJ,CAAC,GACH;AAAA,UAqBA,oBAAC,oBAAiB;AAAA,WACpB;AAAA;AAAA;AAAA,EACF;AAEJ;AAEO,SAAS,KAAK;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AACF,GAIG;AACD,SACE,oBAAC,SAAI,WAAU,oCAAmC,OAAO,EAAE,OAAc,OAAe,GACrF,UACH;AAEJ;","names":[]}