diff --git a/packages/browser-sdk/src/toolbar/Features.css b/packages/browser-sdk/src/toolbar/Features.css index 0c8927bf..1083e987 100644 --- a/packages/browser-sdk/src/toolbar/Features.css +++ b/packages/browser-sdk/src/toolbar/Features.css @@ -47,13 +47,15 @@ opacity: 0; transform: translateY(-7px); transition-property: opacity, transform; - transition-duration: 0.1s; + transition-duration: 0.075s; transition-timing-function: cubic-bezier(0.75, -0.015, 0.565, 1.055); &.show { opacity: 1; transform: translateY(0); - transition-delay: calc(0.01s * var(--i)); + /* stagger effect where first item (i=0) has no delay, + and delay is based on item count (n) so total animation time always is 509ms */ + transition-delay: calc(0.05s * var(--i) / max(var(--n) - 1, 1)); } } diff --git a/packages/browser-sdk/src/toolbar/Features.tsx b/packages/browser-sdk/src/toolbar/Features.tsx index 67fa7106..ec50bf66 100644 --- a/packages/browser-sdk/src/toolbar/Features.tsx +++ b/packages/browser-sdk/src/toolbar/Features.tsx @@ -19,7 +19,7 @@ export function FeaturesTable({ return
No features found
; } return ( - +
{features.map((feature, index) => ( f.key.includes(search)); + const sortedFeatures = [...searchedFeatures].sort((a, b) => + a.key.localeCompare(b.key), + ); + const appBaseUrl = bucketClient.getConfig().appBaseUrl; const { isOpen, close, toggle } = useDialog(); @@ -108,7 +112,7 @@ export default function Toolbar({