diff options
| author | Adam <[email protected]> | 2025-11-06 15:13:02 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-11-06 15:13:06 -0600 |
| commit | 96c57418f39bbf10e4538a6e0652baff7f0932fb (patch) | |
| tree | 7709020729579f1ec84ce230726504a810d01421 /packages/ui/src | |
| parent | b8c51e307f1e26c4cbc962fca742338fba3c9fe9 (diff) | |
| download | opencode-96c57418f39bbf10e4538a6e0652baff7f0932fb.tar.gz opencode-96c57418f39bbf10e4538a6e0652baff7f0932fb.zip | |
feat(desktop): review flow
Diffstat (limited to 'packages/ui/src')
| -rw-r--r-- | packages/ui/src/components/accordion.tsx | 11 | ||||
| -rw-r--r-- | packages/ui/src/components/button.css | 5 | ||||
| -rw-r--r-- | packages/ui/src/components/diff-changes.tsx | 7 | ||||
| -rw-r--r-- | packages/ui/src/components/icon.tsx | 3 | ||||
| -rw-r--r-- | packages/ui/src/components/tooltip.tsx | 2 |
5 files changed, 21 insertions, 7 deletions
diff --git a/packages/ui/src/components/accordion.tsx b/packages/ui/src/components/accordion.tsx index 535d38e3d..02f00b7be 100644 --- a/packages/ui/src/components/accordion.tsx +++ b/packages/ui/src/components/accordion.tsx @@ -1,9 +1,11 @@ import { Accordion as Kobalte } from "@kobalte/core/accordion" -import { splitProps } from "solid-js" +import { createSignal, splitProps } from "solid-js" import type { ComponentProps, ParentProps } from "solid-js" export interface AccordionProps extends ComponentProps<typeof Kobalte> {} -export interface AccordionItemProps extends ComponentProps<typeof Kobalte.Item> {} +export interface AccordionItemProps extends ComponentProps<typeof Kobalte.Item> { + defaultOpen?: boolean +} export interface AccordionHeaderProps extends ComponentProps<typeof Kobalte.Header> {} export interface AccordionTriggerProps extends ComponentProps<typeof Kobalte.Trigger> {} export interface AccordionContentProps extends ComponentProps<typeof Kobalte.Content> {} @@ -23,11 +25,14 @@ function AccordionRoot(props: AccordionProps) { } function AccordionItem(props: AccordionItemProps) { - const [split, rest] = splitProps(props, ["class", "classList"]) + const [split, rest] = splitProps(props, ["class", "classList", "defaultOpen"]) + const [open, setOpen] = createSignal(split.defaultOpen ?? false) return ( <Kobalte.Item {...rest} data-slot="accordion-item" + onOpenChange={setOpen} + open={open()} classList={{ ...(split.classList ?? {}), [split.class ?? ""]: !!split.class, diff --git a/packages/ui/src/components/button.css b/packages/ui/src/components/button.css index f76d7465b..017fa3f0f 100644 --- a/packages/ui/src/components/button.css +++ b/packages/ui/src/components/button.css @@ -74,14 +74,15 @@ } &[data-size="normal"] { + height: 24px; padding: 0 6px; &[data-icon] { - padding: 0 6px 0 4px; + padding: 0 8px 0 6px; } font-size: var(--font-size-small); line-height: var(--line-height-large); - gap: calc(var(--spacing) * 0.5); + gap: 6px; } &[data-size="large"] { diff --git a/packages/ui/src/components/diff-changes.tsx b/packages/ui/src/components/diff-changes.tsx index 5b2b7362e..3095ddbdb 100644 --- a/packages/ui/src/components/diff-changes.tsx +++ b/packages/ui/src/components/diff-changes.tsx @@ -1,6 +1,7 @@ import { createMemo, For, Match, Show, Switch } from "solid-js" export function DiffChanges(props: { + class?: string changes: { additions: number; deletions: number } | { additions: number; deletions: number }[] variant?: "default" | "bars" }) { @@ -92,7 +93,11 @@ export function DiffChanges(props: { return ( <Show when={variant() === "default" ? total() > 0 : true}> - <div data-component="diff-changes" data-variant={variant()}> + <div + data-component="diff-changes" + data-variant={variant()} + classList={{ [props.class ?? ""]: true }} + > <Switch> <Match when={variant() === "bars"}> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 12" fill="none"> diff --git a/packages/ui/src/components/icon.tsx b/packages/ui/src/components/icon.tsx index 082bbea90..b61a54fe1 100644 --- a/packages/ui/src/components/icon.tsx +++ b/packages/ui/src/components/icon.tsx @@ -153,7 +153,10 @@ const newIcons = { stop: `<rect x="6" y="6" width="8" height="8" fill="currentColor"/>`, enter: `<path d="M5.83333 15.8334L2.5 12.5L5.83333 9.16671M3.33333 12.5H17.9167V4.58337H10" stroke="currentColor" stroke-linecap="square"/>`, "layout-left": `<path d="M2.91675 2.91699L2.91675 2.41699L2.41675 2.41699L2.41675 2.91699L2.91675 2.91699ZM17.0834 2.91699L17.5834 2.91699L17.5834 2.41699L17.0834 2.41699L17.0834 2.91699ZM17.0834 17.0837L17.0834 17.5837L17.5834 17.5837L17.5834 17.0837L17.0834 17.0837ZM2.91675 17.0837L2.41675 17.0837L2.41675 17.5837L2.91675 17.5837L2.91675 17.0837ZM7.41674 17.0837L7.41674 17.5837L8.41674 17.5837L8.41674 17.0837L7.91674 17.0837L7.41674 17.0837ZM8.41674 2.91699L8.41674 2.41699L7.41674 2.41699L7.41674 2.91699L7.91674 2.91699L8.41674 2.91699ZM2.91675 2.91699L2.91675 3.41699L17.0834 3.41699L17.0834 2.91699L17.0834 2.41699L2.91675 2.41699L2.91675 2.91699ZM17.0834 2.91699L16.5834 2.91699L16.5834 17.0837L17.0834 17.0837L17.5834 17.0837L17.5834 2.91699L17.0834 2.91699ZM17.0834 17.0837L17.0834 16.5837L2.91675 16.5837L2.91675 17.0837L2.91675 17.5837L17.0834 17.5837L17.0834 17.0837ZM2.91675 17.0837L3.41675 17.0837L3.41675 2.91699L2.91675 2.91699L2.41675 2.91699L2.41675 17.0837L2.91675 17.0837ZM7.91674 17.0837L8.41674 17.0837L8.41674 2.91699L7.91674 2.91699L7.41674 2.91699L7.41674 17.0837L7.91674 17.0837Z" fill="currentColor"/>`, + "layout-right": `<path d="M17.0832 2.91699L17.5832 2.91699L17.5832 2.41699L17.0832 2.41699L17.0832 2.91699ZM2.91651 2.91699L2.91651 2.41699L2.41651 2.41699L2.41651 2.91699L2.91651 2.91699ZM2.9165 17.0837L2.4165 17.0837L2.4165 17.5837L2.9165 17.5837L2.9165 17.0837ZM17.0832 17.0837L17.0832 17.5837L17.5832 17.5837L17.5832 17.0837L17.0832 17.0837ZM11.5832 17.0837L11.5832 17.5837L12.5832 17.5837L12.5832 17.0837L12.0832 17.0837L11.5832 17.0837ZM12.5832 2.91699L12.5832 2.41699L11.5832 2.41699L11.5832 2.91699L12.0832 2.91699L12.5832 2.91699ZM17.0832 2.91699L17.0832 2.41699L2.91651 2.41699L2.91651 2.91699L2.91651 3.41699L17.0832 3.41699L17.0832 2.91699ZM2.91651 2.91699L2.41651 2.91699L2.4165 17.0837L2.9165 17.0837L3.4165 17.0837L3.41651 2.91699L2.91651 2.91699ZM2.9165 17.0837L2.9165 17.5837L17.0832 17.5837L17.0832 17.0837L17.0832 16.5837L2.9165 16.5837L2.9165 17.0837ZM17.0832 17.0837L17.5832 17.0837L17.5832 2.91699L17.0832 2.91699L16.5832 2.91699L16.5832 17.0837L17.0832 17.0837ZM12.0832 17.0837L12.5832 17.0837L12.5832 2.91699L12.0832 2.91699L11.5832 2.91699L11.5832 17.0837L12.0832 17.0837Z" fill="currentColor"/>`, "speech-bubble": `<path d="M18.3334 10.0003C18.3334 5.57324 15.0927 2.91699 10.0001 2.91699C4.90749 2.91699 1.66675 5.57324 1.66675 10.0003C1.66675 11.1497 2.45578 13.1016 2.5771 13.3949C2.5878 13.4207 2.59839 13.4444 2.60802 13.4706C2.69194 13.6996 3.04282 14.9364 1.66675 16.7684C3.5186 17.6538 5.48526 16.1982 5.48526 16.1982C6.84592 16.9202 8.46491 17.0837 10.0001 17.0837C15.0927 17.0837 18.3334 14.4274 18.3334 10.0003Z" stroke="currentColor" stroke-linecap="square"/>`, + "align-right": `<path d="M12.292 6.04167L16.2503 9.99998L12.292 13.9583M2.91699 9.99998H15.6253M17.0837 3.75V16.25" stroke="currentColor" stroke-linecap="square"/>`, + expand: `<path d="M4.58301 10.4163V15.4163H9.58301M10.4163 4.58301H15.4163V9.58301" stroke="currentColor" stroke-linecap="square"/>`, } export interface IconProps extends ComponentProps<"svg"> { diff --git a/packages/ui/src/components/tooltip.tsx b/packages/ui/src/components/tooltip.tsx index c3d1947d3..e3784ed8e 100644 --- a/packages/ui/src/components/tooltip.tsx +++ b/packages/ui/src/components/tooltip.tsx @@ -29,7 +29,7 @@ export function Tooltip(props: TooltipProps) { }) return ( - <KobalteTooltip forceMount {...others} open={open()} onOpenChange={setOpen} gutter={4}> + <KobalteTooltip forceMount gutter={4} {...others} open={open()} onOpenChange={setOpen}> <KobalteTooltip.Trigger as={"div"} data-component="tooltip-trigger" class={local.class}> {c()} </KobalteTooltip.Trigger> |
