UNPKG

@undp/design-system-react

Version:

React based design system for UNDP

1 lines 4.92 kB
{"version":3,"file":"input-search-f1a_DAni.cjs","names":["Search","createLucideIcon"],"sources":["../node_modules/lucide-react/dist/esm/icons/search.js","../src/components/ui/input-search.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.542.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"m21 21-4.34-4.34\", key: \"14j7rj\" }],\n [\"circle\", { cx: \"11\", cy: \"11\", r: \"8\", key: \"4ej97u\" }]\n];\nconst Search = createLucideIcon(\"search\", __iconNode);\n\nexport { __iconNode, Search as default };\n//# sourceMappingURL=search.js.map\n","import { SearchIcon } from 'lucide-react';\nimport React from 'react';\nimport { cn } from '@/lib/utils';\nimport { Button } from './button';\nimport { Input } from './input';\n\nconst Search = React.forwardRef<\n HTMLInputElement,\n React.ComponentProps<'input'> & {\n inputVariant?: 'light' | 'normal';\n inputClassName?: string;\n buttonClassName?: string;\n buttonVariant?: 'primary' | 'secondary' | 'tertiary' | 'quaternary' | 'icon';\n rounded?: 'base' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'full';\n showSearchButton?: boolean;\n searchOnlyOnClick?: boolean;\n buttonChildren?: React.ReactNode;\n inputSize?: 'sm' | 'base';\n onSearch?: (d?: string) => void;\n }\n>(\n (\n {\n className,\n inputClassName,\n buttonClassName,\n onSearch,\n searchOnlyOnClick,\n buttonVariant,\n buttonChildren,\n showSearchButton,\n inputVariant,\n inputSize,\n rounded,\n placeholder,\n ...props\n },\n ref,\n ) => {\n const [query, setQuery] = React.useState<string | undefined>(undefined);\n const [isFocused, setIsFocused] = React.useState(false);\n return (\n <div className={cn('flex items-stretch gap-0', className)} ref={ref}>\n <div className='relative w-full'>\n <Input\n {...props}\n variant={inputVariant}\n type='text'\n className={inputClassName}\n onChange={(d) => {\n setQuery(d.target.value);\n if (!searchOnlyOnClick) {\n onSearch?.(d.target.value);\n }\n }}\n inputSize={inputSize}\n rounded={rounded}\n onKeyDown={(event) => {\n if (event.key === 'Enter') {\n onSearch?.(query);\n }\n }}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n />\n {!isFocused && (query === '' || !query) && (\n <div className='pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3'>\n {!buttonChildren ? (\n <SearchIcon className='mr-2 h-4 w-4 text-content-placeholder' />\n ) : null}\n <span className='text-content-placeholder'>{placeholder || 'Search...'}</span>\n </div>\n )}\n </div>\n {showSearchButton === false ? null : (\n <Button\n variant={buttonVariant || 'icon'}\n className={cn('py-0', buttonClassName)}\n padding={inputSize}\n arrow={false}\n onClick={() => {\n onSearch?.(query);\n }}\n >\n {buttonChildren || <SearchIcon className='stroke-2' />}\n </Button>\n )}\n </div>\n );\n },\n);\nSearch.displayName = 'Search';\n\nexport { Search };\n"],"x_google_ignoreList":[0],"mappings":"0PAaA,IAAMA,EAASC,EAAAA,EAAiB,SAAU,CAHxC,CAAC,OAAQ,CAAE,EAAG,mBAAoB,IAAK,QAAS,CAAC,EACjD,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,IAAK,IAAK,QAAS,CAAC,CAEhB,CAAU,ECP9C,EAAS,EAAA,QAAM,YAgBjB,CACE,YACA,iBACA,kBACA,WACA,oBACA,gBACA,iBACA,mBACA,eACA,YACA,UACA,cACA,GAAG,GAEL,IACG,CACH,GAAM,CAAC,EAAO,GAAY,EAAA,QAAM,SAA6B,IAAA,EAAS,EAChE,CAAC,EAAW,GAAgB,EAAA,QAAM,SAAS,EAAK,EACtD,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAW,EAAA,EAAG,2BAA4B,CAAS,EAAQ,eAAhE,EACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,2BAAf,EACE,EAAA,EAAA,IAAA,CAAC,EAAA,MAAD,CACE,GAAI,EACJ,QAAS,EACT,KAAK,OACL,UAAW,EACX,SAAW,GAAM,CACf,EAAS,EAAE,OAAO,KAAK,EAClB,GACH,IAAW,EAAE,OAAO,KAAK,CAE7B,EACW,YACF,UACT,UAAY,GAAU,CAChB,EAAM,MAAQ,SAChB,IAAW,CAAK,CAEpB,EACA,YAAe,EAAa,EAAI,EAChC,WAAc,EAAa,EAAK,CACjC,CAAA,EACA,CAAC,IAAc,IAAU,IAAM,CAAC,KAC/B,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,gFAAf,CACI,EAEE,MADF,EAAA,EAAA,IAAA,CAAC,EAAD,CAAY,UAAU,uCAAyC,CAAA,GAEjE,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,oCAA4B,GAAe,WAAkB,CAAA,CAC1E,GAEJ,IACJ,IAAqB,GAAQ,MAC5B,EAAA,EAAA,IAAA,CAAC,EAAA,OAAD,CACE,QAAS,GAAiB,OAC1B,UAAW,EAAA,EAAG,OAAQ,CAAe,EACrC,QAAS,EACT,MAAO,GACP,YAAe,CACb,IAAW,CAAK,CAClB,WAEC,IAAkB,EAAA,EAAA,IAAA,CAAC,EAAD,CAAY,UAAU,UAAY,CAAA,CAC/C,CAAA,CAEP,GAET,CACF,EACA,EAAO,YAAc"}