@tylertech/forge-ai 0.4.0 → 0.5.0
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 +4691 -637
- package/dist/ai-actions-toolbar/ai-actions-toolbar.d.ts +24 -1
- package/dist/ai-actions-toolbar/ai-actions-toolbar.mjs +171 -42
- package/dist/ai-actions-toolbar/ai-actions-toolbar.scss.mjs +1 -1
- package/dist/ai-agent-info/ai-agent-info.d.ts +29 -0
- package/dist/ai-agent-info/ai-agent-info.mjs +123 -0
- package/dist/ai-agent-info/ai-agent-info.scss.mjs +4 -0
- package/dist/ai-agent-info/index.d.ts +1 -0
- package/dist/ai-agent-info/index.mjs +5 -0
- package/dist/ai-artifact/ai-artifact.scss.mjs +1 -1
- package/dist/ai-attachment/ai-attachment.d.ts +39 -0
- package/dist/ai-attachment/ai-attachment.mjs +130 -0
- package/dist/ai-attachment/ai-attachment.scss.mjs +4 -0
- package/dist/ai-attachment/index.d.ts +1 -0
- package/dist/ai-attachment/index.mjs +5 -0
- package/dist/ai-button/ai-button.mjs +1 -0
- package/dist/ai-button/ai-button.scss.mjs +1 -1
- package/dist/ai-chain-of-thought/thought-base/thought-base.scss.mjs +1 -1
- package/dist/ai-chat-header/ai-chat-header.d.ts +35 -17
- package/dist/ai-chat-header/ai-chat-header.mjs +130 -30
- package/dist/ai-chat-header/ai-chat-header.scss.mjs +1 -1
- package/dist/ai-chat-header/index.d.ts +1 -0
- package/dist/ai-chat-interface/ai-chat-interface.d.ts +2 -4
- package/dist/ai-chat-interface/ai-chat-interface.mjs +24 -28
- package/dist/ai-chat-interface/ai-chat-interface.scss.mjs +1 -1
- package/dist/ai-chatbot/ag-ui-adapter.d.ts +22 -0
- package/dist/ai-chatbot/ag-ui-adapter.mjs +331 -0
- package/dist/ai-chatbot/agent-adapter.d.ts +125 -0
- package/dist/ai-chatbot/agent-adapter.mjs +136 -0
- package/dist/ai-chatbot/agent-runner.d.ts +41 -0
- package/dist/ai-chatbot/agent-runner.mjs +264 -0
- package/dist/ai-chatbot/ai-chatbot-tool-call.d.ts +21 -0
- package/dist/ai-chatbot/ai-chatbot-tool-call.mjs +189 -0
- package/dist/ai-chatbot/ai-chatbot-tool-call.scss.mjs +4 -0
- package/dist/ai-chatbot/ai-chatbot.d.ts +133 -0
- package/dist/ai-chatbot/ai-chatbot.mjs +755 -0
- package/dist/ai-chatbot/ai-chatbot.scss.mjs +4 -0
- package/dist/ai-chatbot/create-tool-renderer.d.ts +12 -0
- package/dist/ai-chatbot/create-tool-renderer.mjs +28 -0
- package/dist/ai-chatbot/event-emitter.d.ts +43 -0
- package/dist/ai-chatbot/event-emitter.mjs +81 -0
- package/dist/ai-chatbot/file-upload-manager.d.ts +27 -0
- package/dist/ai-chatbot/file-upload-manager.mjs +106 -0
- package/dist/ai-chatbot/http-agent-with-credentials.d.ts +8 -0
- package/dist/ai-chatbot/http-agent-with-credentials.mjs +14 -0
- package/dist/ai-chatbot/index.d.ts +15 -0
- package/dist/ai-chatbot/index.mjs +30 -0
- package/dist/ai-chatbot/markdown-stream-controller.d.ts +13 -0
- package/dist/ai-chatbot/markdown-stream-controller.mjs +49 -0
- package/dist/ai-chatbot/message-state-controller.d.ts +45 -0
- package/dist/ai-chatbot/message-state-controller.mjs +168 -0
- package/dist/ai-chatbot/types.d.ts +120 -0
- package/dist/ai-chatbot/utils.d.ts +12 -0
- package/dist/ai-chatbot/utils.mjs +31 -0
- package/dist/ai-confirmation-prompt/ai-confirmation-prompt.d.ts +28 -0
- package/dist/ai-confirmation-prompt/ai-confirmation-prompt.mjs +89 -0
- package/dist/ai-confirmation-prompt/ai-confirmation-prompt.scss.mjs +4 -0
- package/dist/ai-confirmation-prompt/index.d.ts +1 -0
- package/dist/ai-confirmation-prompt/index.mjs +5 -0
- package/dist/ai-dialog/ai-dialog.scss.mjs +1 -1
- package/dist/ai-dropdown-menu/ai-dropdown-menu-item.d.ts +0 -6
- package/dist/ai-dropdown-menu/ai-dropdown-menu-item.mjs +3 -16
- package/dist/ai-dropdown-menu/ai-dropdown-menu-item.scss.mjs +1 -1
- package/dist/ai-dropdown-menu/ai-dropdown-menu.d.ts +6 -0
- package/dist/ai-dropdown-menu/ai-dropdown-menu.mjs +6 -2
- package/dist/ai-dropdown-menu/ai-dropdown-menu.scss.mjs +1 -1
- package/dist/ai-embedded-chat/ai-embedded-chat.d.ts +18 -5
- package/dist/ai-embedded-chat/ai-embedded-chat.mjs +43 -18
- package/dist/ai-empty-state/ai-empty-state.d.ts +4 -2
- package/dist/ai-empty-state/ai-empty-state.mjs +237 -57
- package/dist/ai-empty-state/ai-empty-state.scss.mjs +1 -1
- package/dist/ai-error-message/ai-error-message.d.ts +19 -0
- package/dist/ai-error-message/ai-error-message.mjs +44 -0
- package/dist/ai-error-message/ai-error-message.scss.mjs +4 -0
- package/dist/ai-error-message/index.d.ts +1 -0
- package/dist/ai-error-message/index.mjs +5 -0
- package/dist/ai-fab/ai-fab.scss.mjs +1 -1
- package/dist/ai-file-picker/ai-file-picker.d.ts +20 -1
- package/dist/ai-file-picker/ai-file-picker.mjs +67 -20
- package/dist/ai-file-picker/ai-file-picker.scss.mjs +1 -1
- package/dist/ai-file-picker/index.d.ts +1 -1
- package/dist/ai-floating-chat/ai-floating-chat.d.ts +5 -30
- package/dist/ai-floating-chat/ai-floating-chat.mjs +19 -42
- package/dist/ai-message-thread/ai-message-thread.d.ts +58 -0
- package/dist/ai-message-thread/ai-message-thread.mjs +224 -0
- package/dist/ai-message-thread/ai-message-thread.scss.mjs +4 -0
- package/dist/ai-message-thread/index.d.ts +2 -0
- package/dist/ai-message-thread/index.mjs +5 -0
- package/dist/ai-modal/ai-modal.d.ts +6 -0
- package/dist/ai-modal/ai-modal.mjs +31 -14
- package/dist/ai-modal/ai-modal.scss.mjs +1 -1
- package/dist/ai-prompt/ai-prompt.mjs +3 -6
- package/dist/ai-prompt/ai-prompt.scss.mjs +1 -1
- package/dist/ai-prompt/prompt-button/prompt-button.scss.mjs +1 -1
- package/dist/ai-response-message/ai-response-message.d.ts +12 -21
- package/dist/ai-response-message/ai-response-message.mjs +32 -89
- package/dist/ai-response-message/ai-response-message.scss.mjs +1 -1
- package/dist/ai-sidebar/ai-sidebar.mjs +1 -1
- package/dist/ai-sidebar-chat/ai-sidebar-chat.d.ts +5 -29
- package/dist/ai-sidebar-chat/ai-sidebar-chat.mjs +23 -43
- package/dist/ai-spinner/ai-spinner.d.ts +24 -0
- package/dist/ai-spinner/ai-spinner.mjs +41 -0
- package/dist/ai-spinner/ai-spinner.scss.mjs +4 -0
- package/dist/ai-spinner/index.d.ts +1 -0
- package/dist/ai-spinner/index.mjs +5 -0
- package/dist/ai-suggestions/ai-suggestions.d.ts +2 -0
- package/dist/ai-suggestions/ai-suggestions.mjs +66 -7
- package/dist/ai-suggestions/ai-suggestions.scss.mjs +1 -1
- package/dist/ai-suggestions/index.d.ts +2 -1
- package/dist/ai-thinking-indicator/ai-thinking-indicator.d.ts +3 -1
- package/dist/ai-thinking-indicator/ai-thinking-indicator.mjs +83 -3
- package/dist/ai-thinking-indicator/ai-thinking-indicator.scss.mjs +317 -1
- package/dist/ai-threads/ai-threads.d.ts +9 -4
- package/dist/ai-threads/ai-threads.mjs +21 -41
- package/dist/ai-threads/ai-threads.scss.mjs +1 -1
- package/dist/ai-user-message/ai-user-message.scss.mjs +1 -1
- package/dist/ai-voice-input/ai-voice-input.scss.mjs +1 -1
- package/dist/core/drag-controller.mjs +3 -0
- package/dist/core/overlay/overlay.d.ts +10 -0
- package/dist/core/overlay/overlay.mjs +24 -4
- package/dist/core/popover/popover.d.ts +17 -7
- package/dist/core/popover/popover.mjs +17 -3
- package/dist/core/popover/popover.scss.mjs +1 -1
- package/dist/core/tooltip/tooltip.d.ts +8 -7
- package/dist/core/tooltip/tooltip.mjs +45 -16
- package/dist/core/tooltip/tooltip.scss.mjs +1 -1
- package/dist/index.d.ts +10 -4
- package/dist/index.mjs +52 -9
- package/package.json +64 -60
|
@@ -45,6 +45,16 @@ export declare class ForgeAiOverlayComponent extends LitElement {
|
|
|
45
45
|
* Whether the overlay is open.
|
|
46
46
|
*/
|
|
47
47
|
open: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* The arrow element to position relative to the overlay.
|
|
50
|
+
*/
|
|
51
|
+
arrowElement: HTMLElement | null;
|
|
52
|
+
/**
|
|
53
|
+
* The dismiss mode for the overlay.
|
|
54
|
+
* - 'auto': Automatically closes on outside clicks and Escape key
|
|
55
|
+
* - 'manual': Requires manual control to close
|
|
56
|
+
*/
|
|
57
|
+
dismissMode: 'auto' | 'manual';
|
|
48
58
|
private _overlayElement;
|
|
49
59
|
private _cleanupAutoUpdate;
|
|
50
60
|
disconnectedCallback(): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { flip, shift, autoUpdate, computePosition } from "@floating-ui/dom";
|
|
1
|
+
import { flip, shift, arrow, autoUpdate, computePosition } from "@floating-ui/dom";
|
|
2
2
|
import { unsafeCSS, LitElement, html } from "lit";
|
|
3
3
|
import { property, customElement } from "lit/decorators.js";
|
|
4
4
|
import styles from "./overlay.scss.mjs";
|
|
@@ -20,6 +20,8 @@ let ForgeAiOverlayComponent = class extends LitElement {
|
|
|
20
20
|
this.flip = true;
|
|
21
21
|
this.shift = false;
|
|
22
22
|
this.open = false;
|
|
23
|
+
this.arrowElement = null;
|
|
24
|
+
this.dismissMode = "auto";
|
|
23
25
|
this._overlayElement = null;
|
|
24
26
|
this._cleanupAutoUpdate = null;
|
|
25
27
|
this._onToggle = (event) => {
|
|
@@ -45,7 +47,7 @@ let ForgeAiOverlayComponent = class extends LitElement {
|
|
|
45
47
|
if (changedProperties.has("open")) {
|
|
46
48
|
this._handleOpenChange();
|
|
47
49
|
}
|
|
48
|
-
if (changedProperties.has("anchor") || changedProperties.has("placement") || changedProperties.has("flip") || changedProperties.has("shift")) {
|
|
50
|
+
if (changedProperties.has("anchor") || changedProperties.has("placement") || changedProperties.has("flip") || changedProperties.has("shift") || changedProperties.has("arrowElement")) {
|
|
49
51
|
if (this.open && this._overlayElement && this.anchor) {
|
|
50
52
|
this._updatePosition();
|
|
51
53
|
}
|
|
@@ -79,7 +81,11 @@ let ForgeAiOverlayComponent = class extends LitElement {
|
|
|
79
81
|
return;
|
|
80
82
|
}
|
|
81
83
|
this._cleanup();
|
|
82
|
-
const middleware = [
|
|
84
|
+
const middleware = [
|
|
85
|
+
...this.flip ? [flip()] : [],
|
|
86
|
+
...this.shift ? [shift({ padding: 8 })] : [],
|
|
87
|
+
...this.arrowElement ? [arrow({ element: this.arrowElement, padding: 8 })] : []
|
|
88
|
+
];
|
|
83
89
|
this._cleanupAutoUpdate = autoUpdate(this.anchor, this._overlayElement, () => this._computePosition(middleware));
|
|
84
90
|
}
|
|
85
91
|
async _computePosition(middleware) {
|
|
@@ -89,6 +95,7 @@ let ForgeAiOverlayComponent = class extends LitElement {
|
|
|
89
95
|
try {
|
|
90
96
|
const result = await computePosition(this.anchor, this._overlayElement, {
|
|
91
97
|
placement: this.placement,
|
|
98
|
+
strategy: "fixed",
|
|
92
99
|
middleware
|
|
93
100
|
});
|
|
94
101
|
Object.assign(this._overlayElement.style, {
|
|
@@ -97,6 +104,13 @@ let ForgeAiOverlayComponent = class extends LitElement {
|
|
|
97
104
|
translate: `${this._roundByDPR(result.x)}px ${this._roundByDPR(result.y)}px`
|
|
98
105
|
});
|
|
99
106
|
this.setAttribute("data-position-placement", result.placement);
|
|
107
|
+
if (this.arrowElement && result.middlewareData.arrow) {
|
|
108
|
+
const { x, y } = result.middlewareData.arrow;
|
|
109
|
+
Object.assign(this.arrowElement.style, {
|
|
110
|
+
left: x != null ? `${x}px` : "",
|
|
111
|
+
top: y != null ? `${y}px` : ""
|
|
112
|
+
});
|
|
113
|
+
}
|
|
100
114
|
} catch (error) {
|
|
101
115
|
console.error("Failed to compute overlay position:", error);
|
|
102
116
|
}
|
|
@@ -112,7 +126,7 @@ let ForgeAiOverlayComponent = class extends LitElement {
|
|
|
112
126
|
}
|
|
113
127
|
render() {
|
|
114
128
|
return html`
|
|
115
|
-
<div class="ai-overlay" popover
|
|
129
|
+
<div class="ai-overlay" popover=${this.dismissMode} @toggle=${this._onToggle}>
|
|
116
130
|
<slot></slot>
|
|
117
131
|
</div>
|
|
118
132
|
`;
|
|
@@ -134,6 +148,12 @@ __decorateClass([
|
|
|
134
148
|
__decorateClass([
|
|
135
149
|
property({ type: Boolean, reflect: true })
|
|
136
150
|
], ForgeAiOverlayComponent.prototype, "open", 2);
|
|
151
|
+
__decorateClass([
|
|
152
|
+
property({ type: Object })
|
|
153
|
+
], ForgeAiOverlayComponent.prototype, "arrowElement", 2);
|
|
154
|
+
__decorateClass([
|
|
155
|
+
property({ attribute: "dismiss-mode" })
|
|
156
|
+
], ForgeAiOverlayComponent.prototype, "dismissMode", 2);
|
|
137
157
|
ForgeAiOverlayComponent = __decorateClass([
|
|
138
158
|
customElement("forge-ai-overlay")
|
|
139
159
|
], ForgeAiOverlayComponent);
|
|
@@ -5,13 +5,14 @@ declare global {
|
|
|
5
5
|
'forge-ai-popover': ForgeAiPopoverComponent;
|
|
6
6
|
}
|
|
7
7
|
interface HTMLElementEventMap {
|
|
8
|
-
'ai-popover-toggle': CustomEvent<
|
|
9
|
-
open: boolean;
|
|
10
|
-
newState: string;
|
|
11
|
-
oldState: string;
|
|
12
|
-
}>;
|
|
8
|
+
'forge-ai-popover-toggle': CustomEvent<PopoverToggleEventData>;
|
|
13
9
|
}
|
|
14
10
|
}
|
|
11
|
+
export interface PopoverToggleEventData {
|
|
12
|
+
open: boolean;
|
|
13
|
+
newState: string;
|
|
14
|
+
oldState: string;
|
|
15
|
+
}
|
|
15
16
|
export type PopoverPlacement = OverlayPlacement;
|
|
16
17
|
/**
|
|
17
18
|
* @summary A popover component that provides styled overlay functionality.
|
|
@@ -20,8 +21,6 @@ export type PopoverPlacement = OverlayPlacement;
|
|
|
20
21
|
* This component wraps the base overlay component with popover-specific styling
|
|
21
22
|
* including animations, shadows, and rounded corners.
|
|
22
23
|
*
|
|
23
|
-
* @since 1.2.0
|
|
24
|
-
*
|
|
25
24
|
* @cssprop --ai-popover-max-width - The maximum width of the popover.
|
|
26
25
|
* @cssprop --ai-popover-max-height - The maximum height of the popover.
|
|
27
26
|
* @cssprop --ai-popover-min-width - The minimum width of the popover.
|
|
@@ -51,6 +50,17 @@ export declare class ForgeAiPopoverComponent extends LitElement {
|
|
|
51
50
|
* Whether the popover is open.
|
|
52
51
|
*/
|
|
53
52
|
open: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Whether to show an arrow pointing to the anchor element.
|
|
55
|
+
*/
|
|
56
|
+
arrow: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* The dismiss mode for the popover.
|
|
59
|
+
* - 'auto': Automatically closes on outside clicks and Escape key
|
|
60
|
+
* - 'manual': Requires manual control to close
|
|
61
|
+
*/
|
|
62
|
+
dismissMode: 'auto' | 'manual';
|
|
63
|
+
private _arrowElement?;
|
|
54
64
|
private _onOverlayToggle;
|
|
55
65
|
render(): TemplateResult;
|
|
56
66
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { unsafeCSS, LitElement, html } from "lit";
|
|
2
|
-
import { property, customElement } from "lit/decorators.js";
|
|
2
|
+
import { property, query, customElement } from "lit/decorators.js";
|
|
3
3
|
import "../overlay/overlay.mjs";
|
|
4
4
|
import styles from "./popover.scss.mjs";
|
|
5
5
|
var __defProp = Object.defineProperty;
|
|
@@ -20,10 +20,12 @@ let ForgeAiPopoverComponent = class extends LitElement {
|
|
|
20
20
|
this.flip = false;
|
|
21
21
|
this.shift = false;
|
|
22
22
|
this.open = false;
|
|
23
|
+
this.arrow = false;
|
|
24
|
+
this.dismissMode = "auto";
|
|
23
25
|
this._onOverlayToggle = (event) => {
|
|
24
26
|
this.open = event.detail.open;
|
|
25
27
|
this.dispatchEvent(
|
|
26
|
-
new CustomEvent("ai-popover-toggle", {
|
|
28
|
+
new CustomEvent("forge-ai-popover-toggle", {
|
|
27
29
|
detail: event.detail,
|
|
28
30
|
bubbles: true,
|
|
29
31
|
composed: true
|
|
@@ -39,8 +41,11 @@ let ForgeAiPopoverComponent = class extends LitElement {
|
|
|
39
41
|
.flip=${this.flip}
|
|
40
42
|
.shift=${this.shift}
|
|
41
43
|
.open=${this.open}
|
|
42
|
-
|
|
44
|
+
.arrowElement=${this.arrow ? this._arrowElement : null}
|
|
45
|
+
.dismissMode=${this.dismissMode}
|
|
46
|
+
@forge-ai-overlay-toggle=${this._onOverlayToggle}>
|
|
43
47
|
<div class="ai-popover">
|
|
48
|
+
${this.arrow ? html`<div class="ai-popover__arrow"></div>` : null}
|
|
44
49
|
<slot></slot>
|
|
45
50
|
</div>
|
|
46
51
|
</forge-ai-overlay>
|
|
@@ -63,6 +68,15 @@ __decorateClass([
|
|
|
63
68
|
__decorateClass([
|
|
64
69
|
property({ type: Boolean, reflect: true })
|
|
65
70
|
], ForgeAiPopoverComponent.prototype, "open", 2);
|
|
71
|
+
__decorateClass([
|
|
72
|
+
property({ type: Boolean })
|
|
73
|
+
], ForgeAiPopoverComponent.prototype, "arrow", 2);
|
|
74
|
+
__decorateClass([
|
|
75
|
+
property({ attribute: "dismiss-mode" })
|
|
76
|
+
], ForgeAiPopoverComponent.prototype, "dismissMode", 2);
|
|
77
|
+
__decorateClass([
|
|
78
|
+
query(".ai-popover__arrow")
|
|
79
|
+
], ForgeAiPopoverComponent.prototype, "_arrowElement", 2);
|
|
66
80
|
ForgeAiPopoverComponent = __decorateClass([
|
|
67
81
|
customElement("forge-ai-popover")
|
|
68
82
|
], ForgeAiPopoverComponent);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const styles = '/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n:host {\n display: contents;\n overflow: visible;\n}\n\n.ai-popover {\n background: var(--forge-theme-surface-bright, #ffffff);\n border-radius: calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1));\n box-shadow: var(--forge-theme-surface-bright-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 box-sizing: border-box;\n animation-duration: 150ms;\n animation-timing-function: cubic-bezier(0, 0, 0, 1);\n animation-name: fadein, scalein;\n transform-origin: center center;\n}\n\nforge-ai-overlay[data-position-placement^=top]:not([data-position-placement*="-"]) .ai-popover {\n transform-origin: bottom center;\n}\nforge-ai-overlay[data-position-placement^=top][data-position-placement$=-start] .ai-popover {\n transform-origin: bottom left;\n}\nforge-ai-overlay[data-position-placement^=top][data-position-placement$=-end] .ai-popover {\n transform-origin: bottom right;\n}\n\nforge-ai-overlay[data-position-placement^=right]:not([data-position-placement*="-"]) .ai-popover {\n transform-origin: left center;\n}\nforge-ai-overlay[data-position-placement^=right][data-position-placement$=-start] .ai-popover {\n transform-origin: left top;\n}\nforge-ai-overlay[data-position-placement^=right][data-position-placement$=-end] .ai-popover {\n transform-origin: left bottom;\n}\n\nforge-ai-overlay[data-position-placement^=bottom]:not([data-position-placement*="-"]) .ai-popover {\n transform-origin: top center;\n}\nforge-ai-overlay[data-position-placement^=bottom][data-position-placement$=-start] .ai-popover {\n transform-origin: top left;\n}\nforge-ai-overlay[data-position-placement^=bottom][data-position-placement$=-end] .ai-popover {\n transform-origin: top right;\n}\n\nforge-ai-overlay[data-position-placement^=left]:not([data-position-placement*="-"]) .ai-popover {\n transform-origin: right center;\n}\nforge-ai-overlay[data-position-placement^=left][data-position-placement$=-start] .ai-popover {\n transform-origin: right top;\n}\nforge-ai-overlay[data-position-placement^=left][data-position-placement$=-end] .ai-popover {\n transform-origin: right bottom;\n}\n\n@keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes scalein {\n from {\n transform: scale(0.8);\n }\n to {\n transform: scale(1);\n }\n}';
|
|
1
|
+
const styles = '/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n:host {\n display: contents;\n overflow: visible;\n}\n\n.ai-popover {\n position: relative;\n background: var(--forge-theme-surface-bright, #ffffff);\n border-radius: calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1));\n box-shadow: var(--forge-theme-surface-bright-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 box-sizing: border-box;\n animation-duration: 150ms;\n animation-timing-function: cubic-bezier(0, 0, 0, 1);\n animation-name: fadein, scalein;\n transform-origin: center center;\n overflow: visible;\n}\n.ai-popover__arrow {\n position: absolute;\n width: 10px;\n height: 10px;\n background: var(--forge-theme-surface-bright, #ffffff);\n transform: rotate(45deg);\n border: 1px solid var(--forge-theme-surface-container, #e0e0e0);\n}\n\nforge-ai-overlay[data-position-placement^=top] .ai-popover:has(.ai-popover__arrow) {\n margin-block-end: var(--forge-spacing-small, 12px);\n}\n\nforge-ai-overlay[data-position-placement^=bottom] .ai-popover:has(.ai-popover__arrow) {\n margin-block-start: var(--forge-spacing-small, 12px);\n}\n\nforge-ai-overlay[data-position-placement^=left] .ai-popover:has(.ai-popover__arrow) {\n margin-inline-end: var(--forge-spacing-small, 12px);\n}\n\nforge-ai-overlay[data-position-placement^=right] .ai-popover:has(.ai-popover__arrow) {\n margin-inline-start: var(--forge-spacing-small, 12px);\n}\n\nforge-ai-overlay[data-position-placement^=top]:not([data-position-placement*="-"]) .ai-popover {\n transform-origin: bottom center;\n}\nforge-ai-overlay[data-position-placement^=top][data-position-placement$=-start] .ai-popover {\n transform-origin: bottom left;\n}\nforge-ai-overlay[data-position-placement^=top][data-position-placement$=-end] .ai-popover {\n transform-origin: bottom right;\n}\nforge-ai-overlay[data-position-placement^=top] .ai-popover__arrow {\n bottom: -6px;\n clip-path: polygon(0 100%, 100% 0, 100% 100%);\n}\n\nforge-ai-overlay[data-position-placement^=right]:not([data-position-placement*="-"]) .ai-popover {\n transform-origin: left center;\n}\nforge-ai-overlay[data-position-placement^=right][data-position-placement$=-start] .ai-popover {\n transform-origin: left top;\n}\nforge-ai-overlay[data-position-placement^=right][data-position-placement$=-end] .ai-popover {\n transform-origin: left bottom;\n}\nforge-ai-overlay[data-position-placement^=right] .ai-popover__arrow {\n left: -6px;\n clip-path: polygon(0 0, 0 100%, 100% 100%);\n}\n\nforge-ai-overlay[data-position-placement^=bottom]:not([data-position-placement*="-"]) .ai-popover {\n transform-origin: top center;\n}\nforge-ai-overlay[data-position-placement^=bottom][data-position-placement$=-start] .ai-popover {\n transform-origin: top left;\n}\nforge-ai-overlay[data-position-placement^=bottom][data-position-placement$=-end] .ai-popover {\n transform-origin: top right;\n}\nforge-ai-overlay[data-position-placement^=bottom] .ai-popover__arrow {\n top: -6px;\n clip-path: polygon(0 0, 0 100%, 100% 0);\n}\n\nforge-ai-overlay[data-position-placement^=left]:not([data-position-placement*="-"]) .ai-popover {\n transform-origin: right center;\n}\nforge-ai-overlay[data-position-placement^=left][data-position-placement$=-start] .ai-popover {\n transform-origin: right top;\n}\nforge-ai-overlay[data-position-placement^=left][data-position-placement$=-end] .ai-popover {\n transform-origin: right bottom;\n}\nforge-ai-overlay[data-position-placement^=left] .ai-popover__arrow {\n right: -6px;\n clip-path: polygon(0 0, 100% 0, 100% 100%);\n}\n\n@keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes scalein {\n from {\n transform: scale(0.8);\n }\n to {\n transform: scale(1);\n }\n}';
|
|
2
2
|
export {
|
|
3
3
|
styles as default
|
|
4
4
|
};
|
|
@@ -5,13 +5,14 @@ declare global {
|
|
|
5
5
|
'forge-ai-tooltip': ForgeAiTooltipComponent;
|
|
6
6
|
}
|
|
7
7
|
interface HTMLElementEventMap {
|
|
8
|
-
'ai-tooltip-toggle': CustomEvent<
|
|
9
|
-
open: boolean;
|
|
10
|
-
newState: string;
|
|
11
|
-
oldState: string;
|
|
12
|
-
}>;
|
|
8
|
+
'forge-ai-tooltip-toggle': CustomEvent<TooltipToggleEventDetail>;
|
|
13
9
|
}
|
|
14
10
|
}
|
|
11
|
+
export interface TooltipToggleEventDetail {
|
|
12
|
+
open: boolean;
|
|
13
|
+
newState: string;
|
|
14
|
+
oldState: string;
|
|
15
|
+
}
|
|
15
16
|
export type TooltipPlacement = OverlayPlacement;
|
|
16
17
|
export type TooltipTrigger = 'hover' | 'focus' | 'click' | 'manual';
|
|
17
18
|
/**
|
|
@@ -61,8 +62,7 @@ export declare class ForgeAiTooltipComponent extends LitElement {
|
|
|
61
62
|
*/
|
|
62
63
|
hideDelay: number;
|
|
63
64
|
private _anchorElement;
|
|
64
|
-
private
|
|
65
|
-
private _hideTimeout;
|
|
65
|
+
private _arrowElement?;
|
|
66
66
|
connectedCallback(): void;
|
|
67
67
|
disconnectedCallback(): void;
|
|
68
68
|
updated(changedProperties: Map<string | number | symbol, unknown>): void;
|
|
@@ -73,6 +73,7 @@ export declare class ForgeAiTooltipComponent extends LitElement {
|
|
|
73
73
|
private _handleShow;
|
|
74
74
|
private _handleHide;
|
|
75
75
|
private _handleToggle;
|
|
76
|
+
private _handleKeyDown;
|
|
76
77
|
private _clearTimeouts;
|
|
77
78
|
private _onOverlayToggle;
|
|
78
79
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { unsafeCSS, LitElement, html } from "lit";
|
|
2
|
-
import { property, state, customElement } from "lit/decorators.js";
|
|
2
|
+
import { property, state, query, customElement } from "lit/decorators.js";
|
|
3
3
|
import { classMap } from "lit/directives/class-map.js";
|
|
4
4
|
import "../overlay/overlay.mjs";
|
|
5
5
|
import styles from "./tooltip.scss.mjs";
|
|
@@ -20,7 +20,8 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
20
20
|
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
21
21
|
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
|
|
22
22
|
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);
|
|
23
|
-
var
|
|
23
|
+
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
24
|
+
var _showTimeout, _hideTimeout, _ForgeAiTooltipComponent_instances, tooltipContent_get;
|
|
24
25
|
let ForgeAiTooltipComponent = class extends LitElement {
|
|
25
26
|
constructor() {
|
|
26
27
|
super(...arguments);
|
|
@@ -33,14 +34,14 @@ let ForgeAiTooltipComponent = class extends LitElement {
|
|
|
33
34
|
this.delay = 500;
|
|
34
35
|
this.hideDelay = 0;
|
|
35
36
|
this._anchorElement = null;
|
|
36
|
-
this
|
|
37
|
-
this
|
|
37
|
+
__privateAdd(this, _showTimeout, null);
|
|
38
|
+
__privateAdd(this, _hideTimeout, null);
|
|
38
39
|
this._handleShow = () => {
|
|
39
40
|
this._clearTimeouts();
|
|
40
41
|
if (this.delay > 0) {
|
|
41
|
-
this
|
|
42
|
+
__privateSet(this, _showTimeout, window.setTimeout(() => {
|
|
42
43
|
this.open = true;
|
|
43
|
-
}, this.delay);
|
|
44
|
+
}, this.delay));
|
|
44
45
|
} else {
|
|
45
46
|
this.open = true;
|
|
46
47
|
}
|
|
@@ -48,9 +49,9 @@ let ForgeAiTooltipComponent = class extends LitElement {
|
|
|
48
49
|
this._handleHide = () => {
|
|
49
50
|
this._clearTimeouts();
|
|
50
51
|
if (this.hideDelay > 0) {
|
|
51
|
-
this
|
|
52
|
+
__privateSet(this, _hideTimeout, window.setTimeout(() => {
|
|
52
53
|
this.open = false;
|
|
53
|
-
}, this.hideDelay);
|
|
54
|
+
}, this.hideDelay));
|
|
54
55
|
} else {
|
|
55
56
|
this.open = false;
|
|
56
57
|
}
|
|
@@ -58,10 +59,15 @@ let ForgeAiTooltipComponent = class extends LitElement {
|
|
|
58
59
|
this._handleToggle = () => {
|
|
59
60
|
this.open = !this.open;
|
|
60
61
|
};
|
|
62
|
+
this._handleKeyDown = (event) => {
|
|
63
|
+
if (event.key === "Escape" && this.open) {
|
|
64
|
+
this.open = false;
|
|
65
|
+
}
|
|
66
|
+
};
|
|
61
67
|
this._onOverlayToggle = (event) => {
|
|
62
68
|
this.open = event.detail.open;
|
|
63
69
|
this.dispatchEvent(
|
|
64
|
-
new CustomEvent("ai-tooltip-toggle", {
|
|
70
|
+
new CustomEvent("forge-ai-tooltip-toggle", {
|
|
65
71
|
detail: event.detail,
|
|
66
72
|
bubbles: true,
|
|
67
73
|
composed: true
|
|
@@ -85,8 +91,10 @@ let ForgeAiTooltipComponent = class extends LitElement {
|
|
|
85
91
|
super.disconnectedCallback();
|
|
86
92
|
this._detachEventListeners();
|
|
87
93
|
this._clearTimeouts();
|
|
94
|
+
document.removeEventListener("keydown", this._handleKeyDown);
|
|
88
95
|
}
|
|
89
96
|
updated(changedProperties) {
|
|
97
|
+
super.updated(changedProperties);
|
|
90
98
|
if (changedProperties.has("for")) {
|
|
91
99
|
this._detachEventListeners();
|
|
92
100
|
this._findAnchorElement();
|
|
@@ -94,6 +102,17 @@ let ForgeAiTooltipComponent = class extends LitElement {
|
|
|
94
102
|
}
|
|
95
103
|
if (changedProperties.has("open")) {
|
|
96
104
|
this._updateHostAttributes();
|
|
105
|
+
if (this.open) {
|
|
106
|
+
document.addEventListener("keydown", this._handleKeyDown);
|
|
107
|
+
this.updateComplete.then(() => {
|
|
108
|
+
const overlay = this.shadowRoot?.querySelector("forge-ai-overlay");
|
|
109
|
+
if (overlay && this._arrowElement) {
|
|
110
|
+
overlay.arrowElement = this._arrowElement;
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
} else {
|
|
114
|
+
document.removeEventListener("keydown", this._handleKeyDown);
|
|
115
|
+
}
|
|
97
116
|
}
|
|
98
117
|
}
|
|
99
118
|
_findAnchorElement() {
|
|
@@ -129,6 +148,8 @@ let ForgeAiTooltipComponent = class extends LitElement {
|
|
|
129
148
|
case "hover":
|
|
130
149
|
this._anchorElement.addEventListener("mouseenter", this._handleShow);
|
|
131
150
|
this._anchorElement.addEventListener("mouseleave", this._handleHide);
|
|
151
|
+
this._anchorElement.addEventListener("focusin", this._handleShow);
|
|
152
|
+
this._anchorElement.addEventListener("focusout", this._handleHide);
|
|
132
153
|
break;
|
|
133
154
|
case "focus":
|
|
134
155
|
this._anchorElement.addEventListener("focusin", this._handleShow);
|
|
@@ -150,13 +171,13 @@ let ForgeAiTooltipComponent = class extends LitElement {
|
|
|
150
171
|
this._anchorElement.removeEventListener("click", this._handleToggle);
|
|
151
172
|
}
|
|
152
173
|
_clearTimeouts() {
|
|
153
|
-
if (this
|
|
154
|
-
clearTimeout(this
|
|
155
|
-
this
|
|
174
|
+
if (__privateGet(this, _showTimeout)) {
|
|
175
|
+
clearTimeout(__privateGet(this, _showTimeout));
|
|
176
|
+
__privateSet(this, _showTimeout, null);
|
|
156
177
|
}
|
|
157
|
-
if (this
|
|
158
|
-
clearTimeout(this
|
|
159
|
-
this
|
|
178
|
+
if (__privateGet(this, _hideTimeout)) {
|
|
179
|
+
clearTimeout(__privateGet(this, _hideTimeout));
|
|
180
|
+
__privateSet(this, _hideTimeout, null);
|
|
160
181
|
}
|
|
161
182
|
}
|
|
162
183
|
/**
|
|
@@ -193,7 +214,10 @@ let ForgeAiTooltipComponent = class extends LitElement {
|
|
|
193
214
|
shift
|
|
194
215
|
.open=${this.open}
|
|
195
216
|
@ai-overlay-toggle=${this._onOverlayToggle}>
|
|
196
|
-
<div class="ai-tooltip"
|
|
217
|
+
<div class="ai-tooltip">
|
|
218
|
+
<div class="ai-tooltip__arrow"></div>
|
|
219
|
+
${__privateGet(this, _ForgeAiTooltipComponent_instances, tooltipContent_get)}
|
|
220
|
+
</div>
|
|
197
221
|
</forge-ai-overlay>`,
|
|
198
222
|
() => html`
|
|
199
223
|
<!-- Content shown when closed for accessibility -->
|
|
@@ -203,6 +227,8 @@ let ForgeAiTooltipComponent = class extends LitElement {
|
|
|
203
227
|
`;
|
|
204
228
|
}
|
|
205
229
|
};
|
|
230
|
+
_showTimeout = /* @__PURE__ */ new WeakMap();
|
|
231
|
+
_hideTimeout = /* @__PURE__ */ new WeakMap();
|
|
206
232
|
_ForgeAiTooltipComponent_instances = /* @__PURE__ */ new WeakSet();
|
|
207
233
|
tooltipContent_get = function() {
|
|
208
234
|
const hasText = this.text.trim().length > 0;
|
|
@@ -236,6 +262,9 @@ __decorateClass([
|
|
|
236
262
|
__decorateClass([
|
|
237
263
|
state()
|
|
238
264
|
], ForgeAiTooltipComponent.prototype, "_anchorElement", 2);
|
|
265
|
+
__decorateClass([
|
|
266
|
+
query(".ai-tooltip__arrow")
|
|
267
|
+
], ForgeAiTooltipComponent.prototype, "_arrowElement", 2);
|
|
239
268
|
ForgeAiTooltipComponent = __decorateClass([
|
|
240
269
|
customElement("forge-ai-tooltip")
|
|
241
270
|
], ForgeAiTooltipComponent);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const styles = '/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/* prettier-ignore */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n@keyframes slidein {\n from {\n opacity: 0;\n transform: translateX(var(--_tooltip-slidein-x)) translateY(var(--_tooltip-slidein-y));\n }\n to {\n opacity: 1;\n transform: translateX(0) translateY(0);\n }\n}\n:host {\n display: inline-block;\n position: relative;\n}\n\n.ai-tooltip {\n --_tooltip-background: var(--forge-tooltip-background, var(--forge-theme-surface-inverse, #333333));\n --_tooltip-color: var(--forge-tooltip-color, var(--forge-theme-on-surface-inverse, #ffffff));\n --_tooltip-shape: var(--forge-tooltip-shape, calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1)));\n --_tooltip-padding: var(--forge-tooltip-padding, var(--forge-spacing-xsmall, 8px));\n --_tooltip-padding-block: var(--forge-tooltip-padding-block, var(--_tooltip-padding));\n --_tooltip-padding-inline: var(--forge-tooltip-padding-inline, var(--_tooltip-padding));\n --_tooltip-width: var(--forge-tooltip-width, max-content);\n --_tooltip-max-width: var(--forge-tooltip-max-width, 320px);\n --_tooltip-elevation: var(--forge-tooltip-elevation, var(--forge-theme-surface-bright-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 --_tooltip-content-align: var(--forge-tooltip-content-align, center);\n --_tooltip-border-width: var(--forge-tooltip-border-width, 0);\n --_tooltip-border-style: var(--forge-tooltip-border-style, solid);\n --_tooltip-border-color: var(--forge-tooltip-border-color, var(--forge-theme-outline, #e0e0e0));\n --_tooltip-animation-timing: var(--forge-tooltip-animation-timing, var(--forge-animation-easing-decelerate, cubic-bezier(0, 0, 0, 1)));\n --_tooltip-animation-duration: var(--forge-tooltip-animation-duration, var(--forge-animation-duration-short3, 150ms));\n --_tooltip-animation-offset: var(--forge-tooltip-animation-offset, 24px);\n --_tooltip-arrow-size: var(--forge-tooltip-arrow-size, 8px);\n --_tooltip-arrow-height: var(--forge-tooltip-arrow-height, var(--_tooltip-arrow-size));\n --_tooltip-arrow-width: var(--forge-tooltip-arrow-width, var(--_tooltip-arrow-size));\n --_tooltip-arrow-shape: var(--forge-tooltip-arrow-shape, calc(var(--forge-shape-small, 2px) * var(--forge-shape-factor, 1)));\n --_tooltip-arrow-rotation: var(--forge-tooltip-arrow-rotation, 0deg);\n --_tooltip-arrow-top-rotation: var(--forge-tooltip-arrow-top-rotation, 315deg);\n --_tooltip-arrow-right-rotation: var(--forge-tooltip-arrow-right-rotation, 45deg);\n --_tooltip-arrow-bottom-rotation: var(--forge-tooltip-arrow-bottom-rotation, 135deg);\n --_tooltip-arrow-left-rotation: var(--forge-tooltip-arrow-left-rotation, 225deg);\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 position: relative;\n background: var(--_tooltip-background);\n color: var(--_tooltip-color);\n border-radius: var(--_tooltip-shape);\n border-width: var(--_tooltip-border-width);\n border-style: var(--_tooltip-border-style);\n border-color: var(--_tooltip-border-color);\n padding-block: var(--_tooltip-padding-block);\n padding-inline: var(--_tooltip-padding-inline);\n box-shadow: var(--_tooltip-elevation);\n width: var(--_tooltip-width);\n max-width: var(--_tooltip-max-width);\n text-align: var(--_tooltip-content-align);\n line-height: normal;\n white-space: normal;\n animation-duration: var(--_tooltip-animation-duration);\n animation-timing-function: var(--_tooltip-animation-timing);\n animation-name: slidein;\n animation-fill-mode: forwards;\n animation-duration: 150ms;\n animation-timing-function: cubic-bezier(0, 0, 0, 1);\n animation-name: tooltip-fadein, tooltip-scalein;\n transform-origin: center center;\n}\n\nforge-ai-overlay[data-position-placement^=top]:not([data-position-placement*="-"]) .ai-tooltip {\n transform-origin: bottom center;\n}\nforge-ai-overlay[data-position-placement^=top][data-position-placement$=-start] .ai-tooltip {\n transform-origin: bottom left;\n}\nforge-ai-overlay[data-position-placement^=top][data-position-placement$=-end] .ai-tooltip {\n transform-origin: bottom right;\n}\n\nforge-ai-overlay[data-position-placement^=right]:not([data-position-placement*="-"]) .ai-tooltip {\n transform-origin: left center;\n}\nforge-ai-overlay[data-position-placement^=right][data-position-placement$=-start] .ai-tooltip {\n transform-origin: left top;\n}\nforge-ai-overlay[data-position-placement^=right][data-position-placement$=-end] .ai-tooltip {\n transform-origin: left bottom;\n}\n\nforge-ai-overlay[data-position-placement^=bottom]:not([data-position-placement*="-"]) .ai-tooltip {\n transform-origin: top center;\n}\nforge-ai-overlay[data-position-placement^=bottom][data-position-placement$=-start] .ai-tooltip {\n transform-origin: top left;\n}\nforge-ai-overlay[data-position-placement^=bottom][data-position-placement$=-end] .ai-tooltip {\n transform-origin: top right;\n}\n\nforge-ai-overlay[data-position-placement^=left]:not([data-position-placement*="-"]) .ai-tooltip {\n transform-origin: right center;\n}\nforge-ai-overlay[data-position-placement^=left][data-position-placement$=-start] .ai-tooltip {\n transform-origin: right top;\n}\nforge-ai-overlay[data-position-placement^=left][data-position-placement$=-end] .ai-tooltip {\n transform-origin: right bottom;\n}\n\n.tooltip-content--hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n}\n\n@keyframes tooltip-fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes tooltip-scalein {\n from {\n transform: scale(0.8);\n }\n to {\n transform: scale(1);\n }\n}';
|
|
1
|
+
const styles = '/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/* prettier-ignore */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n@keyframes slidein {\n from {\n opacity: 0;\n transform: translateX(var(--_tooltip-slidein-x)) translateY(var(--_tooltip-slidein-y));\n }\n to {\n opacity: 1;\n transform: translateX(0) translateY(0);\n }\n}\n:host {\n display: inline-block;\n position: relative;\n}\n\n.ai-tooltip {\n --_tooltip-background: var(--forge-tooltip-background, var(--forge-theme-surface-inverse, #333333));\n --_tooltip-color: var(--forge-tooltip-color, var(--forge-theme-on-surface-inverse, #ffffff));\n --_tooltip-shape: var(--forge-tooltip-shape, calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1)));\n --_tooltip-padding: var(--forge-tooltip-padding, var(--forge-spacing-xsmall, 8px));\n --_tooltip-padding-block: var(--forge-tooltip-padding-block, var(--_tooltip-padding));\n --_tooltip-padding-inline: var(--forge-tooltip-padding-inline, var(--_tooltip-padding));\n --_tooltip-width: var(--forge-tooltip-width, max-content);\n --_tooltip-max-width: var(--forge-tooltip-max-width, 320px);\n --_tooltip-elevation: var(--forge-tooltip-elevation, var(--forge-theme-surface-bright-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 --_tooltip-content-align: var(--forge-tooltip-content-align, center);\n --_tooltip-border-width: var(--forge-tooltip-border-width, 0);\n --_tooltip-border-style: var(--forge-tooltip-border-style, solid);\n --_tooltip-border-color: var(--forge-tooltip-border-color, var(--forge-theme-outline, #e0e0e0));\n --_tooltip-animation-timing: var(--forge-tooltip-animation-timing, var(--forge-animation-easing-decelerate, cubic-bezier(0, 0, 0, 1)));\n --_tooltip-animation-duration: var(--forge-tooltip-animation-duration, var(--forge-animation-duration-short3, 150ms));\n --_tooltip-animation-offset: var(--forge-tooltip-animation-offset, 24px);\n --_tooltip-arrow-size: var(--forge-tooltip-arrow-size, 8px);\n --_tooltip-arrow-height: var(--forge-tooltip-arrow-height, var(--_tooltip-arrow-size));\n --_tooltip-arrow-width: var(--forge-tooltip-arrow-width, var(--_tooltip-arrow-size));\n --_tooltip-arrow-shape: var(--forge-tooltip-arrow-shape, calc(var(--forge-shape-small, 2px) * var(--forge-shape-factor, 1)));\n --_tooltip-arrow-rotation: var(--forge-tooltip-arrow-rotation, 0deg);\n --_tooltip-arrow-top-rotation: var(--forge-tooltip-arrow-top-rotation, 315deg);\n --_tooltip-arrow-right-rotation: var(--forge-tooltip-arrow-right-rotation, 45deg);\n --_tooltip-arrow-bottom-rotation: var(--forge-tooltip-arrow-bottom-rotation, 135deg);\n --_tooltip-arrow-left-rotation: var(--forge-tooltip-arrow-left-rotation, 225deg);\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 position: relative;\n background: var(--_tooltip-background);\n color: var(--_tooltip-color);\n border-radius: var(--_tooltip-shape);\n border-width: var(--_tooltip-border-width);\n border-style: var(--_tooltip-border-style);\n border-color: var(--_tooltip-border-color);\n padding-block: var(--_tooltip-padding-block);\n padding-inline: var(--_tooltip-padding-inline);\n box-shadow: var(--_tooltip-elevation);\n width: var(--_tooltip-width);\n max-width: var(--_tooltip-max-width);\n text-align: var(--_tooltip-content-align);\n line-height: normal;\n white-space: normal;\n animation-duration: var(--_tooltip-animation-duration);\n animation-timing-function: var(--_tooltip-animation-timing);\n animation-name: slidein;\n animation-fill-mode: forwards;\n position: relative;\n animation-duration: 150ms;\n animation-timing-function: cubic-bezier(0, 0, 0, 1);\n animation-name: tooltip-fadein, tooltip-scalein;\n transform-origin: center center;\n}\n.ai-tooltip__arrow {\n position: absolute;\n width: 10px;\n height: 10px;\n background: var(--forge-theme-text-high, rgba(0, 0, 0, 0.87));\n transform: rotate(45deg);\n z-index: -1;\n filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));\n}\n\nforge-ai-overlay[data-position-placement^=top] .ai-tooltip {\n margin-block-end: var(--forge-spacing-small, 12px);\n}\n\nforge-ai-overlay[data-position-placement^=bottom] .ai-tooltip {\n margin-block-start: var(--forge-spacing-small, 12px);\n}\n\nforge-ai-overlay[data-position-placement^=left] .ai-tooltip {\n margin-inline-end: var(--forge-spacing-small, 12px);\n}\n\nforge-ai-overlay[data-position-placement^=right] .ai-tooltip {\n margin-inline-start: var(--forge-spacing-small, 12px);\n}\n\nforge-ai-overlay[data-position-placement^=top]:not([data-position-placement*="-"]) .ai-tooltip {\n transform-origin: bottom center;\n}\nforge-ai-overlay[data-position-placement^=top][data-position-placement$=-start] .ai-tooltip {\n transform-origin: bottom left;\n}\nforge-ai-overlay[data-position-placement^=top][data-position-placement$=-end] .ai-tooltip {\n transform-origin: bottom right;\n}\nforge-ai-overlay[data-position-placement^=top] .ai-tooltip__arrow {\n bottom: -5px;\n clip-path: polygon(0 100%, 100% 0, 100% 100%);\n}\n\nforge-ai-overlay[data-position-placement^=right]:not([data-position-placement*="-"]) .ai-tooltip {\n transform-origin: left center;\n}\nforge-ai-overlay[data-position-placement^=right][data-position-placement$=-start] .ai-tooltip {\n transform-origin: left top;\n}\nforge-ai-overlay[data-position-placement^=right][data-position-placement$=-end] .ai-tooltip {\n transform-origin: left bottom;\n}\nforge-ai-overlay[data-position-placement^=right] .ai-tooltip__arrow {\n left: -5px;\n clip-path: polygon(0 0, 0 100%, 100% 100%);\n}\n\nforge-ai-overlay[data-position-placement^=bottom]:not([data-position-placement*="-"]) .ai-tooltip {\n transform-origin: top center;\n}\nforge-ai-overlay[data-position-placement^=bottom][data-position-placement$=-start] .ai-tooltip {\n transform-origin: top left;\n}\nforge-ai-overlay[data-position-placement^=bottom][data-position-placement$=-end] .ai-tooltip {\n transform-origin: top right;\n}\nforge-ai-overlay[data-position-placement^=bottom] .ai-tooltip__arrow {\n top: -5px;\n clip-path: polygon(0 0, 0 100%, 100% 0);\n}\n\nforge-ai-overlay[data-position-placement^=left]:not([data-position-placement*="-"]) .ai-tooltip {\n transform-origin: right center;\n}\nforge-ai-overlay[data-position-placement^=left][data-position-placement$=-start] .ai-tooltip {\n transform-origin: right top;\n}\nforge-ai-overlay[data-position-placement^=left][data-position-placement$=-end] .ai-tooltip {\n transform-origin: right bottom;\n}\nforge-ai-overlay[data-position-placement^=left] .ai-tooltip__arrow {\n right: -5px;\n clip-path: polygon(0 0, 100% 0, 100% 100%);\n}\n\n.tooltip-content--hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n clip-path: inset(50%);\n white-space: nowrap;\n border: 0;\n}\n\n@keyframes tooltip-fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes tooltip-scalein {\n from {\n transform: scale(0.8);\n }\n to {\n transform: scale(1);\n }\n}';
|
|
2
2
|
export {
|
|
3
3
|
styles as default
|
|
4
4
|
};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,19 +1,24 @@
|
|
|
1
|
-
export * from './ai-artifact';
|
|
2
|
-
export * from './ai-suggestions';
|
|
3
1
|
export * from './ai-actions-toolbar';
|
|
2
|
+
export * from './ai-agent-info';
|
|
3
|
+
export * from './ai-artifact';
|
|
4
|
+
export * from './ai-attachment';
|
|
4
5
|
export * from './ai-button';
|
|
6
|
+
export * from './ai-chain-of-thought';
|
|
5
7
|
export * from './ai-chat-header';
|
|
6
8
|
export * from './ai-chat-interface';
|
|
7
|
-
export * from './ai-
|
|
8
|
-
export * from './ai-
|
|
9
|
+
export * from './ai-chatbot';
|
|
10
|
+
export * from './ai-confirmation-prompt';
|
|
9
11
|
export * from './ai-dialog';
|
|
12
|
+
export * from './ai-dropdown-menu';
|
|
10
13
|
export * from './ai-embedded-chat';
|
|
11
14
|
export * from './ai-empty-state';
|
|
15
|
+
export * from './ai-error-message';
|
|
12
16
|
export * from './ai-fab';
|
|
13
17
|
export * from './ai-file-picker';
|
|
14
18
|
export * from './ai-floating-chat';
|
|
15
19
|
export * from './ai-gradient-container';
|
|
16
20
|
export * from './ai-icon';
|
|
21
|
+
export * from './ai-message-thread';
|
|
17
22
|
export * from './ai-modal';
|
|
18
23
|
export * from './ai-prompt';
|
|
19
24
|
export * from './ai-reasoning';
|
|
@@ -22,6 +27,7 @@ export * from './ai-response-message';
|
|
|
22
27
|
export * from './ai-sidebar';
|
|
23
28
|
export * from './ai-sidebar-chat';
|
|
24
29
|
export * from './ai-suggestions';
|
|
30
|
+
export * from './ai-suggestions';
|
|
25
31
|
export * from './ai-thinking-indicator';
|
|
26
32
|
export * from './ai-threads';
|
|
27
33
|
export * from './ai-user-message';
|
package/dist/index.mjs
CHANGED
|
@@ -1,26 +1,42 @@
|
|
|
1
|
-
import { AiArtifactComponent, AiArtifactComponentTagName } from "./ai-artifact/ai-artifact.mjs";
|
|
2
|
-
import { AiSuggestionsComponent, AiSuggestionsComponentTagName } from "./ai-suggestions/ai-suggestions.mjs";
|
|
3
1
|
import { AiActionsToolbarComponent, AiActionsToolbarComponentTagName } from "./ai-actions-toolbar/ai-actions-toolbar.mjs";
|
|
2
|
+
import { AiAgentInfoComponent, AiAgentInfoComponentTagName } from "./ai-agent-info/ai-agent-info.mjs";
|
|
3
|
+
import { AiArtifactComponent, AiArtifactComponentTagName } from "./ai-artifact/ai-artifact.mjs";
|
|
4
|
+
import { AiAttachmentComponent, AiAttachmentComponentTagName } from "./ai-attachment/ai-attachment.mjs";
|
|
4
5
|
import { AiButtonComponent, AiButtonComponentTagName } from "./ai-button/ai-button.mjs";
|
|
5
|
-
import { AiChatHeaderComponent, AiChatHeaderComponentTagName } from "./ai-chat-header/ai-chat-header.mjs";
|
|
6
|
-
import { AiChatInterfaceComponent, AiChatInterfaceComponentTagName } from "./ai-chat-interface/ai-chat-interface.mjs";
|
|
7
|
-
import { ForgeAiDropdownMenuComponent } from "./ai-dropdown-menu/ai-dropdown-menu.mjs";
|
|
8
|
-
import { ForgeAiDropdownMenuItemComponent } from "./ai-dropdown-menu/ai-dropdown-menu-item.mjs";
|
|
9
|
-
import { ForgeAiDropdownMenuItemGroupComponent } from "./ai-dropdown-menu/ai-dropdown-menu-item-group.mjs";
|
|
10
|
-
import { ForgeAiDropdownMenuSeparatorComponent } from "./ai-dropdown-menu/ai-dropdown-menu-separator.mjs";
|
|
11
6
|
import { AiChainOfThoughtComponent, AiChainOfThoughtComponentTagName } from "./ai-chain-of-thought/ai-chain-of-thought.mjs";
|
|
12
7
|
import { ThoughtBaseComponent, ThoughtBaseComponentTagName } from "./ai-chain-of-thought/thought-base/thought-base.mjs";
|
|
13
8
|
import { ThoughtSearchResultComponent, ThoughtSearchResultComponentTagName } from "./ai-chain-of-thought/thought-search-result/thought-search-result.mjs";
|
|
14
9
|
import { ThoughtImageComponent, ThoughtImageComponentTagName } from "./ai-chain-of-thought/thought-image/thought-image.mjs";
|
|
15
10
|
import { ThoughtDetailComponent, ThoughtDetailComponentTagName } from "./ai-chain-of-thought/thought-detail/thought-detail.mjs";
|
|
11
|
+
import { AiChatHeaderComponent, AiChatHeaderComponentTagName } from "./ai-chat-header/ai-chat-header.mjs";
|
|
12
|
+
import { AiChatInterfaceComponent, AiChatInterfaceComponentTagName } from "./ai-chat-interface/ai-chat-interface.mjs";
|
|
13
|
+
import { AiChatbotComponent, AiChatbotComponentTagName } from "./ai-chatbot/ai-chatbot.mjs";
|
|
14
|
+
import { AiChatbotToolCallComponent, AiChatbotToolCallComponentTagName } from "./ai-chatbot/ai-chatbot-tool-call.mjs";
|
|
15
|
+
import { AgentAdapter } from "./ai-chatbot/agent-adapter.mjs";
|
|
16
|
+
import { AgUiAdapter } from "./ai-chatbot/ag-ui-adapter.mjs";
|
|
17
|
+
import { HttpAgentWithCredentials } from "./ai-chatbot/http-agent-with-credentials.mjs";
|
|
18
|
+
import { EventEmitter, SubscriptionManager } from "./ai-chatbot/event-emitter.mjs";
|
|
19
|
+
import { AgentRunner } from "./ai-chatbot/agent-runner.mjs";
|
|
20
|
+
import { createToolRenderer } from "./ai-chatbot/create-tool-renderer.mjs";
|
|
21
|
+
import { MessageStateController } from "./ai-chatbot/message-state-controller.mjs";
|
|
22
|
+
import { FileUploadManager } from "./ai-chatbot/file-upload-manager.mjs";
|
|
23
|
+
import { MarkdownStreamController } from "./ai-chatbot/markdown-stream-controller.mjs";
|
|
24
|
+
import { generateId, renderMarkdown } from "./ai-chatbot/utils.mjs";
|
|
25
|
+
import { AiConfirmationPromptComponent, AiConfirmationPromptComponentTagName } from "./ai-confirmation-prompt/ai-confirmation-prompt.mjs";
|
|
16
26
|
import { AiDialogComponent, AiDialogComponentTagName } from "./ai-dialog/ai-dialog.mjs";
|
|
27
|
+
import { ForgeAiDropdownMenuComponent } from "./ai-dropdown-menu/ai-dropdown-menu.mjs";
|
|
28
|
+
import { ForgeAiDropdownMenuItemComponent } from "./ai-dropdown-menu/ai-dropdown-menu-item.mjs";
|
|
29
|
+
import { ForgeAiDropdownMenuItemGroupComponent } from "./ai-dropdown-menu/ai-dropdown-menu-item-group.mjs";
|
|
30
|
+
import { ForgeAiDropdownMenuSeparatorComponent } from "./ai-dropdown-menu/ai-dropdown-menu-separator.mjs";
|
|
17
31
|
import { AiEmbeddedChatComponent, AiEmbeddedChatComponentTagName } from "./ai-embedded-chat/ai-embedded-chat.mjs";
|
|
18
32
|
import { AiEmptyStateComponent, AiEmptyStateComponentTagName } from "./ai-empty-state/ai-empty-state.mjs";
|
|
33
|
+
import { AiErrorMessageComponent, AiErrorMessageComponentTagName } from "./ai-error-message/ai-error-message.mjs";
|
|
19
34
|
import { AiFabComponent, AiFabComponentTagName } from "./ai-fab/ai-fab.mjs";
|
|
20
35
|
import { AiFilePickerComponent } from "./ai-file-picker/ai-file-picker.mjs";
|
|
21
36
|
import { AiFloatingChatComponent, AiFloatingChatComponentTagName } from "./ai-floating-chat/ai-floating-chat.mjs";
|
|
22
37
|
import { AiGradientContainerComponent, AiGradientContainerComponentTagName } from "./ai-gradient-container/ai-gradient-container.mjs";
|
|
23
38
|
import { AiIconComponent, AiIconComponentTagName } from "./ai-icon/ai-icon.mjs";
|
|
39
|
+
import { AiMessageThreadComponent, AiMessageThreadComponentTagName } from "./ai-message-thread/ai-message-thread.mjs";
|
|
24
40
|
import { AiModalComponent } from "./ai-modal/ai-modal.mjs";
|
|
25
41
|
import { AiPromptComponent, AiPromptComponentTagName } from "./ai-prompt/ai-prompt.mjs";
|
|
26
42
|
import { AiReasoningComponent, AiReasoningComponentTagName } from "./ai-reasoning/ai-reasoning.mjs";
|
|
@@ -29,15 +45,23 @@ import { AiReasoningHeaderComponent, AiReasoningHeaderComponentTagName } from ".
|
|
|
29
45
|
import { AiResponseMessageComponent, AiResponseMessageComponentTagName } from "./ai-response-message/ai-response-message.mjs";
|
|
30
46
|
import { AiSidebarComponent, AiSidebarComponentTagName } from "./ai-sidebar/ai-sidebar.mjs";
|
|
31
47
|
import { AiSidebarChatComponent, AiSidebarChatComponentTagName } from "./ai-sidebar-chat/ai-sidebar-chat.mjs";
|
|
48
|
+
import { AiSuggestionsComponent, AiSuggestionsComponentTagName } from "./ai-suggestions/ai-suggestions.mjs";
|
|
32
49
|
import { AiThinkingIndicatorComponent, AiThinkingIndicatorComponentTagName } from "./ai-thinking-indicator/ai-thinking-indicator.mjs";
|
|
33
50
|
import { AiThreadsComponent, AiThreadsComponentTagName } from "./ai-threads/ai-threads.mjs";
|
|
34
51
|
import { AiUserMessageComponent, AiUserMessageComponentTagName } from "./ai-user-message/ai-user-message.mjs";
|
|
35
52
|
import { AiVoiceInputComponent, AiVoiceInputComponentTagName } from "./ai-voice-input/ai-voice-input.mjs";
|
|
36
53
|
export {
|
|
54
|
+
AgUiAdapter,
|
|
55
|
+
AgentAdapter,
|
|
56
|
+
AgentRunner,
|
|
37
57
|
AiActionsToolbarComponent,
|
|
38
58
|
AiActionsToolbarComponentTagName,
|
|
59
|
+
AiAgentInfoComponent,
|
|
60
|
+
AiAgentInfoComponentTagName,
|
|
39
61
|
AiArtifactComponent,
|
|
40
62
|
AiArtifactComponentTagName,
|
|
63
|
+
AiAttachmentComponent,
|
|
64
|
+
AiAttachmentComponentTagName,
|
|
41
65
|
AiButtonComponent,
|
|
42
66
|
AiButtonComponentTagName,
|
|
43
67
|
AiChainOfThoughtComponent,
|
|
@@ -46,12 +70,20 @@ export {
|
|
|
46
70
|
AiChatHeaderComponentTagName,
|
|
47
71
|
AiChatInterfaceComponent,
|
|
48
72
|
AiChatInterfaceComponentTagName,
|
|
73
|
+
AiChatbotComponent,
|
|
74
|
+
AiChatbotComponentTagName,
|
|
75
|
+
AiChatbotToolCallComponent,
|
|
76
|
+
AiChatbotToolCallComponentTagName,
|
|
77
|
+
AiConfirmationPromptComponent,
|
|
78
|
+
AiConfirmationPromptComponentTagName,
|
|
49
79
|
AiDialogComponent,
|
|
50
80
|
AiDialogComponentTagName,
|
|
51
81
|
AiEmbeddedChatComponent,
|
|
52
82
|
AiEmbeddedChatComponentTagName,
|
|
53
83
|
AiEmptyStateComponent,
|
|
54
84
|
AiEmptyStateComponentTagName,
|
|
85
|
+
AiErrorMessageComponent,
|
|
86
|
+
AiErrorMessageComponentTagName,
|
|
55
87
|
AiFabComponent,
|
|
56
88
|
AiFabComponentTagName,
|
|
57
89
|
AiFilePickerComponent,
|
|
@@ -61,6 +93,8 @@ export {
|
|
|
61
93
|
AiGradientContainerComponentTagName,
|
|
62
94
|
AiIconComponent,
|
|
63
95
|
AiIconComponentTagName,
|
|
96
|
+
AiMessageThreadComponent,
|
|
97
|
+
AiMessageThreadComponentTagName,
|
|
64
98
|
AiModalComponent,
|
|
65
99
|
AiPromptComponent,
|
|
66
100
|
AiPromptComponentTagName,
|
|
@@ -84,12 +118,18 @@ export {
|
|
|
84
118
|
AiUserMessageComponentTagName,
|
|
85
119
|
AiVoiceInputComponent,
|
|
86
120
|
AiVoiceInputComponentTagName,
|
|
121
|
+
EventEmitter,
|
|
122
|
+
FileUploadManager,
|
|
87
123
|
ForgeAiDropdownMenuComponent,
|
|
88
124
|
ForgeAiDropdownMenuItemComponent,
|
|
89
125
|
ForgeAiDropdownMenuItemGroupComponent,
|
|
90
126
|
ForgeAiDropdownMenuSeparatorComponent,
|
|
127
|
+
HttpAgentWithCredentials,
|
|
128
|
+
MarkdownStreamController,
|
|
129
|
+
MessageStateController,
|
|
91
130
|
ReasoningContentComponent,
|
|
92
131
|
ReasoningContentComponentTagName,
|
|
132
|
+
SubscriptionManager,
|
|
93
133
|
ThoughtBaseComponent,
|
|
94
134
|
ThoughtBaseComponentTagName,
|
|
95
135
|
ThoughtDetailComponent,
|
|
@@ -97,5 +137,8 @@ export {
|
|
|
97
137
|
ThoughtImageComponent,
|
|
98
138
|
ThoughtImageComponentTagName,
|
|
99
139
|
ThoughtSearchResultComponent,
|
|
100
|
-
ThoughtSearchResultComponentTagName
|
|
140
|
+
ThoughtSearchResultComponentTagName,
|
|
141
|
+
createToolRenderer,
|
|
142
|
+
generateId,
|
|
143
|
+
renderMarkdown
|
|
101
144
|
};
|