@carbon/ai-chat-components 0.8.0 → 0.9.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 +917 -258
  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} +20 -3
  15. package/es/components/chat-shell/src/{cds-aichat-shell.js → shell.js} +298 -97
  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} +20 -3
  60. package/es-custom/components/chat-shell/src/{cds-aichat-shell.js → shell.js} +298 -97
  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
@@ -9,7 +9,7 @@ import { __decorate } from 'tslib';
9
9
  import { LitElement, html } from 'lit';
10
10
  import { property } from 'lit/decorators.js';
11
11
  import { carbonElement } from '../../../globals/decorators/carbon-element.js';
12
- import styles from './cds-aichat-panel.scss.js';
12
+ import styles from './panel.scss.js';
13
13
 
14
14
  /**
15
15
  * @license
@@ -19,10 +19,10 @@ import styles from './cds-aichat-panel.scss.js';
19
19
  * This source code is licensed under the Apache-2.0 license found in the
20
20
  * LICENSE file in the root directory of this source tree.
21
21
  */
22
- var CdsAiChatPanel_1;
22
+ var CDSAIChatPanel_1;
23
23
  const ANIMATION_START_DETECTION_DELAY_MS = 120;
24
24
  const MESSAGES_MAX_WIDTH_FALLBACK = 672; // Fallback if CSS custom property is not set
25
- let CdsAiChatPanel = CdsAiChatPanel_1 = class CdsAiChatPanel extends LitElement {
25
+ let CDSAIChatPanel = CDSAIChatPanel_1 = class CDSAIChatPanel extends LitElement {
26
26
  constructor() {
27
27
  super(...arguments);
28
28
  /**
@@ -45,6 +45,14 @@ let CdsAiChatPanel = CdsAiChatPanel_1 = class CdsAiChatPanel extends LitElement
45
45
  * Shows a frame border around the panel
46
46
  */
47
47
  this.showFrame = false;
48
+ /**
49
+ * Shows the AI gradient background
50
+ */
51
+ this.aiEnabled = false;
52
+ /**
53
+ * Removes padding from the panel body
54
+ */
55
+ this.bodyNoPadding = false;
48
56
  /**
49
57
  * Makes the panel inert (non-interactive)
50
58
  */
@@ -103,6 +111,25 @@ let CdsAiChatPanel = CdsAiChatPanel_1 = class CdsAiChatPanel extends LitElement
103
111
  this.completeClose();
104
112
  }
105
113
  };
114
+ this.handleBodyScroll = (event) => {
115
+ const target = event.target;
116
+ if (!target) {
117
+ return;
118
+ }
119
+ // Dispatch a custom event with scroll information
120
+ this.dispatchEvent(new CustomEvent("body-scroll", {
121
+ bubbles: true,
122
+ composed: true,
123
+ detail: {
124
+ scrollTop: target.scrollTop,
125
+ scrollHeight: target.scrollHeight,
126
+ clientHeight: target.clientHeight,
127
+ scrollBottom: target.scrollTop + target.clientHeight,
128
+ isAtBottom: target.scrollTop + target.clientHeight >= target.scrollHeight - 1,
129
+ isScrollable: target.scrollHeight > target.clientHeight,
130
+ },
131
+ }));
132
+ };
106
133
  }
107
134
  connectedCallback() {
108
135
  super.connectedCallback();
@@ -112,6 +139,10 @@ let CdsAiChatPanel = CdsAiChatPanel_1 = class CdsAiChatPanel extends LitElement
112
139
  this.setupResizeObserver();
113
140
  }
114
141
  disconnectedCallback() {
142
+ const panelBody = this.renderRoot.querySelector(".panel-body");
143
+ if (panelBody) {
144
+ panelBody.removeEventListener("scroll", this.handleBodyScroll);
145
+ }
115
146
  this.removeEventListener("animationstart", this.handleAnimationStart);
116
147
  this.removeEventListener("animationend", this.handleAnimationEnd);
117
148
  this.clearAnimationFallback();
@@ -130,8 +161,15 @@ let CdsAiChatPanel = CdsAiChatPanel_1 = class CdsAiChatPanel extends LitElement
130
161
  this.classList.toggle("panel--with-chat-header", this.showChatHeader);
131
162
  this.classList.toggle("panel--with-frame", this.showFrame);
132
163
  this.classList.toggle("panel--full-width", this.fullWidth);
164
+ this.classList.toggle("panel--ai-theme", this.aiEnabled);
165
+ this.classList.toggle("panel--body--no-padding", this.bodyNoPadding);
133
166
  this.updateHostClasses();
134
167
  this.observeSlotContent();
168
+ // Add scroll listener to panel-body
169
+ const panelBody = this.renderRoot.querySelector(".panel-body");
170
+ if (panelBody) {
171
+ panelBody.addEventListener("scroll", this.handleBodyScroll);
172
+ }
135
173
  }
136
174
  updated(changedProperties) {
137
175
  if (changedProperties.has("open") || changedProperties.has("inert")) {
@@ -146,6 +184,12 @@ let CdsAiChatPanel = CdsAiChatPanel_1 = class CdsAiChatPanel extends LitElement
146
184
  if (changedProperties.has("fullWidth")) {
147
185
  this.classList.toggle("panel--full-width", this.fullWidth);
148
186
  }
187
+ if (changedProperties.has("aiEnabled")) {
188
+ this.classList.toggle("panel--ai-theme", this.aiEnabled);
189
+ }
190
+ if (changedProperties.has("bodyNoPadding")) {
191
+ this.classList.toggle("panel--body--no-padding", this.bodyNoPadding);
192
+ }
149
193
  if (changedProperties.has("animationOnOpen") ||
150
194
  changedProperties.has("animationOnClose")) {
151
195
  this.updateHostClasses();
@@ -293,10 +337,13 @@ let CdsAiChatPanel = CdsAiChatPanel_1 = class CdsAiChatPanel extends LitElement
293
337
  return;
294
338
  }
295
339
  this.resizeObserver = new ResizeObserver((entries) => {
296
- for (const entry of entries) {
297
- const width = entry.contentRect.width;
298
- this.updateWidthClass(width);
299
- }
340
+ // Use requestAnimationFrame to avoid ResizeObserver loop errors
341
+ requestAnimationFrame(() => {
342
+ for (const entry of entries) {
343
+ const width = entry.contentRect.width;
344
+ this.updateWidthClass(width);
345
+ }
346
+ });
300
347
  });
301
348
  this.resizeObserver.observe(this);
302
349
  }
@@ -340,14 +387,14 @@ let CdsAiChatPanel = CdsAiChatPanel_1 = class CdsAiChatPanel extends LitElement
340
387
  }
341
388
  observeSlotContent() {
342
389
  const updateSlotStates = () => {
343
- const previousStates = new Map(CdsAiChatPanel_1.OBSERVED_SLOTS.map(({ stateKey }) => [
390
+ const previousStates = new Map(CDSAIChatPanel_1.OBSERVED_SLOTS.map(({ stateKey }) => [
344
391
  stateKey,
345
392
  this[stateKey],
346
393
  ]));
347
- CdsAiChatPanel_1.OBSERVED_SLOTS.forEach(({ name, stateKey }) => {
394
+ CDSAIChatPanel_1.OBSERVED_SLOTS.forEach(({ name, stateKey }) => {
348
395
  this[stateKey] = this.hasSlotContent(name);
349
396
  });
350
- const hasChanged = CdsAiChatPanel_1.OBSERVED_SLOTS.some(({ stateKey }) => previousStates.get(stateKey) !== this[stateKey]);
397
+ const hasChanged = CDSAIChatPanel_1.OBSERVED_SLOTS.some(({ stateKey }) => previousStates.get(stateKey) !== this[stateKey]);
351
398
  if (hasChanged) {
352
399
  this.requestUpdate();
353
400
  }
@@ -355,7 +402,7 @@ let CdsAiChatPanel = CdsAiChatPanel_1 = class CdsAiChatPanel extends LitElement
355
402
  // Initial check
356
403
  updateSlotStates();
357
404
  // Observe slot changes
358
- const slots = CdsAiChatPanel_1.OBSERVED_SLOTS.map(({ name }) => this.renderRoot.querySelector(`slot[name="${name}"]`)).filter((slot) => slot !== null);
405
+ const slots = CDSAIChatPanel_1.OBSERVED_SLOTS.map(({ name }) => this.renderRoot.querySelector(`slot[name="${name}"]`)).filter((slot) => slot !== null);
359
406
  slots.forEach((slot) => {
360
407
  slot.addEventListener("slotchange", updateSlotStates);
361
408
  });
@@ -391,43 +438,49 @@ let CdsAiChatPanel = CdsAiChatPanel_1 = class CdsAiChatPanel extends LitElement
391
438
  `;
392
439
  }
393
440
  };
394
- CdsAiChatPanel.styles = styles;
441
+ CDSAIChatPanel.styles = styles;
395
442
  /**
396
443
  * @internal
397
444
  */
398
- CdsAiChatPanel.OBSERVED_SLOTS = [
445
+ CDSAIChatPanel.OBSERVED_SLOTS = [
399
446
  { name: "header", stateKey: "hasHeaderContent" },
400
447
  { name: "body", stateKey: "hasBodyContent" },
401
448
  { name: "footer", stateKey: "hasFooterContent" },
402
449
  ];
403
450
  __decorate([
404
451
  property({ type: Boolean, reflect: true })
405
- ], CdsAiChatPanel.prototype, "open", void 0);
452
+ ], CDSAIChatPanel.prototype, "open", void 0);
406
453
  __decorate([
407
454
  property({ type: Number, reflect: true })
408
- ], CdsAiChatPanel.prototype, "priority", void 0);
455
+ ], CDSAIChatPanel.prototype, "priority", void 0);
409
456
  __decorate([
410
457
  property({ type: Boolean, attribute: "full-width", reflect: true })
411
- ], CdsAiChatPanel.prototype, "fullWidth", void 0);
458
+ ], CDSAIChatPanel.prototype, "fullWidth", void 0);
412
459
  __decorate([
413
460
  property({ type: Boolean, attribute: "show-chat-header", reflect: true })
414
- ], CdsAiChatPanel.prototype, "showChatHeader", void 0);
461
+ ], CDSAIChatPanel.prototype, "showChatHeader", void 0);
415
462
  __decorate([
416
463
  property({ type: Boolean, attribute: "show-frame", reflect: true })
417
- ], CdsAiChatPanel.prototype, "showFrame", void 0);
464
+ ], CDSAIChatPanel.prototype, "showFrame", void 0);
465
+ __decorate([
466
+ property({ type: Boolean, attribute: "ai-enabled", reflect: true })
467
+ ], CDSAIChatPanel.prototype, "aiEnabled", void 0);
468
+ __decorate([
469
+ property({ type: Boolean, attribute: "body-no-padding", reflect: true })
470
+ ], CDSAIChatPanel.prototype, "bodyNoPadding", void 0);
418
471
  __decorate([
419
472
  property({ type: String, attribute: "animation-on-open", reflect: true })
420
- ], CdsAiChatPanel.prototype, "animationOnOpen", void 0);
473
+ ], CDSAIChatPanel.prototype, "animationOnOpen", void 0);
421
474
  __decorate([
422
475
  property({ type: String, attribute: "animation-on-close", reflect: true })
423
- ], CdsAiChatPanel.prototype, "animationOnClose", void 0);
476
+ ], CDSAIChatPanel.prototype, "animationOnClose", void 0);
424
477
  __decorate([
425
478
  property({ type: Boolean, reflect: true })
426
- ], CdsAiChatPanel.prototype, "inert", void 0);
427
- CdsAiChatPanel = CdsAiChatPanel_1 = __decorate([
479
+ ], CDSAIChatPanel.prototype, "inert", void 0);
480
+ CDSAIChatPanel = CDSAIChatPanel_1 = __decorate([
428
481
  carbonElement("cds-aichat-panel")
429
- ], CdsAiChatPanel);
430
- var CdsAiChatPanelElement = CdsAiChatPanel;
482
+ ], CDSAIChatPanel);
483
+ var CdsChatPanelElement = CDSAIChatPanel;
431
484
 
432
- export { CdsAiChatPanelElement as default };
433
- //# sourceMappingURL=cds-aichat-panel.js.map
485
+ export { CdsChatPanelElement as default };
486
+ //# sourceMappingURL=panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panel.js","sources":["../../../../src/components/chat-shell/src/panel.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -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{block-size:100%;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);border-start-end-radius:var(--cds-aichat-rounded-modifier-radius-start-start,0);border-start-start-radius:var(--cds-aichat-rounded-modifier-radius-start-end,0);box-sizing:border-box;display:block;inline-size:100%;inset-block-start:0;inset-inline-start:0;margin:0;min-block-size:100%;position:absolute;text-align:start}:host(.panel--ai-theme){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)}:host(:not(.panel--ai-theme)){background-color:var(--cds-chat-shell-background,#fff)}:host(.panel--with-less-than-messages-max-width){--cds-aichat-rounded-modifier-radius-end-start:var(--cds-aichat-rounded-modifier-radius,0.5rem);--cds-aichat-rounded-modifier-radius-end-end:var(--cds-aichat-rounded-modifier-radius,0.5rem)}:host(.panel--full-width),:host(:not([show-frame])){--cds-aichat-rounded-modifier-radius-end-start:var(--cds-aichat-rounded-modifier-radius,0.5rem);--cds-aichat-rounded-modifier-radius-end-end:var(--cds-aichat-rounded-modifier-radius,0.5rem)}:host(.panel--full-width:not(.panel--with-chat-header)),:host([show-frame]:not(.panel--full-width)){--cds-aichat-rounded-modifier-radius-start-start:var(--cds-aichat-rounded-modifier-radius,0.5rem);--cds-aichat-rounded-modifier-radius-start-end:var(--cds-aichat-rounded-modifier-radius,0.5rem)}:host(.panel--with-less-than-messages-max-width:not(.panel--with-chat-header)){--cds-aichat-rounded-modifier-radius-start-start:var(--cds-aichat-rounded-modifier-radius,0.5rem);--cds-aichat-rounded-modifier-radius-start-end:var(--cds-aichat-rounded-modifier-radius,0.5rem)}:host([show-frame].panel--with-chat-header){--cds-aichat-rounded-modifier-radius-start-start:var(--cds-aichat-rounded-modifier-radius,0.5rem);--cds-aichat-rounded-modifier-radius-start-end:var(--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}:host(.panel-container--animating){overflow:hidden}:host(.panel--closed){display:none}:host-context([dir=rtl]){inset-inline:unset 0;text-align:end}@media screen and (prefers-reduced-motion:no-preference){:host(.panel--opening--fade-in){animation:fade-in .24s cubic-bezier(0,0,.3,1) both}:host(.panel--opening--slide-in-from-bottom){animation:slide-in-from-bottom .24s cubic-bezier(.4,.14,1,1) both}:host(.panel--closing--fade-out){animation:fade-out .24s cubic-bezier(.4,.14,1,1) both}:host(.panel--closing--slide-out-to-top){animation:slide-out-to-top .15s cubic-bezier(.4,.14,1,1) both}:host(.panel--closing--slide-out-to-bottom){animation:slide-out-to-bottom .15s cubic-bezier(.4,.14,1,1) both}}:host(.panel--with-chat-header){block-size:calc(100% - var(--cds-aichat-header-height, 0px));border-start-end-radius:0;border-start-start-radius:0;inline-size:100%;inset-block-start:var(--cds-aichat-header-height,0);min-block-size:calc(100% - var(--cds-aichat-header-height, 0px));overflow:hidden}@media screen and (prefers-reduced-motion:no-preference){:host(.panel--with-chat-header.panel--opening--slide-in-from-bottom){animation:slide-in-from-bottom-with-header .24s cubic-bezier(.4,.14,1,1) both}:host(.panel--with-chat-header.panel--closing--slide-out-to-bottom){animation:slide-out-to-bottom-with-header .15s cubic-bezier(.4,.14,1,1) both}}.panel-content{block-size:100%;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);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);box-sizing:border-box;display:flex;flex-direction:column;inline-size:100%;margin:auto;min-block-size:0}:host([show-frame]) .panel-content{background-color:var(--cds-chat-shell-background,#fff);border:1px solid var(--cds-chat-bubble-border,#e0e0e0)}:host([show-frame]:not(.panel--full-width)) .panel-content{margin:auto;max-inline-size:var(--cds-aichat-messages-max-width,672px)}.panel-body{box-sizing:border-box;flex:1 1 auto;inline-size:100%;margin:auto;max-inline-size:var(--cds-aichat-messages-max-width,672px);min-block-size:0;overflow:auto;padding:.75rem}:host(.panel--full-width) .panel-body{max-inline-size:100%}:host(.panel--body--no-padding) .panel-body{padding:0}.panel-footer,.panel-header{flex:0 0 auto;inline-size:100%;max-inline-size:100%}:host([show-frame].panel--with-chat-header) .panel-header.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)}:host([show-frame].panel--with-chat-header) .panel-header:not(.has-content)+.panel-body{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)}:host([show-frame]:not(.panel--full-width)) .panel-footer,:host([show-frame]:not(.panel--full-width)) .panel-header{inline-size:auto;max-inline-size:var(--cds-aichat-messages-max-width,672px)}@keyframes fade-in{0%{inset-inline-end:0;opacity:0}to{inset-inline-end:0;opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-in-from-bottom{0%{inset-block-start:100%}to{inset-block-start:0}}@keyframes slide-out-to-bottom{0%{inset-block-start:0}to{inset-block-start:100%}}@keyframes slide-in-from-bottom-with-header{0%{inset-block-start:100%}to{inset-block-start:var(--cds-aichat-header-height,0)}}@keyframes slide-out-to-bottom-with-header{0%{inset-block-start:var(--cds-aichat-header-height,0)}to{inset-block-start:100%}}"]);
11
+
12
+ export { styles as default };
13
+ //# sourceMappingURL=panel.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panel.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -7,9 +7,9 @@
7
7
  * LICENSE file in the root directory of this source tree.
8
8
  */
9
9
  import { LitElement, PropertyValues } from "lit";
10
- import "./cds-aichat-panel.js";
10
+ import "./panel.js";
11
11
  type StartOrEnd = "start" | "end";
12
- declare class CdsAiChatShell extends LitElement {
12
+ declare class CDSAIChatShell extends LitElement {
13
13
  static styles: any;
14
14
  /**
15
15
  * Enables AI-specific theming for the chat shell
@@ -39,6 +39,18 @@ declare class CdsAiChatShell extends LitElement {
39
39
  * Determines the location of the history panel ("start" or "end")
40
40
  */
41
41
  historyLocation: StartOrEnd;
42
+ /**
43
+ * ARIA label for the workspace region
44
+ */
45
+ workspaceAriaLabel: string;
46
+ /**
47
+ * ARIA label for the history region
48
+ */
49
+ historyAriaLabel: string;
50
+ /**
51
+ * ARIA label for the messages region
52
+ */
53
+ messagesAriaLabel: string;
42
54
  private getWidgetClasses;
43
55
  private getInputAndMessagesClasses;
44
56
  private renderSlot;
@@ -52,6 +64,7 @@ declare class CdsAiChatShell extends LitElement {
52
64
  render(): import("lit-html").TemplateResult<1>;
53
65
  protected firstUpdated(changedProperties: PropertyValues): void;
54
66
  private hasSlotContent;
67
+ private hasElementContent;
55
68
  private observeSlotContent;
56
69
  protected updated(changedProperties: PropertyValues): void;
57
70
  disconnectedCallback(): void;
@@ -69,5 +82,9 @@ declare class CdsAiChatShell extends LitElement {
69
82
  * Check if --cds-aichat-messages-max-width has changed and trigger recalculation.
70
83
  */
71
84
  private checkMessagesMaxWidthChange;
85
+ private syncWorkspacePanelState;
86
+ private scheduleWorkspacePanelOpen;
87
+ private cancelWorkspacePanelOpenSchedule;
88
+ private handleWorkspacePanelCloseEnd;
72
89
  }
73
- export default CdsAiChatShell;
90
+ export default CDSAIChatShell;