@tylertech/forge-ai 0.13.10 → 0.13.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +118 -2
- package/dist/ai-assistant-response/ai-assistant-response.d.ts +1 -0
- package/dist/ai-assistant-response/ai-assistant-response.mjs +32 -3
- package/dist/ai-assistant-response/ai-assistant-response.scss.mjs +1 -1
- package/dist/ai-chain-of-thought/thought-detail/thought-detail.mjs +1 -1
- package/dist/ai-chain-of-thought/thought-image/thought-image.mjs +1 -1
- package/dist/ai-chain-of-thought/thought-search-result/thought-search-result.mjs +2 -2
- package/dist/ai-chat-header/ai-chat-header.mjs +27 -10
- package/dist/ai-chatbot-launcher/ai-chatbot-launcher.mjs +7 -2
- package/dist/ai-conversations-panel/ai-conversations-panel.mjs +6 -6
- package/dist/ai-copy-button/ai-copy-button.mjs +2 -2
- package/dist/ai-dialog/ai-dialog.d.ts +4 -0
- package/dist/ai-dialog/ai-dialog.mjs +10 -3
- package/dist/ai-dropdown-menu/ai-dropdown-menu-item.mjs +10 -2
- package/dist/ai-dropdown-menu/ai-dropdown-menu.d.ts +5 -0
- package/dist/ai-dropdown-menu/ai-dropdown-menu.mjs +4 -0
- package/dist/ai-edit-thread/ai-edit-thread.mjs +2 -2
- package/dist/ai-embedded-chat/ai-embedded-chat.d.ts +4 -0
- package/dist/ai-embedded-chat/ai-embedded-chat.mjs +5 -0
- package/dist/ai-error-message/ai-error-message.mjs +2 -1
- package/dist/ai-file-picker/ai-file-picker.mjs +1 -1
- package/dist/ai-floating-chat/ai-floating-chat.d.ts +5 -0
- package/dist/ai-floating-chat/ai-floating-chat.mjs +5 -0
- package/dist/ai-icon/ai-icon.mjs +1 -1
- package/dist/ai-message-thread/ai-message-thread.mjs +9 -24
- package/dist/ai-message-thread/ai-message-thread.scss.mjs +1 -1
- package/dist/ai-modal/ai-modal.d.ts +4 -0
- package/dist/ai-modal/ai-modal.mjs +5 -1
- package/dist/ai-prompt/ai-prompt.mjs +3 -3
- package/dist/ai-reasoning-header/ai-reasoning-header.mjs +3 -3
- package/dist/ai-response-message-toolbar/ai-response-message-toolbar.mjs +6 -6
- package/dist/ai-slash-command-menu/ai-slash-command-menu.mjs +1 -1
- package/dist/ai-spinner/ai-spinner.mjs +1 -1
- package/dist/ai-suggestions/ai-suggestions.mjs +1 -1
- package/dist/ai-thread-actions-menu/ai-thread-actions-menu.mjs +14 -3
- package/dist/ai-threads/ai-threads.mjs +5 -3
- package/dist/ai-threads-search/ai-threads-search.mjs +3 -3
- package/dist/ai-tool-call-indicator/ai-tool-call-indicator.mjs +30 -5
- package/dist/ai-user-message-toolbar/ai-user-message-toolbar.mjs +3 -3
- package/dist/ai-voice-input/ai-voice-input.mjs +1 -1
- package/dist/tools/ai-data-table/ai-data-table.mjs +8 -3
- package/dist/tools/ai-paginator/ai-paginator.mjs +2 -2
- package/package.json +6 -6
package/custom-elements.json
CHANGED
|
@@ -394,6 +394,16 @@
|
|
|
394
394
|
"privacy": "public",
|
|
395
395
|
"default": "false",
|
|
396
396
|
"attribute": "debug-mode"
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"kind": "field",
|
|
400
|
+
"name": "showThinking",
|
|
401
|
+
"type": {
|
|
402
|
+
"text": "boolean"
|
|
403
|
+
},
|
|
404
|
+
"privacy": "public",
|
|
405
|
+
"default": "false",
|
|
406
|
+
"attribute": "show-thinking"
|
|
397
407
|
}
|
|
398
408
|
],
|
|
399
409
|
"events": [
|
|
@@ -442,6 +452,14 @@
|
|
|
442
452
|
},
|
|
443
453
|
"default": "false",
|
|
444
454
|
"fieldName": "debugMode"
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
"name": "show-thinking",
|
|
458
|
+
"type": {
|
|
459
|
+
"text": "boolean"
|
|
460
|
+
},
|
|
461
|
+
"default": "false",
|
|
462
|
+
"fieldName": "showThinking"
|
|
445
463
|
}
|
|
446
464
|
],
|
|
447
465
|
"superclass": {
|
|
@@ -7503,6 +7521,17 @@
|
|
|
7503
7521
|
"description": "Controls the dialog's positioning and size behavior.\nWhen true, the dialog will have an expanded width and be centered on the screen.\nWhen false, the dialog will be positioned at the bottom-right corner with a fixed width.",
|
|
7504
7522
|
"attribute": "expanded"
|
|
7505
7523
|
},
|
|
7524
|
+
{
|
|
7525
|
+
"kind": "field",
|
|
7526
|
+
"name": "label",
|
|
7527
|
+
"type": {
|
|
7528
|
+
"text": "string"
|
|
7529
|
+
},
|
|
7530
|
+
"privacy": "public",
|
|
7531
|
+
"default": "'AI Assistant'",
|
|
7532
|
+
"description": "Accessible label for the dialog, announced by screen readers when it opens.",
|
|
7533
|
+
"attribute": "label"
|
|
7534
|
+
},
|
|
7506
7535
|
{
|
|
7507
7536
|
"kind": "field",
|
|
7508
7537
|
"name": "isFullscreen",
|
|
@@ -7581,6 +7610,15 @@
|
|
|
7581
7610
|
"default": "false",
|
|
7582
7611
|
"description": "Controls the dialog's positioning and size behavior.\nWhen true, the dialog will have an expanded width and be centered on the screen.\nWhen false, the dialog will be positioned at the bottom-right corner with a fixed width.",
|
|
7583
7612
|
"fieldName": "expanded"
|
|
7613
|
+
},
|
|
7614
|
+
{
|
|
7615
|
+
"name": "label",
|
|
7616
|
+
"type": {
|
|
7617
|
+
"text": "string"
|
|
7618
|
+
},
|
|
7619
|
+
"default": "'AI Assistant'",
|
|
7620
|
+
"description": "Accessible label for the dialog, announced by screen readers when it opens.",
|
|
7621
|
+
"fieldName": "label"
|
|
7584
7622
|
}
|
|
7585
7623
|
],
|
|
7586
7624
|
"superclass": {
|
|
@@ -8139,6 +8177,16 @@
|
|
|
8139
8177
|
"description": "The placement of the popover relative to the trigger button.\nOnly applies to root-level menus; submenus always use 'right-start'.",
|
|
8140
8178
|
"attribute": "popover-placement"
|
|
8141
8179
|
},
|
|
8180
|
+
{
|
|
8181
|
+
"kind": "field",
|
|
8182
|
+
"name": "triggerLabel",
|
|
8183
|
+
"type": {
|
|
8184
|
+
"text": "string | undefined"
|
|
8185
|
+
},
|
|
8186
|
+
"privacy": "public",
|
|
8187
|
+
"description": "Accessible label for the trigger button. Set this for icon-only triggers\nthat have no visible text so screen readers can announce the button.",
|
|
8188
|
+
"attribute": "trigger-label"
|
|
8189
|
+
},
|
|
8142
8190
|
{
|
|
8143
8191
|
"kind": "method",
|
|
8144
8192
|
"name": "focusFirstItem",
|
|
@@ -8227,6 +8275,14 @@
|
|
|
8227
8275
|
"default": "'bottom-start'",
|
|
8228
8276
|
"description": "The placement of the popover relative to the trigger button.\nOnly applies to root-level menus; submenus always use 'right-start'.",
|
|
8229
8277
|
"fieldName": "popoverPlacement"
|
|
8278
|
+
},
|
|
8279
|
+
{
|
|
8280
|
+
"name": "trigger-label",
|
|
8281
|
+
"type": {
|
|
8282
|
+
"text": "string | undefined"
|
|
8283
|
+
},
|
|
8284
|
+
"description": "Accessible label for the trigger button. Set this for icon-only triggers\nthat have no visible text so screen readers can announce the button.",
|
|
8285
|
+
"fieldName": "triggerLabel"
|
|
8230
8286
|
}
|
|
8231
8287
|
],
|
|
8232
8288
|
"superclass": {
|
|
@@ -8689,6 +8745,17 @@
|
|
|
8689
8745
|
"description": "Placeholder text for input (default: \"Ask a question...\")",
|
|
8690
8746
|
"attribute": "placeholder"
|
|
8691
8747
|
},
|
|
8748
|
+
{
|
|
8749
|
+
"kind": "field",
|
|
8750
|
+
"name": "label",
|
|
8751
|
+
"type": {
|
|
8752
|
+
"text": "string"
|
|
8753
|
+
},
|
|
8754
|
+
"privacy": "public",
|
|
8755
|
+
"default": "'AI Assistant'",
|
|
8756
|
+
"description": "Accessible label for the modal, announced by screen readers when expanded.",
|
|
8757
|
+
"attribute": "label"
|
|
8758
|
+
},
|
|
8692
8759
|
{
|
|
8693
8760
|
"kind": "field",
|
|
8694
8761
|
"name": "suggestions",
|
|
@@ -8780,6 +8847,15 @@
|
|
|
8780
8847
|
"default": "'Ask a question...'",
|
|
8781
8848
|
"description": "Placeholder text for input (default: \"Ask a question...\")",
|
|
8782
8849
|
"fieldName": "placeholder"
|
|
8850
|
+
},
|
|
8851
|
+
{
|
|
8852
|
+
"name": "label",
|
|
8853
|
+
"type": {
|
|
8854
|
+
"text": "string"
|
|
8855
|
+
},
|
|
8856
|
+
"default": "'AI Assistant'",
|
|
8857
|
+
"description": "Accessible label for the modal, announced by screen readers when expanded.",
|
|
8858
|
+
"fieldName": "label"
|
|
8783
8859
|
}
|
|
8784
8860
|
],
|
|
8785
8861
|
"superclass": {
|
|
@@ -9290,6 +9366,17 @@
|
|
|
9290
9366
|
"default": "false",
|
|
9291
9367
|
"attribute": "expanded"
|
|
9292
9368
|
},
|
|
9369
|
+
{
|
|
9370
|
+
"kind": "field",
|
|
9371
|
+
"name": "label",
|
|
9372
|
+
"type": {
|
|
9373
|
+
"text": "string"
|
|
9374
|
+
},
|
|
9375
|
+
"privacy": "public",
|
|
9376
|
+
"default": "'AI Assistant'",
|
|
9377
|
+
"description": "Accessible label for the dialog, announced by screen readers when it opens.\nSet this to match the slotted chatbot's title.",
|
|
9378
|
+
"attribute": "label"
|
|
9379
|
+
},
|
|
9293
9380
|
{
|
|
9294
9381
|
"kind": "method",
|
|
9295
9382
|
"name": "show",
|
|
@@ -9376,6 +9463,15 @@
|
|
|
9376
9463
|
},
|
|
9377
9464
|
"default": "false",
|
|
9378
9465
|
"fieldName": "expanded"
|
|
9466
|
+
},
|
|
9467
|
+
{
|
|
9468
|
+
"name": "label",
|
|
9469
|
+
"type": {
|
|
9470
|
+
"text": "string"
|
|
9471
|
+
},
|
|
9472
|
+
"default": "'AI Assistant'",
|
|
9473
|
+
"description": "Accessible label for the dialog, announced by screen readers when it opens.\nSet this to match the slotted chatbot's title.",
|
|
9474
|
+
"fieldName": "label"
|
|
9379
9475
|
}
|
|
9380
9476
|
],
|
|
9381
9477
|
"superclass": {
|
|
@@ -9939,6 +10035,17 @@
|
|
|
9939
10035
|
"description": "Controls the modal sizing strategy.\n- 'auto' (default): Automatically switches to fullscreen on viewports < 768px\n- 'fixed': Maintains defined size regardless of viewport, never auto-fullscreens",
|
|
9940
10036
|
"attribute": "size-strategy"
|
|
9941
10037
|
},
|
|
10038
|
+
{
|
|
10039
|
+
"kind": "field",
|
|
10040
|
+
"name": "label",
|
|
10041
|
+
"type": {
|
|
10042
|
+
"text": "string"
|
|
10043
|
+
},
|
|
10044
|
+
"privacy": "public",
|
|
10045
|
+
"default": "'AI Assistant'",
|
|
10046
|
+
"description": "Accessible label for the dialog, announced by screen readers when the modal opens.",
|
|
10047
|
+
"attribute": "label"
|
|
10048
|
+
},
|
|
9942
10049
|
{
|
|
9943
10050
|
"kind": "method",
|
|
9944
10051
|
"name": "show",
|
|
@@ -10011,6 +10118,15 @@
|
|
|
10011
10118
|
"default": "'auto'",
|
|
10012
10119
|
"description": "Controls the modal sizing strategy.\n- 'auto' (default): Automatically switches to fullscreen on viewports < 768px\n- 'fixed': Maintains defined size regardless of viewport, never auto-fullscreens",
|
|
10013
10120
|
"fieldName": "sizeStrategy"
|
|
10121
|
+
},
|
|
10122
|
+
{
|
|
10123
|
+
"name": "label",
|
|
10124
|
+
"type": {
|
|
10125
|
+
"text": "string"
|
|
10126
|
+
},
|
|
10127
|
+
"default": "'AI Assistant'",
|
|
10128
|
+
"description": "Accessible label for the dialog, announced by screen readers when the modal opens.",
|
|
10129
|
+
"fieldName": "label"
|
|
10014
10130
|
}
|
|
10015
10131
|
],
|
|
10016
10132
|
"superclass": {
|
|
@@ -14403,11 +14519,11 @@
|
|
|
14403
14519
|
},
|
|
14404
14520
|
"ForgeAiAssistantResponseFeedbackEventData": {
|
|
14405
14521
|
"path": "src/lib/ai-assistant-response/ai-assistant-response.ts",
|
|
14406
|
-
"lineNumber":
|
|
14522
|
+
"lineNumber": 29
|
|
14407
14523
|
},
|
|
14408
14524
|
"AiAssistantResponseComponent": {
|
|
14409
14525
|
"path": "src/lib/ai-assistant-response/ai-assistant-response.ts",
|
|
14410
|
-
"lineNumber":
|
|
14526
|
+
"lineNumber": 46
|
|
14411
14527
|
},
|
|
14412
14528
|
"ForgeAiAttachmentRemoveEventData": {
|
|
14413
14529
|
"path": "src/lib/ai-attachment/ai-attachment.ts",
|
|
@@ -37,6 +37,7 @@ export declare class AiAssistantResponseComponent extends LitElement {
|
|
|
37
37
|
tools?: Map<string, ToolDefinition>;
|
|
38
38
|
enableReactions: boolean;
|
|
39
39
|
debugMode: boolean;
|
|
40
|
+
showThinking: boolean;
|
|
40
41
|
connectedCallback(): void;
|
|
41
42
|
willUpdate(): void;
|
|
42
43
|
render(): TemplateResult;
|
|
@@ -6,6 +6,7 @@ import { MarkdownStreamController } from "../ai-chatbot/markdown-stream-controll
|
|
|
6
6
|
import "../ai-response-message-toolbar/ai-response-message-toolbar.mjs";
|
|
7
7
|
import "../ai-chatbot/ai-chatbot-tool-call.mjs";
|
|
8
8
|
import "../ai-tool-call-indicator/ai-tool-call-indicator.mjs";
|
|
9
|
+
import "../ai-thinking-indicator/ai-thinking-indicator.mjs";
|
|
9
10
|
import styles from "./ai-assistant-response.scss.mjs";
|
|
10
11
|
var __defProp = Object.defineProperty;
|
|
11
12
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -25,7 +26,7 @@ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read fr
|
|
|
25
26
|
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
26
27
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
27
28
|
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
28
|
-
var _internals, _markdownController, _AiAssistantResponseComponent_instances, hasVisibleContent_get, updateEmptyState_fn, renderTextChunk_fn, renderToolCall_fn, children_get, handleToolbarAction_fn, handleToolbarFeedback_fn, toolbar_get;
|
|
29
|
+
var _internals, _markdownController, _AiAssistantResponseComponent_instances, hasVisibleContent_get, updateEmptyState_fn, renderTextChunk_fn, renderToolCall_fn, children_get, handleToolbarAction_fn, handleToolbarFeedback_fn, toolbar_get, thinkingIndicator_get;
|
|
29
30
|
const AiAssistantResponseComponentTagName = "forge-ai-assistant-response";
|
|
30
31
|
let AiAssistantResponseComponent = class extends LitElement {
|
|
31
32
|
constructor() {
|
|
@@ -33,6 +34,7 @@ let AiAssistantResponseComponent = class extends LitElement {
|
|
|
33
34
|
__privateAdd(this, _AiAssistantResponseComponent_instances);
|
|
34
35
|
this.enableReactions = false;
|
|
35
36
|
this.debugMode = false;
|
|
37
|
+
this.showThinking = false;
|
|
36
38
|
__privateAdd(this, _internals, this.attachInternals());
|
|
37
39
|
__privateAdd(this, _markdownController);
|
|
38
40
|
}
|
|
@@ -46,7 +48,7 @@ let AiAssistantResponseComponent = class extends LitElement {
|
|
|
46
48
|
render() {
|
|
47
49
|
return html`
|
|
48
50
|
<div class="assistant-response" ?data-complete=${this.response.status === "complete"}>
|
|
49
|
-
${__privateGet(this, _AiAssistantResponseComponent_instances, children_get)} ${__privateGet(this, _AiAssistantResponseComponent_instances, toolbar_get)}
|
|
51
|
+
${__privateGet(this, _AiAssistantResponseComponent_instances, children_get)} ${__privateGet(this, _AiAssistantResponseComponent_instances, thinkingIndicator_get)} ${__privateGet(this, _AiAssistantResponseComponent_instances, toolbar_get)}
|
|
50
52
|
</div>
|
|
51
53
|
`;
|
|
52
54
|
}
|
|
@@ -64,7 +66,7 @@ hasVisibleContent_get = function() {
|
|
|
64
66
|
});
|
|
65
67
|
};
|
|
66
68
|
updateEmptyState_fn = function() {
|
|
67
|
-
const isEmpty = !__privateGet(this, _AiAssistantResponseComponent_instances, hasVisibleContent_get) && this.response.status !== "complete";
|
|
69
|
+
const isEmpty = !__privateGet(this, _AiAssistantResponseComponent_instances, hasVisibleContent_get) && this.response.status !== "complete" && !this.showThinking;
|
|
68
70
|
if (isEmpty) {
|
|
69
71
|
__privateGet(this, _internals).states.add("empty");
|
|
70
72
|
} else {
|
|
@@ -160,6 +162,30 @@ toolbar_get = function() {
|
|
|
160
162
|
</div>
|
|
161
163
|
`;
|
|
162
164
|
};
|
|
165
|
+
thinkingIndicator_get = function() {
|
|
166
|
+
if (!this.showThinking) {
|
|
167
|
+
return nothing;
|
|
168
|
+
}
|
|
169
|
+
const lastChild = this.response.children[this.response.children.length - 1];
|
|
170
|
+
if (lastChild?.type === "text" && lastChild.status === "streaming") {
|
|
171
|
+
const content = typeof lastChild.content === "string" ? lastChild.content : "";
|
|
172
|
+
if (content.trim().length > 0) {
|
|
173
|
+
return nothing;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
const hasActiveToolCall = this.response.children.some((child) => {
|
|
177
|
+
if (child.type !== "toolCall") {
|
|
178
|
+
return false;
|
|
179
|
+
}
|
|
180
|
+
return child.data.status === "parsing" || child.data.status === "executing" || child.data.status === "pending";
|
|
181
|
+
});
|
|
182
|
+
if (hasActiveToolCall) {
|
|
183
|
+
return nothing;
|
|
184
|
+
}
|
|
185
|
+
return html`<div class="thinking-indicator">
|
|
186
|
+
<forge-ai-thinking-indicator show-text></forge-ai-thinking-indicator>
|
|
187
|
+
</div>`;
|
|
188
|
+
};
|
|
163
189
|
AiAssistantResponseComponent.styles = unsafeCSS(styles);
|
|
164
190
|
__decorateClass([
|
|
165
191
|
property({ attribute: false })
|
|
@@ -173,6 +199,9 @@ __decorateClass([
|
|
|
173
199
|
__decorateClass([
|
|
174
200
|
property({ type: Boolean, attribute: "debug-mode" })
|
|
175
201
|
], AiAssistantResponseComponent.prototype, "debugMode", 2);
|
|
202
|
+
__decorateClass([
|
|
203
|
+
property({ type: Boolean, attribute: "show-thinking" })
|
|
204
|
+
], AiAssistantResponseComponent.prototype, "showThinking", 2);
|
|
176
205
|
AiAssistantResponseComponent = __decorateClass([
|
|
177
206
|
customElement(AiAssistantResponseComponentTagName)
|
|
178
207
|
], AiAssistantResponseComponent);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const styles = '/**\n * @license\n * Copyright Tyler Technologies, Inc.\n * License: Apache-2.0\n */\n.forge-icon-button {\n --_icon-button-display:var(--forge-icon-button-display, inline-flex);\n --_icon-button-size:var(--forge-icon-button-size, 48px);\n --_icon-button-gap:var(--forge-icon-button-gap, 0);\n --_icon-button-icon-color:var(--forge-icon-button-icon-color, currentColor);\n --_icon-button-background-color:var(--forge-icon-button-background-color, none);\n --_icon-button-icon-size:var(--forge-icon-button-icon-size, calc(var(--forge-typography-font-size, 1rem) * 1.5));\n --_icon-button-cursor:var(--forge-icon-button-cursor, pointer);\n --_icon-button-padding:var(--forge-icon-button-padding, var(--forge-spacing-xxsmall, 4px));\n --_icon-button-border:var(--forge-icon-button-border, none);\n --_icon-button-shadow:var(--forge-icon-button-shadow, none);\n --_icon-button-transition-duration:var(--forge-icon-button-transition-duration, var(--forge-animation-duration-short3, 150ms));\n --_icon-button-transition-timing:var(--forge-icon-button-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));\n --_icon-button-shape:var(--forge-icon-button-shape, calc(var(--forge-shape-full, 9999px) * var(--forge-shape-factor, 1)));\n --_icon-button-shape-start-start:var(--forge-icon-button-shape-start-start, var(--_icon-button-shape));\n --_icon-button-shape-start-end:var(--forge-icon-button-shape-start-end, var(--_icon-button-shape));\n --_icon-button-shape-end-start:var(--forge-icon-button-shape-end-start, var(--_icon-button-shape));\n --_icon-button-shape-end-end:var(--forge-icon-button-shape-end-end, var(--_icon-button-shape));\n --_icon-button-shape-squared:var(--forge-icon-button-shape-squared, calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1)));\n --_icon-button-outlined-border-width:var(--forge-icon-button-outlined-border-width, 1px);\n --_icon-button-outlined-border-style:var(--forge-icon-button-outlined-border-style, solid);\n --_icon-button-outlined-border-color:var(--forge-icon-button-outlined-border-color, var(--_icon-button-icon-color));\n --_icon-button-tonal-icon-color:var(--forge-icon-button-tonal-icon-color, var(--forge-theme-on-primary-container, #222c62));\n --_icon-button-tonal-background-color:var(--forge-icon-button-tonal-background-color, var(--forge-theme-primary-container, #d1d5ed));\n --_icon-button-filled-icon-color:var(--forge-icon-button-filled-icon-color, var(--forge-theme-on-primary, #ffffff));\n --_icon-button-filled-background-color:var(--forge-icon-button-filled-background-color, var(--forge-theme-primary, #3f51b5));\n --_icon-button-raised-shadow:var(--forge-icon-button-raised-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));\n --_icon-button-raised-hover-shadow:var(--forge-icon-button-raised-hover-shadow, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12));\n --_icon-button-raised-active-shadow:var(--forge-icon-button-raised-active-shadow, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12));\n --_icon-button-raised-disabled-shadow:var(--forge-icon-button-raised-disabled-shadow, none);\n --_icon-button-density-small-size:var(--forge-icon-button-density-small-size, 24px);\n --_icon-button-density-small-padding:var(--forge-icon-button-density-small-padding, var(--forge-spacing-xxxsmall, 2px));\n --_icon-button-density-small-icon-size:var(--forge-icon-button-density-small-icon-size, calc(var(--forge-typography-font-size, 1rem) * 1.125));\n --_icon-button-density-medium-size:var(--forge-icon-button-density-medium-size, 36px);\n --_icon-button-density-medium-padding:var(--forge-icon-button-density-medium-padding, var(--forge-spacing-xxsmall, 4px));\n --_icon-button-density-large-size:var(--forge-icon-button-density-large-size, var(--_icon-button-size));\n --_icon-button-toggle-on-background-color:var(--forge-icon-button-toggle-on-background-color, var(--forge-theme-primary-container, #d1d5ed));\n --_icon-button-toggle-on-icon-color:var(--forge-icon-button-toggle-on-icon-color, var(--forge-theme-primary, #3f51b5));\n --_icon-button-outlined-toggle-on-background-color:var(--forge-icon-button-outlined-toggle-on-background-color, var(--forge-theme-primary-container, #d1d5ed));\n --_icon-button-outlined-toggle-on-icon-color:var(--forge-icon-button-outlined-toggle-on-icon-color, var(--forge-theme-primary, #3f51b5));\n --_icon-button-tonal-toggle-background-color:var(--forge-icon-button-tonal-toggle-background-color, var(--forge-theme-surface-container-low, #ebebeb));\n --_icon-button-tonal-toggle-on-background-color:var(--forge-icon-button-tonal-toggle-on-background-color, var(--forge-theme-primary-container, #d1d5ed));\n --_icon-button-tonal-toggle-on-icon-color:var(--forge-icon-button-tonal-toggle-on-icon-color, var(--forge-theme-primary, #3f51b5));\n --_icon-button-filled-toggle-background-color:var(--forge-icon-button-filled-toggle-background-color, var(--forge-theme-surface-container-low, #ebebeb));\n --_icon-button-filled-toggle-icon-color:var(--forge-icon-button-filled-toggle-icon-color, var(--forge-theme-primary, #3f51b5));\n --_icon-button-filled-toggle-on-background-color:var(--forge-icon-button-filled-toggle-on-background-color, var(--forge-theme-primary, #3f51b5));\n --_icon-button-filled-toggle-on-icon-color:var(--forge-icon-button-filled-toggle-on-icon-color, var(--forge-theme-on-primary, #ffffff));\n --_icon-button-disabled-cursor:var(--forge-icon-button-disabled-cursor, not-allowed);\n --_icon-button-disabled-opacity:var(--forge-icon-button-disabled-opacity, 0.38);\n --_icon-button-popover-icon-padding:var(--forge-icon-button-popover-icon-padding, var(--forge-spacing-xsmall, 8px));\n --_icon-button-focus-indicator-color:var(--forge-icon-button-focus-indicator-color, var(--forge-theme-primary, #3f51b5));\n}\n\n.forge-icon-button {\n display: var(--_icon-button-display);\n position: relative;\n outline: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n position: relative;\n z-index: 0;\n display: var(--_icon-button-display);\n align-items: center;\n justify-content: center;\n gap: var(--_icon-button-gap);\n box-sizing: border-box;\n height: var(--_icon-button-density-large-size);\n min-width: var(--_icon-button-density-large-size);\n border: var(--_icon-button-border);\n border-start-start-radius: var(--_icon-button-shape-start-start);\n border-start-end-radius: var(--_icon-button-shape-start-end);\n border-end-start-radius: var(--_icon-button-shape-end-start);\n border-end-end-radius: var(--_icon-button-shape-end-end);\n padding: var(--_icon-button-padding);\n box-shadow: var(--_icon-button-shadow);\n color: var(--_icon-button-icon-color);\n background: var(--_icon-button-background-color);\n font-size: var(--_icon-button-icon-size);\n cursor: var(--_icon-button-cursor);\n user-select: none;\n transition-property: box-shadow, background;\n transition-duration: var(--_icon-button-transition-duration);\n transition-timing-function: var(--_icon-button-transition-timing);\n}\n\n.forge-icon-button img, .forge-icon-button svg {\n height: var(--_icon-button-icon-size);\n width: var(--_icon-button-icon-size);\n}\n\n.forge-icon-button svg {\n fill: currentColor;\n}\n\n.forge-icon-button:not(:disabled) {\n --_state-layer-display:var(--forge-state-layer-display, flex);\n --_state-layer-color:var(--forge-state-layer-color, var(--forge-theme-on-surface, #000000));\n --_state-layer-hover-color:var(--forge-state-layer-hover-color, var(--_state-layer-color));\n --_state-layer-hover-opacity:var(--forge-state-layer-hover-opacity, 0.08);\n --_state-layer-pressed-color:var(--forge-state-layer-pressed-color, var(--_state-layer-color));\n --_state-layer-pressed-opacity:var(--forge-state-layer-pressed-opacity, 0.12);\n --_state-layer-hover-duration:var(--forge-state-layer-hover-duration, 15ms);\n --_state-layer-pressed-duration:var(--forge-state-layer-pressed-duration, 105ms);\n --_state-layer-animation-duration:var(--forge-state-layer-animation-duration, 375ms);\n}\n\n.forge-icon-button:not(:disabled)::before {\n opacity: 0;\n position: absolute;\n backface-visibility: hidden;\n transform: translateZ(0);\n background-color: var(--_state-layer-hover-color);\n inset: 0;\n transition: opacity var(--_state-layer-hover-duration) linear, background-color var(--_state-layer-hover-duration) linear;\n --_state-layer-hover-duration:var(--forge-state-layer-hover-duration, 100ms);\n content: "";\n opacity: 0;\n border-radius: inherit;\n}\n\n.forge-icon-button:not(:disabled):hover::before {\n background-color: var(--_state-layer-hover-color);\n opacity: var(--_state-layer-hover-opacity);\n}\n\n.forge-icon-button:not(:disabled):active::before {\n opacity: var(--_state-layer-pressed-opacity);\n transition-duration: var(--_state-layer-pressed-duration);\n --_state-layer-pressed-opacity:var(--forge-state-layer-pressed-opacity, 0.18);\n}\n\n.forge-icon-button:not(:disabled) {\n --forge-state-layer-color: var(--_icon-button-icon-color);\n}\n\n@keyframes forge-focus-indicator-outward-grow {\n from {\n outline-width: 0;\n }\n to {\n outline-width: var(--_focus-indicator-active-width);\n }\n}\n@keyframes forge-focus-indicator-outward-shrink {\n from {\n outline-width: var(--_focus-indicator-active-width);\n }\n}\n@keyframes forge-focus-indicator-inward-grow {\n from {\n border-width: 0;\n }\n to {\n border-width: var(--_focus-indicator-active-width);\n }\n}\n@keyframes forge-focus-indicator-inward-shrink {\n from {\n border-width: var(--_focus-indicator-active-width);\n }\n}\n.forge-icon-button:not(:disabled) {\n outline: none;\n}\n\n.forge-icon-button:not(:disabled):focus-visible::after {\n --_focus-indicator-display:var(--forge-focus-indicator-display, flex);\n --_focus-indicator-width:var(--forge-focus-indicator-width, var(--forge-border-medium, 2px));\n --_focus-indicator-active-width:var(--forge-focus-indicator-active-width, 6px);\n --_focus-indicator-color:var(--forge-focus-indicator-color, var(--forge-theme-primary, #3f51b5));\n --_focus-indicator-shape:var(--forge-focus-indicator-shape, calc(var(--forge-shape-extra-small, 1px) * var(--forge-shape-factor, 1)));\n --_focus-indicator-duration:var(--forge-focus-indicator-duration, var(--forge-animation-duration-long4, 600ms));\n --_focus-indicator-easing:var(--forge-focus-indicator-easing, var(--forge-animation-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)));\n --_focus-indicator-shape-start-start:var(--forge-focus-indicator-shape-start-start, var(--_focus-indicator-shape));\n --_focus-indicator-shape-start-end:var(--forge-focus-indicator-shape-start-end, var(--_focus-indicator-shape));\n --_focus-indicator-shape-end-end:var(--forge-focus-indicator-shape-end-end, var(--_focus-indicator-shape));\n --_focus-indicator-shape-end-start:var(--forge-focus-indicator-shape-end-start, var(--_focus-indicator-shape));\n --_focus-indicator-outward-offset:var(--forge-focus-indicator-outward-offset, var(--forge-spacing-xxsmall, 4px));\n --_focus-indicator-inward-offset:var(--forge-focus-indicator-inward-offset, 0px);\n --_focus-indicator-offset-block:var(--forge-focus-indicator-offset-block, 0);\n --_focus-indicator-offset-inline:var(--forge-focus-indicator-offset-inline, 0);\n}\n\n.forge-icon-button:not(:disabled):focus-visible::after {\n animation-delay: 0s, calc(var(--_focus-indicator-duration) * 0.25);\n animation-duration: calc(var(--_focus-indicator-duration) * 0.25), calc(var(--_focus-indicator-duration) * 0.75);\n animation-timing-function: var(--_focus-indicator-easing);\n box-sizing: border-box;\n color: var(--_focus-indicator-color);\n display: none;\n pointer-events: none;\n position: absolute;\n margin-block: var(--_focus-indicator-offset-block);\n margin-inline: var(--_focus-indicator-offset-inline);\n animation-name: forge-focus-indicator-outward-grow, forge-focus-indicator-outward-shrink;\n border-end-end-radius: calc(var(--_focus-indicator-shape-end-end) + var(--_focus-indicator-outward-offset));\n border-end-start-radius: calc(var(--_focus-indicator-shape-end-start) + var(--_focus-indicator-outward-offset));\n border-start-end-radius: calc(var(--_focus-indicator-shape-start-end) + var(--_focus-indicator-outward-offset));\n border-start-start-radius: calc(var(--_focus-indicator-shape-start-start) + var(--_focus-indicator-outward-offset));\n inset: calc(-1 * var(--_focus-indicator-outward-offset));\n outline: var(--_focus-indicator-width) solid currentColor;\n content: "";\n display: block;\n}\n\n.forge-icon-button:not(:disabled) {\n --forge-focus-indicator-color: var(--_icon-button-focus-indicator-color);\n --forge-focus-indicator-shape: var(--_icon-button-shape);\n}\n\n.forge-icon-button:not(:disabled):where(.forge-icon-button--text, :not(:where(.forge-icon-button--outlined, .forge-icon-button--tonal, .forge-icon-button--filled, .forge-icon-button--raised))) {\n --forge-focus-indicator-outward-offset: 0px;\n}\n\n.forge-icon-button--outlined {\n border-width: var(--_icon-button-outlined-border-width);\n border-style: var(--_icon-button-outlined-border-style);\n border-color: var(--_icon-button-outlined-border-color);\n}\n\n.forge-icon-button--tonal {\n --_icon-button-icon-color:var(--_icon-button-tonal-icon-color);\n --_icon-button-background-color:var(--_icon-button-tonal-background-color);\n}\n\n.forge-icon-button--filled, .forge-icon-button--raised {\n --_icon-button-icon-color:var(--_icon-button-filled-icon-color);\n --_icon-button-background-color:var(--_icon-button-filled-background-color);\n}\n\n.forge-icon-button--raised {\n --_icon-button-shadow:var(--_icon-button-raised-shadow);\n}\n\n.forge-icon-button--raised:hover {\n --_icon-button-raised-shadow:var(--_icon-button-raised-hover-shadow);\n}\n\n.forge-icon-button--raised:active {\n --_icon-button-raised-shadow:var(--_icon-button-raised-active-shadow);\n}\n\n.forge-icon-button--squared {\n --_icon-button-shape:var(--_icon-button-shape-squared);\n}\n\n.forge-icon-button--small {\n --_icon-button-size:var(--_icon-button-density-small-size);\n --_icon-button-icon-size:var(--_icon-button-density-small-icon-size);\n --_icon-button-padding:var(--_icon-button-density-small-padding);\n}\n\n.forge-icon-button--small > * {\n font-size: var(--_icon-button-density-small-icon-size);\n}\n\n.forge-icon-button--medium {\n --_icon-button-size:var(--_icon-button-density-medium-size);\n --_icon-button-padding:var(--_icon-button-density-medium-padding);\n}\n\n.forge-icon-button:disabled {\n pointer-events: none;\n opacity: var(--_icon-button-disabled-opacity);\n pointer-events: auto;\n cursor: not-allowed;\n}\n\n.forge-icon-button forge-circular-progress {\n --forge-circular-progress-indicator-color: var(--_icon-button-icon-color);\n --forge-circular-progress-track-color: transparent;\n --forge-circular-progress-size: 1em;\n}\n\n/* prettier-ignore */\n@keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n:host {\n display: block;\n box-sizing: border-box;\n}\n\n:host(:state(empty)) {\n display: none;\n}\n\n.assistant-response {\n position: relative;\n}\n\n.text-chunk {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-family: var(--forge-typography-body1-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));\n font-size: var(--forge-typography-body1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, 0.875)));\n font-weight: var(--forge-typography-body1-font-weight, 400);\n line-height: var(--forge-typography-body1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-line-height-scale, 1.125)));\n letter-spacing: var(--forge-typography-body1-letter-spacing, 0.0357142857em);\n text-transform: var(--forge-typography-body1-text-transform, inherit);\n text-decoration: var(--forge-typography-body1-text-decoration, inherit);\n font-size: var(--forge-ai-markdown-font-size, 0.875rem);\n line-height: var(--forge-ai-markdown-line-height, 1.5rem);\n color: var(--forge-theme-on-surface, #000000);\n overflow-wrap: break-word;\n}\n.text-chunk h1,\n.text-chunk h2,\n.text-chunk h3,\n.text-chunk h4,\n.text-chunk h5,\n.text-chunk h6 {\n margin: 1.75rem 0 var(--forge-spacing-small, 12px);\n}\n.text-chunk strong {\n font-weight: 500;\n}\n.text-chunk a {\n color: var(--forge-theme-primary, #3f51b5);\n}\n.text-chunk hr {\n border: none;\n border-top: 1px solid var(--forge-theme-outline, #e0e0e0);\n}\n.text-chunk code {\n color: var(--forge-theme-on-surface-container-low, #000000);\n background-color: var(--forge-theme-surface-container-low, #ebebeb);\n border-radius: calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1));\n padding: var(--forge-spacing-xxxsmall, 2px) var(--forge-spacing-xxsmall, 4px);\n font-size: 0.75em;\n}\n.text-chunk pre {\n border: 1px solid var(--forge-theme-outline, #e0e0e0);\n border-radius: calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1));\n margin: 0;\n max-width: 100%;\n overflow-x: auto;\n}\n.text-chunk pre:focus-visible {\n outline: 2px solid var(--forge-theme-primary, #3f51b5);\n outline-offset: 2px;\n}\n.text-chunk pre code {\n display: block;\n padding: var(--forge-spacing-xsmall, 8px) var(--forge-spacing-small, 12px);\n color: var(--forge-theme-on-surface-container-minimum, #000000);\n background: var(--forge-theme-surface-container-minimum, #f5f5f5);\n white-space: pre;\n}\n.text-chunk [data-scroll-region=table] {\n max-width: 100%;\n overflow-x: auto;\n border-radius: calc(var(--forge-shape-large, 8px) * var(--forge-shape-factor, 1));\n margin-block: var(--forge-spacing-medium, 16px);\n}\n.text-chunk [data-scroll-region=table]:focus-visible {\n outline: 2px solid var(--forge-theme-primary, #3f51b5);\n outline-offset: 2px;\n}\n.text-chunk [data-scroll-region=table] table {\n margin-block: 0;\n}\n.text-chunk table {\n width: 100%;\n border-spacing: 0;\n background-color: var(--forge-theme-surface, #ffffff);\n border-radius: calc(var(--forge-shape-large, 8px) * var(--forge-shape-factor, 1));\n overflow: hidden;\n margin-block: var(--forge-spacing-medium, 16px);\n}\n.text-chunk table thead {\n color: var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6));\n font-weight: bold;\n text-align: left;\n font-size: calc(var(--forge-typography-font-size, 1rem) * 0.75);\n box-sizing: border-box;\n}\n.text-chunk table tr {\n height: 36px;\n height: 32px;\n}\n.text-chunk table tr:nth-child(even) {\n background-color: var(--forge-theme-surface-dim, #fafafa);\n}\n.text-chunk table tr:last-child td {\n border-bottom: none;\n}\n.text-chunk table th,\n.text-chunk table td {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-family: var(--forge-typography-label1-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));\n font-size: var(--forge-typography-label1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, 0.75)));\n font-weight: var(--forge-typography-label1-font-weight, 400);\n line-height: var(--forge-typography-label1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));\n letter-spacing: var(--forge-typography-label1-letter-spacing, 0.0357142857em);\n text-transform: var(--forge-typography-label1-text-transform, inherit);\n text-decoration: var(--forge-typography-label1-text-decoration, inherit);\n padding-block: var(--forge-spacing-xsmall, 8px);\n padding-inline-start: var(--forge-spacing-xsmall, 8px);\n padding-inline-end: var(--forge-spacing-medium, 16px);\n border-bottom-width: 1px;\n border-bottom-style: solid;\n border-bottom-color: var(--forge-theme-outline, #e0e0e0);\n}\n.text-chunk table th {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-family: var(--forge-typography-label2-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));\n font-size: var(--forge-typography-label2-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, 0.8125)));\n font-weight: var(--forge-typography-label2-font-weight, 400);\n line-height: var(--forge-typography-label2-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));\n letter-spacing: var(--forge-typography-label2-letter-spacing, 0.0096153846em);\n text-transform: var(--forge-typography-label2-text-transform, inherit);\n text-decoration: var(--forge-typography-label2-text-decoration, inherit);\n font-weight: 600;\n}\n.text-chunk > p:has(+ ol),\n.text-chunk > p:has(+ ul) {\n margin-block-end: var(--forge-spacing-small, 12px);\n}\n.text-chunk > ul {\n list-style-type: disc;\n padding-inline-start: 1.6875rem;\n}\n.text-chunk > ol {\n padding-inline-start: 1.75rem;\n}\n.text-chunk > ol,\n.text-chunk > ul {\n margin: var(--forge-spacing-xsmall, 8px) 0;\n margin-block-end: var(--forge-spacing-medium, 16px);\n}\n.text-chunk > :first-child {\n margin-block-start: 0;\n}\n.text-chunk > p {\n margin-block-end: var(--forge-spacing-medium, 16px);\n overflow-wrap: anywhere;\n}\n.text-chunk > p:first-child {\n margin-block-start: 0;\n}\n.text-chunk > p:last-child {\n margin-block-end: 0;\n}\n\n.toolbar-container {\n position: absolute;\n bottom: -28px;\n transition: opacity 200ms ease-in-out, transform 200ms ease-in-out;\n display: flex;\n align-items: center;\n gap: var(--forge-spacing-xxsmall, 4px);\n opacity: 0;\n transform: translateY(-8px);\n pointer-events: none;\n z-index: 1;\n left: 0;\n}\n\n.assistant-response[data-complete]:hover .toolbar-container,\n.assistant-response[data-complete] .toolbar-container:focus-within {\n opacity: 1;\n transform: translateY(0);\n pointer-events: auto;\n}\n\n:host(:not(:last-of-type)) .assistant-response[data-complete]::after {\n content: "";\n position: absolute;\n bottom: -40px;\n left: 0;\n right: 0;\n height: 40px;\n}\n\n:host(:last-of-type) .assistant-response[data-complete] .toolbar-container {\n opacity: 1;\n transform: translateY(0);\n pointer-events: auto;\n}\n\n.debug-button {\n color: var(--forge-theme-on-error-container-low, #5f0011);\n --forge-icon-button-focus-indicator-color: var(--forge-theme-error, #b00020);\n --forge-icon-button-tonal-background-color: var(--forge-theme-error-container-low, #f6e0e4);\n}';
|
|
1
|
+
const styles = '/**\n * @license\n * Copyright Tyler Technologies, Inc.\n * License: Apache-2.0\n */\n.forge-icon-button {\n --_icon-button-display:var(--forge-icon-button-display, inline-flex);\n --_icon-button-size:var(--forge-icon-button-size, 48px);\n --_icon-button-gap:var(--forge-icon-button-gap, 0);\n --_icon-button-icon-color:var(--forge-icon-button-icon-color, currentColor);\n --_icon-button-background-color:var(--forge-icon-button-background-color, none);\n --_icon-button-icon-size:var(--forge-icon-button-icon-size, calc(var(--forge-typography-font-size, 1rem) * 1.5));\n --_icon-button-cursor:var(--forge-icon-button-cursor, pointer);\n --_icon-button-padding:var(--forge-icon-button-padding, var(--forge-spacing-xxsmall, 4px));\n --_icon-button-border:var(--forge-icon-button-border, none);\n --_icon-button-shadow:var(--forge-icon-button-shadow, none);\n --_icon-button-transition-duration:var(--forge-icon-button-transition-duration, var(--forge-animation-duration-short3, 150ms));\n --_icon-button-transition-timing:var(--forge-icon-button-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));\n --_icon-button-shape:var(--forge-icon-button-shape, calc(var(--forge-shape-full, 9999px) * var(--forge-shape-factor, 1)));\n --_icon-button-shape-start-start:var(--forge-icon-button-shape-start-start, var(--_icon-button-shape));\n --_icon-button-shape-start-end:var(--forge-icon-button-shape-start-end, var(--_icon-button-shape));\n --_icon-button-shape-end-start:var(--forge-icon-button-shape-end-start, var(--_icon-button-shape));\n --_icon-button-shape-end-end:var(--forge-icon-button-shape-end-end, var(--_icon-button-shape));\n --_icon-button-shape-squared:var(--forge-icon-button-shape-squared, calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1)));\n --_icon-button-outlined-border-width:var(--forge-icon-button-outlined-border-width, 1px);\n --_icon-button-outlined-border-style:var(--forge-icon-button-outlined-border-style, solid);\n --_icon-button-outlined-border-color:var(--forge-icon-button-outlined-border-color, var(--_icon-button-icon-color));\n --_icon-button-tonal-icon-color:var(--forge-icon-button-tonal-icon-color, var(--forge-theme-on-primary-container, #222c62));\n --_icon-button-tonal-background-color:var(--forge-icon-button-tonal-background-color, var(--forge-theme-primary-container, #d1d5ed));\n --_icon-button-filled-icon-color:var(--forge-icon-button-filled-icon-color, var(--forge-theme-on-primary, #ffffff));\n --_icon-button-filled-background-color:var(--forge-icon-button-filled-background-color, var(--forge-theme-primary, #3f51b5));\n --_icon-button-raised-shadow:var(--forge-icon-button-raised-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));\n --_icon-button-raised-hover-shadow:var(--forge-icon-button-raised-hover-shadow, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12));\n --_icon-button-raised-active-shadow:var(--forge-icon-button-raised-active-shadow, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12));\n --_icon-button-raised-disabled-shadow:var(--forge-icon-button-raised-disabled-shadow, none);\n --_icon-button-density-small-size:var(--forge-icon-button-density-small-size, 24px);\n --_icon-button-density-small-padding:var(--forge-icon-button-density-small-padding, var(--forge-spacing-xxxsmall, 2px));\n --_icon-button-density-small-icon-size:var(--forge-icon-button-density-small-icon-size, calc(var(--forge-typography-font-size, 1rem) * 1.125));\n --_icon-button-density-medium-size:var(--forge-icon-button-density-medium-size, 36px);\n --_icon-button-density-medium-padding:var(--forge-icon-button-density-medium-padding, var(--forge-spacing-xxsmall, 4px));\n --_icon-button-density-large-size:var(--forge-icon-button-density-large-size, var(--_icon-button-size));\n --_icon-button-toggle-on-background-color:var(--forge-icon-button-toggle-on-background-color, var(--forge-theme-primary-container, #d1d5ed));\n --_icon-button-toggle-on-icon-color:var(--forge-icon-button-toggle-on-icon-color, var(--forge-theme-primary, #3f51b5));\n --_icon-button-outlined-toggle-on-background-color:var(--forge-icon-button-outlined-toggle-on-background-color, var(--forge-theme-primary-container, #d1d5ed));\n --_icon-button-outlined-toggle-on-icon-color:var(--forge-icon-button-outlined-toggle-on-icon-color, var(--forge-theme-primary, #3f51b5));\n --_icon-button-tonal-toggle-background-color:var(--forge-icon-button-tonal-toggle-background-color, var(--forge-theme-surface-container-low, #ebebeb));\n --_icon-button-tonal-toggle-on-background-color:var(--forge-icon-button-tonal-toggle-on-background-color, var(--forge-theme-primary-container, #d1d5ed));\n --_icon-button-tonal-toggle-on-icon-color:var(--forge-icon-button-tonal-toggle-on-icon-color, var(--forge-theme-primary, #3f51b5));\n --_icon-button-filled-toggle-background-color:var(--forge-icon-button-filled-toggle-background-color, var(--forge-theme-surface-container-low, #ebebeb));\n --_icon-button-filled-toggle-icon-color:var(--forge-icon-button-filled-toggle-icon-color, var(--forge-theme-primary, #3f51b5));\n --_icon-button-filled-toggle-on-background-color:var(--forge-icon-button-filled-toggle-on-background-color, var(--forge-theme-primary, #3f51b5));\n --_icon-button-filled-toggle-on-icon-color:var(--forge-icon-button-filled-toggle-on-icon-color, var(--forge-theme-on-primary, #ffffff));\n --_icon-button-disabled-cursor:var(--forge-icon-button-disabled-cursor, not-allowed);\n --_icon-button-disabled-opacity:var(--forge-icon-button-disabled-opacity, 0.38);\n --_icon-button-popover-icon-padding:var(--forge-icon-button-popover-icon-padding, var(--forge-spacing-xsmall, 8px));\n --_icon-button-focus-indicator-color:var(--forge-icon-button-focus-indicator-color, var(--forge-theme-primary, #3f51b5));\n}\n\n.forge-icon-button {\n display: var(--_icon-button-display);\n position: relative;\n outline: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n position: relative;\n z-index: 0;\n display: var(--_icon-button-display);\n align-items: center;\n justify-content: center;\n gap: var(--_icon-button-gap);\n box-sizing: border-box;\n height: var(--_icon-button-density-large-size);\n min-width: var(--_icon-button-density-large-size);\n border: var(--_icon-button-border);\n border-start-start-radius: var(--_icon-button-shape-start-start);\n border-start-end-radius: var(--_icon-button-shape-start-end);\n border-end-start-radius: var(--_icon-button-shape-end-start);\n border-end-end-radius: var(--_icon-button-shape-end-end);\n padding: var(--_icon-button-padding);\n box-shadow: var(--_icon-button-shadow);\n color: var(--_icon-button-icon-color);\n background: var(--_icon-button-background-color);\n font-size: var(--_icon-button-icon-size);\n cursor: var(--_icon-button-cursor);\n user-select: none;\n transition-property: box-shadow, background;\n transition-duration: var(--_icon-button-transition-duration);\n transition-timing-function: var(--_icon-button-transition-timing);\n}\n\n.forge-icon-button img, .forge-icon-button svg {\n height: var(--_icon-button-icon-size);\n width: var(--_icon-button-icon-size);\n}\n\n.forge-icon-button svg {\n fill: currentColor;\n}\n\n.forge-icon-button:not(:disabled) {\n --_state-layer-display:var(--forge-state-layer-display, flex);\n --_state-layer-color:var(--forge-state-layer-color, var(--forge-theme-on-surface, #000000));\n --_state-layer-hover-color:var(--forge-state-layer-hover-color, var(--_state-layer-color));\n --_state-layer-hover-opacity:var(--forge-state-layer-hover-opacity, 0.08);\n --_state-layer-pressed-color:var(--forge-state-layer-pressed-color, var(--_state-layer-color));\n --_state-layer-pressed-opacity:var(--forge-state-layer-pressed-opacity, 0.12);\n --_state-layer-hover-duration:var(--forge-state-layer-hover-duration, 15ms);\n --_state-layer-pressed-duration:var(--forge-state-layer-pressed-duration, 105ms);\n --_state-layer-animation-duration:var(--forge-state-layer-animation-duration, 375ms);\n}\n\n.forge-icon-button:not(:disabled)::before {\n opacity: 0;\n position: absolute;\n backface-visibility: hidden;\n transform: translateZ(0);\n background-color: var(--_state-layer-hover-color);\n inset: 0;\n transition: opacity var(--_state-layer-hover-duration) linear, background-color var(--_state-layer-hover-duration) linear;\n --_state-layer-hover-duration:var(--forge-state-layer-hover-duration, 100ms);\n content: "";\n opacity: 0;\n border-radius: inherit;\n}\n\n.forge-icon-button:not(:disabled):hover::before {\n background-color: var(--_state-layer-hover-color);\n opacity: var(--_state-layer-hover-opacity);\n}\n\n.forge-icon-button:not(:disabled):active::before {\n opacity: var(--_state-layer-pressed-opacity);\n transition-duration: var(--_state-layer-pressed-duration);\n --_state-layer-pressed-opacity:var(--forge-state-layer-pressed-opacity, 0.18);\n}\n\n.forge-icon-button:not(:disabled) {\n --forge-state-layer-color: var(--_icon-button-icon-color);\n}\n\n@keyframes forge-focus-indicator-outward-grow {\n from {\n outline-width: 0;\n }\n to {\n outline-width: var(--_focus-indicator-active-width);\n }\n}\n@keyframes forge-focus-indicator-outward-shrink {\n from {\n outline-width: var(--_focus-indicator-active-width);\n }\n}\n@keyframes forge-focus-indicator-inward-grow {\n from {\n border-width: 0;\n }\n to {\n border-width: var(--_focus-indicator-active-width);\n }\n}\n@keyframes forge-focus-indicator-inward-shrink {\n from {\n border-width: var(--_focus-indicator-active-width);\n }\n}\n.forge-icon-button:not(:disabled) {\n outline: none;\n}\n\n.forge-icon-button:not(:disabled):focus-visible::after {\n --_focus-indicator-display:var(--forge-focus-indicator-display, flex);\n --_focus-indicator-width:var(--forge-focus-indicator-width, var(--forge-border-medium, 2px));\n --_focus-indicator-active-width:var(--forge-focus-indicator-active-width, 6px);\n --_focus-indicator-color:var(--forge-focus-indicator-color, var(--forge-theme-primary, #3f51b5));\n --_focus-indicator-shape:var(--forge-focus-indicator-shape, calc(var(--forge-shape-extra-small, 1px) * var(--forge-shape-factor, 1)));\n --_focus-indicator-duration:var(--forge-focus-indicator-duration, var(--forge-animation-duration-long4, 600ms));\n --_focus-indicator-easing:var(--forge-focus-indicator-easing, var(--forge-animation-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)));\n --_focus-indicator-shape-start-start:var(--forge-focus-indicator-shape-start-start, var(--_focus-indicator-shape));\n --_focus-indicator-shape-start-end:var(--forge-focus-indicator-shape-start-end, var(--_focus-indicator-shape));\n --_focus-indicator-shape-end-end:var(--forge-focus-indicator-shape-end-end, var(--_focus-indicator-shape));\n --_focus-indicator-shape-end-start:var(--forge-focus-indicator-shape-end-start, var(--_focus-indicator-shape));\n --_focus-indicator-outward-offset:var(--forge-focus-indicator-outward-offset, var(--forge-spacing-xxsmall, 4px));\n --_focus-indicator-inward-offset:var(--forge-focus-indicator-inward-offset, 0px);\n --_focus-indicator-offset-block:var(--forge-focus-indicator-offset-block, 0);\n --_focus-indicator-offset-inline:var(--forge-focus-indicator-offset-inline, 0);\n}\n\n.forge-icon-button:not(:disabled):focus-visible::after {\n animation-delay: 0s, calc(var(--_focus-indicator-duration) * 0.25);\n animation-duration: calc(var(--_focus-indicator-duration) * 0.25), calc(var(--_focus-indicator-duration) * 0.75);\n animation-timing-function: var(--_focus-indicator-easing);\n box-sizing: border-box;\n color: var(--_focus-indicator-color);\n display: none;\n pointer-events: none;\n position: absolute;\n margin-block: var(--_focus-indicator-offset-block);\n margin-inline: var(--_focus-indicator-offset-inline);\n animation-name: forge-focus-indicator-outward-grow, forge-focus-indicator-outward-shrink;\n border-end-end-radius: calc(var(--_focus-indicator-shape-end-end) + var(--_focus-indicator-outward-offset));\n border-end-start-radius: calc(var(--_focus-indicator-shape-end-start) + var(--_focus-indicator-outward-offset));\n border-start-end-radius: calc(var(--_focus-indicator-shape-start-end) + var(--_focus-indicator-outward-offset));\n border-start-start-radius: calc(var(--_focus-indicator-shape-start-start) + var(--_focus-indicator-outward-offset));\n inset: calc(-1 * var(--_focus-indicator-outward-offset));\n outline: var(--_focus-indicator-width) solid currentColor;\n content: "";\n display: block;\n}\n\n.forge-icon-button:not(:disabled) {\n --forge-focus-indicator-color: var(--_icon-button-focus-indicator-color);\n --forge-focus-indicator-shape: var(--_icon-button-shape);\n}\n\n.forge-icon-button:not(:disabled):where(.forge-icon-button--text, :not(:where(.forge-icon-button--outlined, .forge-icon-button--tonal, .forge-icon-button--filled, .forge-icon-button--raised))) {\n --forge-focus-indicator-outward-offset: 0px;\n}\n\n.forge-icon-button--outlined {\n border-width: var(--_icon-button-outlined-border-width);\n border-style: var(--_icon-button-outlined-border-style);\n border-color: var(--_icon-button-outlined-border-color);\n}\n\n.forge-icon-button--tonal {\n --_icon-button-icon-color:var(--_icon-button-tonal-icon-color);\n --_icon-button-background-color:var(--_icon-button-tonal-background-color);\n}\n\n.forge-icon-button--filled, .forge-icon-button--raised {\n --_icon-button-icon-color:var(--_icon-button-filled-icon-color);\n --_icon-button-background-color:var(--_icon-button-filled-background-color);\n}\n\n.forge-icon-button--raised {\n --_icon-button-shadow:var(--_icon-button-raised-shadow);\n}\n\n.forge-icon-button--raised:hover {\n --_icon-button-raised-shadow:var(--_icon-button-raised-hover-shadow);\n}\n\n.forge-icon-button--raised:active {\n --_icon-button-raised-shadow:var(--_icon-button-raised-active-shadow);\n}\n\n.forge-icon-button--squared {\n --_icon-button-shape:var(--_icon-button-shape-squared);\n}\n\n.forge-icon-button--small {\n --_icon-button-size:var(--_icon-button-density-small-size);\n --_icon-button-icon-size:var(--_icon-button-density-small-icon-size);\n --_icon-button-padding:var(--_icon-button-density-small-padding);\n}\n\n.forge-icon-button--small > * {\n font-size: var(--_icon-button-density-small-icon-size);\n}\n\n.forge-icon-button--medium {\n --_icon-button-size:var(--_icon-button-density-medium-size);\n --_icon-button-padding:var(--_icon-button-density-medium-padding);\n}\n\n.forge-icon-button:disabled {\n pointer-events: none;\n opacity: var(--_icon-button-disabled-opacity);\n pointer-events: auto;\n cursor: not-allowed;\n}\n\n.forge-icon-button forge-circular-progress {\n --forge-circular-progress-indicator-color: var(--_icon-button-icon-color);\n --forge-circular-progress-track-color: transparent;\n --forge-circular-progress-size: 1em;\n}\n\n/* prettier-ignore */\n@keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n:host {\n display: block;\n box-sizing: border-box;\n}\n\n:host(:state(empty)) {\n display: none;\n}\n\n.assistant-response {\n position: relative;\n}\n\n.text-chunk {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-family: var(--forge-typography-body1-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));\n font-size: var(--forge-typography-body1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, 0.875)));\n font-weight: var(--forge-typography-body1-font-weight, 400);\n line-height: var(--forge-typography-body1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-line-height-scale, 1.125)));\n letter-spacing: var(--forge-typography-body1-letter-spacing, 0.0357142857em);\n text-transform: var(--forge-typography-body1-text-transform, inherit);\n text-decoration: var(--forge-typography-body1-text-decoration, inherit);\n font-size: var(--forge-ai-markdown-font-size, 0.875rem);\n line-height: var(--forge-ai-markdown-line-height, 1.5rem);\n color: var(--forge-theme-on-surface, #000000);\n overflow-wrap: break-word;\n}\n.text-chunk h1,\n.text-chunk h2,\n.text-chunk h3,\n.text-chunk h4,\n.text-chunk h5,\n.text-chunk h6 {\n margin: 1.75rem 0 var(--forge-spacing-small, 12px);\n}\n.text-chunk strong {\n font-weight: 500;\n}\n.text-chunk a {\n color: var(--forge-theme-primary, #3f51b5);\n}\n.text-chunk hr {\n border: none;\n border-top: 1px solid var(--forge-theme-outline, #e0e0e0);\n}\n.text-chunk code {\n color: var(--forge-theme-on-surface-container-low, #000000);\n background-color: var(--forge-theme-surface-container-low, #ebebeb);\n border-radius: calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1));\n padding: var(--forge-spacing-xxxsmall, 2px) var(--forge-spacing-xxsmall, 4px);\n font-size: 0.75em;\n}\n.text-chunk pre {\n border: 1px solid var(--forge-theme-outline, #e0e0e0);\n border-radius: calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1));\n margin: 0;\n max-width: 100%;\n overflow-x: auto;\n}\n.text-chunk pre:focus-visible {\n outline: 2px solid var(--forge-theme-primary, #3f51b5);\n outline-offset: 2px;\n}\n.text-chunk pre code {\n display: block;\n padding: var(--forge-spacing-xsmall, 8px) var(--forge-spacing-small, 12px);\n color: var(--forge-theme-on-surface-container-minimum, #000000);\n background: var(--forge-theme-surface-container-minimum, #f5f5f5);\n white-space: pre;\n}\n.text-chunk [data-scroll-region=table] {\n max-width: 100%;\n overflow-x: auto;\n border-radius: calc(var(--forge-shape-large, 8px) * var(--forge-shape-factor, 1));\n margin-block: var(--forge-spacing-medium, 16px);\n}\n.text-chunk [data-scroll-region=table]:focus-visible {\n outline: 2px solid var(--forge-theme-primary, #3f51b5);\n outline-offset: 2px;\n}\n.text-chunk [data-scroll-region=table] table {\n margin-block: 0;\n}\n.text-chunk table {\n width: 100%;\n border-spacing: 0;\n background-color: var(--forge-theme-surface, #ffffff);\n border-radius: calc(var(--forge-shape-large, 8px) * var(--forge-shape-factor, 1));\n overflow: hidden;\n margin-block: var(--forge-spacing-medium, 16px);\n}\n.text-chunk table thead {\n color: var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6));\n font-weight: bold;\n text-align: left;\n font-size: calc(var(--forge-typography-font-size, 1rem) * 0.75);\n box-sizing: border-box;\n}\n.text-chunk table tr {\n height: 36px;\n height: 32px;\n}\n.text-chunk table tr:nth-child(even) {\n background-color: var(--forge-theme-surface-dim, #fafafa);\n}\n.text-chunk table tr:last-child td {\n border-bottom: none;\n}\n.text-chunk table th,\n.text-chunk table td {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-family: var(--forge-typography-label1-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));\n font-size: var(--forge-typography-label1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, 0.75)));\n font-weight: var(--forge-typography-label1-font-weight, 400);\n line-height: var(--forge-typography-label1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));\n letter-spacing: var(--forge-typography-label1-letter-spacing, 0.0357142857em);\n text-transform: var(--forge-typography-label1-text-transform, inherit);\n text-decoration: var(--forge-typography-label1-text-decoration, inherit);\n padding-block: var(--forge-spacing-xsmall, 8px);\n padding-inline-start: var(--forge-spacing-xsmall, 8px);\n padding-inline-end: var(--forge-spacing-medium, 16px);\n border-bottom-width: 1px;\n border-bottom-style: solid;\n border-bottom-color: var(--forge-theme-outline, #e0e0e0);\n}\n.text-chunk table th {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-family: var(--forge-typography-label2-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));\n font-size: var(--forge-typography-label2-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, 0.8125)));\n font-weight: var(--forge-typography-label2-font-weight, 400);\n line-height: var(--forge-typography-label2-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));\n letter-spacing: var(--forge-typography-label2-letter-spacing, 0.0096153846em);\n text-transform: var(--forge-typography-label2-text-transform, inherit);\n text-decoration: var(--forge-typography-label2-text-decoration, inherit);\n font-weight: 600;\n}\n.text-chunk > p:has(+ ol),\n.text-chunk > p:has(+ ul) {\n margin-block-end: var(--forge-spacing-small, 12px);\n}\n.text-chunk > ul {\n list-style-type: disc;\n padding-inline-start: 1.6875rem;\n}\n.text-chunk > ol {\n padding-inline-start: 1.75rem;\n}\n.text-chunk > ol,\n.text-chunk > ul {\n margin: var(--forge-spacing-xsmall, 8px) 0;\n margin-block-end: var(--forge-spacing-medium, 16px);\n}\n.text-chunk > :first-child {\n margin-block-start: 0;\n}\n.text-chunk > p {\n margin-block-end: var(--forge-spacing-medium, 16px);\n overflow-wrap: anywhere;\n}\n.text-chunk > p:first-child {\n margin-block-start: 0;\n}\n.text-chunk > p:last-child {\n margin-block-end: 0;\n}\n\n.thinking-indicator {\n margin-block-start: var(--forge-spacing-xsmall, 8px);\n}\n\nforge-ai-tool-call-indicator + .thinking-indicator {\n margin-block-start: 0;\n}\n\n.toolbar-container {\n position: absolute;\n bottom: -28px;\n transition: opacity 200ms ease-in-out, transform 200ms ease-in-out;\n display: flex;\n align-items: center;\n gap: var(--forge-spacing-xxsmall, 4px);\n opacity: 0;\n transform: translateY(-8px);\n pointer-events: none;\n z-index: 1;\n left: 0;\n}\n\n.assistant-response[data-complete]:hover .toolbar-container,\n.assistant-response[data-complete] .toolbar-container:focus-within {\n opacity: 1;\n transform: translateY(0);\n pointer-events: auto;\n}\n\n:host(:not(:last-of-type)) .assistant-response[data-complete]::after {\n content: "";\n position: absolute;\n bottom: -40px;\n left: 0;\n right: 0;\n height: 40px;\n}\n\n:host(:last-of-type) .assistant-response[data-complete] .toolbar-container {\n opacity: 1;\n transform: translateY(0);\n pointer-events: auto;\n}\n\n.debug-button {\n color: var(--forge-theme-on-error-container-low, #5f0011);\n --forge-icon-button-focus-indicator-color: var(--forge-theme-error, #b00020);\n --forge-icon-button-tonal-background-color: var(--forge-theme-error-container-low, #f6e0e4);\n}';
|
|
2
2
|
export {
|
|
3
3
|
styles as default
|
|
4
4
|
};
|
|
@@ -15,7 +15,7 @@ let ThoughtDetailComponent = class extends LitElement {
|
|
|
15
15
|
render() {
|
|
16
16
|
return html`
|
|
17
17
|
<forge-ai-thought-base>
|
|
18
|
-
<svg slot="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon">
|
|
18
|
+
<svg slot="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon" aria-hidden="true">
|
|
19
19
|
<path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4" />
|
|
20
20
|
</svg>
|
|
21
21
|
<slot slot="title" name="title"></slot>
|
|
@@ -18,7 +18,7 @@ let ThoughtImageComponent = class extends LitElement {
|
|
|
18
18
|
render() {
|
|
19
19
|
return html`
|
|
20
20
|
<forge-ai-thought-base step=${ifDefined(this.step)}>
|
|
21
|
-
<svg slot="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon">
|
|
21
|
+
<svg slot="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon" aria-hidden="true">
|
|
22
22
|
<path
|
|
23
23
|
d="M19 19H5V5h14m0-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2m-5.04 9.29-2.75 3.54-1.96-2.36L6.5 17h11z" />
|
|
24
24
|
</svg>
|
|
@@ -22,7 +22,7 @@ let ThoughtSearchResultComponent = class extends LitElement {
|
|
|
22
22
|
render() {
|
|
23
23
|
return html`
|
|
24
24
|
<forge-ai-thought-base step=${ifDefined(this.step)}>
|
|
25
|
-
<svg slot="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon">
|
|
25
|
+
<svg slot="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon" aria-hidden="true">
|
|
26
26
|
<path fill="none" d="M0 0h24v24H0z" />
|
|
27
27
|
<path
|
|
28
28
|
d="M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14" />
|
|
@@ -34,7 +34,7 @@ let ThoughtSearchResultComponent = class extends LitElement {
|
|
|
34
34
|
(source) => html`
|
|
35
35
|
<a href="${source.href}" class="source" target="_blank" rel="noopener noreferrer">
|
|
36
36
|
<span>${source.title}</span>
|
|
37
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon">
|
|
37
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon" aria-hidden="true">
|
|
38
38
|
<path
|
|
39
39
|
d="M14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3m-2 16H5V5h7V3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7h-2z" />
|
|
40
40
|
</svg>
|
|
@@ -67,7 +67,7 @@ let AiChatHeaderComponent = class extends LitElement {
|
|
|
67
67
|
@click=${__privateMethod(this, _AiChatHeaderComponent_instances, handleConversationsToggle_fn)}
|
|
68
68
|
aria-label="Toggle conversations panel"
|
|
69
69
|
class="conversations-button forge-icon-button forge-icon-button--medium ai-icon-button">
|
|
70
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
70
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
|
|
71
71
|
<path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z" />
|
|
72
72
|
</svg>
|
|
73
73
|
</button>
|
|
@@ -90,13 +90,13 @@ let AiChatHeaderComponent = class extends LitElement {
|
|
|
90
90
|
${when(
|
|
91
91
|
this.minimizeIcon === "default",
|
|
92
92
|
() => html`
|
|
93
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
93
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
|
|
94
94
|
<path fill="none" d="M0 0h24v24H0z" />
|
|
95
95
|
<path d="M6 19h12v2H6z" />
|
|
96
96
|
</svg>
|
|
97
97
|
`,
|
|
98
98
|
() => html`
|
|
99
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
99
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
|
|
100
100
|
<defs>
|
|
101
101
|
<style>
|
|
102
102
|
.cls-1 {
|
|
@@ -134,12 +134,12 @@ let AiChatHeaderComponent = class extends LitElement {
|
|
|
134
134
|
${when(
|
|
135
135
|
this.expanded,
|
|
136
136
|
() => html`
|
|
137
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
137
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
|
|
138
138
|
<path d="M14 14h5v2h-3v3h-2zm-9 0h5v5H8v-3H5zm3-9h2v5H5V8h3zm11 3v2h-5V5h2v3z" />
|
|
139
139
|
</svg>
|
|
140
140
|
`,
|
|
141
141
|
() => html`
|
|
142
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
142
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
|
|
143
143
|
<path d="M5 5h5v2H7v3H5zm9 0h5v5h-2V7h-3zm3 9h2v5h-5v-2h3zm-7 3v2H5v-5h2v3z" />
|
|
144
144
|
</svg>
|
|
145
145
|
`
|
|
@@ -157,11 +157,13 @@ let AiChatHeaderComponent = class extends LitElement {
|
|
|
157
157
|
variant="icon-button"
|
|
158
158
|
popover-placement="bottom-end"
|
|
159
159
|
selection-mode="none"
|
|
160
|
+
trigger-label="More options"
|
|
160
161
|
@forge-ai-dropdown-menu-change=${__privateMethod(this, _AiChatHeaderComponent_instances, handleDropdownChange_fn)}>
|
|
161
162
|
<svg
|
|
162
163
|
slot="trigger-content"
|
|
163
164
|
xmlns="http://www.w3.org/2000/svg"
|
|
164
165
|
viewBox="0 0 24 24"
|
|
166
|
+
aria-hidden="true"
|
|
165
167
|
class="forge-icon ai-icon-button">
|
|
166
168
|
<path fill="none" d="M0 0h24v24H0z" />
|
|
167
169
|
<path
|
|
@@ -171,7 +173,12 @@ let AiChatHeaderComponent = class extends LitElement {
|
|
|
171
173
|
this.exportOption === "enabled",
|
|
172
174
|
() => html`
|
|
173
175
|
<forge-ai-dropdown-menu-item value="export">
|
|
174
|
-
<svg
|
|
176
|
+
<svg
|
|
177
|
+
slot="start"
|
|
178
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
179
|
+
viewBox="0 0 24 24"
|
|
180
|
+
class="forge-icon"
|
|
181
|
+
aria-hidden="true">
|
|
175
182
|
<path d="m15.61 8.92 1.41-1.41-5-5-5 5 1.41 1.41 2.59-2.58v9.67h2V6.34z" />
|
|
176
183
|
<path d="M19.05 14.06V19h-14v-4.94h-2V19a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-4.94z" />
|
|
177
184
|
</svg>
|
|
@@ -183,7 +190,12 @@ let AiChatHeaderComponent = class extends LitElement {
|
|
|
183
190
|
this.agentInfo,
|
|
184
191
|
() => html`
|
|
185
192
|
<forge-ai-dropdown-menu-item value="info">
|
|
186
|
-
<svg
|
|
193
|
+
<svg
|
|
194
|
+
slot="start"
|
|
195
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
196
|
+
viewBox="0 0 24 24"
|
|
197
|
+
class="forge-icon"
|
|
198
|
+
aria-hidden="true">
|
|
187
199
|
<path fill="none" d="M0 0h24v24H0z" />
|
|
188
200
|
<path
|
|
189
201
|
d="M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8" />
|
|
@@ -200,7 +212,12 @@ let AiChatHeaderComponent = class extends LitElement {
|
|
|
200
212
|
this.clearOption === "enabled",
|
|
201
213
|
() => html`
|
|
202
214
|
<forge-ai-dropdown-menu-item value="clear-chat">
|
|
203
|
-
<svg
|
|
215
|
+
<svg
|
|
216
|
+
slot="start"
|
|
217
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
218
|
+
viewBox="0 0 24 24"
|
|
219
|
+
class="forge-icon"
|
|
220
|
+
aria-hidden="true">
|
|
204
221
|
<path d="M6 19a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7H6zM8 9h8v10H8zm7.5-5-1-1h-5l-1 1H5v2h14V4z" />
|
|
205
222
|
</svg>
|
|
206
223
|
<span>Clear chat</span>
|
|
@@ -215,7 +232,7 @@ let AiChatHeaderComponent = class extends LitElement {
|
|
|
215
232
|
${when(
|
|
216
233
|
this.agentInfo,
|
|
217
234
|
() => html`
|
|
218
|
-
<forge-ai-modal ${ref(__privateGet(this, _agentInfoModalRef))}>
|
|
235
|
+
<forge-ai-modal ${ref(__privateGet(this, _agentInfoModalRef))} label="Agent Information">
|
|
219
236
|
<div class="forge-scaffold">
|
|
220
237
|
<div class="forge-scaffold__header">
|
|
221
238
|
<div class="forge-toolbar">
|
|
@@ -225,7 +242,7 @@ let AiChatHeaderComponent = class extends LitElement {
|
|
|
225
242
|
class="forge-icon-button forge-icon-button--medium ai-icon-button close-button"
|
|
226
243
|
@click=${__privateMethod(this, _AiChatHeaderComponent_instances, handleModalClose_fn)}
|
|
227
244
|
aria-label="Close agent information dialog">
|
|
228
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
245
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
|
|
229
246
|
<path fill="none" d="M0 0h24v24H0z" />
|
|
230
247
|
<path
|
|
231
248
|
d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" />
|
|
@@ -323,7 +323,7 @@ threadName_get = function() {
|
|
|
323
323
|
return html`
|
|
324
324
|
<div class="thread-name" slot="thread-name">
|
|
325
325
|
<div class="thread-name__separator">
|
|
326
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon">
|
|
326
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon" aria-hidden="true">
|
|
327
327
|
<path d="m7 21 7.9-18H17L9.1 21z" />
|
|
328
328
|
</svg>
|
|
329
329
|
</div>
|
|
@@ -378,7 +378,12 @@ threadActionsMenu_get = function() {
|
|
|
378
378
|
?show-delete=${this.showThreadDelete}
|
|
379
379
|
@forge-ai-thread-actions-menu-rename=${__privateMethod(this, _AiChatbotLauncherComponent_instances, handleThreadRename_fn)}
|
|
380
380
|
@forge-ai-thread-actions-menu-delete-click=${__privateMethod(this, _AiChatbotLauncherComponent_instances, handleThreadDelete_fn)}>
|
|
381
|
-
<svg
|
|
381
|
+
<svg
|
|
382
|
+
slot="trigger-icon"
|
|
383
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
384
|
+
viewBox="0 0 24 24"
|
|
385
|
+
class="forge-icon"
|
|
386
|
+
aria-hidden="true">
|
|
382
387
|
<path fill="none" d="M0 0h24v24H0z" />
|
|
383
388
|
<path d="m7 10 5 5 5-5z" />
|
|
384
389
|
</svg>
|