@tylertech/forge-ai 0.1.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.
Files changed (200) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +3 -0
  3. package/custom-elements.json +4963 -0
  4. package/dist/ai-actions-toolbar/ai-actions-toolbar.d.ts +25 -0
  5. package/dist/ai-actions-toolbar/ai-actions-toolbar.mjs +74 -0
  6. package/dist/ai-actions-toolbar/ai-actions-toolbar.scss.mjs +4 -0
  7. package/dist/ai-actions-toolbar/index.d.ts +1 -0
  8. package/dist/ai-actions-toolbar/index.mjs +5 -0
  9. package/dist/ai-artifact/ai-artifact.d.ts +20 -0
  10. package/dist/ai-artifact/ai-artifact.mjs +39 -0
  11. package/dist/ai-artifact/ai-artifact.scss.mjs +4 -0
  12. package/dist/ai-artifact/index.d.ts +1 -0
  13. package/dist/ai-artifact/index.mjs +5 -0
  14. package/dist/ai-button/ai-button.d.ts +21 -0
  15. package/dist/ai-button/ai-button.mjs +67 -0
  16. package/dist/ai-button/ai-button.scss.mjs +4 -0
  17. package/dist/ai-button/index.d.ts +1 -0
  18. package/dist/ai-button/index.mjs +5 -0
  19. package/dist/ai-chain-of-thought/ai-chain-of-thought.d.ts +17 -0
  20. package/dist/ai-chain-of-thought/ai-chain-of-thought.mjs +45 -0
  21. package/dist/ai-chain-of-thought/ai-chain-of-thought.scss.mjs +4 -0
  22. package/dist/ai-chain-of-thought/index.d.ts +5 -0
  23. package/dist/ai-chain-of-thought/index.mjs +17 -0
  24. package/dist/ai-chain-of-thought/thought-base/index.d.ts +1 -0
  25. package/dist/ai-chain-of-thought/thought-base/index.mjs +5 -0
  26. package/dist/ai-chain-of-thought/thought-base/thought-base.d.ts +20 -0
  27. package/dist/ai-chain-of-thought/thought-base/thought-base.mjs +43 -0
  28. package/dist/ai-chain-of-thought/thought-base/thought-base.scss.mjs +4 -0
  29. package/dist/ai-chain-of-thought/thought-detail/index.d.ts +1 -0
  30. package/dist/ai-chain-of-thought/thought-detail/index.mjs +5 -0
  31. package/dist/ai-chain-of-thought/thought-detail/thought-detail.d.ts +14 -0
  32. package/dist/ai-chain-of-thought/thought-detail/thought-detail.mjs +34 -0
  33. package/dist/ai-chain-of-thought/thought-detail/thought-detail.scss.mjs +4 -0
  34. package/dist/ai-chain-of-thought/thought-image/index.d.ts +1 -0
  35. package/dist/ai-chain-of-thought/thought-image/index.mjs +5 -0
  36. package/dist/ai-chain-of-thought/thought-image/thought-image.d.ts +16 -0
  37. package/dist/ai-chain-of-thought/thought-image/thought-image.mjs +43 -0
  38. package/dist/ai-chain-of-thought/thought-image/thought-image.scss.mjs +4 -0
  39. package/dist/ai-chain-of-thought/thought-search-result/index.d.ts +1 -0
  40. package/dist/ai-chain-of-thought/thought-search-result/index.mjs +5 -0
  41. package/dist/ai-chain-of-thought/thought-search-result/thought-search-result.d.ts +22 -0
  42. package/dist/ai-chain-of-thought/thought-search-result/thought-search-result.mjs +62 -0
  43. package/dist/ai-chain-of-thought/thought-search-result/thought-search-result.scss.mjs +4 -0
  44. package/dist/ai-chat-header/ai-chat-header.d.ts +54 -0
  45. package/dist/ai-chat-header/ai-chat-header.mjs +198 -0
  46. package/dist/ai-chat-header/ai-chat-header.scss.mjs +4 -0
  47. package/dist/ai-chat-header/index.d.ts +1 -0
  48. package/dist/ai-chat-header/index.mjs +5 -0
  49. package/dist/ai-chat-interface/ai-chat-interface.d.ts +38 -0
  50. package/dist/ai-chat-interface/ai-chat-interface.mjs +117 -0
  51. package/dist/ai-chat-interface/ai-chat-interface.scss.mjs +4 -0
  52. package/dist/ai-chat-interface/index.d.ts +1 -0
  53. package/dist/ai-chat-interface/index.mjs +5 -0
  54. package/dist/ai-dialog/ai-dialog.d.ts +56 -0
  55. package/dist/ai-dialog/ai-dialog.mjs +270 -0
  56. package/dist/ai-dialog/ai-dialog.scss.mjs +4 -0
  57. package/dist/ai-dialog/index.d.ts +1 -0
  58. package/dist/ai-dialog/index.mjs +5 -0
  59. package/dist/ai-dropdown-menu/ai-dropdown-menu-item-group.d.ts +26 -0
  60. package/dist/ai-dropdown-menu/ai-dropdown-menu-item-group.mjs +80 -0
  61. package/dist/ai-dropdown-menu/ai-dropdown-menu-item-group.scss.mjs +4 -0
  62. package/dist/ai-dropdown-menu/ai-dropdown-menu-item.d.ts +133 -0
  63. package/dist/ai-dropdown-menu/ai-dropdown-menu-item.mjs +335 -0
  64. package/dist/ai-dropdown-menu/ai-dropdown-menu-item.scss.mjs +4 -0
  65. package/dist/ai-dropdown-menu/ai-dropdown-menu-separator.d.ts +18 -0
  66. package/dist/ai-dropdown-menu/ai-dropdown-menu-separator.mjs +26 -0
  67. package/dist/ai-dropdown-menu/ai-dropdown-menu-separator.scss.mjs +4 -0
  68. package/dist/ai-dropdown-menu/ai-dropdown-menu.d.ts +143 -0
  69. package/dist/ai-dropdown-menu/ai-dropdown-menu.mjs +327 -0
  70. package/dist/ai-dropdown-menu/ai-dropdown-menu.scss.mjs +4 -0
  71. package/dist/ai-dropdown-menu/index.d.ts +4 -0
  72. package/dist/ai-dropdown-menu/index.mjs +10 -0
  73. package/dist/ai-dropdown-menu/navigation-controller.d.ts +79 -0
  74. package/dist/ai-dropdown-menu/navigation-controller.mjs +205 -0
  75. package/dist/ai-dropdown-menu/selection-manager.d.ts +145 -0
  76. package/dist/ai-dropdown-menu/selection-manager.mjs +183 -0
  77. package/dist/ai-embedded-chat/ai-embedded-chat.d.ts +47 -0
  78. package/dist/ai-embedded-chat/ai-embedded-chat.mjs +139 -0
  79. package/dist/ai-embedded-chat/ai-embedded-chat.scss.mjs +4 -0
  80. package/dist/ai-embedded-chat/index.d.ts +1 -0
  81. package/dist/ai-embedded-chat/index.mjs +5 -0
  82. package/dist/ai-empty-state/ai-empty-state.d.ts +19 -0
  83. package/dist/ai-empty-state/ai-empty-state.mjs +136 -0
  84. package/dist/ai-empty-state/ai-empty-state.scss.mjs +4 -0
  85. package/dist/ai-empty-state/index.d.ts +1 -0
  86. package/dist/ai-empty-state/index.mjs +5 -0
  87. package/dist/ai-fab/ai-fab.d.ts +23 -0
  88. package/dist/ai-fab/ai-fab.mjs +75 -0
  89. package/dist/ai-fab/ai-fab.scss.mjs +4 -0
  90. package/dist/ai-fab/index.d.ts +1 -0
  91. package/dist/ai-fab/index.mjs +5 -0
  92. package/dist/ai-file-picker/ai-file-picker.d.ts +77 -0
  93. package/dist/ai-file-picker/ai-file-picker.mjs +176 -0
  94. package/dist/ai-file-picker/ai-file-picker.scss.mjs +4 -0
  95. package/dist/ai-file-picker/index.d.ts +1 -0
  96. package/dist/ai-file-picker/index.mjs +4 -0
  97. package/dist/ai-floating-chat/ai-floating-chat.d.ts +65 -0
  98. package/dist/ai-floating-chat/ai-floating-chat.mjs +153 -0
  99. package/dist/ai-floating-chat/ai-floating-chat.scss.mjs +4 -0
  100. package/dist/ai-floating-chat/index.d.ts +1 -0
  101. package/dist/ai-floating-chat/index.mjs +5 -0
  102. package/dist/ai-gradient-container/ai-gradient-container.d.ts +26 -0
  103. package/dist/ai-gradient-container/ai-gradient-container.mjs +61 -0
  104. package/dist/ai-gradient-container/ai-gradient-container.scss.mjs +4 -0
  105. package/dist/ai-gradient-container/index.d.ts +1 -0
  106. package/dist/ai-gradient-container/index.mjs +5 -0
  107. package/dist/ai-icon/ai-icon.d.ts +22 -0
  108. package/dist/ai-icon/ai-icon.mjs +71 -0
  109. package/dist/ai-icon/ai-icon.scss.mjs +4 -0
  110. package/dist/ai-icon/index.d.ts +1 -0
  111. package/dist/ai-icon/index.mjs +5 -0
  112. package/dist/ai-modal/ai-modal.d.ts +49 -0
  113. package/dist/ai-modal/ai-modal.mjs +132 -0
  114. package/dist/ai-modal/ai-modal.scss.mjs +4 -0
  115. package/dist/ai-modal/index.d.ts +1 -0
  116. package/dist/ai-modal/index.mjs +4 -0
  117. package/dist/ai-prompt/ai-prompt.d.ts +42 -0
  118. package/dist/ai-prompt/ai-prompt.mjs +123 -0
  119. package/dist/ai-prompt/ai-prompt.scss.mjs +4 -0
  120. package/dist/ai-prompt/index.d.ts +1 -0
  121. package/dist/ai-prompt/index.mjs +5 -0
  122. package/dist/ai-prompt/prompt-button/index.d.ts +1 -0
  123. package/dist/ai-prompt/prompt-button/index.mjs +5 -0
  124. package/dist/ai-prompt/prompt-button/prompt-button.d.ts +16 -0
  125. package/dist/ai-prompt/prompt-button/prompt-button.mjs +40 -0
  126. package/dist/ai-prompt/prompt-button/prompt-button.scss.mjs +4 -0
  127. package/dist/ai-reasoning/ai-reasoning.d.ts +17 -0
  128. package/dist/ai-reasoning/ai-reasoning.mjs +44 -0
  129. package/dist/ai-reasoning/ai-reasoning.scss.mjs +4 -0
  130. package/dist/ai-reasoning/index.d.ts +2 -0
  131. package/dist/ai-reasoning/index.mjs +8 -0
  132. package/dist/ai-reasoning/reasoning-content/index.d.ts +1 -0
  133. package/dist/ai-reasoning/reasoning-content/index.mjs +5 -0
  134. package/dist/ai-reasoning/reasoning-content/reasoning-content.d.ts +22 -0
  135. package/dist/ai-reasoning/reasoning-content/reasoning-content.mjs +90 -0
  136. package/dist/ai-reasoning/reasoning-content/reasoning-content.scss.mjs +4 -0
  137. package/dist/ai-reasoning-header/ai-reasoning-header.d.ts +24 -0
  138. package/dist/ai-reasoning-header/ai-reasoning-header.mjs +68 -0
  139. package/dist/ai-reasoning-header/ai-reasoning-header.scss.mjs +4 -0
  140. package/dist/ai-reasoning-header/index.d.ts +1 -0
  141. package/dist/ai-reasoning-header/index.mjs +5 -0
  142. package/dist/ai-response-message/ai-response-message.d.ts +40 -0
  143. package/dist/ai-response-message/ai-response-message.mjs +137 -0
  144. package/dist/ai-response-message/ai-response-message.scss.mjs +4 -0
  145. package/dist/ai-response-message/index.d.ts +1 -0
  146. package/dist/ai-response-message/index.mjs +5 -0
  147. package/dist/ai-sidebar/ai-sidebar.d.ts +44 -0
  148. package/dist/ai-sidebar/ai-sidebar.mjs +105 -0
  149. package/dist/ai-sidebar/ai-sidebar.scss.mjs +4 -0
  150. package/dist/ai-sidebar/index.d.ts +1 -0
  151. package/dist/ai-sidebar/index.mjs +5 -0
  152. package/dist/ai-sidebar-chat/ai-sidebar-chat.d.ts +64 -0
  153. package/dist/ai-sidebar-chat/ai-sidebar-chat.mjs +170 -0
  154. package/dist/ai-sidebar-chat/ai-sidebar-chat.scss.mjs +4 -0
  155. package/dist/ai-sidebar-chat/index.d.ts +1 -0
  156. package/dist/ai-sidebar-chat/index.mjs +5 -0
  157. package/dist/ai-suggestions/ai-suggestions.d.ts +39 -0
  158. package/dist/ai-suggestions/ai-suggestions.mjs +96 -0
  159. package/dist/ai-suggestions/ai-suggestions.scss.mjs +4 -0
  160. package/dist/ai-suggestions/index.d.ts +1 -0
  161. package/dist/ai-suggestions/index.mjs +5 -0
  162. package/dist/ai-threads/ai-threads.d.ts +48 -0
  163. package/dist/ai-threads/ai-threads.mjs +203 -0
  164. package/dist/ai-threads/ai-threads.scss.mjs +4 -0
  165. package/dist/ai-threads/index.d.ts +1 -0
  166. package/dist/ai-threads/index.mjs +5 -0
  167. package/dist/ai-user-message/ai-user-message.d.ts +15 -0
  168. package/dist/ai-user-message/ai-user-message.mjs +43 -0
  169. package/dist/ai-user-message/ai-user-message.scss.mjs +4 -0
  170. package/dist/ai-user-message/index.d.ts +1 -0
  171. package/dist/ai-user-message/index.mjs +5 -0
  172. package/dist/ai-voice-input/ai-voice-input.d.ts +68 -0
  173. package/dist/ai-voice-input/ai-voice-input.mjs +107 -0
  174. package/dist/ai-voice-input/ai-voice-input.scss.mjs +4 -0
  175. package/dist/ai-voice-input/index.d.ts +1 -0
  176. package/dist/ai-voice-input/index.mjs +5 -0
  177. package/dist/core/drag-controller.d.ts +66 -0
  178. package/dist/core/drag-controller.mjs +219 -0
  179. package/dist/core/index.d.ts +1 -0
  180. package/dist/core/index.mjs +4 -0
  181. package/dist/core/overlay/index.d.ts +1 -0
  182. package/dist/core/overlay/index.mjs +4 -0
  183. package/dist/core/overlay/overlay.d.ts +61 -0
  184. package/dist/core/overlay/overlay.mjs +142 -0
  185. package/dist/core/overlay/overlay.scss.mjs +4 -0
  186. package/dist/core/popover/index.d.ts +1 -0
  187. package/dist/core/popover/index.mjs +4 -0
  188. package/dist/core/popover/popover.d.ts +56 -0
  189. package/dist/core/popover/popover.mjs +71 -0
  190. package/dist/core/popover/popover.scss.mjs +4 -0
  191. package/dist/core/tooltip/index.d.ts +1 -0
  192. package/dist/core/tooltip/index.mjs +4 -0
  193. package/dist/core/tooltip/tooltip.d.ts +91 -0
  194. package/dist/core/tooltip/tooltip.mjs +243 -0
  195. package/dist/core/tooltip/tooltip.scss.mjs +4 -0
  196. package/dist/index.d.ts +27 -0
  197. package/dist/index.mjs +98 -0
  198. package/dist/utils.d.ts +14 -0
  199. package/dist/utils.mjs +22 -0
  200. package/package.json +122 -0
@@ -0,0 +1,25 @@
1
+ import { LitElement, TemplateResult } from 'lit';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'forge-ai-actions-toolbar': AiActionsToolbarComponent;
5
+ }
6
+ interface HTMLElementEventMap {
7
+ 'forge-ai-actions-toolbar-action': CustomEvent<AiActionsToolbarActionEventData>;
8
+ }
9
+ }
10
+ export interface AiActionsToolbarActionEventData {
11
+ action: AiActionsToolbarAction;
12
+ }
13
+ export type AiActionsToolbarAction = 'refresh' | 'copy' | 'thumbs-up' | 'thumbs-down';
14
+ export declare const AiActionsToolbarComponentTagName: keyof HTMLElementTagNameMap;
15
+ /**
16
+ * @tag forge-ai-actions-toolbar
17
+ *
18
+ * @event {CustomEvent<AiActionsToolbarActionEventData>} forge-ai-actions-toolbar-action - Fired when an action button is clicked. The detail contains the action type.
19
+ */
20
+ export declare class AiActionsToolbarComponent extends LitElement {
21
+ static styles: import('lit').CSSResult;
22
+ /** Emits the action event with the specified action type */
23
+ private _emitActionEvent;
24
+ render(): TemplateResult;
25
+ }
@@ -0,0 +1,74 @@
1
+ import { unsafeCSS, LitElement, html } from "lit";
2
+ import { customElement } from "lit/decorators.js";
3
+ import styles from "./ai-actions-toolbar.scss.mjs";
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __decorateClass = (decorators, target, key, kind) => {
6
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
7
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
8
+ if (decorator = decorators[i])
9
+ result = decorator(result) || result;
10
+ return result;
11
+ };
12
+ const AiActionsToolbarComponentTagName = "forge-ai-actions-toolbar";
13
+ let AiActionsToolbarComponent = class extends LitElement {
14
+ /** Emits the action event with the specified action type */
15
+ _emitActionEvent(action) {
16
+ const event = new CustomEvent("forge-ai-actions-toolbar-action", {
17
+ detail: { action },
18
+ bubbles: true,
19
+ composed: true,
20
+ cancelable: true
21
+ });
22
+ this.dispatchEvent(event);
23
+ }
24
+ render() {
25
+ return html`
26
+ <div class="actions-toolbar">
27
+ <button
28
+ aria-label="Refresh"
29
+ class="forge-icon-button forge-icon-button--small"
30
+ @click=${() => this._emitActionEvent("refresh")}>
31
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
32
+ <path
33
+ d="M17.65 6.35A7.96 7.96 0 0 0 12 4a8 8 0 0 0-8 8 8 8 0 0 0 8 8c3.73 0 6.84-2.55 7.73-6h-2.08A5.99 5.99 0 0 1 12 18a6 6 0 0 1-6-6 6 6 0 0 1 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z" />
34
+ </svg>
35
+ </button>
36
+ <button
37
+ aria-label="Copy content"
38
+ class="forge-icon-button forge-icon-button--small"
39
+ @click=${() => this._emitActionEvent("copy")}>
40
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
41
+ <path
42
+ d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12z" />
43
+ </svg>
44
+ </button>
45
+ <button
46
+ aria-label="Thumbs up"
47
+ class="forge-icon-button forge-icon-button--small"
48
+ @click=${() => this._emitActionEvent("thumbs-up")}>
49
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
50
+ <path
51
+ d="M5 9v12H1V9zm4 12a2 2 0 0 1-2-2V9c0-.55.22-1.05.59-1.41L14.17 1l1.06 1.06c.27.27.44.64.44 1.05l-.03.32L14.69 8H21a2 2 0 0 1 2 2v2c0 .26-.05.5-.14.73l-3.02 7.05C19.54 20.5 18.83 21 18 21zm0-2h9.03L21 12v-2h-8.79l1.13-5.32L9 9.03z" />
52
+ </svg>
53
+ </button>
54
+ <button
55
+ aria-label="Thumbs down"
56
+ class="forge-icon-button forge-icon-button--small"
57
+ @click=${() => this._emitActionEvent("thumbs-down")}>
58
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
59
+ <path
60
+ d="M19 15V3h4v12zM15 3a2 2 0 0 1 2 2v10c0 .55-.22 1.05-.59 1.41L9.83 23l-1.06-1.06c-.27-.27-.44-.64-.44-1.06l.03-.31.95-4.57H3a2 2 0 0 1-2-2v-2c0-.26.05-.5.14-.73l3.02-7.05C4.46 3.5 5.17 3 6 3zm0 2H5.97L3 12v2h8.78l-1.13 5.32L15 14.97z" />
61
+ </svg>
62
+ </button>
63
+ </div>
64
+ `;
65
+ }
66
+ };
67
+ AiActionsToolbarComponent.styles = unsafeCSS(styles);
68
+ AiActionsToolbarComponent = __decorateClass([
69
+ customElement(AiActionsToolbarComponentTagName)
70
+ ], AiActionsToolbarComponent);
71
+ export {
72
+ AiActionsToolbarComponent,
73
+ AiActionsToolbarComponentTagName
74
+ };
@@ -0,0 +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/* prettier-ignore */\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: transparent;\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,\n.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 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,\n: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:host {\n display: block;\n}\n\n.actions-toolbar {\n display: flex;\n align-items: center;\n gap: var(--forge-spacing-xsmall, 8px);\n}\n\n.forge-icon-button {\n --forge-icon-button-color: var(--forge-theme-text-medium);\n}';
2
+ export {
3
+ styles as default
4
+ };
@@ -0,0 +1 @@
1
+ export * from './ai-actions-toolbar';
@@ -0,0 +1,5 @@
1
+ import { AiActionsToolbarComponent, AiActionsToolbarComponentTagName } from "./ai-actions-toolbar.mjs";
2
+ export {
3
+ AiActionsToolbarComponent,
4
+ AiActionsToolbarComponentTagName
5
+ };
@@ -0,0 +1,20 @@
1
+ import { LitElement, TemplateResult } from 'lit';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'forge-ai-artifact': AiArtifactComponent;
5
+ }
6
+ }
7
+ export declare const AiArtifactComponentTagName: keyof HTMLElementTagNameMap;
8
+ /**
9
+ * @tag forge-ai-artifact
10
+ *
11
+ * @slot start - Content for the start (left) side of the toolbar, typically used for titles or headings
12
+ * @slot actions - Action buttons for the end (right) side of the toolbar
13
+ * @slot - Main content area below the toolbar
14
+ *
15
+ * @cssproperty --forge-theme-surface - Surface color override for the toolbar (defaults to transparent)
16
+ */
17
+ export declare class AiArtifactComponent extends LitElement {
18
+ static styles: import('lit').CSSResult;
19
+ render(): TemplateResult;
20
+ }
@@ -0,0 +1,39 @@
1
+ import { unsafeCSS, LitElement, html } from "lit";
2
+ import { customElement } from "lit/decorators.js";
3
+ import styles from "./ai-artifact.scss.mjs";
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __decorateClass = (decorators, target, key, kind) => {
6
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
7
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
8
+ if (decorator = decorators[i])
9
+ result = decorator(result) || result;
10
+ return result;
11
+ };
12
+ const AiArtifactComponentTagName = "forge-ai-artifact";
13
+ let AiArtifactComponent = class extends LitElement {
14
+ render() {
15
+ return html`
16
+ <div class="artifact">
17
+ <div class="forge-toolbar">
18
+ <div class="forge-toolbar__start">
19
+ <slot name="start"></slot>
20
+ </div>
21
+ <div class="forge-toolbar__end">
22
+ <slot name="actions"></slot>
23
+ </div>
24
+ </div>
25
+ <div class="content">
26
+ <slot></slot>
27
+ </div>
28
+ </div>
29
+ `;
30
+ }
31
+ };
32
+ AiArtifactComponent.styles = unsafeCSS(styles);
33
+ AiArtifactComponent = __decorateClass([
34
+ customElement(AiArtifactComponentTagName)
35
+ ], AiArtifactComponent);
36
+ export {
37
+ AiArtifactComponent,
38
+ AiArtifactComponentTagName
39
+ };
@@ -0,0 +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/**\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.forge-toolbar {\n --_toolbar-background: var(--forge-toolbar-background, var(--forge-theme-surface, #ffffff));\n --_toolbar-height: var(--forge-toolbar-height, 56px);\n --_toolbar-min-height: var(--forge-toolbar-min-height, var(--_toolbar-height));\n --_toolbar-divider-width: var(--forge-toolbar-divider-width, var(--forge-border-thin, 1px));\n --_toolbar-divider-style: var(--forge-toolbar-divider-style, solid);\n --_toolbar-divider-color: var(--forge-toolbar-divider-color, var(--forge-theme-outline, #e0e0e0));\n --_toolbar-shape: var(--forge-toolbar-shape, calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1)));\n --_toolbar-start-start-shape: var(--forge-toolbar-start-start-shape, var(--_toolbar-shape));\n --_toolbar-start-end-shape: var(--forge-toolbar-start-end-shape, var(--_toolbar-shape));\n --_toolbar-end-start-shape: var(--forge-toolbar-end-start-shape, 0);\n --_toolbar-end-end-shape: var(--forge-toolbar-end-end-shape, 0);\n --_toolbar-padding: var(--forge-toolbar-padding, var(--forge-spacing-medium, 16px));\n --_toolbar-padding-block: var(--forge-toolbar-padding-block, 0);\n --_toolbar-padding-inline: var(--forge-toolbar-padding-inline, var(--_toolbar-padding));\n --_toolbar-columns: var(--forge-toolbar-columns, auto 1fr auto);\n}\n\n.forge-toolbar {\n display: grid;\n grid-template-columns: var(--_toolbar-columns);\n height: var(--_toolbar-height);\n min-height: var(--_toolbar-min-height);\n box-sizing: border-box;\n padding-inline: 0;\n border-block-end-width: var(--_toolbar-divider-width);\n border-block-end-style: var(--_toolbar-divider-style);\n border-block-end-color: var(--_toolbar-divider-color);\n border-start-start-radius: var(--_toolbar-start-start-shape);\n border-start-end-radius: var(--_toolbar-start-end-shape);\n border-end-start-radius: var(--_toolbar-end-start-shape);\n border-end-end-radius: var(--_toolbar-end-end-shape);\n background: var(--_toolbar-background);\n grid-template-columns: 1fr;\n grid-template-areas: "start";\n}\n\n.forge-toolbar:has(.forge-toolbar__center), .forge-toolbar:has(.forge-toolbar__end) {\n grid-template-columns: auto 1fr auto;\n grid-template-areas: "start center end";\n}\n\n.forge-toolbar:has(.forge-toolbar__end):not(:has(.forge-toolbar__center)) {\n grid-template-columns: 1fr auto;\n grid-template-areas: "start end";\n}\n\n.forge-toolbar--inverted {\n --_toolbar-start-start-shape: var(--forge-toolbar-start-start-shape, 0);\n --_toolbar-start-end-shape: var(--forge-toolbar-start-end-shape, 0);\n --_toolbar-end-start-shape: var(--_toolbar-shape);\n --_toolbar-end-end-shape: var(--_toolbar-shape);\n border-block-end: none;\n border-block-start-width: var(--_toolbar-divider-width);\n border-block-start-style: var(--_toolbar-divider-style);\n border-block-start-color: var(--_toolbar-divider-color);\n}\n\n.forge-toolbar--no-divider {\n border: none;\n}\n\n.forge-toolbar--auto-height {\n --_toolbar-height: var(--forge-toolbar-height, auto);\n}\n\n.forge-toolbar :where(h1, h2, h3, h4, h5, h6) {\n margin: 0;\n}\n\n.forge-toolbar__start, .forge-toolbar__center, .forge-toolbar__end {\n display: flex;\n align-items: center;\n width: 100%;\n box-sizing: border-box;\n}\n\n.forge-toolbar__start {\n grid-area: start;\n}\n\n.forge-toolbar__center {\n justify-content: center;\n min-width: 0;\n grid-area: center;\n}\n\n.forge-toolbar__end {\n justify-content: end;\n grid-area: end;\n}\n\n:host {\n display: block;\n}\n\n.artifact {\n border: 1px solid var(--forge-theme-outline, #e0e0e0);\n border-radius: calc(var(--forge-shape-large, 8px) * var(--forge-shape-factor, 1));\n}\n\n.forge-toolbar {\n --forge-theme-surface: transparent;\n padding-inline: var(--forge-spacing-medium, 16px);\n}\n\n.forge-toolbar__start {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-family: var(--forge-typography-heading1-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));\n font-size: var(--forge-typography-heading1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-heading1-font-size-scale, 0.875)));\n font-weight: var(--forge-typography-heading1-font-weight, 500);\n line-height: var(--forge-typography-heading1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-heading1-line-height-scale, 1.125)));\n letter-spacing: var(--forge-typography-heading1-letter-spacing, 0.0178571429em);\n text-transform: var(--forge-typography-heading1-text-transform, inherit);\n text-decoration: var(--forge-typography-heading1-text-decoration, inherit);\n}\n\n.forge-toolbar__end {\n color: var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6));\n}\n\n.content {\n padding: var(--forge-spacing-medium, 16px);\n}';
2
+ export {
3
+ styles as default
4
+ };
@@ -0,0 +1 @@
1
+ export { AiArtifactComponent, AiArtifactComponentTagName } from './ai-artifact';
@@ -0,0 +1,5 @@
1
+ import { AiArtifactComponent, AiArtifactComponentTagName } from "./ai-artifact.mjs";
2
+ export {
3
+ AiArtifactComponent,
4
+ AiArtifactComponentTagName
5
+ };
@@ -0,0 +1,21 @@
1
+ import { LitElement, TemplateResult, PropertyValues } from 'lit';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'forge-ai-button': AiButtonComponent;
5
+ }
6
+ }
7
+ export declare const AiButtonComponentTagName: keyof HTMLElementTagNameMap;
8
+ /**
9
+ * @tag forge-ai-button
10
+ *
11
+ * @slot - Default slot for button content
12
+ */
13
+ export declare class AiButtonComponent extends LitElement {
14
+ #private;
15
+ static styles: import('lit').CSSResult;
16
+ /** Whether the button is disabled */
17
+ disabled: boolean;
18
+ constructor();
19
+ willUpdate(changedProperties: PropertyValues<this>): void;
20
+ render(): TemplateResult;
21
+ }
@@ -0,0 +1,67 @@
1
+ import { unsafeCSS, LitElement, html } from "lit";
2
+ import { property, customElement } from "lit/decorators.js";
3
+ import { toggleState } from "../utils.mjs";
4
+ import "../ai-icon/ai-icon.mjs";
5
+ import "../ai-gradient-container/ai-gradient-container.mjs";
6
+ import styles from "./ai-button.scss.mjs";
7
+ var __defProp = Object.defineProperty;
8
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
9
+ var __typeError = (msg) => {
10
+ throw TypeError(msg);
11
+ };
12
+ var __decorateClass = (decorators, target, key, kind) => {
13
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
14
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
15
+ if (decorator = decorators[i])
16
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
17
+ if (kind && result) __defProp(target, key, result);
18
+ return result;
19
+ };
20
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
21
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
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 __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
24
+ var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
25
+ var _internals, _AiButtonComponent_instances, setCssState_fn;
26
+ const AiButtonComponentTagName = "forge-ai-button";
27
+ let AiButtonComponent = class extends LitElement {
28
+ constructor() {
29
+ super();
30
+ __privateAdd(this, _AiButtonComponent_instances);
31
+ this.disabled = false;
32
+ __privateAdd(this, _internals);
33
+ __privateSet(this, _internals, this.attachInternals());
34
+ __privateMethod(this, _AiButtonComponent_instances, setCssState_fn).call(this);
35
+ }
36
+ willUpdate(changedProperties) {
37
+ if (changedProperties.has("disabled")) {
38
+ __privateMethod(this, _AiButtonComponent_instances, setCssState_fn).call(this);
39
+ }
40
+ }
41
+ render() {
42
+ return html`
43
+ <forge-ai-gradient-container variant=${this.disabled ? "disabled" : "high"}>
44
+ <button class="forge-button forge-button--outlined ai-button" .disabled=${this.disabled} variant="outlined">
45
+ <forge-ai-icon></forge-ai-icon>
46
+ <slot></slot>
47
+ </button>
48
+ </forge-ai-gradient-container>
49
+ `;
50
+ }
51
+ };
52
+ _internals = /* @__PURE__ */ new WeakMap();
53
+ _AiButtonComponent_instances = /* @__PURE__ */ new WeakSet();
54
+ setCssState_fn = function() {
55
+ toggleState(__privateGet(this, _internals), "disabled", this.disabled);
56
+ };
57
+ AiButtonComponent.styles = unsafeCSS(styles);
58
+ __decorateClass([
59
+ property({ type: Boolean, reflect: true })
60
+ ], AiButtonComponent.prototype, "disabled", 2);
61
+ AiButtonComponent = __decorateClass([
62
+ customElement(AiButtonComponentTagName)
63
+ ], AiButtonComponent);
64
+ export {
65
+ AiButtonComponent,
66
+ AiButtonComponentTagName
67
+ };
@@ -0,0 +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/* prettier-ignore */\n.forge-button {\n --_button-primary-color: var(--forge-button-primary-color, var(--forge-theme-primary, #3f51b5));\n --_button-text-color: var(--forge-button-text-color, var(--_button-primary-color));\n --_button-disabled-color: var(--forge-button-disabled-color, var(--forge-theme-surface-container, #e0e0e0));\n --_button-padding: var(--forge-button-padding, var(--forge-spacing-medium, 16px));\n --_button-display: var(--forge-button-display, inline-grid);\n --_button-justify: var(--forge-button-justify, center);\n --_button-shape: var(--forge-button-shape, calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1)));\n --_button-height: var(--forge-button-height, 36px);\n --_button-min-width: var(--forge-button-min-width, 64px);\n --_button-spacing: var(--forge-button-spacing, var(--forge-spacing-xsmall, 8px));\n --_button-border-width: var(--forge-button-border-width, medium);\n --_button-border-style: var(--forge-button-border-style, none);\n --_button-border-color: var(--forge-button-border-color, currentColor);\n --_button-shape-start-start-radius: var(--forge-button-shape-start-start-radius, var(--_button-shape));\n --_button-shape-start-end-radius: var(--forge-button-shape-start-end-radius, var(--_button-shape));\n --_button-shape-end-start-radius: var(--forge-button-shape-end-start-radius, var(--_button-shape));\n --_button-shape-end-end-radius: var(--forge-button-shape-end-end-radius, var(--_button-shape));\n --_button-padding-block: var(--forge-button-padding-block, var(--_button-0));\n --_button-padding-inline: var(--forge-button-padding-inline, var(--_button-padding));\n --_button-background: var(--forge-button-background, transparent);\n --_button-hover-background: var(--forge-button-hover-background, var(--_button-background));\n --_button-active-background: var(--forge-button-active-background, var(--_button-background));\n --_button-color: var(--forge-button-color, var(--_button-text-color));\n --_button-icon-size: var(--forge-button-icon-size, calc(var(--forge-typography-font-size, 1rem) * 1.125));\n --_button-shadow: var(--forge-button-shadow, none);\n --_button-hover-shadow: var(--forge-button-hover-shadow, none);\n --_button-active-shadow: var(--forge-button-active-shadow, none);\n --_button-cursor: var(--forge-button-cursor, pointer);\n --_button-transition-duration: var(--forge-button-transition-duration, var(--forge-animation-duration-short3, 150ms));\n --_button-transition-timing: var(--forge-button-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));\n --_button-text-padding-inline: var(--forge-button-text-padding-inline, var(--forge-spacing-xsmall, 8px));\n --_button-outlined-background: var(--forge-button-outlined-background, transparent);\n --_button-outlined-color: var(--forge-button-outlined-color, var(--_button-primary-color));\n --_button-outlined-border-width: var(--forge-button-outlined-border-width, var(--forge-border-thin, 1px));\n --_button-outlined-border-style: var(--forge-button-outlined-border-style, solid);\n --_button-outlined-border-color: var(--forge-button-outlined-border-color, var(--_button-primary-color));\n --_button-tonal-background: var(--forge-button-tonal-background, var(--forge-theme-primary-container, #d1d5ed));\n --_button-tonal-disabled-background: var(--forge-button-tonal-disabled-background, var(--_button-disabled-color));\n --_button-tonal-color: var(--forge-button-tonal-color, var(--forge-theme-on-primary-container, #222c62));\n --_button-tonal-disabled-color: var(--forge-button-tonal-disabled-color, var(--_button-disabled-text-color));\n --_button-filled-background: var(--forge-button-filled-background, var(--_button-primary-color));\n --_button-filled-disabled-background: var(--forge-button-filled-disabled-background, var(--_button-disabled-color));\n --_button-filled-color: var(--forge-button-filled-color, var(--forge-theme-on-primary, #ffffff));\n --_button-filled-disabled-color: var(--forge-button-filled-disabled-color, var(--_button-disabled-text-color));\n --_button-raised-background: var(--forge-button-raised-background, var(--_button-primary-color));\n --_button-raised-disabled-background: var(--forge-button-raised-disabled-background, var(--_button-disabled-color));\n --_button-raised-color: var(--forge-button-raised-color, var(--forge-theme-on-primary, #ffffff));\n --_button-raised-disabled-color: var(--forge-button-raised-disabled-color, var(--_button-disabled-text-color));\n --_button-raised-shadow: var(--forge-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 --_button-raised-hover-shadow: var(--forge-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 --_button-raised-active-shadow: var(--forge-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 --_button-raised-disabled-shadow: var(--forge-button-raised-disabled-shadow, none);\n --_button-link-color: var(--forge-button-link-color, var(--_button-primary-color));\n --_button-link-text-decoration: var(--forge-button-link-text-decoration, underline);\n --_button-link-height: var(--forge-button-link-height, auto);\n --_button-link-padding: var(--forge-button-link-padding, 0);\n --_button-link-line-height: var(--forge-button-link-line-height, normal);\n --_button-link-width: var(--forge-button-link-width, auto);\n --_button-link-hover-text-decoration: var(--forge-button-link-hover-text-decoration, none);\n --_button-link-active-opacity: var(--forge-button-link-active-opacity, 0.65);\n --_button-link-transition-duration: var(--forge-button-link-transition-duration, var(--forge-animation-duration-short3, 150ms));\n --_button-link-transition-timing: var(--forge-button-link-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));\n --_button-disabled-cursor: var(--forge-button-disabled-cursor, not-allowed);\n --_button-disabled-text-color: var(--forge-button-disabled-text-color, var(--forge-theme-text-low, rgba(0, 0, 0, 0.38)));\n --_button-disabled-background: var(--forge-button-disabled-background, transparent);\n --_button-disabled-border-color: var(--forge-button-disabled-border-color, var(--_button-disabled-color));\n --_button-disabled-shadow: var(--forge-button-disabled-shadow, none);\n --_button-dense-height: var(--forge-button-dense-height, 24px);\n --_button-pill-shape: var(--forge-button-pill-shape, calc(var(--forge-shape-full, 9999px) * var(--forge-shape-factor, 1)));\n --_button-pill-padding-inline: var(--forge-button-pill-padding-inline, var(--forge-spacing-small, 12px));\n --_button-focus-indicator-offset: var(--forge-button-focus-indicator-offset, 4px);\n --_button-text-focus-indicator-offset: var(--forge-button-text-focus-indicator-offset, 0px);\n --_button-link-focus-indicator-offset: var(--forge-button-link-focus-indicator-offset, 2px);\n --_button-popover-icon-transition-duration: var(--forge-button-popover-icon-transition-duration, var(--forge-animation-duration-short3, 150ms));\n --_button-popover-icon-transition-timing: var(--forge-button-popover-icon-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));\n --_button-popover-icon-open-rotation: var(--forge-button-popover-icon-open-rotation, 180deg);\n}\n\n.forge-button {\n display: var(--_button-display);\n position: relative;\n outline: none;\n vertical-align: middle;\n -webkit-tap-highlight-color: transparent;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-family: var(--forge-typography-button-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));\n font-size: var(--forge-typography-button-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-button-font-size-scale, 0.875)));\n font-weight: var(--forge-typography-button-font-weight, 500);\n line-height: var(--forge-typography-button-line-height, normal);\n letter-spacing: var(--forge-typography-button-letter-spacing, 0.0714285714em);\n text-transform: var(--forge-typography-button-text-transform, inherit);\n text-decoration: var(--forge-typography-button-text-decoration, inherit);\n position: relative;\n display: var(--_button-display);\n grid-auto-flow: column;\n align-items: center;\n justify-content: var(--_button-justify);\n gap: var(--_button-spacing);\n z-index: 0;\n box-sizing: border-box;\n min-inline-size: var(--_button-min-width);\n height: var(--_button-height);\n inline-size: 100%;\n border-width: var(--_button-border-width);\n border-style: var(--_button-border-style);\n border-color: var(--_button-border-color);\n border-start-start-radius: var(--_button-shape-start-start-radius);\n border-start-end-radius: var(--_button-shape-start-end-radius);\n border-end-start-radius: var(--_button-shape-end-start-radius);\n border-end-end-radius: var(--_button-shape-end-end-radius);\n padding-block: var(--_button-padding-block);\n padding-inline: var(--_button-padding-inline);\n box-shadow: var(--_button-shadow);\n outline: none;\n user-select: none;\n -webkit-appearance: none;\n vertical-align: middle;\n text-decoration: none;\n white-space: nowrap;\n background: var(--_button-background);\n color: var(--_button-color);\n cursor: var(--_button-cursor);\n transition-property: box-shadow, background;\n transition-duration: var(--_button-transition-duration);\n transition-timing-function: var(--_button-transition-timing);\n}\n\n.forge-button::-moz-focus-inner {\n padding: 0;\n border: 0;\n}\n\n.forge-button:hover {\n --_button-shadow: var(--_button-hover-shadow);\n background: var(--_button-hover-background);\n}\n\n.forge-button:active {\n --_button-shadow: var(--_button-active-shadow);\n background: var(--_button-active-background);\n}\n\n.forge-button {\n position: relative;\n inline-size: auto;\n}\n\n.forge-button:not(:disabled):not(.forge-button--link) {\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-button:not(:disabled):not(.forge-button--link)::before {\n opacity: 0;\n position: absolute;\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-button:not(:disabled):not(.forge-button--link):hover::before {\n background-color: var(--_state-layer-hover-color);\n opacity: var(--_state-layer-hover-opacity);\n}\n\n.forge-button:not(:disabled):not(.forge-button--link):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@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-button:not(:disabled) {\n outline: none;\n}\n\n.forge-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-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-button:not(:disabled) {\n --forge-focus-indicator-color: var(--_button-primary-color);\n}\n\n.forge-button:disabled {\n cursor: var(--_button-disabled-cursor);\n --_button-background: var(--_button-disabled-background);\n --_button-color: var(--_button-disabled-text-color);\n --_button-shadow: var(--_button-disabled-shadow);\n pointer-events: none;\n pointer-events: initial;\n}\n\n.forge-button:where(:not(.forge-button--outlined, .forge-button--tonal, .forge-button--filled, .forge-button--raised, .forge-button--link)), .forge-button--text {\n --_button-padding-inline: var(--_button-text-padding-inline);\n}\n\n.forge-button--outlined {\n --_button-background: var(--_button-outlined-background);\n --_button-color: var(--_button-outlined-color);\n --_button-border-width: var(--_button-outlined-border-width);\n --_button-border-style: var(--_button-outlined-border-style);\n --_button-border-color: var(--_button-outlined-border-color);\n}\n\n.forge-button--outlined:disabled {\n --_button-border-color: var(--_button-disabled-border-color);\n}\n\n.forge-button--tonal {\n --_button-background: var(--_button-tonal-background);\n --_button-color: var(--_button-tonal-color);\n}\n\n.forge-button--tonal:disabled {\n --_button-background: var(--_button-tonal-disabled-background);\n --_button-color: var(--_button-tonal-disabled-color);\n}\n\n.forge-button--filled, .forge-button--raised {\n --_button-background: var(--_button-filled-background);\n --_button-color: var(--_button-filled-color);\n --forge-state-layer-color: var(--_button-filled-color);\n}\n\n.forge-button--filled:disabled, .forge-button--raised:disabled {\n --_button-background: var(--_button-filled-disabled-background);\n --_button-color: var(--_button-filled-disabled-color);\n}\n\n.forge-button--raised {\n --_button-background: var(--_button-raised-background);\n --_button-color: var(--_button-raised-color);\n --_button-shadow: var(--_button-raised-shadow);\n}\n\n.forge-button--raised:hover {\n --_button-shadow: var(--_button-raised-hover-shadow);\n}\n\n.forge-button--raised:active {\n --_button-shadow: var(--_button-raised-active-shadow);\n}\n\n.forge-button--raised:disabled {\n --_button-background: var(--_button-raised-disabled-background);\n --_button-color: var(--_button-raised-disabled-color);\n --_button-shadow: var(--_button-raised-disabled-shadow);\n}\n\n.forge-button--link {\n --_button-color: var(--_button-link-color);\n --_button-height: var(--_button-link-height);\n --_button-padding: var(--_button-link-padding);\n --_button-focus-indicator-offset: var(--_button-link-focus-indicator-offset);\n text-decoration: var(--_button-link-text-decoration);\n line-height: var(--_button-link-line-height);\n transition: opacity var(--_button-link-transition-duration) var(--_button-link-transition-timing);\n inline-size: var(--_button-link-width);\n}\n\n.forge-button--link:hover {\n text-decoration: var(--_button-link-hover-text-decoration);\n}\n\n.forge-button--link:active {\n opacity: var(--_button-link-active-opacity);\n}\n\n.forge-button--pill {\n --_button-shape: var(--_button-pill-shape);\n --_button-padding-inline: var(--_button-pill-padding-inline);\n --forge-focus-indicator-shape: var(--_button-pill-shape);\n}\n\n.forge-button {\n --forge-icon-font-size: var(--_button-icon-size);\n}\n\n.forge-button--dense {\n --_button-height: var(--_button-dense-height);\n}\n\n@keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n:host {\n display: inline-block;\n}\n\n.ai-button {\n --forge-button-padding-inline: var(--forge-spacing-xsmall, 8px);\n --forge-button-border-radius: var(--forge-spacing-xsmall, 8px);\n --forge-button-outlined-border-width: 0;\n --forge-button-outlined-background: transparent;\n}\n\nforge-ai-icon {\n color: inherit;\n}\n\n:host(:state(disabled)) forge-ai-icon {\n --forge-ai-icon-fill-color: var(--forge-theme-text-low, rgba(0, 0, 0, 0.38));\n}';
2
+ export {
3
+ styles as default
4
+ };
@@ -0,0 +1 @@
1
+ export * from './ai-button';
@@ -0,0 +1,5 @@
1
+ import { AiButtonComponent, AiButtonComponentTagName } from "./ai-button.mjs";
2
+ export {
3
+ AiButtonComponent,
4
+ AiButtonComponentTagName
5
+ };
@@ -0,0 +1,17 @@
1
+ import { LitElement, TemplateResult } from 'lit';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'forge-ai-chain-of-thought': AiChainOfThoughtComponent;
5
+ }
6
+ }
7
+ export declare const AiChainOfThoughtComponentTagName: keyof HTMLElementTagNameMap;
8
+ /**
9
+ * @tag forge-ai-chain-of-thought
10
+ */
11
+ export declare class AiChainOfThoughtComponent extends LitElement {
12
+ static styles: import('lit').CSSResult;
13
+ /** Whether the chain of thought is expanded */
14
+ expanded: boolean;
15
+ render(): TemplateResult;
16
+ private _handleHeaderToggle;
17
+ }
@@ -0,0 +1,45 @@
1
+ import { unsafeCSS, LitElement, html } from "lit";
2
+ import { property, customElement } from "lit/decorators.js";
3
+ import styles from "./ai-chain-of-thought.scss.mjs";
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __decorateClass = (decorators, target, key, kind) => {
7
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
8
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
9
+ if (decorator = decorators[i])
10
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
11
+ if (kind && result) __defProp(target, key, result);
12
+ return result;
13
+ };
14
+ const AiChainOfThoughtComponentTagName = "forge-ai-chain-of-thought";
15
+ let AiChainOfThoughtComponent = class extends LitElement {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.expanded = false;
19
+ }
20
+ render() {
21
+ return html`
22
+ <slot name="heading" @toggle=${this._handleHeaderToggle}></slot>
23
+ <div
24
+ class="forge-expansion-panel thought-content-container ${this.expanded ? "forge-expansion-panel--open" : ""}">
25
+ <div class="forge-expansion-panel__content " id="chain-content" aria-hidden=${!this.expanded}>
26
+ <slot></slot>
27
+ </div>
28
+ </div>
29
+ `;
30
+ }
31
+ _handleHeaderToggle(event) {
32
+ this.expanded = event.detail.expanded;
33
+ }
34
+ };
35
+ AiChainOfThoughtComponent.styles = unsafeCSS(styles);
36
+ __decorateClass([
37
+ property({ type: Boolean, reflect: true })
38
+ ], AiChainOfThoughtComponent.prototype, "expanded", 2);
39
+ AiChainOfThoughtComponent = __decorateClass([
40
+ customElement(AiChainOfThoughtComponentTagName)
41
+ ], AiChainOfThoughtComponent);
42
+ export {
43
+ AiChainOfThoughtComponent,
44
+ AiChainOfThoughtComponentTagName
45
+ };
@@ -0,0 +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/**\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.forge-expansion-panel {\n --_expansion-panel-animation-duration: var(--forge-expansion-panel-animation-duration, var(--forge-animation-duration-medium4, 400ms));\n --_expansion-panel-animation-easing: var(--forge-expansion-panel-animation-easing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));\n}\n\n.forge-expansion-panel {\n display: grid;\n grid-template-rows: 0fr;\n transition-property: visibility, opacity, grid-template-rows;\n transition-duration: var(--_expansion-panel-animation-duration);\n transition-timing-function: var(--_expansion-panel-animation-easing);\n min-height: 0;\n opacity: 0;\n transform: translate3d(0, 0, 0);\n backface-visibility: hidden;\n}\n\n.forge-expansion-panel:not(.forge-expansion-panel--open) {\n visibility: hidden;\n}\n\n.forge-expansion-panel--open {\n opacity: 1;\n grid-template-rows: 1fr;\n}\n\n.forge-expansion-panel__content {\n display: grid;\n grid-template-rows: 1fr;\n overflow: hidden;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .forge-expansion-panel {\n transition: none;\n }\n}\n/**\n * @license\n * Copyright Tyler Technologies, Inc. \n * License: Apache-2.0\n */\n/* prettier-ignore */\n.forge-icon {\n --_icon-color: var(--forge-icon-color, currentColor);\n --_icon-size: var(--forge-icon-size, 1em);\n --_icon-width: var(--forge-icon-width, var(--_icon-size));\n --_icon-height: var(--forge-icon-height, var(--_icon-size));\n --_icon-font-size: var(--forge-icon-font-size, calc(var(--forge-typography-font-size, 1rem) * 1.5));\n}\n\nimg.forge-icon,\nsvg.forge-icon {\n display: inline-block;\n box-sizing: content-box;\n contain: content;\n font-size: var(--_icon-font-size);\n display: inline-block;\n}\n\nimg.forge-icon {\n width: var(--_icon-width);\n height: var(--_icon-height);\n}\n\nsvg {\n width: var(--_icon-width);\n height: var(--_icon-height);\n display: block;\n fill: var(--_icon-color);\n stroke: var(--_icon-color);\n stroke-width: 0;\n}\n\n@keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n:host {\n width: 100%;\n display: block;\n}\n\n.header-container {\n display: grid;\n grid-template-columns: 56px 1fr auto;\n align-items: center;\n padding: 0;\n padding: 0;\n}\n\n.thought-content-container {\n margin-block-start: var(--forge-spacing-medium, 16px);\n}";
2
+ export {
3
+ styles as default
4
+ };
@@ -0,0 +1,5 @@
1
+ export { AiChainOfThoughtComponent, AiChainOfThoughtComponentTagName } from './ai-chain-of-thought';
2
+ export { ThoughtBaseComponent, ThoughtBaseComponentTagName } from './thought-base/thought-base';
3
+ export { ThoughtSearchResultComponent, ThoughtSearchResultComponentTagName, type Source } from './thought-search-result/thought-search-result';
4
+ export { ThoughtImageComponent, ThoughtImageComponentTagName } from './thought-image/thought-image';
5
+ export { ThoughtDetailComponent, ThoughtDetailComponentTagName } from './thought-detail/thought-detail';
@@ -0,0 +1,17 @@
1
+ import { AiChainOfThoughtComponent, AiChainOfThoughtComponentTagName } from "./ai-chain-of-thought.mjs";
2
+ import { ThoughtBaseComponent, ThoughtBaseComponentTagName } from "./thought-base/thought-base.mjs";
3
+ import { ThoughtSearchResultComponent, ThoughtSearchResultComponentTagName } from "./thought-search-result/thought-search-result.mjs";
4
+ import { ThoughtImageComponent, ThoughtImageComponentTagName } from "./thought-image/thought-image.mjs";
5
+ import { ThoughtDetailComponent, ThoughtDetailComponentTagName } from "./thought-detail/thought-detail.mjs";
6
+ export {
7
+ AiChainOfThoughtComponent,
8
+ AiChainOfThoughtComponentTagName,
9
+ ThoughtBaseComponent,
10
+ ThoughtBaseComponentTagName,
11
+ ThoughtDetailComponent,
12
+ ThoughtDetailComponentTagName,
13
+ ThoughtImageComponent,
14
+ ThoughtImageComponentTagName,
15
+ ThoughtSearchResultComponent,
16
+ ThoughtSearchResultComponentTagName
17
+ };
@@ -0,0 +1 @@
1
+ export { ThoughtBaseComponent, ThoughtBaseComponentTagName } from './thought-base.js';
@@ -0,0 +1,5 @@
1
+ import { ThoughtBaseComponent, ThoughtBaseComponentTagName } from "./thought-base.mjs";
2
+ export {
3
+ ThoughtBaseComponent,
4
+ ThoughtBaseComponentTagName
5
+ };
@@ -0,0 +1,20 @@
1
+ import { LitElement, TemplateResult } from 'lit';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'forge-ai-thought-base': ThoughtBaseComponent;
5
+ }
6
+ }
7
+ export declare const ThoughtBaseComponentTagName: keyof HTMLElementTagNameMap;
8
+ /**
9
+ * @tag forge-ai-thought-base
10
+ *
11
+ * @slot icon - Icon to display in the header
12
+ * @slot title - Title content for the header
13
+ * @slot - Main content area
14
+ */
15
+ export declare class ThoughtBaseComponent extends LitElement {
16
+ static styles: import('lit').CSSResult;
17
+ /** The step number for this thought */
18
+ step?: number;
19
+ render(): TemplateResult;
20
+ }
@@ -0,0 +1,43 @@
1
+ import { unsafeCSS, LitElement, html } from "lit";
2
+ import { property, customElement } from "lit/decorators.js";
3
+ import styles from "./thought-base.scss.mjs";
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __decorateClass = (decorators, target, key, kind) => {
7
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
8
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
9
+ if (decorator = decorators[i])
10
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
11
+ if (kind && result) __defProp(target, key, result);
12
+ return result;
13
+ };
14
+ const ThoughtBaseComponentTagName = "forge-ai-thought-base";
15
+ let ThoughtBaseComponent = class extends LitElement {
16
+ render() {
17
+ return html`
18
+ <div class="thought-base-container">
19
+ <div class="title-container">
20
+ <slot name="icon"></slot>
21
+ <span class="title"><slot name="title"></slot></span>
22
+ </div>
23
+ <div class="content-container">
24
+ <div class="vertical-line"></div>
25
+ <div class="main-content">
26
+ <slot></slot>
27
+ </div>
28
+ </div>
29
+ </div>
30
+ `;
31
+ }
32
+ };
33
+ ThoughtBaseComponent.styles = unsafeCSS(styles);
34
+ __decorateClass([
35
+ property({ type: Number })
36
+ ], ThoughtBaseComponent.prototype, "step", 2);
37
+ ThoughtBaseComponent = __decorateClass([
38
+ customElement(ThoughtBaseComponentTagName)
39
+ ], ThoughtBaseComponent);
40
+ export {
41
+ ThoughtBaseComponent,
42
+ ThoughtBaseComponentTagName
43
+ };