diff --git a/frontend/__snapshots__/lemon-ui-lemon-button--pseudo-states--dark.png b/frontend/__snapshots__/lemon-ui-lemon-button--pseudo-states--dark.png new file mode 100644 index 0000000000000..bda6b87f52ed2 Binary files /dev/null and b/frontend/__snapshots__/lemon-ui-lemon-button--pseudo-states--dark.png differ diff --git a/frontend/__snapshots__/lemon-ui-lemon-button--pseudo-states--light.png b/frontend/__snapshots__/lemon-ui-lemon-button--pseudo-states--light.png new file mode 100644 index 0000000000000..51f4a4f82268b Binary files /dev/null and b/frontend/__snapshots__/lemon-ui-lemon-button--pseudo-states--light.png differ diff --git a/frontend/__snapshots__/lemon-ui-lemon-button--pseudo-states.png b/frontend/__snapshots__/lemon-ui-lemon-button--pseudo-states.png new file mode 100644 index 0000000000000..d33d03c99278f Binary files /dev/null and b/frontend/__snapshots__/lemon-ui-lemon-button--pseudo-states.png differ diff --git a/frontend/__snapshots__/lemon-ui-lemon-button--types-3000--dark.png b/frontend/__snapshots__/lemon-ui-lemon-button--types-3000--dark.png index 4b360e20e22f0..44a5c6cc36111 100644 Binary files a/frontend/__snapshots__/lemon-ui-lemon-button--types-3000--dark.png and b/frontend/__snapshots__/lemon-ui-lemon-button--types-3000--dark.png differ diff --git a/frontend/__snapshots__/lemon-ui-lemon-button--types-3000--light.png b/frontend/__snapshots__/lemon-ui-lemon-button--types-3000--light.png index 3b141807c7f47..3b62973650bd8 100644 Binary files a/frontend/__snapshots__/lemon-ui-lemon-button--types-3000--light.png and b/frontend/__snapshots__/lemon-ui-lemon-button--types-3000--light.png differ diff --git a/frontend/__snapshots__/lemon-ui-lemon-button--types-3000.png b/frontend/__snapshots__/lemon-ui-lemon-button--types-3000.png index 920416789b607..bcf468b94ebfe 100644 Binary files a/frontend/__snapshots__/lemon-ui-lemon-button--types-3000.png and b/frontend/__snapshots__/lemon-ui-lemon-button--types-3000.png differ diff --git a/frontend/src/lib/lemon-ui/LemonButton/LemonButton.stories.tsx b/frontend/src/lib/lemon-ui/LemonButton/LemonButton.stories.tsx index 7673cb3b3b84a..254e56643372d 100644 --- a/frontend/src/lib/lemon-ui/LemonButton/LemonButton.stories.tsx +++ b/frontend/src/lib/lemon-ui/LemonButton/LemonButton.stories.tsx @@ -74,78 +74,65 @@ const TypesAndStatusesTemplate: StoryFn = (props) => { ) } +const ButtonVariants3000 = ({ + tertiary = false, + active = false, +}: { + tertiary?: boolean + active?: LemonButtonProps['active'] +}): JSX.Element => { + const variants: LemonButtonProps[] = tertiary + ? [ + { type: 'tertiary', children: 'Primary' }, + { type: 'tertiary', status: 'danger', children: 'Danger' }, + ] + : [ + { type: 'primary', children: 'Primary' }, + { type: 'primary', status: 'primary-alt', children: 'Primary alt' }, + { type: 'secondary', children: 'Secondary' }, + { type: 'secondary', status: 'danger', children: 'Danger' }, + { type: 'secondary', stealth: true, status: 'primary', children: 'Stealth' }, + ] + return ( +
+ {variants.map((props, index) => ( + } /> + ))} +
+ ) +} + export const Types3000: Story = () => { return (
-
type=BLOCK
+
type=3D
-
- }> - Primary - - }> - Primary Alt - - }> - Secondary - - }> - Destroy - - }> - Stealth - +
+
Active
+ +
+
+
Light background
- }> - Primary - - }> - Primary Alt - - }> - Secondary - - }> - Destroy - - }> - Stealth - +
+
+
type=TERTIARY
+
+
+ +
Light background
- }> - Primary - - }> - Primary Alt - - }> - Secondary - - }> - Destroy - - }> - Stealth - +
-
type=MENU
-
- }> - Primary - - }> - Danger - -
) } @@ -245,6 +232,47 @@ export const Active = (): JSX.Element => { ) } +export const PseudoStates = (): JSX.Element => { + return ( +
+
+
+
TYPE=3D STATE=DEFAULT
+ +
+
+
TYPE=3D STATE=HOVER
+ +
+
+
TYPE=3D STATE=HOVER,ACTIVE
+ +
+
+
+
+
TYPE=TERTIARY STATE=DEFAULT
+ +
+
+
TYPE=TERTIARY STATE=HOVER
+ +
+
+
TYPE=TERTIARY STATE=HOVER,ACTIVE
+ +
+
+
+ ) +} +PseudoStates.parameters = { + pseudo: { + hover: ['#hover .LemonButton', '#active .LemonButton'], + active: ['#active .LemonButton'], + }, +} + export const MenuButtons = (): JSX.Element => { return (