diff --git a/apps/store/src/components/DetailsList/DetailsList.css.ts b/apps/store/src/components/DetailsList/DetailsList.css.ts
index a58a136b82..e367d0d372 100644
--- a/apps/store/src/components/DetailsList/DetailsList.css.ts
+++ b/apps/store/src/components/DetailsList/DetailsList.css.ts
@@ -1,10 +1,13 @@
import { style } from '@vanilla-extract/css'
-import { tokens, xStack } from 'ui'
+import { tokens, xStack, yStack } from 'ui'
-export const detailsListRoot = style({
- listStyle: 'none',
- color: tokens.colors.textTranslucentSecondary,
-})
+export const detailsListRoot = style([
+ yStack({ gap: 'xxs' }),
+ {
+ listStyle: 'none',
+ color: tokens.colors.textTranslucentSecondary,
+ },
+])
export const detailsListItem = style([
xStack({ justifyContent: 'space-between' }),
diff --git a/apps/store/src/components/DetailsList/DetailsList.tsx b/apps/store/src/components/DetailsList/DetailsList.tsx
index 424b559f44..14efe73f31 100644
--- a/apps/store/src/components/DetailsList/DetailsList.tsx
+++ b/apps/store/src/components/DetailsList/DetailsList.tsx
@@ -1,6 +1,6 @@
import clsx from 'clsx'
import { type ComponentProps } from 'react'
-import { type FontSizeProps, sprinkles } from 'ui'
+import { type FontSizeProps, type Sprinkles, yStack } from 'ui'
import {
detailsListItem,
detailsListLabel,
@@ -10,10 +10,17 @@ import {
type RootProps = ComponentProps<'ul'> & {
size?: FontSizeProps
+ gap?: Sprinkles['gap']
}
-const DetailsListRoot = ({ size = 'xs', className, children, ...props }: RootProps) => {
+const DetailsListRoot = ({
+ size = 'xs',
+ gap = 'xxs',
+ className,
+ children,
+ ...props
+}: RootProps) => {
return (
-
+
)
diff --git a/packages/ui/src/components/Button/Button.css.ts b/packages/ui/src/components/Button/Button.css.ts
index a0796417c0..71e888cd99 100644
--- a/packages/ui/src/components/Button/Button.css.ts
+++ b/packages/ui/src/components/Button/Button.css.ts
@@ -168,6 +168,24 @@ export const buttonVariant = styleVariants({
},
},
},
+
+ outline: {
+ backgroundColor: 'transparent',
+ color: tokens.colors.textPrimary,
+ border: '1px solid',
+ borderColor: tokens.colors.borderPrimary,
+
+ ':active': {
+ backgroundColor: tokens.colors.buttonGhostHover,
+ },
+
+ selectors: {
+ '&:disabled:not([data-loading])': {
+ color: tokens.colors.buttonDisabledText,
+ backgroundColor: 'transparent',
+ },
+ },
+ },
})
const HEIGHT = {
diff --git a/packages/ui/src/components/Button/Button.stories.tsx b/packages/ui/src/components/Button/Button.stories.tsx
index 1b7f75342b..30d652b194 100644
--- a/packages/ui/src/components/Button/Button.stories.tsx
+++ b/packages/ui/src/components/Button/Button.stories.tsx
@@ -32,6 +32,9 @@ const Template: StoryFn = (props: Controls) => {
+
+
+
@@ -50,6 +53,9 @@ const Template: StoryFn
= (props: Controls) => {
+
+
+
@@ -68,6 +74,9 @@ const Template: StoryFn
= (props: Controls) => {
+
+
+
)
diff --git a/packages/ui/src/components/Button/Button.tsx b/packages/ui/src/components/Button/Button.tsx
index e7d1c2ef3a..625bae6964 100644
--- a/packages/ui/src/components/Button/Button.tsx
+++ b/packages/ui/src/components/Button/Button.tsx
@@ -16,7 +16,14 @@ import { getButtonSizeStyles } from './Button.helpers'
import { DotPulse } from './DotPulse'
type BaseProps = {
- variant?: 'primary' | 'primary-alt' | 'secondary' | 'secondary-alt' | 'ghost' | 'ghost-alt'
+ variant?:
+ | 'primary'
+ | 'primary-alt'
+ | 'secondary'
+ | 'secondary-alt'
+ | 'ghost'
+ | 'ghost-alt'
+ | 'outline'
size?: ButtonSize
fullWidth?: boolean
hiddenText?: ReactNode