Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/browser-sdk/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<meta name="color-scheme" content="light dark" />
<title>Bucket Browser SDK</title>
</head>
<body>
<body style="background-color: black">
<div id="app"></div>
<span id="loading">Loading...</span>

Expand Down
2 changes: 1 addition & 1 deletion packages/browser-sdk/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@bucketco/browser-sdk",
"version": "3.0.0-alpha.4",
"version": "3.0.0-alpha.5",
"packageManager": "yarn@4.1.1",
"license": "MIT",
"repository": {
Expand Down
16 changes: 15 additions & 1 deletion packages/browser-sdk/src/toolbar/Features.css
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,20 @@
border-collapse: collapse;
}

.feature-row {
opacity: 0;
transform: translateY(-7px);
transition-property: opacity, transform;
transition-duration: 0.1s;
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));
}
}

.feature-name-cell {
white-space: nowrap;
overflow: hidden;
Expand All @@ -59,7 +73,7 @@
}

.feature-reset-cell {
width: 30px;
width: 32px;
padding: 6px 0;
text-align: right;
}
Expand Down
21 changes: 19 additions & 2 deletions packages/browser-sdk/src/toolbar/Features.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { h } from "preact";
import { useEffect, useState } from "preact/hooks";

import { Switch } from "./Switch";
import { FeatureItem } from "./Toolbar";
Expand All @@ -7,22 +8,26 @@ export function FeaturesTable({
features,
setEnabledOverride,
appBaseUrl,
isOpen,
}: {
features: FeatureItem[];
setEnabledOverride: (key: string, value: boolean | null) => void;
appBaseUrl: string;
isOpen: boolean;
}) {
if (features.length === 0) {
return <div style={{ color: "var(--gray500)" }}>No features found</div>;
}
return (
<table class="features-table">
<tbody>
{features.map((feature) => (
{features.map((feature, index) => (
<FeatureRow
feature={feature}
appBaseUrl={appBaseUrl}
setEnabledOverride={setEnabledOverride}
isOpen={isOpen}
index={index}
/>
))}
</tbody>
Expand All @@ -34,13 +39,25 @@ function FeatureRow({
setEnabledOverride,
appBaseUrl,
feature,
isOpen,
index,
}: {
feature: FeatureItem;
appBaseUrl: string;
setEnabledOverride: (key: string, value: boolean | null) => void;
isOpen: boolean;
index: number;
}) {
const [show, setShow] = useState(true);
useEffect(() => {
setShow(isOpen);
}, [isOpen]);
return (
<tr key={feature.key}>
<tr
class={["feature-row", show ? "show" : undefined].join(" ")}
key={feature.key}
style={{ "--i": index }}
>
<td class="feature-name-cell">
<a
href={`${appBaseUrl}/envs/current/features/by-key/${feature.key}`}
Expand Down
59 changes: 27 additions & 32 deletions packages/browser-sdk/src/toolbar/Toolbar.css
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,11 @@
--gray500: #787c91;
--black: #1e1f24;

--bg-color: #1e1f24;
--border-color: #292b32;
--bg-color: hsla(230, 9%, 13%, 0.85);
--bg-light-color: hsla(230, 9%, 11%, 0.85);
--border-color: hsl(227, 10%, 18%);
--bg-blur: 3px;

--logo-color: white;
--text-color: white;
--text-size: 13px;
Expand All @@ -83,20 +86,24 @@
.dialog {
color: #ffffff;
box-sizing: border-box;
background-color: var(--black);
border: 1px solid var(--border-color);
background: var(--bg-color);
backdrop-filter: blur(var(--bg-blur));
-webkit-backdrop-filter: blur(var(--bg-blur));

border: 0;
box-shadow:
0px 10px 15px -3px rgba(0, 0, 0, 0.1),
0px 4px 6px -2px rgba(0, 0, 0, 0.05);
0px 4px 6px -2px rgba(0, 0, 0, 0.05),
inset 0px 1px rgba(255, 255, 255, 0.1);
border-radius: 7px;
z-index: 999999;
min-width: 200px;
padding: 0;
}

.toolbar-toggle {
width: 34px;
height: 34px;
width: 36px;
height: 36px;
position: fixed;
z-index: 999999;
padding: 0;
Expand All @@ -105,11 +112,14 @@

color: var(--logo-color);
background: var(--bg-color);
border: 1px solid var(--border-color);
backdrop-filter: blur(var(--bg-blur));
-webkit-backdrop-filter: blur(var(--bg-blur));

box-shadow:
0px 10px 15px -3px rgba(0, 0, 0, 0.15),
0px 4px 6px -2px rgba(0, 0, 0, 0.1);
border-radius: 10px;
0px 4px 6px -2px rgba(0, 0, 0, 0.1),
inset 0px 1px rgba(255, 255, 255, 0.1);
border-radius: 999px;

cursor: pointer;

Expand All @@ -119,45 +129,30 @@

animation: bounceInUp 1s ease-out;

transition: color 0.1s ease;
transition:
color 0.1s ease,
background 0.1s ease;

&.open {
color: var(--gray500);
background: var(--bg-light-color);
}

& .override-indicator {
position: absolute;
top: -3px;
right: -3px;
top: 1px;
right: 1px;
width: 8px;
height: 8px;
background-color: var(--brand400);
border-radius: 50%;
opacity: 0;
transition: opacity 0.1s ease-in-out;
border: 1px solid var(--brand300);
box-shadow: inset 0px 1px rgba(255, 255, 255, 0.1);

&.show {
opacity: 1;
animation: gelatine 0.5s;
}
}
}

.arrow {
background-color: var(--black);
box-shadow: var(--border-color) -1px -1px 1px 0px;

&.bottom {
box-shadow: var(--border-color) -1px -1px 1px 0px;
}
&.top {
box-shadow: var(--border-color) 1px 1px 1px 0px;
}
&.left {
box-shadow: var(--border-color) 1px -1px 1px 0px;
}
&.right {
box-shadow: var(--border-color) -1px 1px 1px 0px;
}
}
2 changes: 2 additions & 0 deletions packages/browser-sdk/src/toolbar/Toolbar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ export default function Toolbar({
anchor: toggleToolbarRef.current,
placement: "top-start",
}}
showArrow={false}
close={close}
>
<DialogHeader>
Expand All @@ -105,6 +106,7 @@ export default function Toolbar({
bucketClient,
)}
appBaseUrl={appBaseUrl}
isOpen={isOpen}
/>
</DialogContent>
</Dialog>
Expand Down
5 changes: 4 additions & 1 deletion packages/browser-sdk/src/ui/Dialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ export interface OpenDialogOptions {

containerId: string;

showArrow?: boolean;

children?: preact.ComponentChildren;
}

Expand Down Expand Up @@ -71,6 +73,7 @@ export const Dialog: FunctionComponent<OpenDialogOptions> = ({
containerId,
strategy,
children,
showArrow = true,
}) => {
const arrowRef = useRef<HTMLDivElement>(null);
const dialogRef = useRef<HTMLDialogElement>(null);
Expand Down Expand Up @@ -199,7 +202,7 @@ export const Dialog: FunctionComponent<OpenDialogOptions> = ({
>
{children && <Fragment>{children}</Fragment>}

{anchor && (
{anchor && showArrow && (
<DialogArrow
arrowRef={arrowRef}
arrowData={middlewareData?.arrow}
Expand Down
4 changes: 2 additions & 2 deletions packages/react-sdk/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@bucketco/react-sdk",
"version": "3.0.0-alpha.7",
"version": "3.0.0-alpha.8",
"license": "MIT",
"repository": {
"type": "git",
Expand Down Expand Up @@ -34,7 +34,7 @@
}
},
"dependencies": {
"@bucketco/browser-sdk": "3.0.0-alpha.4",
"@bucketco/browser-sdk": "3.0.0-alpha.5",
"canonical-json": "^0.0.4",
"rollup": "^4.2.0"
},
Expand Down
16 changes: 14 additions & 2 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -872,7 +872,19 @@ __metadata:
languageName: node
linkType: hard

"@bucketco/browser-sdk@npm:3.0.0-alpha.4, @bucketco/browser-sdk@workspace:packages/browser-sdk":
"@bucketco/browser-sdk@npm:3.0.0-alpha.4":
version: 3.0.0-alpha.4
resolution: "@bucketco/browser-sdk@npm:3.0.0-alpha.4"
dependencies:
"@floating-ui/dom": "npm:^1.6.8"
canonical-json: "npm:^0.0.4"
js-cookie: "npm:^3.0.5"
preact: "npm:^10.22.1"
checksum: 10c0/3515ce0bbb481e3d1b4815eab0964680978797707140a661dcac70a17cacd8a86f9682e406d73b6b8e5c0dab0c5626a017c459cac7577757d82d346b69a734ac
languageName: node
linkType: hard

"@bucketco/browser-sdk@npm:3.0.0-alpha.5, @bucketco/browser-sdk@workspace:packages/browser-sdk":
version: 0.0.0-use.local
resolution: "@bucketco/browser-sdk@workspace:packages/browser-sdk"
dependencies:
Expand Down Expand Up @@ -1017,7 +1029,7 @@ __metadata:
version: 0.0.0-use.local
resolution: "@bucketco/react-sdk@workspace:packages/react-sdk"
dependencies:
"@bucketco/browser-sdk": "npm:3.0.0-alpha.4"
"@bucketco/browser-sdk": "npm:3.0.0-alpha.5"
"@bucketco/eslint-config": "workspace:^"
"@bucketco/tsconfig": "workspace:^"
"@testing-library/react": "npm:^15.0.7"
Expand Down
Loading