diff --git a/seeds/breadboard-ui/src/input-multipart.ts b/seeds/breadboard-ui/src/input-multipart.ts
index e3955b40..e3a27969 100644
--- a/seeds/breadboard-ui/src/input-multipart.ts
+++ b/seeds/breadboard-ui/src/input-multipart.ts
@@ -163,22 +163,22 @@ abstract class MultipartInputPart extends HTMLElement {
display: flex;
width: 100%;
position: relative;
- margin-bottom: calc(var(--grid-size) * 2);
- min-height: calc(var(--grid-size) * 32);
+ margin-bottom: calc(var(--bb-grid-size) * 2);
+ min-height: calc(var(--bb-grid-size) * 32);
}
:host(.reserved) {
- border-radius: calc(var(--grid-size) * 8);
+ border-radius: calc(var(--bb-grid-size) * 8);
background: rgb(255, 255, 255);
border: 1px solid rgb(209, 209, 209);
}
:host(.pending)::before {
content: '';
- width: calc(100% - var(--grid-size) * 12);
- height: calc(var(--grid-size) * 31);
- margin: calc(var(--grid-size) * 2);
- border-radius: calc(var(--grid-size) * 6);
+ width: calc(100% - var(--bb-grid-size) * 12);
+ height: calc(var(--bb-grid-size) * 31);
+ margin: calc(var(--bb-grid-size) * 2);
+ border-radius: calc(var(--bb-grid-size) * 6);
background: rgb(240, 240, 240);
box-sizing: border-box;
}
@@ -203,7 +203,7 @@ abstract class MultipartInputPart extends HTMLElement {
flex: 1;
width: 100%;
overflow: hidden;
- border-radius: calc(var(--grid-size) * 10);
+ border-radius: calc(var(--bb-grid-size) * 10);
border: 1px solid rgb(209, 209, 209);
height: 100%;
}
@@ -214,17 +214,17 @@ abstract class MultipartInputPart extends HTMLElement {
border: none;
width: 100%;
height: 100%;
- border-radius: calc(var(--grid-size) * 10);
+ border-radius: calc(var(--bb-grid-size) * 10);
background: rgb(255, 255, 255);
- min-height: calc(var(--grid-size) * 12);
- padding: calc(var(--grid-size) * 4) calc(var(--grid-size) * 10) calc(var(--grid-size) * 4) calc(var(--grid-size) * 8);
+ min-height: calc(var(--bb-grid-size) * 12);
+ padding: calc(var(--bb-grid-size) * 4) calc(var(--bb-grid-size) * 10) calc(var(--bb-grid-size) * 4) calc(var(--bb-grid-size) * 8);
}
img {
width: calc(100% - 32px);
- height: calc(var(--grid-size) * 36);
- padding: calc(var(--grid-size) * 2);
- border-radius: calc(var(--grid-size) * 8);
+ height: calc(var(--bb-grid-size) * 36);
+ padding: calc(var(--bb-grid-size) * 2);
+ border-radius: calc(var(--bb-grid-size) * 8);
object-fit: cover;
aspect-ratio: auto;
}
@@ -232,7 +232,7 @@ abstract class MultipartInputPart extends HTMLElement {
#delete {
position: absolute;
top: 50%;
- right: calc(var(--grid-size) * 2);
+ right: calc(var(--bb-grid-size) * 2);
background: rgb(255, 255, 255);
border-radius: 50%;
background: var(--bb-icon-delete) center center no-repeat;
diff --git a/seeds/breadboard-ui/src/input.ts b/seeds/breadboard-ui/src/input.ts
index 3928bc0c..2b5975d6 100644
--- a/seeds/breadboard-ui/src/input.ts
+++ b/seeds/breadboard-ui/src/input.ts
@@ -129,9 +129,9 @@ export class Input extends HTMLElement {
flex: 1;
width: 100%;
overflow: hidden;
- border-radius: calc(var(--grid-size) * 10);
+ border-radius: calc(var(--bb-grid-size) * 10);
border: 1px solid rgb(209, 209, 209);
- min-height: calc(var(--grid-size) * 50);
+ min-height: calc(var(--bb-grid-size) * 50);
}
input[type=text],
@@ -139,10 +139,10 @@ export class Input extends HTMLElement {
textarea,
.parsed-value {
grid-column: 1 / 5;
- border-radius: calc(var(--grid-size) * 10);
+ border-radius: calc(var(--bb-grid-size) * 10);
background: rgb(255, 255, 255);
- min-height: calc(var(--grid-size) * 12);
- padding: 0 calc(var(--grid-size) * 10) 0 calc(var(--grid-size) * 8);
+ min-height: calc(var(--bb-grid-size) * 12);
+ padding: 0 calc(var(--bb-grid-size) * 10) 0 calc(var(--bb-grid-size) * 8);
width: 100%;
border: 1px solid rgb(209, 209, 209);
}
@@ -153,15 +153,15 @@ export class Input extends HTMLElement {
textarea {
resize: none;
- padding-top: calc(var(--grid-size) * 4);
- padding-bottom: calc(var(--grid-size) * 4);
+ padding-top: calc(var(--bb-grid-size) * 4);
+ padding-bottom: calc(var(--bb-grid-size) * 4);
line-height: 1.4;
border: none;
height: 100%;
}
div#input {
- min-height: calc(var(--grid-size) * 12);
+ min-height: calc(var(--bb-grid-size) * 12);
}
input[type=text]::placeholder,
@@ -180,11 +180,11 @@ export class Input extends HTMLElement {
input[type=submit] {
font-size: 0;
- width: calc(var(--grid-size) * 8);
- height: calc(var(--grid-size) * 8);
+ width: calc(var(--bb-grid-size) * 8);
+ height: calc(var(--bb-grid-size) * 8);
position: absolute;
- right: calc(var(--grid-size) * 2);
- top: calc(var(--grid-size) * 7);
+ right: calc(var(--bb-grid-size) * 2);
+ top: calc(var(--bb-grid-size) * 7);
border-radius: 50%;
background: #FFF var(--bb-icon-start) center center no-repeat;
border: none;
@@ -195,10 +195,10 @@ export class Input extends HTMLElement {
}
.parsed-value img {
- width: calc(var(--grid-size) * 36);
- height: calc(var(--grid-size) * 36);
- margin: calc(var(--grid-size) * 5) 0;
- border-radius: calc(var(--grid-size) * 6);
+ width: calc(var(--bb-grid-size) * 36);
+ height: calc(var(--bb-grid-size) * 36);
+ margin: calc(var(--bb-grid-size) * 5) 0;
+ border-radius: calc(var(--bb-grid-size) * 6);
object-fit: cover;
aspect-ratio: auto;
}
diff --git a/seeds/breadboard-ui/src/load.ts b/seeds/breadboard-ui/src/load.ts
index fa78b6fd..6a983a50 100644
--- a/seeds/breadboard-ui/src/load.ts
+++ b/seeds/breadboard-ui/src/load.ts
@@ -60,6 +60,7 @@ export class Load extends HTMLElement {
h1 {
font: var(--bb-text-baseline) var(--bb-font-family);
font-weight: 700;
+ margin: calc(var(--bb-grid-size, 4px) * 4) 0;
}
h1 > a {
diff --git a/seeds/breadboard-ui/src/output.ts b/seeds/breadboard-ui/src/output.ts
index 21c886bd..64acbf97 100644
--- a/seeds/breadboard-ui/src/output.ts
+++ b/seeds/breadboard-ui/src/output.ts
@@ -40,7 +40,7 @@ export class Output extends HTMLElement {
list-style: none;
font-size: var(--bb-text-small);
font-weight: 500;
- padding: calc(var(--bb-grid-size) * 3) calc(var(--grid-size) * 8);
+ padding: calc(var(--bb-grid-size) * 3) calc(var(--bb-grid-size) * 8);
}
summary::-webkit-details-marker {
@@ -50,7 +50,7 @@ export class Output extends HTMLElement {
pre {
line-height: 1.5;
overflow-x: auto;
- padding: calc(var(--bb-grid-size) * 3) calc(var(--grid-size) * 8);
+ padding: calc(var(--bb-grid-size) * 3) calc(var(--bb-grid-size) * 8);
background: rgb(253, 253, 255);
font-size: var(--bb-text-medium);
margin: 0;
diff --git a/seeds/breadboard-ui/src/result.ts b/seeds/breadboard-ui/src/result.ts
index 91f035e1..b630e829 100644
--- a/seeds/breadboard-ui/src/result.ts
+++ b/seeds/breadboard-ui/src/result.ts
@@ -35,7 +35,7 @@ export class Result extends HTMLElement {
list-style: none;
font-size: var(--bb-text-small);
font-weight: 500;
- padding: calc(var(--bb-grid-size) * 3) calc(var(--grid-size) * 8);
+ padding: calc(var(--bb-grid-size) * 3) calc(var(--bb-grid-size) * 8);
}
summary::-webkit-details-marker {
@@ -45,7 +45,7 @@ export class Result extends HTMLElement {
pre {
line-height: 1.5;
overflow-x: auto;
- padding: calc(var(--bb-grid-size) * 3) calc(var(--grid-size) * 8);
+ padding: calc(var(--bb-grid-size) * 3) calc(var(--bb-grid-size) * 8);
background: rgb(253, 253, 255);
font-size: var(--bb-text-medium);
margin: 0;
diff --git a/seeds/breadboard-ui/src/ui-controller.ts b/seeds/breadboard-ui/src/ui-controller.ts
index c92d0226..2b5e58b5 100644
--- a/seeds/breadboard-ui/src/ui-controller.ts
+++ b/seeds/breadboard-ui/src/ui-controller.ts
@@ -10,7 +10,6 @@ import { Load, type LoadArgs } from "./load.js";
import { Output, type OutputArgs } from "./output.js";
import { Progress } from "./progress.js";
import { Result, ResultArgs } from "./result.js";
-import { Start, type StartArgs } from "./start.js";
import { StartEvent, type ToastType } from "./events.js";
import { Toast } from "./toast.js";
import { ResponseContainer } from "./response-container.js";
@@ -19,7 +18,7 @@ import { Done } from "./done.js";
const MERMAID_URL = "https://cdn.jsdelivr.net/npm/mermaid@10.6.1/+esm";
const MERMAID_STYLES = `.node.active > * {
stroke-width: 4px;
- stroke: #666 !important;
+ stroke: #4CE8F6 !important;
}
.node.default > * {
@@ -66,12 +65,7 @@ export interface UI {
done(): void;
}
-const getBoardFromUrl = () => {
- return new URL(window.location.href).searchParams.get("board");
-};
-
export class UIController extends HTMLElement implements UI {
- #start!: Start;
#responseContainer = new ResponseContainer();
#currentBoardDiagram = "";
@@ -82,71 +76,120 @@ export class UIController extends HTMLElement implements UI {
root.innerHTML = `
-
This is the Breadboard Playground running in the browser. Here you can either try out one of the sample boards, or you can enter the URL for your own board below.
@@ -296,23 +281,29 @@ export class UIController extends HTMLElement implements UI {