diff --git a/.pnp.cjs b/.pnp.cjs
index e2ef13478..aebfb90bd 100755
--- a/.pnp.cjs
+++ b/.pnp.cjs
@@ -1698,6 +1698,7 @@ const RAW_RUNTIME_STATE =
"packageDependencies": [\
["@atls-ui-parts/select", "workspace:ui-parts/select"],\
["@atls-ui-parts/layout", "virtual:dbe1a421eee484ea0bdb9d0589d44d9184c9819d8f5bfcb1a73e3d85271cc45ecf4365a26e00f2a3256c13de48b40272578801688978809175001fb2693bc747#workspace:ui-parts/layout"],\
+ ["@atls-ui-parts/theme", "virtual:dbe1a421eee484ea0bdb9d0589d44d9184c9819d8f5bfcb1a73e3d85271cc45ecf4365a26e00f2a3256c13de48b40272578801688978809175001fb2693bc747#workspace:ui-parts/theme"],\
["@atls-utils/use-select", "virtual:9c076913ffd643939b8ac6e8c374fd1470f44689001261d35898fb07091ea0aa596a24d8bcdfb508f949d0c68789b448702cfb68072c423229496303e9a11342#workspace:utils/use-select"],\
["@storybook/react", "virtual:90c3fa37a29dbddd012ae896ef9d136c46ca1d320faf1baf430439ab5aac7e1e7c8ef5281a72424df8d016a8c33c9d5ffe66ee23d2face19f27de3042508900f#npm:8.6.12"],\
["@types/react", "npm:19.1.2"],\
@@ -1705,7 +1706,6 @@ const RAW_RUNTIME_STATE =
["@vanilla-extract/dynamic", "npm:2.1.2"],\
["clsx", "npm:2.1.1"],\
["framer-motion", "virtual:3dba37771ce499e6d5c33bd82b7263c259fd8b9b612d0bf65962a3da6b1ec4612c0f051c5ab6d1701e4760bde49cb56e2383e557801939071c5dbec0f467c0d5#npm:12.23.22"],\
- ["rainbow-sprinkles", "virtual:90c3fa37a29dbddd012ae896ef9d136c46ca1d320faf1baf430439ab5aac7e1e7c8ef5281a72424df8d016a8c33c9d5ffe66ee23d2face19f27de3042508900f#npm:1.0.0"],\
["react", "npm:19.1.0"],\
["react-dom", "virtual:90c3fa37a29dbddd012ae896ef9d136c46ca1d320faf1baf430439ab5aac7e1e7c8ef5281a72424df8d016a8c33c9d5ffe66ee23d2face19f27de3042508900f#npm:19.1.0"],\
["storybook", "virtual:90c3fa37a29dbddd012ae896ef9d136c46ca1d320faf1baf430439ab5aac7e1e7c8ef5281a72424df8d016a8c33c9d5ffe66ee23d2face19f27de3042508900f#npm:8.6.12"]\
diff --git a/ui-parts/select/package.json b/ui-parts/select/package.json
index 75d89b604..ee1830377 100644
--- a/ui-parts/select/package.json
+++ b/ui-parts/select/package.json
@@ -13,10 +13,10 @@
"postpack": "rm -rf dist"
},
"dependencies": {
+ "@atls-ui-parts/theme": "workspace:*",
"@atls-utils/use-select": "workspace:*",
"clsx": "2.1.1",
- "framer-motion": "12.23.22",
- "rainbow-sprinkles": "1.0.0"
+ "framer-motion": "12.23.22"
},
"devDependencies": {
"@atls-ui-parts/layout": "workspace:*",
diff --git a/ui-parts/select/src/select.component.tsx b/ui-parts/select/src/component.tsx
similarity index 61%
rename from ui-parts/select/src/select.component.tsx
rename to ui-parts/select/src/component.tsx
index 172418770..a73962f78 100644
--- a/ui-parts/select/src/select.component.tsx
+++ b/ui-parts/select/src/component.tsx
@@ -1,6 +1,6 @@
import type { ReactNode } from 'react'
-import type { SelectProps } from './select.interfaces.js'
+import type { SelectProps } from './interfaces.js'
import { clsx } from 'clsx'
import { motion } from 'framer-motion'
@@ -9,16 +9,20 @@ import { useSelect } from '@atls-utils/use-select'
import { MenuItem } from './item/index.js'
import { baseButtonStyles } from './button/index.js'
-import { baseMenuSprinkles } from './menu/index.js'
import { baseMenuStyles } from './menu/index.js'
+import { selectAppearances } from './styles/index.js'
+import { selectShapes } from './styles/index.js'
export const Select = ({
+ appearance = selectAppearances.default,
items,
label,
+ menuProps: menuPropsProperty,
value,
onChangeValue,
placeholder,
- ...props
+ shape = selectShapes.default,
+ width,
}: SelectProps): ReactNode => {
const {
isOpen,
@@ -33,23 +37,29 @@ export const Select = ({
onChange: onChangeValue,
})
- const { className, style, otherProps } = baseMenuSprinkles(props)
+ const triggerValue = value || placeholder
+ const { className, style, ...props } = menuPropsProperty ?? {}
+ const menuStyle = width === undefined ? style : { width, ...style }
return (
<>
{/* eslint-disable-next-line jsx-a11y/label-has-associated-control */}
-