@arolariu/components
Version:
🎨 60+ beautiful, accessible React components built on Radix UI. TypeScript-first, tree-shakeable, SSR-ready. Perfect for modern web apps, design systems & rapid prototyping. Zero config, maximum flexibility! ⚡
1 lines • 11.1 kB
Source Map (JSON)
{"version":3,"file":"components\\ui\\select.cjs","sources":["webpack://@arolariu/components/webpack/runtime/define_property_getters","webpack://@arolariu/components/webpack/runtime/has_own_property","webpack://@arolariu/components/webpack/runtime/make_namespace_object","webpack://@arolariu/components/./src/components/ui/select.tsx"],"sourcesContent":["__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n }\n }\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","\n\nimport * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\";\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-neutral-200 data-[placeholder]:text-neutral-500 [&_svg:not([class*='text-'])]:text-neutral-500 focus-visible:border-neutral-950 focus-visible:ring-neutral-950/50 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 dark:bg-neutral-200/30 dark:hover:bg-neutral-200/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 dark:border-neutral-800 dark:data-[placeholder]:text-neutral-400 dark:[&_svg:not([class*='text-'])]:text-neutral-400 dark:focus-visible:border-neutral-300 dark:focus-visible:ring-neutral-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900 dark:dark:bg-neutral-800/30 dark:dark:hover:bg-neutral-800/50\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"popper\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"bg-white text-neutral-950 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border border-neutral-200 shadow-md dark:bg-neutral-950 dark:text-neutral-50 dark:border-neutral-800\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\n \"text-neutral-500 px-2 py-1.5 text-xs dark:text-neutral-400\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-neutral-100 focus:text-neutral-900 [&_svg:not([class*='text-'])]:text-neutral-500 relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 dark:focus:bg-neutral-800 dark:focus:text-neutral-50 dark:[&_svg:not([class*='text-'])]:text-neutral-400\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\n \"bg-neutral-200 pointer-events-none -mx-1 my-1 h-px dark:bg-neutral-800\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n"],"names":["__webpack_require__","definition","key","Object","obj","prop","Symbol","Select","props","SelectPrimitive","SelectGroup","SelectValue","SelectTrigger","className","size","children","cn","ChevronDownIcon","SelectContent","position","SelectScrollUpButton","SelectScrollDownButton","SelectLabel","SelectItem","CheckIcon","SelectSeparator","ChevronUpIcon"],"mappings":"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"}