Explorar o código

fix: prompt agent button style

David Hill hai 1 mes
pai
achega
ecd28fd520

+ 1 - 0
packages/app/src/components/prompt-input.tsx

@@ -1583,6 +1583,7 @@ export const PromptInput: Component<PromptInputProps> = (props) => {
                     onSelect={local.agent.set}
                     class="capitalize"
                     variant="ghost"
+                    triggerVariant="button"
                   />
                 </TooltipKeybind>
                 <Show

+ 28 - 0
packages/ui/src/components/select.css

@@ -41,6 +41,34 @@
       box-shadow: none;
     }
   }
+
+  &[data-trigger-style="button"] {
+    [data-slot="select-select-trigger"] {
+      padding: 0 6px;
+      min-width: auto;
+      height: 24px;
+      justify-content: center;
+      gap: 6px;
+
+      [data-slot="select-select-trigger-icon"] {
+        width: auto;
+        height: auto;
+        background-color: transparent;
+        border-radius: 0;
+      }
+
+      &[data-slot="select-select-trigger"]:hover:not(:disabled) {
+        background-color: var(--surface-raised-base-hover);
+        box-shadow: none;
+      }
+
+      &[data-slot="select-select-trigger"][data-expanded],
+      &[data-slot="select-select-trigger"][data-expanded]:hover:not(:disabled) {
+        background-color: var(--surface-raised-base-active);
+        box-shadow: none;
+      }
+    }
+  }
 }
 
 [data-component="select-content"] {

+ 4 - 1
packages/ui/src/components/select.tsx

@@ -17,6 +17,7 @@ export type SelectProps<T> = Omit<ComponentProps<typeof Kobalte<T>>, "value" | "
   classList?: ComponentProps<"div">["classList"]
   children?: (item: T | undefined) => JSX.Element
   triggerStyle?: JSX.CSSProperties
+  triggerVariant?: "default" | "button"
 }
 
 export function Select<T>(props: SelectProps<T> & ButtonProps) {
@@ -34,6 +35,7 @@ export function Select<T>(props: SelectProps<T> & ButtonProps) {
     "onOpenChange",
     "children",
     "triggerStyle",
+    "triggerVariant",
   ])
 
   const state = {
@@ -81,6 +83,7 @@ export function Select<T>(props: SelectProps<T> & ButtonProps) {
     <Kobalte<T, { category: string; options: T[] }>
       {...others}
       data-component="select"
+      data-trigger-style={local.triggerVariant}
       placement="bottom-end"
       gutter={4}
       value={local.current}
@@ -145,7 +148,7 @@ export function Select<T>(props: SelectProps<T> & ButtonProps) {
           }}
         </Kobalte.Value>
         <Kobalte.Icon data-slot="select-select-trigger-icon">
-          <Icon name="selector" size="small" />
+          <Icon name={local.triggerVariant === "button" ? "chevron-down" : "selector"} size="small" />
         </Kobalte.Icon>
       </Kobalte.Trigger>
       <Kobalte.Portal>