From c4629057f7f1bd16ca84061f5014cce8a0129602 Mon Sep 17 00:00:00 2001
From: tglide <26071571+TGlide@users.noreply.github.com>
Date: Wed, 16 Aug 2023 12:52:23 +0100
Subject: [PATCH] add experimental label & fix breadcrumb clearing visual bug
---
src/lib/commandCenter/panels/ai.svelte | 35 +++++++++++++++++++-
src/lib/commandCenter/panels/template.svelte | 11 +++++-
src/routes/+layout.svelte | 20 +++++++++++
3 files changed, 64 insertions(+), 2 deletions(-)
diff --git a/src/lib/commandCenter/panels/ai.svelte b/src/lib/commandCenter/panels/ai.svelte
index eb5296f9f..7aac568a6 100644
--- a/src/lib/commandCenter/panels/ai.svelte
+++ b/src/lib/commandCenter/panels/ai.svelte
@@ -94,7 +94,9 @@
clearOnCallback={false}
fullheight
--command-panel-max-height="40rem">
-
+
+ EXPERIMENTAL
+
@@ -208,4 +210,35 @@
background-color: hsl(var(--color-neutral-150));
}
}
+
+ .experimental {
+ display: flex;
+ padding: 0.09375rem 0.25rem;
+ align-items: center;
+
+ color: var(--light-neutrals-30, #e8e9f0);
+ text-align: center;
+ font-family: Inter;
+ font-size: 0.625rem;
+ font-style: normal;
+ font-weight: 500;
+ line-height: 150%; /* 0.9375rem */
+ letter-spacing: 0.075rem;
+ text-transform: uppercase;
+
+ background: rgba(240, 46, 101, 0.24);
+ --border-gradient: linear-gradient(
+ to bottom,
+ rgba(240, 46, 101, 0.48) 0%,
+ rgba(240, 46, 101, 0) 150%
+ )
+ border-box;
+ --border-size: 0.03rem;
+ --border-radius: 0.25rem;
+ border-radius: var(--border-radius);
+ }
+
+ :global(.theme-light) .experimental {
+ color: rgba(240, 46, 101, 1);
+ }
diff --git a/src/lib/commandCenter/panels/template.svelte b/src/lib/commandCenter/panels/template.svelte
index c277528b5..db648efb1 100644
--- a/src/lib/commandCenter/panels/template.svelte
+++ b/src/lib/commandCenter/panels/template.svelte
@@ -179,7 +179,16 @@
const castOption = (option: IndexedOption) => option as Option;
- $: breadcrumbs = $subPanels.filter((panel) => panel.name !== 'root').map((panel) => panel.name);
+ function getBreadcrumbs(subPanels: typeof $subPanels) {
+ return subPanels.filter((panel) => panel.name !== 'root').map((panel) => panel.name);
+ }
+
+ let breadcrumbs = getBreadcrumbs($subPanels);
+
+ // Avoid clearing subpanels before the closing transition is finished
+ $: if ($subPanels.length) {
+ breadcrumbs = getBreadcrumbs($subPanels);
+ }
const handleCrumbClick = (index: number) => {
if (index === breadcrumbs.length - 1) {
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index 2bffdc9c4..f8d9f93f4 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -184,4 +184,24 @@
[type='checkbox']:where(:checked)::before {
content: '\ea38';
}
+
+ .border-gradient {
+ position: relative;
+ }
+
+ .border-gradient::before {
+ content: '';
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ border-radius: var(--border-radius);
+ border: var(--border-size) solid transparent;
+ background: var(--border-gradient) border-box;
+ -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
+ -webkit-mask-composite: destination-out;
+ mask-composite: exclude;
+ pointer-events: none;
+ }