@carbon/ai-chat-components 0.8.0 → 0.9.0-rc.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 (105) hide show
  1. package/README.md +1 -0
  2. package/custom-elements.json +894 -253
  3. package/es/components/card/src/card-footer.scss.js +1 -1
  4. package/es/components/card/src/card-steps.scss.js +1 -1
  5. package/es/components/card/src/card.scss.js +1 -1
  6. package/es/components/chat-button/src/chat-button.scss.js +1 -1
  7. package/es/components/chat-shell/index.d.ts +2 -2
  8. package/es/components/chat-shell/index.js +2 -2
  9. package/es/components/chat-shell/src/{cds-aichat-panel.d.ts → panel.d.ts} +11 -2
  10. package/es/components/chat-shell/src/{cds-aichat-panel.js → panel.js} +79 -26
  11. package/es/components/chat-shell/src/panel.js.map +1 -0
  12. package/es/components/chat-shell/src/panel.scss.js +13 -0
  13. package/es/components/chat-shell/src/panel.scss.js.map +1 -0
  14. package/es/components/chat-shell/src/{cds-aichat-shell.d.ts → shell.d.ts} +19 -3
  15. package/es/components/chat-shell/src/{cds-aichat-shell.js → shell.js} +249 -93
  16. package/es/components/chat-shell/src/shell.js.map +1 -0
  17. package/es/components/chat-shell/src/shell.scss.js +13 -0
  18. package/es/components/chat-shell/src/shell.scss.js.map +1 -0
  19. package/es/components/chat-shell/src/workspace-manager-utils.d.ts +90 -0
  20. package/es/components/chat-shell/src/workspace-manager-utils.js +120 -0
  21. package/es/components/chat-shell/src/workspace-manager-utils.js.map +1 -0
  22. package/es/components/chat-shell/src/workspace-manager.d.ts +52 -8
  23. package/es/components/chat-shell/src/workspace-manager.js +330 -117
  24. package/es/components/chat-shell/src/workspace-manager.js.map +1 -1
  25. package/es/components/code-snippet/src/code-snippet.d.ts +27 -11
  26. package/es/components/code-snippet/src/code-snippet.scss.js +1 -1
  27. package/es/components/markdown/src/markdown.js +1 -1
  28. package/es/components/markdown/src/markdown.js.map +1 -1
  29. package/es/components/toolbar/src/toolbar.d.ts +4 -0
  30. package/es/components/toolbar/src/toolbar.js +62 -28
  31. package/es/components/toolbar/src/toolbar.js.map +1 -1
  32. package/es/components/toolbar/src/toolbar.scss.js +1 -1
  33. package/es/components/workspace-shell/src/workspace-shell-footer.js +6 -1
  34. package/es/components/workspace-shell/src/workspace-shell-footer.js.map +1 -1
  35. package/es/components/workspace-shell/src/workspace-shell-footer.scss.js +1 -1
  36. package/es/components/workspace-shell/src/workspace-shell.d.ts +0 -1
  37. package/es/components/workspace-shell/src/workspace-shell.js +0 -6
  38. package/es/components/workspace-shell/src/workspace-shell.js.map +1 -1
  39. package/es/components/workspace-shell/src/workspace-shell.scss.js +1 -1
  40. package/es/react/chat-shell.d.ts +3 -3
  41. package/es/react/chat-shell.js +4 -4
  42. package/es/react/chat-shell.js.map +1 -1
  43. package/es/react/panel.d.ts +3 -3
  44. package/es/react/panel.js +5 -4
  45. package/es/react/panel.js.map +1 -1
  46. package/es/react/toolbar.js +1 -1
  47. package/es/react/toolbar.js.map +1 -1
  48. package/es-custom/components/card/src/card-footer.scss.js +1 -1
  49. package/es-custom/components/card/src/card-steps.scss.js +1 -1
  50. package/es-custom/components/card/src/card.scss.js +1 -1
  51. package/es-custom/components/chat-button/src/chat-button.scss.js +1 -1
  52. package/es-custom/components/chat-shell/index.d.ts +2 -2
  53. package/es-custom/components/chat-shell/index.js +2 -2
  54. package/es-custom/components/chat-shell/src/{cds-aichat-panel.d.ts → panel.d.ts} +11 -2
  55. package/es-custom/components/chat-shell/src/{cds-aichat-panel.js → panel.js} +79 -26
  56. package/es-custom/components/chat-shell/src/panel.js.map +1 -0
  57. package/es-custom/components/chat-shell/src/panel.scss.js +13 -0
  58. package/es-custom/components/chat-shell/src/panel.scss.js.map +1 -0
  59. package/es-custom/components/chat-shell/src/{cds-aichat-shell.d.ts → shell.d.ts} +19 -3
  60. package/es-custom/components/chat-shell/src/{cds-aichat-shell.js → shell.js} +249 -93
  61. package/es-custom/components/chat-shell/src/shell.js.map +1 -0
  62. package/es-custom/components/chat-shell/src/shell.scss.js +13 -0
  63. package/es-custom/components/chat-shell/src/shell.scss.js.map +1 -0
  64. package/es-custom/components/chat-shell/src/workspace-manager-utils.d.ts +90 -0
  65. package/es-custom/components/chat-shell/src/workspace-manager-utils.js +120 -0
  66. package/es-custom/components/chat-shell/src/workspace-manager-utils.js.map +1 -0
  67. package/es-custom/components/chat-shell/src/workspace-manager.d.ts +52 -8
  68. package/es-custom/components/chat-shell/src/workspace-manager.js +330 -117
  69. package/es-custom/components/chat-shell/src/workspace-manager.js.map +1 -1
  70. package/es-custom/components/code-snippet/src/code-snippet.d.ts +27 -11
  71. package/es-custom/components/code-snippet/src/code-snippet.scss.js +1 -1
  72. package/es-custom/components/markdown/src/markdown.js +1 -1
  73. package/es-custom/components/markdown/src/markdown.js.map +1 -1
  74. package/es-custom/components/toolbar/src/toolbar.d.ts +4 -0
  75. package/es-custom/components/toolbar/src/toolbar.js +62 -28
  76. package/es-custom/components/toolbar/src/toolbar.js.map +1 -1
  77. package/es-custom/components/toolbar/src/toolbar.scss.js +1 -1
  78. package/es-custom/components/workspace-shell/src/workspace-shell-footer.js +6 -1
  79. package/es-custom/components/workspace-shell/src/workspace-shell-footer.js.map +1 -1
  80. package/es-custom/components/workspace-shell/src/workspace-shell-footer.scss.js +1 -1
  81. package/es-custom/components/workspace-shell/src/workspace-shell.d.ts +0 -1
  82. package/es-custom/components/workspace-shell/src/workspace-shell.js +0 -6
  83. package/es-custom/components/workspace-shell/src/workspace-shell.js.map +1 -1
  84. package/es-custom/components/workspace-shell/src/workspace-shell.scss.js +1 -1
  85. package/es-custom/react/chat-shell.d.ts +3 -3
  86. package/es-custom/react/chat-shell.js +4 -4
  87. package/es-custom/react/chat-shell.js.map +1 -1
  88. package/es-custom/react/panel.d.ts +3 -3
  89. package/es-custom/react/panel.js +5 -4
  90. package/es-custom/react/panel.js.map +1 -1
  91. package/es-custom/react/toolbar.js +1 -1
  92. package/es-custom/react/toolbar.js.map +1 -1
  93. package/package.json +13 -10
  94. package/es/components/chat-shell/src/cds-aichat-panel.js.map +0 -1
  95. package/es/components/chat-shell/src/cds-aichat-panel.scss.js +0 -13
  96. package/es/components/chat-shell/src/cds-aichat-panel.scss.js.map +0 -1
  97. package/es/components/chat-shell/src/cds-aichat-shell.js.map +0 -1
  98. package/es/components/chat-shell/src/cds-aichat-shell.scss.js +0 -13
  99. package/es/components/chat-shell/src/cds-aichat-shell.scss.js.map +0 -1
  100. package/es-custom/components/chat-shell/src/cds-aichat-panel.js.map +0 -1
  101. package/es-custom/components/chat-shell/src/cds-aichat-panel.scss.js +0 -13
  102. package/es-custom/components/chat-shell/src/cds-aichat-panel.scss.js.map +0 -1
  103. package/es-custom/components/chat-shell/src/cds-aichat-shell.js.map +0 -1
  104. package/es-custom/components/chat-shell/src/cds-aichat-shell.scss.js +0 -13
  105. package/es-custom/components/chat-shell/src/cds-aichat-shell.scss.js.map +0 -1
@@ -8,11 +8,11 @@
8
8
  import { __decorate } from 'tslib';
9
9
  import { LitElement, nothing, html } from 'lit';
10
10
  import { property } from 'lit/decorators.js';
11
- import styles from './cds-aichat-shell.scss.js';
11
+ import styles from './shell.scss.js';
12
12
  import { PanelManager } from './panel-manager.js';
13
13
  import { WorkspaceManager } from './workspace-manager.js';
14
14
  import { carbonElement } from '../../../globals/decorators/carbon-element.js';
15
- import './cds-aichat-panel.js';
15
+ import './panel.js';
16
16
 
17
17
  /**
18
18
  * @license
@@ -22,8 +22,8 @@ import './cds-aichat-panel.js';
22
22
  * This source code is licensed under the Apache-2.0 license found in the
23
23
  * LICENSE file in the root directory of this source tree.
24
24
  */
25
- var CdsAiChatShell_1;
26
- let CdsAiChatShell = CdsAiChatShell_1 = class CdsAiChatShell extends LitElement {
25
+ var CDSAIChatShell_1;
26
+ let CDSAIChatShell = CDSAIChatShell_1 = class CDSAIChatShell extends LitElement {
27
27
  constructor() {
28
28
  super(...arguments);
29
29
  /**
@@ -55,17 +55,25 @@ let CdsAiChatShell = CdsAiChatShell_1 = class CdsAiChatShell extends LitElement
55
55
  */
56
56
  this.historyLocation = "start";
57
57
  /**
58
- * @internal
58
+ * ARIA label for the workspace region
59
59
  */
60
- this.hasHeaderContent = false;
60
+ this.workspaceAriaLabel = "Workspace panel";
61
+ /**
62
+ * ARIA label for the history region
63
+ */
64
+ this.historyAriaLabel = "Conversation history";
65
+ /**
66
+ * ARIA label for the messages region
67
+ */
68
+ this.messagesAriaLabel = "Chat messages";
61
69
  /**
62
70
  * @internal
63
71
  */
64
- this.hasHeaderAfterContent = false;
72
+ this.hasHeaderContent = false;
65
73
  /**
66
74
  * @internal
67
75
  */
68
- this.hasMessagesBeforeContent = false;
76
+ this.hasHeaderAfterContent = false;
69
77
  /**
70
78
  * @internal
71
79
  */
@@ -85,15 +93,55 @@ let CdsAiChatShell = CdsAiChatShell_1 = class CdsAiChatShell extends LitElement
85
93
  /**
86
94
  * @internal
87
95
  */
88
- this.hasMessagesAfterContent = false;
96
+ this.inputAndMessagesAtMaxWidth = false;
89
97
  /**
90
98
  * @internal
91
99
  */
92
- this.inputAndMessagesAtMaxWidth = false;
100
+ this.shouldRenderHistory = true;
93
101
  /**
94
102
  * @internal
95
103
  */
96
- this.shouldRenderHistory = true;
104
+ this.workspacePanelRendering = false;
105
+ /**
106
+ * @internal
107
+ */
108
+ this.workspacePanelOpen = false;
109
+ /**
110
+ * @internal
111
+ */
112
+ this.lastShouldRenderWorkspacePanel = false;
113
+ /**
114
+ * @internal
115
+ */
116
+ this.workspacePanelOpenScheduled = false;
117
+ /**
118
+ * @internal
119
+ */
120
+ this.workspacePanelOpenRafId = null;
121
+ /**
122
+ * @internal
123
+ */
124
+ this.lastWorkspaceInPanel = false;
125
+ /**
126
+ * @internal
127
+ */
128
+ this.lastWorkspaceContainerVisible = false;
129
+ /**
130
+ * @internal
131
+ */
132
+ this.suppressWorkspacePanelOpenAnimation = false;
133
+ /**
134
+ * @internal
135
+ */
136
+ this.suppressWorkspacePanelCloseAnimation = false;
137
+ this.handleWorkspacePanelCloseEnd = () => {
138
+ if (this.workspaceManager?.shouldRenderPanel()) {
139
+ return;
140
+ }
141
+ this.workspacePanelRendering = false;
142
+ this.suppressWorkspacePanelCloseAnimation = false;
143
+ this.requestUpdate();
144
+ };
97
145
  }
98
146
  getWidgetClasses() {
99
147
  const workspaceState = this.workspaceManager?.getState();
@@ -106,6 +154,7 @@ let CdsAiChatShell = CdsAiChatShell_1 = class CdsAiChatShell extends LitElement
106
154
  ? "has-header-content"
107
155
  : "",
108
156
  this.hasFooterContent ? "has-footer-content" : "",
157
+ workspaceState?.isCheckingExpansion ? "workspace-checking" : "",
109
158
  workspaceState?.isContracting ? "workspace-closing" : "",
110
159
  workspaceState?.isExpanding ? "workspace-opening" : "",
111
160
  ]
@@ -115,8 +164,6 @@ let CdsAiChatShell = CdsAiChatShell_1 = class CdsAiChatShell extends LitElement
115
164
  getInputAndMessagesClasses() {
116
165
  return [
117
166
  "input-and-messages",
118
- this.hasMessagesBeforeContent ? "has-messages-before-content" : "",
119
- this.hasMessagesAfterContent ? "has-messages-after-content" : "",
120
167
  this.hasInputBeforeContent ? "has-input-before-content" : "",
121
168
  this.hasInputContent ? "has-input-content" : "",
122
169
  this.hasInputAfterContent ? "has-input-after-content" : "",
@@ -146,8 +193,6 @@ let CdsAiChatShell = CdsAiChatShell_1 = class CdsAiChatShell extends LitElement
146
193
  return this.hasHeaderContent;
147
194
  case "header-after":
148
195
  return this.hasHeaderAfterContent;
149
- case "messages-before":
150
- return this.hasMessagesBeforeContent;
151
196
  case "footer":
152
197
  return this.hasFooterContent;
153
198
  case "input-after":
@@ -156,8 +201,6 @@ let CdsAiChatShell = CdsAiChatShell_1 = class CdsAiChatShell extends LitElement
156
201
  return this.hasInputContent;
157
202
  case "input-before":
158
203
  return this.hasInputBeforeContent;
159
- case "messages-after":
160
- return this.hasMessagesAfterContent;
161
204
  case "messages":
162
205
  return true; // messages slot is always considered to have content
163
206
  default:
@@ -165,13 +208,20 @@ let CdsAiChatShell = CdsAiChatShell_1 = class CdsAiChatShell extends LitElement
165
208
  }
166
209
  }
167
210
  renderWorkspaceInline() {
168
- const shouldRender = this.workspaceManager?.shouldRenderInline() ?? false;
169
- if (!shouldRender) {
211
+ const shouldRenderInline = this.workspaceManager?.shouldRenderInline() ?? false;
212
+ const shouldSuppressInline = this.workspacePanelRendering && !this.workspacePanelOpen;
213
+ if (!shouldRenderInline || shouldSuppressInline) {
170
214
  return nothing;
171
215
  }
172
216
  const workspaceState = this.workspaceManager?.getState();
173
217
  return html `
174
- <div class="workspace" part="slot-workspace" data-panel-slot="workspace">
218
+ <div
219
+ class="workspace"
220
+ part="slot-workspace"
221
+ data-panel-slot="workspace"
222
+ role="region"
223
+ aria-label=${this.workspaceAriaLabel}
224
+ >
175
225
  <div
176
226
  class=${workspaceState?.contentVisible
177
227
  ? "workspace-content"
@@ -184,19 +234,26 @@ let CdsAiChatShell = CdsAiChatShell_1 = class CdsAiChatShell extends LitElement
184
234
  `;
185
235
  }
186
236
  renderWorkspacePanel() {
187
- const shouldRender = this.workspaceManager?.shouldRenderPanel() ?? false;
188
- if (!shouldRender) {
237
+ if (!this.workspacePanelRendering) {
189
238
  return nothing;
190
239
  }
240
+ // When switching from container to panel view, don't animate
241
+ // Only animate when opening from closed state
242
+ const animationOnOpen = this.suppressWorkspacePanelOpenAnimation
243
+ ? "none"
244
+ : "slide-in-from-bottom";
191
245
  return html `
192
246
  <cds-aichat-panel
193
247
  data-internal-panel
194
- open
195
- priority="0"
248
+ ?open=${this.workspacePanelOpen}
196
249
  full-width
197
250
  show-chat-header
198
- animation-on-open="slide-in-from-bottom"
199
- animation-on-close="slide-out-to-bottom"
251
+ body-no-padding
252
+ animation-on-open=${animationOnOpen}
253
+ animation-on-close=${this.suppressWorkspacePanelCloseAnimation
254
+ ? "none"
255
+ : "slide-out-to-bottom"}
256
+ @closeend=${this.handleWorkspacePanelCloseEnd}
200
257
  >
201
258
  <div slot="body" class="workspace-slot">
202
259
  <slot name="workspace"></slot>
@@ -229,13 +286,15 @@ let CdsAiChatShell = CdsAiChatShell_1 = class CdsAiChatShell extends LitElement
229
286
  }
230
287
  renderMessagesSection() {
231
288
  return html `
232
- <div class=${this.getInputAndMessagesClasses()}>
233
- ${this.renderSlot("messages-before", "messages-before")}
289
+ <div
290
+ class=${this.getInputAndMessagesClasses()}
291
+ role="region"
292
+ aria-label=${this.messagesAriaLabel}
293
+ >
234
294
  ${this.renderSlot("messages", "messages")}
235
- ${this.renderSlot("messages-after", "messages-after")}
236
- ${this.renderSlot("input-before", "input-before")}
237
- ${this.renderSlot("input", "input")}
238
- ${this.renderSlot("input-after", "input-after")}
295
+ ${this.renderSlot("input-before", "input-before messages-max-width")}
296
+ ${this.renderSlot("input", "input messages-max-width")}
297
+ ${this.renderSlot("input-after", "input-after messages-max-width")}
239
298
  </div>
240
299
  `;
241
300
  }
@@ -243,7 +302,11 @@ let CdsAiChatShell = CdsAiChatShell_1 = class CdsAiChatShell extends LitElement
243
302
  if (!this.showHistory || !this.shouldRenderHistory) {
244
303
  return nothing;
245
304
  }
246
- return html `<div class="history">
305
+ return html `<div
306
+ class="history"
307
+ role="region"
308
+ aria-label=${this.historyAriaLabel}
309
+ >
247
310
  ${this.renderSlot("history", "history")}
248
311
  </div>`;
249
312
  }
@@ -291,6 +354,7 @@ let CdsAiChatShell = CdsAiChatShell_1 = class CdsAiChatShell extends LitElement
291
354
  this.observeMainContentBodyWidth();
292
355
  this.observeSlotContent();
293
356
  this.observeCssProperties();
357
+ this.syncWorkspacePanelState();
294
358
  }
295
359
  hasSlotContent(slotName) {
296
360
  const slot = this.renderRoot.querySelector(`slot[name="${slotName}"]`);
@@ -304,14 +368,14 @@ let CdsAiChatShell = CdsAiChatShell_1 = class CdsAiChatShell extends LitElement
304
368
  }
305
369
  observeSlotContent() {
306
370
  const updateSlotStates = () => {
307
- const previousStates = new Map(CdsAiChatShell_1.OBSERVED_SLOTS.map(({ stateKey }) => [
371
+ const previousStates = new Map(CDSAIChatShell_1.OBSERVED_SLOTS.map(({ stateKey }) => [
308
372
  stateKey,
309
373
  this[stateKey],
310
374
  ]));
311
- CdsAiChatShell_1.OBSERVED_SLOTS.forEach(({ name, stateKey }) => {
375
+ CDSAIChatShell_1.OBSERVED_SLOTS.forEach(({ name, stateKey }) => {
312
376
  this[stateKey] = this.hasSlotContent(name);
313
377
  });
314
- const hasChanged = CdsAiChatShell_1.OBSERVED_SLOTS.some(({ stateKey }) => previousStates.get(stateKey) !== this[stateKey]);
378
+ const hasChanged = CDSAIChatShell_1.OBSERVED_SLOTS.some(({ stateKey }) => previousStates.get(stateKey) !== this[stateKey]);
315
379
  if (hasChanged) {
316
380
  this.requestUpdate();
317
381
  }
@@ -319,7 +383,7 @@ let CdsAiChatShell = CdsAiChatShell_1 = class CdsAiChatShell extends LitElement
319
383
  // Initial check
320
384
  updateSlotStates();
321
385
  // Observe slot changes
322
- const slots = CdsAiChatShell_1.OBSERVED_SLOTS.map(({ name }) => this.renderRoot.querySelector(`slot[name="${name}"]`)).filter((slot) => slot !== null);
386
+ const slots = CDSAIChatShell_1.OBSERVED_SLOTS.map(({ name }) => this.renderRoot.querySelector(`slot[name="${name}"]`)).filter((slot) => slot !== null);
323
387
  slots.forEach((slot) => {
324
388
  slot.addEventListener("slotchange", updateSlotStates);
325
389
  });
@@ -337,6 +401,7 @@ let CdsAiChatShell = CdsAiChatShell_1 = class CdsAiChatShell extends LitElement
337
401
  roundedCorners: this.roundedCorners,
338
402
  });
339
403
  }
404
+ this.syncWorkspacePanelState();
340
405
  this.panelManager?.refresh();
341
406
  }
342
407
  disconnectedCallback() {
@@ -346,6 +411,7 @@ let CdsAiChatShell = CdsAiChatShell_1 = class CdsAiChatShell extends LitElement
346
411
  this.inputAndMessagesResizeObserver?.disconnect();
347
412
  this.mainContentBodyResizeObserver?.disconnect();
348
413
  this.cssPropertyObserver?.disconnect();
414
+ this.cancelWorkspacePanelOpenSchedule();
349
415
  super.disconnectedCallback();
350
416
  }
351
417
  observeInputAndMessagesWidth() {
@@ -368,20 +434,23 @@ let CdsAiChatShell = CdsAiChatShell_1 = class CdsAiChatShell extends LitElement
368
434
  updateAtMaxWidth(rect.width);
369
435
  };
370
436
  this.inputAndMessagesResizeObserver = new ResizeObserver((entries) => {
371
- for (const entry of entries) {
372
- if (entry.target !== this) {
373
- continue;
374
- }
375
- const borderBoxSize = Array.isArray(entry.borderBoxSize)
376
- ? entry.borderBoxSize[0]
377
- : entry.borderBoxSize;
378
- if (borderBoxSize?.inlineSize) {
379
- updateAtMaxWidth(borderBoxSize.inlineSize);
380
- }
381
- else {
382
- updateAtMaxWidth(entry.contentRect.width);
437
+ // Use requestAnimationFrame to avoid ResizeObserver loop errors
438
+ requestAnimationFrame(() => {
439
+ for (const entry of entries) {
440
+ if (entry.target !== this) {
441
+ continue;
442
+ }
443
+ const borderBoxSize = Array.isArray(entry.borderBoxSize)
444
+ ? entry.borderBoxSize[0]
445
+ : entry.borderBoxSize;
446
+ if (borderBoxSize?.inlineSize) {
447
+ updateAtMaxWidth(borderBoxSize.inlineSize);
448
+ }
449
+ else {
450
+ updateAtMaxWidth(entry.contentRect.width);
451
+ }
383
452
  }
384
- }
453
+ });
385
454
  });
386
455
  this.inputAndMessagesResizeObserver.observe(this);
387
456
  measure();
@@ -405,20 +474,23 @@ let CdsAiChatShell = CdsAiChatShell_1 = class CdsAiChatShell extends LitElement
405
474
  }
406
475
  };
407
476
  this.mainContentBodyResizeObserver = new ResizeObserver((entries) => {
408
- for (const entry of entries) {
409
- if (entry.target !== mainContentBody) {
410
- continue;
411
- }
412
- const borderBoxSize = Array.isArray(entry.borderBoxSize)
413
- ? entry.borderBoxSize[0]
414
- : entry.borderBoxSize;
415
- if (borderBoxSize?.inlineSize) {
416
- updateHistoryVisibility(borderBoxSize.inlineSize);
477
+ // Use requestAnimationFrame to avoid ResizeObserver loop errors
478
+ requestAnimationFrame(() => {
479
+ for (const entry of entries) {
480
+ if (entry.target !== mainContentBody) {
481
+ continue;
482
+ }
483
+ const borderBoxSize = Array.isArray(entry.borderBoxSize)
484
+ ? entry.borderBoxSize[0]
485
+ : entry.borderBoxSize;
486
+ if (borderBoxSize?.inlineSize) {
487
+ updateHistoryVisibility(borderBoxSize.inlineSize);
488
+ }
489
+ else {
490
+ updateHistoryVisibility(entry.contentRect.width);
491
+ }
417
492
  }
418
- else {
419
- updateHistoryVisibility(entry.contentRect.width);
420
- }
421
- }
493
+ });
422
494
  });
423
495
  this.mainContentBodyResizeObserver.observe(mainContentBody);
424
496
  // Initial measurement
@@ -449,27 +521,30 @@ let CdsAiChatShell = CdsAiChatShell_1 = class CdsAiChatShell extends LitElement
449
521
  return;
450
522
  }
451
523
  const updateHeight = (height) => {
452
- this.style.setProperty("--cds-aichat--header-height", `${height}px`);
524
+ this.style.setProperty("--cds-aichat-header-height", `${height}px`);
453
525
  };
454
526
  const measure = () => {
455
527
  const rect = headerWrapper.getBoundingClientRect();
456
528
  updateHeight(rect.height);
457
529
  };
458
530
  this.headerResizeObserver = new ResizeObserver((entries) => {
459
- for (const entry of entries) {
460
- if (entry.target !== headerWrapper) {
461
- continue;
462
- }
463
- const borderBoxSize = Array.isArray(entry.borderBoxSize)
464
- ? entry.borderBoxSize[0]
465
- : entry.borderBoxSize;
466
- if (borderBoxSize?.blockSize) {
467
- updateHeight(borderBoxSize.blockSize);
468
- }
469
- else {
470
- updateHeight(entry.contentRect.height);
531
+ // Use requestAnimationFrame to avoid ResizeObserver loop errors
532
+ requestAnimationFrame(() => {
533
+ for (const entry of entries) {
534
+ if (entry.target !== headerWrapper) {
535
+ continue;
536
+ }
537
+ const borderBoxSize = Array.isArray(entry.borderBoxSize)
538
+ ? entry.borderBoxSize[0]
539
+ : entry.borderBoxSize;
540
+ if (borderBoxSize?.blockSize) {
541
+ updateHeight(borderBoxSize.blockSize);
542
+ }
543
+ else {
544
+ updateHeight(entry.contentRect.height);
545
+ }
471
546
  }
472
- }
547
+ });
473
548
  });
474
549
  this.headerResizeObserver.observe(headerWrapper);
475
550
  measure();
@@ -509,46 +584,127 @@ let CdsAiChatShell = CdsAiChatShell_1 = class CdsAiChatShell extends LitElement
509
584
  }
510
585
  }
511
586
  }
587
+ syncWorkspacePanelState() {
588
+ const shouldRenderPanel = this.workspaceManager?.shouldRenderPanel() ?? false;
589
+ const workspaceState = this.workspaceManager?.getState();
590
+ if (shouldRenderPanel && !this.lastShouldRenderWorkspacePanel) {
591
+ // Suppress animation when switching from inline container to panel
592
+ // (workspace was visible inline and now moving to panel)
593
+ const shouldSuppressAnimation = !this.lastWorkspaceInPanel && this.lastWorkspaceContainerVisible;
594
+ // IMPORTANT: Set the flag BEFORE updating state that triggers render
595
+ this.suppressWorkspacePanelOpenAnimation = shouldSuppressAnimation;
596
+ // Now update the state
597
+ this.workspacePanelRendering = true;
598
+ this.workspacePanelOpen = false;
599
+ this.cancelWorkspacePanelOpenSchedule();
600
+ // Request update to render the panel with the correct animation attribute
601
+ this.requestUpdate();
602
+ // Schedule opening after the panel is rendered
603
+ this.scheduleWorkspacePanelOpen();
604
+ }
605
+ else if (!shouldRenderPanel && this.lastShouldRenderWorkspacePanel) {
606
+ // Suppress animation when switching from panel to inline container
607
+ // (workspace was in panel and now moving to inline)
608
+ const shouldSuppressAnimation = this.lastWorkspaceInPanel &&
609
+ (workspaceState?.containerVisible ?? false);
610
+ console.log("[syncWorkspacePanelState] CLOSING PANEL", {
611
+ shouldSuppressAnimation,
612
+ });
613
+ this.suppressWorkspacePanelCloseAnimation = shouldSuppressAnimation;
614
+ this.cancelWorkspacePanelOpenSchedule();
615
+ if (this.workspacePanelOpen) {
616
+ this.workspacePanelOpen = false;
617
+ this.requestUpdate();
618
+ }
619
+ else {
620
+ this.workspacePanelRendering = false;
621
+ this.requestUpdate();
622
+ }
623
+ this.suppressWorkspacePanelOpenAnimation = false;
624
+ }
625
+ this.lastShouldRenderWorkspacePanel = shouldRenderPanel;
626
+ this.lastWorkspaceInPanel = workspaceState?.inPanel ?? false;
627
+ this.lastWorkspaceContainerVisible =
628
+ workspaceState?.containerVisible ?? false;
629
+ }
630
+ scheduleWorkspacePanelOpen() {
631
+ if (this.workspacePanelOpenScheduled) {
632
+ return;
633
+ }
634
+ this.workspacePanelOpenScheduled = true;
635
+ if (typeof window === "undefined") {
636
+ this.workspacePanelOpenScheduled = false;
637
+ this.workspacePanelOpen = true;
638
+ return;
639
+ }
640
+ // Use double RAF to ensure the panel element is fully rendered with correct attributes
641
+ this.workspacePanelOpenRafId = window.requestAnimationFrame(() => {
642
+ this.workspacePanelOpenRafId = window.requestAnimationFrame(() => {
643
+ this.workspacePanelOpenRafId = null;
644
+ this.workspacePanelOpenScheduled = false;
645
+ if (!this.workspaceManager?.shouldRenderPanel()) {
646
+ return;
647
+ }
648
+ this.workspacePanelOpen = true;
649
+ this.requestUpdate();
650
+ });
651
+ });
652
+ }
653
+ cancelWorkspacePanelOpenSchedule() {
654
+ if (this.workspacePanelOpenRafId !== null &&
655
+ typeof window !== "undefined") {
656
+ window.cancelAnimationFrame(this.workspacePanelOpenRafId);
657
+ }
658
+ this.workspacePanelOpenRafId = null;
659
+ this.workspacePanelOpenScheduled = false;
660
+ }
512
661
  };
513
- CdsAiChatShell.styles = styles;
662
+ CDSAIChatShell.styles = styles;
514
663
  /**
515
664
  * @internal
516
665
  */
517
- CdsAiChatShell.OBSERVED_SLOTS = [
666
+ CDSAIChatShell.OBSERVED_SLOTS = [
518
667
  { name: "header", stateKey: "hasHeaderContent" },
519
668
  { name: "header-after", stateKey: "hasHeaderAfterContent" },
520
- { name: "messages-before", stateKey: "hasMessagesBeforeContent" },
521
669
  { name: "footer", stateKey: "hasFooterContent" },
522
670
  { name: "input-after", stateKey: "hasInputAfterContent" },
523
671
  { name: "input", stateKey: "hasInputContent" },
524
672
  { name: "input-before", stateKey: "hasInputBeforeContent" },
525
- { name: "messages-after", stateKey: "hasMessagesAfterContent" },
526
673
  ];
527
674
  __decorate([
528
675
  property({ type: Boolean, attribute: "ai-enabled", reflect: true })
529
- ], CdsAiChatShell.prototype, "aiEnabled", void 0);
676
+ ], CDSAIChatShell.prototype, "aiEnabled", void 0);
530
677
  __decorate([
531
678
  property({ type: Boolean, attribute: "show-frame", reflect: true })
532
- ], CdsAiChatShell.prototype, "showFrame", void 0);
679
+ ], CDSAIChatShell.prototype, "showFrame", void 0);
533
680
  __decorate([
534
681
  property({ type: Boolean, attribute: "rounded-corners", reflect: true })
535
- ], CdsAiChatShell.prototype, "roundedCorners", void 0);
682
+ ], CDSAIChatShell.prototype, "roundedCorners", void 0);
536
683
  __decorate([
537
684
  property({ type: Boolean, attribute: "show-history", reflect: true })
538
- ], CdsAiChatShell.prototype, "showHistory", void 0);
685
+ ], CDSAIChatShell.prototype, "showHistory", void 0);
539
686
  __decorate([
540
687
  property({ type: Boolean, attribute: "show-workspace", reflect: true })
541
- ], CdsAiChatShell.prototype, "showWorkspace", void 0);
688
+ ], CDSAIChatShell.prototype, "showWorkspace", void 0);
542
689
  __decorate([
543
690
  property({ type: String, attribute: "workspace-location", reflect: true })
544
- ], CdsAiChatShell.prototype, "workspaceLocation", void 0);
691
+ ], CDSAIChatShell.prototype, "workspaceLocation", void 0);
545
692
  __decorate([
546
693
  property({ type: String, attribute: "history-location", reflect: true })
547
- ], CdsAiChatShell.prototype, "historyLocation", void 0);
548
- CdsAiChatShell = CdsAiChatShell_1 = __decorate([
694
+ ], CDSAIChatShell.prototype, "historyLocation", void 0);
695
+ __decorate([
696
+ property({ type: String, attribute: "workspace-aria-label" })
697
+ ], CDSAIChatShell.prototype, "workspaceAriaLabel", void 0);
698
+ __decorate([
699
+ property({ type: String, attribute: "history-aria-label" })
700
+ ], CDSAIChatShell.prototype, "historyAriaLabel", void 0);
701
+ __decorate([
702
+ property({ type: String, attribute: "messages-aria-label" })
703
+ ], CDSAIChatShell.prototype, "messagesAriaLabel", void 0);
704
+ CDSAIChatShell = CDSAIChatShell_1 = __decorate([
549
705
  carbonElement("cds-aichat-shell")
550
- ], CdsAiChatShell);
551
- var CdsAiChatShellElement = CdsAiChatShell;
706
+ ], CDSAIChatShell);
707
+ var CDSChatShellElement = CDSAIChatShell;
552
708
 
553
- export { CdsAiChatShellElement as default };
554
- //# sourceMappingURL=cds-aichat-shell.js.map
709
+ export { CDSChatShellElement as default };
710
+ //# sourceMappingURL=shell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.js","sources":["../../../../src/components/chat-shell/src/shell.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;AAOG;;AAcH,IAAM,cAAc,GAAA,gBAAA,GAApB,MAAM,cAAe,SAAQ,UAAU,CAAA;AAAvC,IAAA,WAAA,GAAA;;AAeE;;AAEG;QAEH,IAAA,CAAA,SAAS,GAAG,KAAK;AAEjB;;AAEG;QAEH,IAAA,CAAA,SAAS,GAAG,KAAK;AAEjB;;AAEG;QAEH,IAAA,CAAA,cAAc,GAAG,KAAK;AAEtB;;AAEG;QAEH,IAAA,CAAA,WAAW,GAAG,KAAK;AAEnB;;AAEG;QAEH,IAAA,CAAA,aAAa,GAAG,KAAK;AAErB;;AAEG;QAEH,IAAA,CAAA,iBAAiB,GAAe,OAAO;AAEvC;;AAEG;QAEH,IAAA,CAAA,eAAe,GAAe,OAAO;AAErC;;AAEG;QAEH,IAAA,CAAA,kBAAkB,GAAG,iBAAiB;AAEtC;;AAEG;QAEH,IAAA,CAAA,gBAAgB,GAAG,sBAAsB;AAEzC;;AAEG;QAEH,IAAA,CAAA,iBAAiB,GAAG,eAAe;AAqCnC;;AAEG;QACK,IAAA,CAAA,gBAAgB,GAAG,KAAK;AAEhC;;AAEG;QACK,IAAA,CAAA,qBAAqB,GAAG,KAAK;AAErC;;AAEG;QACK,IAAA,CAAA,gBAAgB,GAAG,KAAK;AAEhC;;AAEG;QACK,IAAA,CAAA,oBAAoB,GAAG,KAAK;AAEpC;;AAEG;QACK,IAAA,CAAA,eAAe,GAAG,KAAK;AAE/B;;AAEG;QACK,IAAA,CAAA,qBAAqB,GAAG,KAAK;AAErC;;AAEG;QACK,IAAA,CAAA,0BAA0B,GAAG,KAAK;AAE1C;;AAEG;QACK,IAAA,CAAA,mBAAmB,GAAG,IAAI;AAElC;;AAEG;QACK,IAAA,CAAA,uBAAuB,GAAG,KAAK;AAEvC;;AAEG;QACK,IAAA,CAAA,kBAAkB,GAAG,KAAK;AAElC;;AAEG;QACK,IAAA,CAAA,8BAA8B,GAAG,KAAK;AAE9C;;AAEG;QACK,IAAA,CAAA,2BAA2B,GAAG,KAAK;AAE3C;;AAEG;QACK,IAAA,CAAA,uBAAuB,GAAkB,IAAI;AAErD;;AAEG;QACK,IAAA,CAAA,oBAAoB,GAAG,KAAK;AAEpC;;AAEG;QACK,IAAA,CAAA,6BAA6B,GAAG,KAAK;AAE7C;;AAEG;QACK,IAAA,CAAA,mCAAmC,GAAG,KAAK;AAEnD;;AAEG;QACK,IAAA,CAAA,oCAAoC,GAAG,KAAK;QAunB5C,IAAA,CAAA,4BAA4B,GAAG,MAAK;AAC1C,YAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,EAAE;gBAC9C;YACF;AACA,YAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK;AACpC,YAAA,IAAI,CAAC,oCAAoC,GAAG,KAAK;YACjD,IAAI,CAAC,aAAa,EAAE;AACtB,QAAA,CAAC;IACH;IA7nBU,gBAAgB,GAAA;QACtB,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,EAAE;QACxD,OAAO;YACL,OAAO;YACP,IAAI,CAAC,SAAS,GAAG,UAAU,GAAG,EAAE;YAChC,IAAI,CAAC,SAAS,GAAG,EAAE,GAAG,WAAW;YACjC,IAAI,CAAC,cAAc,GAAG,SAAS,GAAG,EAAE;AACpC,YAAA,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC;AAC5B,kBAAE;AACF,kBAAE,EAAE;YACN,IAAI,CAAC,gBAAgB,GAAG,oBAAoB,GAAG,EAAE;YACjD,cAAc,EAAE,mBAAmB,GAAG,oBAAoB,GAAG,EAAE;YAC/D,cAAc,EAAE,aAAa,GAAG,mBAAmB,GAAG,EAAE;YACxD,cAAc,EAAE,WAAW,GAAG,mBAAmB,GAAG,EAAE;AACvD;aACE,MAAM,CAAC,OAAO;aACd,IAAI,CAAC,GAAG,CAAC;IACd;IAEQ,0BAA0B,GAAA;QAChC,OAAO;YACL,oBAAoB;YACpB,IAAI,CAAC,qBAAqB,GAAG,0BAA0B,GAAG,EAAE;YAC5D,IAAI,CAAC,eAAe,GAAG,mBAAmB,GAAG,EAAE;YAC/C,IAAI,CAAC,oBAAoB,GAAG,yBAAyB,GAAG,EAAE;YAC1D,IAAI,CAAC,0BAA0B,GAAG,cAAc,GAAG,EAAE;AACtD;aACE,MAAM,CAAC,OAAO;aACd,IAAI,CAAC,GAAG,CAAC;IACd;AAEQ,IAAA,UAAU,CAAC,IAAY,EAAE,SAAiB,EAAE,SAAS,GAAG,IAAI,EAAA;QAClE,IAAI,CAAC,SAAS,EAAE;AACd,YAAA,OAAO,OAAO;QAChB;;QAGA,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;AACjD,QAAA,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,UAAU,GAAG,aAAa,GAAG,EAAE;aACxD,MAAM,CAAC,OAAO;aACd,IAAI,CAAC,GAAG,CAAC;AAEZ,QAAA,OAAO,IAAI,CAAA;mBACI,OAAO,CAAA,YAAA,EAAe,IAAI,CAAA,kBAAA,EAAqB,IAAI,CAAA;qBACjD,IAAI,CAAA;;KAEpB;IACH;AAEQ,IAAA,mBAAmB,CAAC,QAAgB,EAAA;QAC1C,QAAQ,QAAQ;AACd,YAAA,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,gBAAgB;AAC9B,YAAA,KAAK,cAAc;gBACjB,OAAO,IAAI,CAAC,qBAAqB;AACnC,YAAA,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,gBAAgB;AAC9B,YAAA,KAAK,aAAa;gBAChB,OAAO,IAAI,CAAC,oBAAoB;AAClC,YAAA,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,eAAe;AAC7B,YAAA,KAAK,cAAc;gBACjB,OAAO,IAAI,CAAC,qBAAqB;AACnC,YAAA,KAAK,UAAU;gBACb,OAAO,IAAI,CAAC;AACd,YAAA;AACE,gBAAA,OAAO,KAAK;;IAElB;IAEQ,qBAAqB,GAAA;QAC3B,MAAM,kBAAkB,GACtB,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,IAAI,KAAK;QACtD,MAAM,oBAAoB,GACxB,IAAI,CAAC,uBAAuB,IAAI,CAAC,IAAI,CAAC,kBAAkB;AAE1D,QAAA,IAAI,CAAC,kBAAkB,IAAI,oBAAoB,EAAE;AAC/C,YAAA,OAAO,OAAO;QAChB;QAEA,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,EAAE;AAExD,QAAA,OAAO,IAAI,CAAA;;;;;;AAMM,mBAAA,EAAA,IAAI,CAAC,kBAAkB;;;AAG1B,gBAAA,EAAA,cAAc,EAAE;AACtB,cAAE;AACF,cAAE,6CAA6C;mBACxC,CAAC,cAAc,EAAE,cAAc;;;;;KAK7C;IACH;IAEQ,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;AACjC,YAAA,OAAO,OAAO;QAChB;;;AAIA,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC;AAC3B,cAAE;cACA,sBAAsB;AAE1B,QAAA,OAAO,IAAI,CAAA;;;AAGC,cAAA,EAAA,IAAI,CAAC,kBAAkB;;;;4BAIX,eAAe;AACd,2BAAA,EAAA,IAAI,CAAC;AACxB,cAAE;AACF,cAAE,qBAAqB;AACb,kBAAA,EAAA,IAAI,CAAC,4BAA4B;;;;;;KAMhD;IACH;IAEQ,YAAY,GAAA;AAClB,QAAA,OAAO,IAAI,CAAA;;AAEL,QAAA,EAAA,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC;AACzC,QAAA,EAAA,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,cAAc,CAAC;;KAE1D;IACH;IAEQ,gBAAgB,CAAC,IAAY,EAAE,SAAiB,EAAA;AACtD,QAAA,MAAM,UAAU,GACd,IAAI,KAAK;cACL,IAAI,CAAC;cACL,IAAI,KAAK;kBACP,IAAI,CAAC;kBACL,KAAK;AAEb,QAAA,MAAM,OAAO,GAAG,CAAC,SAAS,EAAE,UAAU,GAAG,aAAa,GAAG,EAAE;aACxD,MAAM,CAAC,OAAO;aACd,IAAI,CAAC,GAAG,CAAC;AAEZ,QAAA,OAAO,IAAI,CAAA;mBACI,OAAO,CAAA,YAAA,EAAe,IAAI,CAAA,kBAAA,EAAqB,IAAI,CAAA;qBACjD,IAAI,CAAA;;KAEpB;IACH;IAEQ,qBAAqB,GAAA;AAC3B,QAAA,OAAO,IAAI,CAAA;;gBAEC,IAAI,CAAC,0BAA0B,EAAE;;AAE5B,mBAAA,EAAA,IAAI,CAAC,iBAAiB;;AAEjC,QAAA,EAAA,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC;AACvC,QAAA,EAAA,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,iCAAiC,CAAC;AAClE,QAAA,EAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,0BAA0B,CAAC;AACpD,QAAA,EAAA,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,gCAAgC,CAAC;;KAErE;IACH;IAEQ,aAAa,GAAA;QACnB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;AAClD,YAAA,OAAO,OAAO;QAChB;AACA,QAAA,OAAO,IAAI,CAAA,CAAA;;;AAGI,iBAAA,EAAA,IAAI,CAAC,gBAAgB;;AAEhC,MAAA,EAAA,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC;WAClC;IACT;IAEA,MAAM,GAAA;AACJ,QAAA,OAAO,IAAI,CAAA;mBACI,IAAI,CAAC,gBAAgB,EAAE,CAAA;;YAE9B,IAAI,CAAC,YAAY,EAAE;;;AAGf,cAAA,EAAA,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBACpD,IAAI,CAAC,qBAAqB,EAAE;;AAE9B,YAAA,EAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC;;;;YAIrC,IAAI,CAAC,oBAAoB,EAAE;;;;KAIlC;IACH;AAEU,IAAA,YAAY,CAAC,iBAAiC,EAAA;AACtD,QAAA,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAC9C,qBAAqB,CACtB;QAED,IAAI,CAAC,UAAU,EAAE;YACf;QACF;QAEA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAc,QAAQ,CAAC;QAEvE,IAAI,CAAC,UAAU,EAAE;YACf;QACF;QAEA,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC;AAC5D,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QAE3B,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,UAAU,EAAE,IAAI,EAAE;YAC7D,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,cAAc,EAAE,IAAI,CAAC,cAAc;AACpC,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE;QAE/B,IAAI,CAAC,mBAAmB,EAAE;QAC1B,IAAI,CAAC,4BAA4B,EAAE;QACnC,IAAI,CAAC,2BAA2B,EAAE;QAClC,IAAI,CAAC,kBAAkB,EAAE;QACzB,IAAI,CAAC,oBAAoB,EAAE;QAE3B,IAAI,CAAC,uBAAuB,EAAE;IAChC;AAEQ,IAAA,cAAc,CAAC,QAAgB,EAAA;AACrC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CACxC,CAAA,WAAA,EAAc,QAAQ,CAAA,EAAA,CAAI,CAC3B;QACD,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,KAAK;QACd;AAEA,QAAA,OAAO;AACJ,aAAA,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AAC/B,aAAA,IAAI,CACH,CAAC,IAAI,KACH,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY;AACnC,aAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CACjE;IACL;IAEQ,kBAAkB,GAAA;QACxB,MAAM,gBAAgB,GAAG,MAAK;AAC5B,YAAA,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,gBAAc,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK;gBAClD,QAAQ;gBACR,IAAI,CAAC,QAAQ,CAAC;AACf,aAAA,CAAC,CACH;AAED,YAAA,gBAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAI;gBAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;AAC5C,YAAA,CAAC,CAAC;YAEF,MAAM,UAAU,GAAG,gBAAc,CAAC,cAAc,CAAC,IAAI,CACnD,CAAC,EAAE,QAAQ,EAAE,KAAK,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,CAClE;YAED,IAAI,UAAU,EAAE;gBACd,IAAI,CAAC,aAAa,EAAE;YACtB;AACF,QAAA,CAAC;;AAGD,QAAA,gBAAgB,EAAE;;AAGlB,QAAA,MAAM,KAAK,GAAG,gBAAc,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KACvD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAkB,cAAc,IAAI,CAAA,EAAA,CAAI,CAAC,CACvE,CAAC,MAAM,CAAC,CAAC,IAAI,KAA8B,IAAI,KAAK,IAAI,CAAC;AAE1D,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACrB,YAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,CAAC;AACvD,QAAA,CAAC,CAAC;IACJ;AAEU,IAAA,OAAO,CAAC,iBAAiC,EAAA;AACjD,QAAA,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC;AAEhC,QAAA,IACE,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC;AACtC,YAAA,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC;AACpC,YAAA,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,CAAC;AAC1C,YAAA,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EACvC;AACA,YAAA,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC;gBAClC,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,cAAc,EAAE,IAAI,CAAC,cAAc;AACpC,aAAA,CAAC;QACJ;QAEA,IAAI,CAAC,uBAAuB,EAAE;AAC9B,QAAA,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE;IAC9B;IAEA,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE;AAC/B,QAAA,IAAI,CAAC,gBAAgB,EAAE,UAAU,EAAE;AACnC,QAAA,IAAI,CAAC,oBAAoB,EAAE,UAAU,EAAE;AACvC,QAAA,IAAI,CAAC,8BAA8B,EAAE,UAAU,EAAE;AACjD,QAAA,IAAI,CAAC,6BAA6B,EAAE,UAAU,EAAE;AAChD,QAAA,IAAI,CAAC,mBAAmB,EAAE,UAAU,EAAE;QACtC,IAAI,CAAC,gCAAgC,EAAE;QACvC,KAAK,CAAC,oBAAoB,EAAE;IAC9B;IAEQ,4BAA4B,GAAA;;;AAGlC,QAAA,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;YACzC;QACF;AAEA,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE;AAEnD,QAAA,MAAM,gBAAgB,GAAG,CAAC,SAAiB,KAAI;;AAE7C,YAAA,MAAM,YAAY,GAAG,SAAS,GAAG,gBAAgB;AACjD,YAAA,IAAI,IAAI,CAAC,0BAA0B,KAAK,YAAY,EAAE;AACpD,gBAAA,IAAI,CAAC,0BAA0B,GAAG,YAAY;gBAC9C,IAAI,CAAC,aAAa,EAAE;YACtB;AACF,QAAA,CAAC;QAED,MAAM,OAAO,GAAG,MAAK;AACnB,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,EAAE;AACzC,YAAA,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;AAC9B,QAAA,CAAC;QAED,IAAI,CAAC,8BAA8B,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,KAAI;;YAEnE,qBAAqB,CAAC,MAAK;AACzB,gBAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;AAC3B,oBAAA,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE;wBACzB;oBACF;oBACA,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa;AACrD,0BAAE,KAAK,CAAC,aAAa,CAAC,CAAC;AACvB,0BAAE,KAAK,CAAC,aAAa;AACvB,oBAAA,IAAI,aAAa,EAAE,UAAU,EAAE;AAC7B,wBAAA,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC;oBAC5C;yBAAO;AACL,wBAAA,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;oBAC3C;gBACF;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,IAAI,CAAC;AACjD,QAAA,OAAO,EAAE;IACX;IAEQ,2BAA2B,GAAA;QACjC,IAAI,OAAO,cAAc,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAC9D;QACF;QAEA,MAAM,eAAe,GACnB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAc,oBAAoB,CAAC;QAElE,IAAI,CAAC,eAAe,EAAE;YACpB;QACF;AAEA,QAAA,MAAM,uBAAuB,GAAG,CAAC,KAAa,KAAI;YAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CACpD,iCAAiC,EACjC,GAAG,CACJ;YACD,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAChD,4BAA4B,EAC5B,GAAG,CACJ;AAED,YAAA,MAAM,aAAa,GAAG,gBAAgB,GAAG,YAAY;AACrD,YAAA,MAAM,sBAAsB,GAAG,KAAK,IAAI,aAAa;AAErD,YAAA,IAAI,IAAI,CAAC,mBAAmB,KAAK,sBAAsB,EAAE;AACvD,gBAAA,IAAI,CAAC,mBAAmB,GAAG,sBAAsB;gBACjD,IAAI,CAAC,aAAa,EAAE;YACtB;AACF,QAAA,CAAC;QAED,IAAI,CAAC,6BAA6B,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,KAAI;;YAElE,qBAAqB,CAAC,MAAK;AACzB,gBAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;AAC3B,oBAAA,IAAI,KAAK,CAAC,MAAM,KAAK,eAAe,EAAE;wBACpC;oBACF;oBACA,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa;AACrD,0BAAE,KAAK,CAAC,aAAa,CAAC,CAAC;AACvB,0BAAE,KAAK,CAAC,aAAa;AACvB,oBAAA,IAAI,aAAa,EAAE,UAAU,EAAE;AAC7B,wBAAA,uBAAuB,CAAC,aAAa,CAAC,UAAU,CAAC;oBACnD;yBAAO;AACL,wBAAA,uBAAuB,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;oBAClD;gBACF;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,eAAe,CAAC;;AAG3D,QAAA,MAAM,IAAI,GAAG,eAAe,CAAC,qBAAqB,EAAE;AACpD,QAAA,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC;IACrC;IAEQ,wBAAwB,CAC9B,YAAoB,EACpB,QAAgB,EAAA;AAEhB,QAAA,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE;QAC1E,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,OAAO,QAAQ;QACjB;QACA,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;AACvC,QAAA,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,QAAQ,GAAG,MAAM;IACjD;IAEQ,mBAAmB,GAAA;AACzB,QAAA,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI;aAChC,gBAAgB,CAAC,iCAAiC;AAClD,aAAA,IAAI,EAAE;QACT,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,GAAG,CAAC;QACb;QACA,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;AACvC,QAAA,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,MAAM;IAC5C;IAEQ,mBAAmB,GAAA;QACzB,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CACjD,2BAA2B,CAC5B;QAED,IAAI,CAAC,aAAa,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;YAC3D;QACF;AAEA,QAAA,MAAM,YAAY,GAAG,CAAC,MAAc,KAAI;YACtC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,4BAA4B,EAAE,CAAA,EAAG,MAAM,CAAA,EAAA,CAAI,CAAC;AACrE,QAAA,CAAC;QAED,MAAM,OAAO,GAAG,MAAK;AACnB,YAAA,MAAM,IAAI,GAAG,aAAa,CAAC,qBAAqB,EAAE;AAClD,YAAA,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;AAC3B,QAAA,CAAC;QAED,IAAI,CAAC,oBAAoB,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,KAAI;;YAEzD,qBAAqB,CAAC,MAAK;AACzB,gBAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;AAC3B,oBAAA,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,EAAE;wBAClC;oBACF;oBACA,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa;AACrD,0BAAE,KAAK,CAAC,aAAa,CAAC,CAAC;AACvB,0BAAE,KAAK,CAAC,aAAa;AACvB,oBAAA,IAAI,aAAa,EAAE,SAAS,EAAE;AAC5B,wBAAA,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC;oBACvC;yBAAO;AACL,wBAAA,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC;oBACxC;gBACF;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,aAAa,CAAC;AAChD,QAAA,OAAO,EAAE;IACX;AAEA;;;AAGG;IACK,oBAAoB,GAAA;AAC1B,QAAA,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;YAC3C;QACF;;AAGA,QAAA,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,mBAAmB,EAAE;;AAG3D,QAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,gBAAgB,CAAC,MAAK;YACnD,IAAI,CAAC,2BAA2B,EAAE;AACpC,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE;AACrC,YAAA,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,CAAC,OAAO,CAAC;AAC3B,SAAA,CAAC;IACJ;AAEA;;AAEG;IACK,2BAA2B,GAAA;AACjC,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE;AAElD,QAAA,IAAI,eAAe,KAAK,IAAI,CAAC,yBAAyB,EAAE;AACtD,YAAA,IAAI,CAAC,yBAAyB,GAAG,eAAe;;AAGhD,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,EAAE;AACzC,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,GAAG,eAAe;AACjD,YAAA,IAAI,IAAI,CAAC,0BAA0B,KAAK,YAAY,EAAE;AACpD,gBAAA,IAAI,CAAC,0BAA0B,GAAG,YAAY;gBAC9C,IAAI,CAAC,aAAa,EAAE;YACtB;QACF;IACF;IAEQ,uBAAuB,GAAA;QAC7B,MAAM,iBAAiB,GACrB,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,IAAI,KAAK;QACrD,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,EAAE;AAExD,QAAA,IAAI,iBAAiB,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE;;;YAG7D,MAAM,uBAAuB,GAC3B,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,6BAA6B;;AAGlE,YAAA,IAAI,CAAC,mCAAmC,GAAG,uBAAuB;;AAGlE,YAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI;AACnC,YAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;YAC/B,IAAI,CAAC,gCAAgC,EAAE;;YAGvC,IAAI,CAAC,aAAa,EAAE;;YAGpB,IAAI,CAAC,0BAA0B,EAAE;QACnC;AAAO,aAAA,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,8BAA8B,EAAE;;;AAGpE,YAAA,MAAM,uBAAuB,GAC3B,IAAI,CAAC,oBAAoB;AACzB,iBAAC,cAAc,EAAE,gBAAgB,IAAI,KAAK,CAAC;AAE7C,YAAA,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE;gBACrD,uBAAuB;AACxB,aAAA,CAAC;AAEF,YAAA,IAAI,CAAC,oCAAoC,GAAG,uBAAuB;YACnE,IAAI,CAAC,gCAAgC,EAAE;AACvC,YAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,gBAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;gBAC/B,IAAI,CAAC,aAAa,EAAE;YACtB;iBAAO;AACL,gBAAA,IAAI,CAAC,uBAAuB,GAAG,KAAK;gBACpC,IAAI,CAAC,aAAa,EAAE;YACtB;AACA,YAAA,IAAI,CAAC,mCAAmC,GAAG,KAAK;QAClD;AAEA,QAAA,IAAI,CAAC,8BAA8B,GAAG,iBAAiB;QACvD,IAAI,CAAC,oBAAoB,GAAG,cAAc,EAAE,OAAO,IAAI,KAAK;AAC5D,QAAA,IAAI,CAAC,6BAA6B;AAChC,YAAA,cAAc,EAAE,gBAAgB,IAAI,KAAK;IAC7C;IAEQ,0BAA0B,GAAA;AAChC,QAAA,IAAI,IAAI,CAAC,2BAA2B,EAAE;YACpC;QACF;AACA,QAAA,IAAI,CAAC,2BAA2B,GAAG,IAAI;AAEvC,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,YAAA,IAAI,CAAC,2BAA2B,GAAG,KAAK;AACxC,YAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;YAC9B;QACF;;QAGA,IAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC,qBAAqB,CAAC,MAAK;YAC/D,IAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC,qBAAqB,CAAC,MAAK;AAC/D,gBAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI;AACnC,gBAAA,IAAI,CAAC,2BAA2B,GAAG,KAAK;gBACxC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,EAAE;oBAC/C;gBACF;AACA,gBAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;gBAC9B,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;IAEQ,gCAAgC,GAAA;AACtC,QAAA,IACE,IAAI,CAAC,uBAAuB,KAAK,IAAI;AACrC,YAAA,OAAO,MAAM,KAAK,WAAW,EAC7B;AACA,YAAA,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,uBAAuB,CAAC;QAC3D;AACA,QAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI;AACnC,QAAA,IAAI,CAAC,2BAA2B,GAAG,KAAK;IAC1C;;AArzBO,cAAA,CAAA,MAAM,GAAG,MAAH;AAEb;;AAEG;AACqB,cAAA,CAAA,cAAc,GAAG;AACvC,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAA2B,EAAE;AACzD,IAAA,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,uBAAgC,EAAE;AACpE,IAAA,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAA2B,EAAE;AACzD,IAAA,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,sBAA+B,EAAE;AAClE,IAAA,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAA0B,EAAE;AACvD,IAAA,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,uBAAgC,EAAE;AACrE,CAPqC;AAatC,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE;AACjD,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,WAAA,EAAA,MAAA,CAAA;AAMlB,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE;AACjD,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,WAAA,EAAA,MAAA,CAAA;AAMlB,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,OAAO,EAAE,IAAI,EAAE;AACjD,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,MAAA,CAAA;AAMvB,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE;AACjD,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,aAAA,EAAA,MAAA,CAAA;AAMpB,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,EAAE;AACjD,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,eAAA,EAAA,MAAA,CAAA;AAMtB,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,OAAO,EAAE,IAAI,EAAE;AAClC,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,MAAA,CAAA;AAMxC,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAE;AAClC,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,MAAA,CAAA;AAMtC,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,sBAAsB,EAAE;AACtB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,oBAAA,EAAA,MAAA,CAAA;AAMvC,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE;AACjB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,MAAA,CAAA;AAM1C,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,EAAE;AACxB,CAAA,EAAA,cAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,MAAA,CAAA;AAzEhC,cAAc,GAAA,gBAAA,GAAA,UAAA,CAAA;IADnB,aAAa,CAAC,kBAAkB;AAC3B,CAAA,EAAA,cAAc,CAg0BnB;AAED,0BAAe,cAAc;;;;"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Copyright IBM Corp. 2025
3
+ *
4
+ * This source code is licensed under the Apache-2.0 license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import { css } from 'lit';
9
+
10
+ var styles = css([":host{background:transparent;block-size:100%;box-sizing:border-box;container-type:inline-size;display:block;font-family:var(--cds-aichat-font-family,\"IBM Plex Sans\",\"Helvetica Neue\",arial,sans-serif);inline-size:100%}.shell{--cds-aichat-rounded-modifier-radius:0;--cds-aichat-rounded-modifier-radius-start-start:0;--cds-aichat-rounded-modifier-radius-start-end:0;--cds-aichat-rounded-modifier-radius-end-start:0;--cds-aichat-rounded-modifier-radius-end-end:0;background-color:var(--cds-chat-shell-background,#fff);background-image:none;block-size:100%;border:1px solid var(--cds-border-subtle-00,#e0e0e0);border-radius:var(--cds-aichat-rounded-modifier-radius,0);box-shadow:0 2px 6px var(--cds-shadow,var(--cds-shadow,rgba(0,0,0,.3)));display:block;inline-size:100%;position:relative}.shell.shell--panels-animating{overflow:hidden}.shell.ai-theme{background:linear-gradient(to top,var(--cds-chat-shell-background,var(--cds-ai-popover-background,#fff)) 0,var(--cds-ai-aura-start,rgba(69,137,255,.1)) 0,15%,var(--cds-ai-aura-end,hsla(0,0%,100%,0)) 50%) padding-box,linear-gradient(to top,var(--cds-chat-shell-background,var(--cds-ai-popover-background,#fff)),var(--cds-chat-shell-background,var(--cds-ai-popover-background,#fff))) padding-box,linear-gradient(to bottom,var(--cds-ai-border-start,rgba(166,200,255,.64)),var(--cds-ai-border-end,#78a9ff)) border-box,linear-gradient(to top,var(--cds-chat-shell-background,var(--cds-ai-popover-background,#fff)),var(--cds-chat-shell-background,var(--cds-ai-popover-background,#fff))) border-box;background-color:var(--cds-chat-shell-background,#fff);border:1px solid transparent;box-shadow:inset 0 -80px 70px -65px var(--cds-ai-inner-shadow,var(--cds-ai-inner-shadow,rgba(69,137,255,.1))),0 4px 10px 2px var(--cds-ai-drop-shadow,var(--cds-ai-drop-shadow,rgba(15,98,254,.1))),-40px 44px 60px -24px var(--cds-ai-popover-shadow-outer-01,var(--cds-ai-popover-shadow-outer-01,rgba(0,67,206,.06))),-56px 64px 64px -24px var(--cds-ai-popover-shadow-outer-02,var(--cds-ai-popover-shadow-outer-02,rgba(0,0,0,.04)))}.shell.frameless,.shell.frameless.rounded{--cds-aichat-rounded-modifier-radius:0;--cds-aichat-rounded-modifier-radius-start-start:0;--cds-aichat-rounded-modifier-radius-start-end:0;--cds-aichat-rounded-modifier-radius-end-start:0;--cds-aichat-rounded-modifier-radius-end-end:0;border:none;border-radius:var(--cds-aichat-rounded-modifier-radius,0);box-shadow:none}.shell.frameless.ai-theme{background-image:none}.main-chat{align-items:stretch;block-size:100%;display:flex;flex-direction:column;inline-size:100%;min-block-size:0}.shell.rounded{--cds-aichat-rounded-modifier-radius:0.5rem;--cds-aichat-rounded-modifier-radius-start-start:0.5rem;--cds-aichat-rounded-modifier-radius-start-end:0.5rem;--cds-aichat-rounded-modifier-radius-end-start:0.5rem;--cds-aichat-rounded-modifier-radius-end-end:0.5rem}.shell.rounded,.shell.rounded .main-chat{border-radius:var(--cds-aichat-rounded-modifier-radius,0)}.shell.rounded .header-with-header-after,.shell.rounded .header-with-header-after>.header.has-content,.shell.rounded .header-with-header-after>.header:not(.has-content)+.header-after.has-content{border-start-end-radius:var(--cds-aichat-rounded-modifier-radius-start-end,0);border-start-start-radius:var(--cds-aichat-rounded-modifier-radius-start-start,0)}.shell.rounded .header-with-header-after>.header:not(.has-content)+.header-after.has-content{--cds-aichat-rounded-modifier-radius-start-end:var(\n --cds-aichat-rounded-modifier-radius,0\n );--cds-aichat-rounded-modifier-radius-start-start:var(\n --cds-aichat-rounded-modifier-radius,0\n );--cds-aichat-rounded-modifier-radius-end-start:0;--cds-aichat-rounded-modifier-radius-end-end:0}.shell.rounded .header-with-header-after>.header-after:not(.has-content),.shell.rounded .header-with-header-after>.header.has-content+.header-after.has-content,.shell.rounded .header-with-header-after>.header:not(.has-content){--cds-aichat-rounded-modifier-radius-start-end:0;--cds-aichat-rounded-modifier-radius-start-start:0;border-start-end-radius:0;border-start-start-radius:0}.shell.rounded .header-with-header-after>.header.has-content+.header-after.has-content{--cds-aichat-rounded-modifier-radius-end-start:0;--cds-aichat-rounded-modifier-radius-end-end:0;border-end-end-radius:0;border-end-start-radius:0}[data-panel-slot]{opacity:1}[data-panel-slot][inert]{opacity:0}@media screen and (prefers-reduced-motion:no-preference){[data-panel-slot]{transition:opacity .11s cubic-bezier(.2,0,.38,.9)}}.main-content{flex-direction:column;flex-grow:1}.main-content,.main-content-body{align-items:stretch;display:flex;max-inline-size:100%;min-block-size:0;min-inline-size:0}.main-content-body{block-size:100%;flex:1 1 0%;overflow-x:visible;position:relative}.shell.workspace-closing .main-content-body,.shell.workspace-opening .main-content-body{overflow-x:hidden}.shell.ai-theme .main-chat{background-color:var(--cds-chat-shell-background,#fff);background-image:linear-gradient(0deg,var(--cds-ai-aura-start-sm,rgba(69,137,255,.16)) 0,15%,var(--cds-ai-aura-end,hsla(0,0%,100%,0)) 50%,transparent 100%);border-block-end-color:var(--cds-ai-border-strong,#4589ff)}.history{display:flex;flex-direction:column}.history>[data-panel-slot]{block-size:100%;display:flex;flex:1;flex-direction:column;min-block-size:0}:host([show-history]) .history{flex:0 0 auto;inline-size:var(--cds-aichat-history-width,320px);max-inline-size:var(--cds-aichat-history-width,320px)}:host([show-history][history-location=end]) .history{order:3}:host([show-history][show-workspace][workspace-location=end]) .workspace{order:2}.input-and-messages{align-items:stretch;block-size:100%;display:flex;flex-direction:column;flex-grow:1;inline-size:100%;margin:auto;min-block-size:0;min-inline-size:var(--cds-aichat-messages-min-width,320px)}.input-and-messages .messages-max-width{inline-size:100%;margin:auto;max-inline-size:var(--cds-aichat-messages-max-width,672px)}:host([show-history][history-location=end]) .input-and-messages{order:1}.messages{flex-grow:1;min-block-size:0}.workspace{display:flex;flex-direction:column;min-block-size:0}.workspace-content,.workspace-slot{block-size:100%;inline-size:100%;min-block-size:0}.workspace-content{opacity:1}@media (prefers-reduced-motion:no-preference){.workspace-content{transition:opacity .11s cubic-bezier(.2,0,.38,.9)}}.workspace-content--hidden{opacity:0;pointer-events:none}.shell.workspace-checking .workspace{flex:1 1 0;margin:0;min-inline-size:0;overflow:hidden;padding:0;visibility:hidden}.shell.workspace-checking .input-and-messages{flex:1 1 auto;max-inline-size:var(--cds-aichat-messages-max-width,672px)}.shell.workspace-checking-closing .workspace{flex:1 1 auto;min-inline-size:0;overflow:hidden}.shell.workspace-checking-closing .input-and-messages{flex:0 1 auto;min-inline-size:0}.shell.workspace-checking-closing .workspace,.shell.workspace-closing .workspace{flex:1 1 0;min-inline-size:0;overflow:hidden}.shell.workspace-checking-closing .input-and-messages,.shell.workspace-closing .input-and-messages{box-sizing:border-box;flex:0 1 var(--cds-aichat-messages-min-width,320px);max-inline-size:var(--cds-aichat-messages-min-width,320px);min-inline-size:0}.shell.workspace-opening .workspace{flex:1 1 0;min-inline-size:0;overflow:hidden;visibility:hidden}.shell.workspace-opening .input-and-messages{box-sizing:border-box;flex:0 1 var(--cds-aichat-messages-min-width,320px);min-inline-size:0}.shell.workspace-checking-closing .main-content-body,.shell.workspace-closing .main-content-body,:host([show-workspace]) .main-content-body{container-name:main-content-body;container-type:inline-size;flex-direction:row}:host([show-workspace][workspace-location=end]) .input-and-messages{order:1}:host([workspace-location=end]) .shell.workspace-checking-closing .input-and-messages,:host([workspace-location=end]) .shell.workspace-closing .input-and-messages{order:1}:host([workspace-location=end]) .shell.workspace-checking-closing .workspace,:host([workspace-location=end]) .shell.workspace-closing .workspace{order:2}:host([workspace-in-container][show-workspace]) .workspace{box-sizing:border-box;flex:1 1 auto;min-inline-size:var(--cds-aichat-workspace-min-width,640px);padding-block-end:1rem;padding-block-start:1rem;padding-inline-end:0;padding-inline-start:1rem}:host([workspace-in-container][show-workspace]) .input-and-messages{box-sizing:border-box;flex:0 0 var(--cds-aichat-messages-min-width,320px);inline-size:var(--cds-aichat-messages-min-width,320px);max-inline-size:var(--cds-aichat-messages-min-width,320px);padding:1rem}:host([workspace-in-panel][show-workspace]) .input-and-messages{flex:1 1 auto;inline-size:100%;max-inline-size:var(--cds-aichat-messages-max-width,672px)}:host([workspace-in-panel][show-workspace]) .main-content-body{flex-direction:column}:host([workspace-in-container][show-workspace][workspace-location=end]) .workspace{order:2;padding-inline-end:1rem}:host([workspace-in-container][show-workspace][workspace-location=end]) .input-and-messages{padding-inline-end:0}:host([workspace-in-container]) .shell.workspace-opening .workspace{flex:1 1 0;min-inline-size:0;padding-block-end:1rem;padding-block-start:1rem;padding-inline-end:0;padding-inline-start:1rem}:host([workspace-in-container]) .shell.workspace-opening .input-and-messages{flex:0 1 var(--cds-aichat-messages-min-width,320px);min-inline-size:0;padding:1rem}:host([workspace-in-container][workspace-location=end]) .shell.workspace-opening .workspace{padding-inline-end:1rem;padding-inline-start:0}:host([workspace-in-container][workspace-location=end]) .shell.workspace-opening .input-and-messages{padding-inline-end:0}:host([workspace-in-container]) .shell.workspace-checking-closing .workspace,:host([workspace-in-container]) .shell.workspace-closing .workspace{padding-block-end:1rem;padding-block-start:1rem;padding-inline-end:0;padding-inline-start:1rem}:host([workspace-in-container]) .shell.workspace-checking-closing .input-and-messages,:host([workspace-in-container]) .shell.workspace-closing .input-and-messages{padding:0}:host([workspace-in-container][workspace-location=end]) .shell.workspace-checking-closing .workspace,:host([workspace-in-container][workspace-location=end]) .shell.workspace-closing .workspace{padding-inline-end:1rem;padding-inline-start:0}:host([workspace-in-container][workspace-location=end]) .shell.workspace-checking-closing .input-and-messages,:host([workspace-in-container][workspace-location=end]) .shell.workspace-closing .input-and-messages{padding:0}.shell.rounded .main-content,.shell.rounded .main-content>.footer.has-content{border-end-end-radius:var(--cds-aichat-rounded-modifier-radius-end-end,0);border-end-start-radius:var(--cds-aichat-rounded-modifier-radius-end-start,0)}.shell.rounded .main-content>.footer.has-content{--cds-aichat-rounded-modifier-radius-start-start:0;--cds-aichat-rounded-modifier-radius-start-end:0}.shell.rounded .main-content>.footer:not(.has-content){--cds-aichat-rounded-modifier-radius-end-start:0;--cds-aichat-rounded-modifier-radius-end-end:0;border-end-end-radius:0;border-end-start-radius:0}.shell.rounded .input-and-messages:not(.at-max-width),.shell.rounded.has-header-content .input-and-messages{--cds-aichat-rounded-modifier-radius-start-start:0;--cds-aichat-rounded-modifier-radius-start-end:0}.shell.rounded .input-and-messages:not(.at-max-width),.shell.rounded.has-footer-content .input-and-messages{--cds-aichat-rounded-modifier-radius-end-start:0;--cds-aichat-rounded-modifier-radius-end-end:0}.shell.rounded:not(.has-header-content) .input-and-messages.at-max-width{--cds-aichat-rounded-modifier-radius-start-start:0.5rem;--cds-aichat-rounded-modifier-radius-start-end:0.5rem}.shell.rounded:not(.has-footer-content) .input-and-messages.at-max-width{--cds-aichat-rounded-modifier-radius-end-start:0.5rem;--cds-aichat-rounded-modifier-radius-end-end:0.5rem}.shell.rounded .input-and-messages>.input-after:not(.has-content),.shell.rounded .input-and-messages>.input-before:not(.has-content),.shell.rounded .input-and-messages>.input:not(.has-content){--cds-aichat-rounded-modifier-radius-end-start:0;--cds-aichat-rounded-modifier-radius-end-end:0;border-end-end-radius:0;border-end-start-radius:0}.shell.rounded .input-and-messages:not(.has-input-after-content,.has-input-content,.has-input-before-content)>.messages{border-end-end-radius:var(--cds-aichat-rounded-modifier-radius-end-end,0);border-end-start-radius:var(--cds-aichat-rounded-modifier-radius-end-start,0)}.shell.rounded .input-and-messages.has-input-after-content>.messages,.shell.rounded .input-and-messages:not(.has-input-after-content).has-input-content>.messages,.shell.rounded .input-and-messages:not(.has-input-after-content,.has-input-content).has-input-before-content>.messages{--cds-aichat-rounded-modifier-radius-end-start:0;--cds-aichat-rounded-modifier-radius-end-end:0;border-end-end-radius:0;border-end-start-radius:0}.shell.rounded .input-and-messages>.input-after.has-content{border-end-end-radius:var(--cds-aichat-rounded-modifier-radius-end-end,0);border-end-start-radius:var(--cds-aichat-rounded-modifier-radius-end-start,0)}.shell.rounded:not(.has-footer-content) .input-and-messages.at-max-width>.input-after.has-content{--cds-aichat-rounded-modifier-radius-end-start:0.5rem;--cds-aichat-rounded-modifier-radius-end-end:0.5rem}:host(:not([show-workspace])) .input-and-messages:not(.at-max-width)>.input-after{margin-block-end:32px}.shell.rounded .input-and-messages:not(.has-input-after-content)>.input.has-content,.shell.rounded .input-and-messages:not(.has-input-after-content,.has-input-content)>.input-before.has-content{border-end-end-radius:var(--cds-aichat-rounded-modifier-radius-end-end,0);border-end-start-radius:var(--cds-aichat-rounded-modifier-radius-end-start,0)}.shell.rounded .input-and-messages.has-input-after-content>.input,.shell.rounded .input-and-messages.has-input-after-content>.input-before,.shell.rounded .input-and-messages:not(.has-input-after-content).has-input-content>.input-before{--cds-aichat-rounded-modifier-radius-end-start:0;--cds-aichat-rounded-modifier-radius-end-end:0;border-end-end-radius:0;border-end-start-radius:0}"]);
11
+
12
+ export { styles as default };
13
+ //# sourceMappingURL=shell.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}