@tylertech/forge-ai 0.13.10 → 0.13.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/custom-elements.json +118 -2
  2. package/dist/ai-assistant-response/ai-assistant-response.d.ts +1 -0
  3. package/dist/ai-assistant-response/ai-assistant-response.mjs +32 -3
  4. package/dist/ai-assistant-response/ai-assistant-response.scss.mjs +1 -1
  5. package/dist/ai-chain-of-thought/thought-detail/thought-detail.mjs +1 -1
  6. package/dist/ai-chain-of-thought/thought-image/thought-image.mjs +1 -1
  7. package/dist/ai-chain-of-thought/thought-search-result/thought-search-result.mjs +2 -2
  8. package/dist/ai-chat-header/ai-chat-header.mjs +27 -10
  9. package/dist/ai-chatbot-launcher/ai-chatbot-launcher.mjs +7 -2
  10. package/dist/ai-conversations-panel/ai-conversations-panel.mjs +6 -6
  11. package/dist/ai-copy-button/ai-copy-button.mjs +2 -2
  12. package/dist/ai-dialog/ai-dialog.d.ts +4 -0
  13. package/dist/ai-dialog/ai-dialog.mjs +10 -3
  14. package/dist/ai-dropdown-menu/ai-dropdown-menu-item.mjs +10 -2
  15. package/dist/ai-dropdown-menu/ai-dropdown-menu.d.ts +5 -0
  16. package/dist/ai-dropdown-menu/ai-dropdown-menu.mjs +4 -0
  17. package/dist/ai-edit-thread/ai-edit-thread.mjs +2 -2
  18. package/dist/ai-embedded-chat/ai-embedded-chat.d.ts +4 -0
  19. package/dist/ai-embedded-chat/ai-embedded-chat.mjs +5 -0
  20. package/dist/ai-error-message/ai-error-message.mjs +2 -1
  21. package/dist/ai-file-picker/ai-file-picker.mjs +1 -1
  22. package/dist/ai-floating-chat/ai-floating-chat.d.ts +5 -0
  23. package/dist/ai-floating-chat/ai-floating-chat.mjs +5 -0
  24. package/dist/ai-icon/ai-icon.mjs +1 -1
  25. package/dist/ai-message-thread/ai-message-thread.mjs +9 -24
  26. package/dist/ai-message-thread/ai-message-thread.scss.mjs +1 -1
  27. package/dist/ai-modal/ai-modal.d.ts +4 -0
  28. package/dist/ai-modal/ai-modal.mjs +5 -1
  29. package/dist/ai-prompt/ai-prompt.mjs +3 -3
  30. package/dist/ai-reasoning-header/ai-reasoning-header.mjs +3 -3
  31. package/dist/ai-response-message-toolbar/ai-response-message-toolbar.mjs +6 -6
  32. package/dist/ai-slash-command-menu/ai-slash-command-menu.mjs +1 -1
  33. package/dist/ai-spinner/ai-spinner.mjs +1 -1
  34. package/dist/ai-suggestions/ai-suggestions.mjs +1 -1
  35. package/dist/ai-thread-actions-menu/ai-thread-actions-menu.mjs +14 -3
  36. package/dist/ai-threads/ai-threads.mjs +5 -3
  37. package/dist/ai-threads-search/ai-threads-search.mjs +3 -3
  38. package/dist/ai-tool-call-indicator/ai-tool-call-indicator.mjs +30 -5
  39. package/dist/ai-user-message-toolbar/ai-user-message-toolbar.mjs +3 -3
  40. package/dist/ai-voice-input/ai-voice-input.mjs +1 -1
  41. package/dist/tools/ai-data-table/ai-data-table.mjs +8 -3
  42. package/dist/tools/ai-paginator/ai-paginator.mjs +2 -2
  43. package/package.json +6 -6
@@ -111,7 +111,7 @@ resendButtonTemplate_get = function() {
111
111
  aria-label="Resend"
112
112
  class="forge-icon-button forge-icon-button--small"
113
113
  @click=${() => __privateMethod(this, _AiResponseMessageToolbarComponent_instances, emitActionEvent_fn).call(this, "resend")}>
114
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
114
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
115
115
  <path
116
116
  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" />
117
117
  </svg>
@@ -126,7 +126,7 @@ copyButtonTemplate_get = function() {
126
126
  aria-label="Copy content"
127
127
  class="forge-icon-button forge-icon-button--small"
128
128
  @click=${() => __privateMethod(this, _AiResponseMessageToolbarComponent_instances, emitActionEvent_fn).call(this, "copy")}>
129
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
129
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
130
130
  <path
131
131
  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" />
132
132
  </svg>
@@ -141,10 +141,10 @@ thumbsUpButtonTemplate_get = function() {
141
141
  aria-label="Good response"
142
142
  class="forge-icon-button forge-icon-button--small ${this._thumbsUpActive ? "is-active-positive" : ""}"
143
143
  @click=${__privateMethod(this, _AiResponseMessageToolbarComponent_instances, handleThumbsUp_fn)}>
144
- ${this._thumbsUpActive ? html`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
144
+ ${this._thumbsUpActive ? html`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
145
145
  <path
146
146
  d="M23 10a2 2 0 0 0-2-2h-6.32l.96-4.57c.02-.1.03-.21.03-.32 0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.58C7.22 7.95 7 8.45 7 9v10a2 2 0 0 0 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73zM1 21h4V9H1z" />
147
- </svg>` : html`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
147
+ </svg>` : html`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
148
148
  <path
149
149
  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" />
150
150
  </svg>`}
@@ -159,10 +159,10 @@ thumbsDownButtonTemplate_get = function() {
159
159
  aria-label="Bad response"
160
160
  class="forge-icon-button forge-icon-button--small ${this._thumbsDownActive || this._popoverOpen ? "is-active-negative" : ""}"
161
161
  @click=${__privateMethod(this, _AiResponseMessageToolbarComponent_instances, handleThumbsDown_fn)}>
162
- ${this._thumbsDownActive || this._popoverOpen ? html`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
162
+ ${this._thumbsDownActive || this._popoverOpen ? html`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
163
163
  <path
164
164
  d="M19 15h4V3h-4m-4 0H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2a2 2 0 0 0 2 2h6.31l-.95 4.57c-.02.1-.03.2-.03.31 0 .42.17.79.44 1.06L9.83 23l6.58-6.59c.37-.36.59-.86.59-1.41V5a2 2 0 0 0-2-2" />
165
- </svg>` : html`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
165
+ </svg>` : html`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
166
166
  <path
167
167
  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" />
168
168
  </svg>`}
@@ -77,7 +77,7 @@ let AiSlashCommandMenuComponent = class extends LitElement {
77
77
  @click=${__privateMethod(this, _AiSlashCommandMenuComponent_instances, closeMenu_fn)}
78
78
  aria-label="Close menu"
79
79
  class="forge-icon-button forge-icon-button--small ai-icon-button">
80
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
80
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
81
81
  <path
82
82
  d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" />
83
83
  </svg>
@@ -20,7 +20,7 @@ let AiSpinnerComponent = class extends LitElement {
20
20
  render() {
21
21
  return html`
22
22
  <div class="spinner spinner--${this.size}">
23
- <svg viewBox="0 0 48 48">
23
+ <svg viewBox="0 0 48 48" aria-hidden="true">
24
24
  <circle class="track" cx="24" cy="24" r="20" fill="none" stroke-width="4"></circle>
25
25
  <circle class="indicator" cx="24" cy="24" r="20" fill="none" stroke-width="4"></circle>
26
26
  </svg>
@@ -113,7 +113,7 @@ suggestionButtons_get = function() {
113
113
  const showTooltip = state?.isOverflowing ?? false;
114
114
  return html`
115
115
  <li class="forge-list-item custom-list-item">
116
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon">
116
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon" aria-hidden="true">
117
117
  <path
118
118
  d="M9 22a1 1 0 0 1-1-1v-3H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6.1l-3.7 3.71c-.2.19-.45.29-.7.29zm1-6v3.08L13.08 16H20V4H4v12zM6 7h12v2H6zm0 4h9v2H6z" />
119
119
  </svg>
@@ -36,12 +36,13 @@ let AiThreadActionsMenuComponent = class extends LitElement {
36
36
  density="small"
37
37
  selection-mode="none"
38
38
  popover-placement="bottom-start"
39
+ trigger-label="Conversation options"
39
40
  @keydown=${__privateMethod(this, _AiThreadActionsMenuComponent_instances, handleMenuKeyDown_fn)}
40
41
  @forge-ai-dropdown-menu-open=${__privateMethod(this, _AiThreadActionsMenuComponent_instances, handleMenuOpen_fn)}
41
42
  @forge-ai-dropdown-menu-close=${__privateMethod(this, _AiThreadActionsMenuComponent_instances, handleMenuClose_fn)}
42
43
  @click=${__privateMethod(this, _AiThreadActionsMenuComponent_instances, handleMenuSelect_fn)}>
43
44
  <slot name="trigger-icon" slot="trigger-content">
44
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon">
45
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true" class="forge-icon">
45
46
  <path
46
47
  d="M12 16a2 2 0 0 1 2 2 2 2 0 0 1-2 2 2 2 0 0 1-2-2 2 2 0 0 1 2-2m0-6a2 2 0 0 1 2 2 2 2 0 0 1-2 2 2 2 0 0 1-2-2 2 2 0 0 1 2-2m0-6a2 2 0 0 1 2 2 2 2 0 0 1-2 2 2 2 0 0 1-2-2 2 2 0 0 1 2-2" />
47
48
  </svg>
@@ -51,7 +52,12 @@ let AiThreadActionsMenuComponent = class extends LitElement {
51
52
  this.showRename,
52
53
  () => html`
53
54
  <forge-ai-dropdown-menu-item value="rename" @click=${__privateMethod(this, _AiThreadActionsMenuComponent_instances, handleRenameClick_fn)}>
54
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" slot="start" class="forge-icon">
55
+ <svg
56
+ xmlns="http://www.w3.org/2000/svg"
57
+ viewBox="0 0 24 24"
58
+ slot="start"
59
+ class="forge-icon"
60
+ aria-hidden="true">
55
61
  <path
56
62
  d="m14.06 9 .94.94L5.92 19H5v-.92zm3.6-6c-.25 0-.51.1-.7.29l-1.83 1.83 3.75 3.75 1.83-1.83c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.2-.2-.45-.29-.71-.29m-3.6 3.19L3 17.25V21h3.75L17.81 9.94z" />
57
63
  </svg>
@@ -63,7 +69,12 @@ let AiThreadActionsMenuComponent = class extends LitElement {
63
69
  this.showDelete,
64
70
  () => html`
65
71
  <forge-ai-dropdown-menu-item value="delete" @click=${__privateMethod(this, _AiThreadActionsMenuComponent_instances, handleDeleteClick_fn)}>
66
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" slot="start" class="forge-icon">
72
+ <svg
73
+ xmlns="http://www.w3.org/2000/svg"
74
+ viewBox="0 0 24 24"
75
+ slot="start"
76
+ class="forge-icon"
77
+ aria-hidden="true">
67
78
  <path
68
79
  d="M9 3v1H4v2h1v13a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6h1V4h-5V3zM7 6h10v13H7zm2 2v9h2V8zm4 0v9h2V8z" />
69
80
  </svg>
@@ -73,7 +73,7 @@ let AiThreadsComponent = class extends LitElement {
73
73
  <ul class="forge-list forge-list--dense forge-list--navlist chat-actions-list" role="list">
74
74
  <li class="forge-list-item" role="listitem">
75
75
  <button @click=${__privateMethod(this, _AiThreadsComponent_instances, handleNewChatClick_fn)}>
76
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon">
76
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon" aria-hidden="true">
77
77
  <path
78
78
  d="M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m0 14H5.2L4 17.2V4h16zm-4-7v2h-3v3h-2v-3H8V9h3V6h2v3z" />
79
79
  </svg>
@@ -82,7 +82,7 @@ let AiThreadsComponent = class extends LitElement {
82
82
  </li>
83
83
  <li class="forge-list-item" role="listitem">
84
84
  <button @click=${__privateMethod(this, _AiThreadsComponent_instances, handleSearchChatsClick_fn)}>
85
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon">
85
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon" aria-hidden="true">
86
86
  <path
87
87
  d="M9 6v2H2V6zm0 5v2H2v-2zm9 5v2H2v-2zm1.31-4.5c.44-.68.69-1.5.69-2.39 0-2.5-2-4.5-4.5-4.5s-4.5 2-4.5 4.5 2 4.5 4.5 4.5c.87 0 1.69-.25 2.38-.68L21 16l1.39-1.39zm-3.81.11c-1.38 0-2.5-1.11-2.5-2.5s1.12-2.5 2.5-2.5a2.5 2.5 0 0 1 0 5" />
88
88
  </svg>
@@ -249,7 +249,9 @@ threadList_get = function() {
249
249
  </forge-ai-edit-thread>
250
250
  `,
251
251
  () => html`
252
- <button @click=${() => this._handleThreadSelect(thread)} aria-selected=${isSelected}>
252
+ <button
253
+ @click=${() => this._handleThreadSelect(thread)}
254
+ aria-current=${isSelected ? "true" : nothing}>
253
255
  <span>${thread.title}</span>
254
256
  </button>
255
257
  ${when(
@@ -267,7 +267,7 @@ header_get = function() {
267
267
  <span class="title">All chats</span>
268
268
  </div>
269
269
  <button class="forge-button new-chat-button" @click=${__privateMethod(this, _AiThreadsSearchComponent_instances, handleNewChatClick_fn)}>
270
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon">
270
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon" aria-hidden="true">
271
271
  <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
272
272
  </svg>
273
273
  New chat
@@ -278,7 +278,7 @@ header_get = function() {
278
278
  searchField_get = function() {
279
279
  return html`
280
280
  <div class="forge-field forge-field--rounded forge-field--small search-field">
281
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon">
281
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon" aria-hidden="true">
282
282
  <path fill="none" d="M0 0h24v24H0z" />
283
283
  <path
284
284
  d="M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14" />
@@ -294,7 +294,7 @@ searchField_get = function() {
294
294
  this._searchQuery.length,
295
295
  () => html`
296
296
  <button class="forge-icon-button forge-icon-button--small" type="button" @click=${__privateMethod(this, _AiThreadsSearchComponent_instances, handleClearSearch_fn)}>
297
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon">
297
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon" aria-hidden="true">
298
298
  <path
299
299
  d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" />
300
300
  </svg>
@@ -34,18 +34,36 @@ let AiToolCallIndicatorComponent = class extends LitElement {
34
34
  this._expanded = false;
35
35
  this._expandedRows = /* @__PURE__ */ new Set();
36
36
  __privateAdd(this, _completeIcon, html`
37
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" height="16" width="16" fill="currentColor">
37
+ <svg
38
+ xmlns="http://www.w3.org/2000/svg"
39
+ viewBox="0 0 24 24"
40
+ height="16"
41
+ width="16"
42
+ fill="currentColor"
43
+ aria-hidden="true">
38
44
  <path d="M21 7 9 19l-5.5-5.5 1.41-1.41L9 16.17 19.59 5.59z" />
39
45
  </svg>
40
46
  `);
41
47
  __privateAdd(this, _summaryCompleteIcon, html`
42
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" height="16" width="16" fill="currentColor">
48
+ <svg
49
+ xmlns="http://www.w3.org/2000/svg"
50
+ viewBox="0 0 24 24"
51
+ height="16"
52
+ width="16"
53
+ fill="currentColor"
54
+ aria-hidden="true">
43
55
  <path
44
56
  d="M13 2.03v2.02c4.39.54 7.5 4.53 6.96 8.92-.46 3.64-3.32 6.53-6.96 6.96v2c5.5-.55 9.5-5.43 8.95-10.93-.45-4.75-4.22-8.5-8.95-8.97m-2 .03c-1.95.19-3.81.94-5.33 2.2L7.1 5.74c1.12-.9 2.47-1.48 3.9-1.68zM4.26 5.67A9.9 9.9 0 0 0 2.05 11h2c.19-1.42.75-2.77 1.64-3.9zM2.06 13c.2 1.96.97 3.81 2.21 5.33l1.42-1.43A8 8 0 0 1 4.06 13zm5.04 5.37-1.43 1.37A10 10 0 0 0 11 22v-2a8 8 0 0 1-3.9-1.63m9.72-3.18-4.11-4.11c.41-1.04.18-2.26-.68-3.11-.9-.91-2.25-1.09-3.34-.59l1.94 1.94-1.35 1.36-1.99-1.95c-.54 1.09-.29 2.44.59 3.35.86.86 2.08 1.08 3.12.68l4.11 4.1c.18.19.45.19.63 0l1.04-1.03c.22-.18.22-.5.04-.64" />
45
57
  </svg>
46
58
  `);
47
59
  __privateAdd(this, _errorIcon, html`
48
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" height="16" width="16" fill="currentColor">
60
+ <svg
61
+ xmlns="http://www.w3.org/2000/svg"
62
+ viewBox="0 0 24 24"
63
+ height="16"
64
+ width="16"
65
+ fill="currentColor"
66
+ aria-hidden="true">
49
67
  <path d="M12 2 1 21h22zm0 3.99L19.53 19H4.47zM11 10v4h2v-4zm0 6v2h2v-2z" />
50
68
  </svg>
51
69
  `);
@@ -56,12 +74,19 @@ let AiToolCallIndicatorComponent = class extends LitElement {
56
74
  viewBox="0 0 24 24"
57
75
  height="20"
58
76
  width="20"
59
- fill="currentColor">
77
+ fill="currentColor"
78
+ aria-hidden="true">
60
79
  <path d="M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z" />
61
80
  </svg>
62
81
  `);
63
82
  __privateAdd(this, _codeIcon, html`
64
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" height="18" width="18" fill="currentColor">
83
+ <svg
84
+ xmlns="http://www.w3.org/2000/svg"
85
+ viewBox="0 0 24 24"
86
+ height="18"
87
+ width="18"
88
+ fill="currentColor"
89
+ aria-hidden="true">
65
90
  <path d="M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6z" />
66
91
  </svg>
67
92
  `);
@@ -27,19 +27,19 @@ let AiUserMessageToolbarComponent = class extends LitElement {
27
27
  __privateAdd(this, _AiUserMessageToolbarComponent_instances);
28
28
  this.streaming = false;
29
29
  __privateAdd(this, _resendIcon, html`
30
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
30
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
31
31
  <path
32
32
  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" />
33
33
  </svg>
34
34
  `);
35
35
  __privateAdd(this, _copyIcon, html`
36
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
36
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
37
37
  <path
38
38
  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" />
39
39
  </svg>
40
40
  `);
41
41
  __privateAdd(this, _editIcon, html`
42
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
42
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
43
43
  <path
44
44
  d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75z" />
45
45
  </svg>
@@ -87,7 +87,7 @@ let AiVoiceInputComponent = class extends LitElement {
87
87
  @click=${this._toggleRecording}
88
88
  aria-label=${this._isRecording ? "Stop recording" : "Start recording"}
89
89
  ?disabled=${!this._recognition}>
90
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon custom-icon">
90
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon custom-icon" aria-hidden="true">
91
91
  <path fill="none" d="M0 0h24v24H0z" />
92
92
  <path
93
93
  d="M12 14c1.66 0 2.99-1.34 2.99-3L15 5c0-1.66-1.34-3-3-3S9 3.34 9 5v6c0 1.66 1.34 3 3 3m5.3-3c0 3-2.54 5.1-5.3 5.1S6.7 14 6.7 11H5c0 3.41 2.72 6.23 6 6.72V21h2v-3.28c3.28-.48 6-3.3 6-6.72z" />
@@ -38,7 +38,7 @@ let DataTableToolElement = class extends LitElement {
38
38
  __privateAdd(this, _filterInputField, html`
39
39
  <label for="data-table-filter-input" class="sr-only">Filter table data</label>
40
40
  <div class="forge-field forge-field--small icon-field">
41
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
41
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
42
42
  <path fill="none" d="M0 0h24v24H0z" />
43
43
  <path d="M10 18h4v-2h-4zM3 6v2h18V6zm3 7h12v-2H6z" />
44
44
  </svg>
@@ -155,7 +155,7 @@ exportButton_get = function() {
155
155
  class="forge-icon-button forge-icon-button--medium"
156
156
  @click=${__privateMethod(this, _DataTableToolElement_instances, handleExport_fn)}
157
157
  aria-label="Download table as CSV">
158
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon">
158
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="forge-icon" aria-hidden="true">
159
159
  <path d="M5 20h14v-2H5m14-9h-4V3H9v6H5l7 7z" />
160
160
  </svg>
161
161
  </button>
@@ -177,7 +177,12 @@ actionButtons_get = function() {
177
177
  emptyState_get = function() {
178
178
  return html`
179
179
  <forge-ai-empty-state>
180
- <svg slot="icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="empty-state-icon">
180
+ <svg
181
+ slot="icon"
182
+ xmlns="http://www.w3.org/2000/svg"
183
+ viewBox="0 0 24 24"
184
+ class="empty-state-icon"
185
+ aria-hidden="true">
181
186
  <path fill="none" d="M0 0h24v24H0z" />
182
187
  <path
183
188
  d="M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14" />
@@ -43,7 +43,7 @@ let AiPaginator = class extends LitElement {
43
43
  class="forge-icon-button forge-icon-button--medium"
44
44
  ?disabled=${this._isPreviousDisabled}
45
45
  @click=${__privateMethod(this, _AiPaginator_instances, handlePreviousClick_fn)}>
46
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
46
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
47
47
  <path d="M15.41 16.58 10.83 12l4.58-4.59L14 6l-6 6 6 6z" />
48
48
  </svg>
49
49
  </button>
@@ -55,7 +55,7 @@ let AiPaginator = class extends LitElement {
55
55
  class="forge-icon-button forge-icon-button--medium"
56
56
  ?disabled=${this._isNextDisabled}
57
57
  @click=${__privateMethod(this, _AiPaginator_instances, handleNextClick_fn)}>
58
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
58
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" aria-hidden="true">
59
59
  <path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6z" />
60
60
  </svg>
61
61
  </button>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tylertech/forge-ai",
3
- "version": "0.13.10",
3
+ "version": "0.13.11",
4
4
  "description": "A library of Tyler Forge™ AI chat interface web components.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Tyler Technologies, Inc.",
@@ -41,11 +41,11 @@
41
41
  "dependencies": {
42
42
  "@ag-ui/client": "^0.0.57",
43
43
  "@ag-ui/core": "^0.0.57",
44
- "@floating-ui/dom": "^1.7.6",
44
+ "@floating-ui/dom": "^1.8.0",
45
45
  "@lit/context": "^1.1.6",
46
- "dompurify": "^3.4.11",
46
+ "dompurify": "^3.4.12",
47
47
  "lit": "3.3.3",
48
- "marked": "^18.0.5",
48
+ "marked": "^18.0.7",
49
49
  "remend": "^1.3.0",
50
50
  "uuid": "^14.0.1"
51
51
  },
@@ -59,7 +59,7 @@
59
59
  "@storybook/addon-themes": "9.1.20",
60
60
  "@storybook/web-components-vite": "9.1.20",
61
61
  "@tylertech-eslint/eslint-plugin": "3.0.0",
62
- "@tylertech/forge": "3.14.4",
62
+ "@tylertech/forge": "3.15.2",
63
63
  "@tylertech/stylelint-rules": "5.1.2",
64
64
  "@tylertech/tyler-icons": "2.2.0",
65
65
  "@types/cssbeautify": "^0.3.5",
@@ -68,7 +68,7 @@
68
68
  "@types/node": "25.9.4",
69
69
  "@types/react": "^18.3.31",
70
70
  "@types/sinon": "21.0.1",
71
- "@ungap/structured-clone": "^1.3.2",
71
+ "@ungap/structured-clone": "^1.3.3",
72
72
  "@vueless/storybook-dark-mode": "9.0.10",
73
73
  "@wc-toolkit/jsdoc-tags": "^1.2.0",
74
74
  "@web/dev-server-esbuild": "1.0.5",