diff --git a/packages/frontend/core/src/blocksuite/ai/chat-panel/chat-panel-chips.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/chat-panel-chips.ts
index 0fe5b39314..1459786cb5 100644
--- a/packages/frontend/core/src/blocksuite/ai/chat-panel/chat-panel-chips.ts
+++ b/packages/frontend/core/src/blocksuite/ai/chat-panel/chat-panel-chips.ts
@@ -6,6 +6,7 @@ import {
} from '@blocksuite/affine/block-std';
import { createLitPortal } from '@blocksuite/affine/components/portal';
import { SignalWatcher, WithDisposable } from '@blocksuite/affine/global/lit';
+import { unsafeCSSVarV2 } from '@blocksuite/affine/shared/theme';
import { MoreVerticalIcon, PlusIcon } from '@blocksuite/icons/lit';
import { flip, offset } from '@floating-ui/dom';
import { computed, type Signal, signal } from '@preact/signals-core';
@@ -54,25 +55,27 @@ export class ChatPanelChips extends SignalWatcher(
justify-content: center;
width: 24px;
height: 24px;
- border: 0.5px solid var(--affine-border-color);
+ border: 0.5px solid ${unsafeCSSVarV2('layer/insideBorder/border')};
border-radius: 4px;
- margin: 4px 0;
+ margin: 4px;
box-sizing: border-box;
cursor: pointer;
font-size: 12px;
}
.add-button:hover,
- .collapse-button:hover {
- background-color: var(--affine-hover-color);
+ .collapse-button:hover,
+ .more-candidate-button:hover {
+ background-color: ${unsafeCSSVarV2('layer/background/hoverOverlay')};
}
.more-candidate-button {
border-width: 1px;
border-style: dashed;
- background: var(--affine-background-secondary-color);
- color: var(--affine-icon-secondary);
+ border-color: ${unsafeCSSVarV2('icon/tertiary')};
+ background: ${unsafeCSSVarV2('layer/background/secondary')};
+ color: ${unsafeCSSVarV2('icon/secondary')};
}
.more-candidate-button svg {
- color: var(--affine-icon-secondary);
+ color: ${unsafeCSSVarV2('icon/secondary')};
}
`;
@@ -265,7 +268,7 @@ export class ChatPanelChips extends SignalWatcher(
computePosition: {
referenceElement: this.addButton,
placement: 'top-start',
- middleware: [offset({ crossAxis: -30, mainAxis: 10 }), flip()],
+ middleware: [offset({ crossAxis: -30, mainAxis: 8 }), flip()],
autoUpdate: { animationFrame: true },
},
abortController: this._abortController,
@@ -304,7 +307,7 @@ export class ChatPanelChips extends SignalWatcher(
computePosition: {
referenceElement: this.moreCandidateButton,
placement: 'top-start',
- middleware: [offset({ crossAxis: 0, mainAxis: 6 }), flip()],
+ middleware: [offset({ crossAxis: 0, mainAxis: 8 }), flip()],
autoUpdate: { animationFrame: true },
},
abortController: this._abortController,
diff --git a/packages/frontend/core/src/blocksuite/ai/chat-panel/components/add-popover.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/components/add-popover.ts
index 28fb49d842..90c5c938a5 100644
--- a/packages/frontend/core/src/blocksuite/ai/chat-panel/components/add-popover.ts
+++ b/packages/frontend/core/src/blocksuite/ai/chat-panel/components/add-popover.ts
@@ -6,6 +6,7 @@ import type {
import { ShadowlessElement } from '@blocksuite/affine/block-std';
import { SignalWatcher, WithDisposable } from '@blocksuite/affine/global/lit';
import { scrollbarStyle } from '@blocksuite/affine/shared/styles';
+import { unsafeCSSVar, unsafeCSSVarV2 } from '@blocksuite/affine/shared/theme';
import { openFileOrFiles } from '@blocksuite/affine/shared/utils';
import {
CollectionsIcon,
@@ -55,26 +56,26 @@ export class ChatPanelAddPopover extends SignalWatcher(
WithDisposable(ShadowlessElement)
) {
static override styles = css`
- .add-popover {
+ .ai-add-popover {
width: 280px;
max-height: 450px;
overflow-y: auto;
- border: 0.5px solid var(--affine-border-color);
+ border: 0.5px solid ${unsafeCSSVarV2('layer/insideBorder/border')};
border-radius: 4px;
- background: var(--affine-background-primary-color);
- box-shadow: var(--affine-shadow-2);
+ background: ${unsafeCSSVarV2('layer/background/overlayPanel')};
+ box-shadow: ${unsafeCSSVar('overlayPanelShadow')};
padding: 8px;
}
- .add-popover icon-button {
+ .ai-add-popover icon-button {
justify-content: flex-start;
gap: 8px;
}
- .add-popover icon-button svg {
+ .ai-add-popover icon-button svg {
width: 20px;
height: 20px;
}
- .add-popover .divider {
- border-top: 0.5px solid var(--affine-border-color);
+ .ai-add-popover .divider {
+ border-top: 0.5px solid ${unsafeCSSVarV2('layer/insideBorder/border')};
margin: 8px 0;
}
.search-input-wrapper {
@@ -88,11 +89,11 @@ export class ChatPanelAddPopover extends SignalWatcher(
line-height: 20px;
height: 20px;
font-size: var(--affine-font-sm);
- color: var(--affine-text-primary-color);
+ color: ${unsafeCSSVarV2('text/primary')};
flex-grow: 1;
}
.search-input-wrapper input::placeholder {
- color: var(--affine-placeholder-color);
+ color: ${unsafeCSSVarV2('text/placeholder')};
}
.search-input-wrapper input:focus {
outline: none;
@@ -100,18 +101,18 @@ export class ChatPanelAddPopover extends SignalWatcher(
.search-input-wrapper svg {
width: 20px;
height: 20px;
- color: var(--affine-v2-icon-primary);
+ color: ${unsafeCSSVarV2('icon/primary')};
}
.no-result {
padding: 4px;
font-size: var(--affine-font-sm);
- color: var(--affine-text-secondary-color);
+ color: ${unsafeCSSVarV2('text/secondary')};
}
.menu-items icon-button {
outline: none;
}
- ${scrollbarStyle('.add-popover')}
+ ${scrollbarStyle('.ai-add-popover')}
`;
private accessor _query = '';
@@ -263,7 +264,7 @@ export class ChatPanelAddPopover extends SignalWatcher(
}
override render() {
- return html`
+ return html`
${this._renderSearchInput()} ${this._renderDivider()}
${this._renderMenuGroup(this._menuGroup)}
`;
diff --git a/packages/frontend/core/src/blocksuite/ai/chat-panel/components/candidates-popover.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/components/candidates-popover.ts
index 709c077fc4..20236b7378 100644
--- a/packages/frontend/core/src/blocksuite/ai/chat-panel/components/candidates-popover.ts
+++ b/packages/frontend/core/src/blocksuite/ai/chat-panel/components/candidates-popover.ts
@@ -1,6 +1,7 @@
import { ShadowlessElement } from '@blocksuite/affine/block-std';
import { SignalWatcher, WithDisposable } from '@blocksuite/affine/global/lit';
import { scrollbarStyle } from '@blocksuite/affine/shared/styles';
+import { unsafeCSSVar, unsafeCSSVarV2 } from '@blocksuite/affine/shared/theme';
import { PlusIcon } from '@blocksuite/icons/lit';
import { type Signal, signal } from '@preact/signals-core';
import { css, html } from 'lit';
@@ -14,28 +15,28 @@ export class ChatPanelCandidatesPopover extends SignalWatcher(
WithDisposable(ShadowlessElement)
) {
static override styles = css`
- .candidates-popover {
+ .ai-candidates-popover {
width: 280px;
max-height: 450px;
overflow-y: auto;
- border: 0.5px solid var(--affine-border-color);
+ border: 0.5px solid ${unsafeCSSVarV2('layer/insideBorder/border')};
border-radius: 4px;
- background: var(--affine-background-primary-color);
- box-shadow: var(--affine-shadow-2);
+ background: ${unsafeCSSVarV2('layer/background/overlayPanel')};
+ box-shadow: ${unsafeCSSVar('overlayPanelShadow')};
padding: 8px;
}
- .candidates-popover icon-button {
+ .ai-candidates-popover icon-button {
justify-content: flex-start;
gap: 8px;
}
- .candidates-popover icon-button svg {
+ .ai-candidates-popover icon-button svg {
width: 20px;
height: 20px;
color: var(--svg-icon-color);
}
- ${scrollbarStyle('.candidates-popover')}
+ ${scrollbarStyle('.ai-candidates-popover')}
`;
@property({ attribute: false })
@@ -69,7 +70,10 @@ export class ChatPanelCandidatesPopover extends SignalWatcher(
}
override render() {
- return html`
+ return html`
${repeat(
this.referenceDocs.value,
doc => doc.docId,
diff --git a/packages/frontend/core/src/blocksuite/ai/chat-panel/components/chip.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/components/chip.ts
index 96023baeec..97365bff29 100644
--- a/packages/frontend/core/src/blocksuite/ai/chat-panel/components/chip.ts
+++ b/packages/frontend/core/src/blocksuite/ai/chat-panel/components/chip.ts
@@ -1,5 +1,6 @@
import { ShadowlessElement } from '@blocksuite/affine/block-std';
import { SignalWatcher, WithDisposable } from '@blocksuite/affine/global/lit';
+import { unsafeCSSVarV2 } from '@blocksuite/affine/shared/theme';
import { CloseIcon, PlusIcon } from '@blocksuite/icons/lit';
import { css, html, type TemplateResult } from 'lit';
import { property } from 'lit/decorators.js';
@@ -18,22 +19,26 @@ export class ChatPanelChip extends SignalWatcher(
margin: 4px;
padding: 0 4px;
border-radius: 4px;
- border: 0.5px solid var(--affine-border-color);
- background: var(--affine-background-primary-color);
+ border: 0.5px solid ${unsafeCSSVarV2('layer/insideBorder/border')};
+ background: ${unsafeCSSVarV2('layer/background/primary')};
box-sizing: border-box;
}
.chip-card[data-state='candidate'] {
border-width: 1px;
border-style: dashed;
- background: var(--affine-background-secondary-color);
- color: var(--affine-icon-secondary);
+ border-color: ${unsafeCSSVarV2('icon/tertiary')};
+ background: ${unsafeCSSVarV2('layer/background/secondary')};
+ color: ${unsafeCSSVarV2('icon/secondary')};
+ }
+ .chip-card[data-state='candidate']:hover {
+ background: ${unsafeCSSVarV2('layer/background/hoverOverlay')};
}
.chip-card[data-state='candidate'] svg {
- color: var(--affine-icon-secondary);
+ color: ${unsafeCSSVarV2('icon/secondary')};
}
.chip-card[data-state='failed'] {
- color: var(--affine-error-color);
- background: var(--affine-background-error-color);
+ color: ${unsafeCSSVarV2('status/error')};
+ background: ${unsafeCSSVarV2('layer/background/error')};
}
.chip-card-content {
display: flex;
@@ -41,12 +46,12 @@ export class ChatPanelChip extends SignalWatcher(
justify-content: center;
}
.chip-card[data-state='failed'] svg {
- color: var(--affine-error-color);
+ color: ${unsafeCSSVarV2('status/error')};
}
.chip-card svg {
width: 16px;
height: 16px;
- color: var(--affine-v2-icon-primary);
+ color: ${unsafeCSSVarV2('icon/primary')};
}
.chip-card-title {
display: inline-block;
@@ -69,7 +74,7 @@ export class ChatPanelChip extends SignalWatcher(
border-radius: 4px;
}
.chip-card-close:hover {
- background: var(--affine-hover-color);
+ background: ${unsafeCSSVarV2('layer/background/hoverOverlay')};
}
`;
diff --git a/packages/frontend/core/src/blocksuite/ai/chat-panel/components/tag-chip.ts b/packages/frontend/core/src/blocksuite/ai/chat-panel/components/tag-chip.ts
index 3acc9e9d2d..b8e6906e55 100644
--- a/packages/frontend/core/src/blocksuite/ai/chat-panel/components/tag-chip.ts
+++ b/packages/frontend/core/src/blocksuite/ai/chat-panel/components/tag-chip.ts
@@ -1,6 +1,7 @@
import type { TagMeta } from '@affine/core/components/page-list';
import { ShadowlessElement } from '@blocksuite/affine/block-std';
import { SignalWatcher, WithDisposable } from '@blocksuite/affine/global/lit';
+import { unsafeCSSVarV2 } from '@blocksuite/affine/shared/theme';
import { css, html } from 'lit';
import { property } from 'lit/decorators.js';
@@ -21,7 +22,7 @@ export class ChatPanelTagChip extends SignalWatcher(
height: 8px;
width: 8px;
margin: 4px;
- background-color: var(--affine-color-secondary);
+ background-color: ${unsafeCSSVarV2('icon/secondary')};
}
`;