Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
e914f23
feat(core/chat-prompt-input): add component
danielleroux May 19, 2026
eb0979e
character limits
danielleroux May 19, 2026
6f13c5f
fix storybook
danielleroux May 19, 2026
1af25d7
add optional attachment pattern
danielleroux May 19, 2026
83a021e
add chat user message
danielleroux May 19, 2026
1225edf
add ai message
danielleroux May 19, 2026
8a1dc4d
add followup slot to prompt input
danielleroux May 19, 2026
4f1551a
rename chat component
danielleroux May 19, 2026
42b68b4
add netlify badge
danielleroux May 19, 2026
ed49619
storybook data change
danielleroux May 19, 2026
aacdc68
adjust some stylings
danielleroux May 26, 2026
8fb0bbb
migrate to stencil render function for storybook
danielleroux May 26, 2026
e22d726
adapt threshold
danielleroux May 26, 2026
0002e55
add state
danielleroux May 26, 2026
7b8419b
refactor chat-attachment
danielleroux May 26, 2026
c4b9e7b
improve overflow handling
danielleroux May 26, 2026
4863d77
use chip for attachments
danielleroux May 27, 2026
e976694
remove hover effect of user message
danielleroux May 27, 2026
c5ee77c
adjust spacing
danielleroux May 27, 2026
f52decf
add visual tests
danielleroux May 27, 2026
264bdd9
Merge remote-tracking branch 'origin/main' into feat/chat-components
danielleroux May 27, 2026
7a814bf
Add simple chat example
danielleroux May 27, 2026
27ecc67
add sdd skill
danielleroux May 27, 2026
0132943
add sdd skill
danielleroux May 27, 2026
7e7849f
add examples
danielleroux May 28, 2026
741c7e8
add examples
danielleroux May 28, 2026
56ca8c9
update snapshots
danielleroux May 28, 2026
7a57b80
Remove slot overflow
danielleroux May 28, 2026
a7a3e98
add custom ix scrollbar
danielleroux May 29, 2026
fe401d5
remove chat-input overflow dropdown
danielleroux May 29, 2026
13f3080
restructure scss to keep :host -> class style
danielleroux May 29, 2026
b7e605b
update snapshot
danielleroux May 29, 2026
d00cc2c
refactor scrollbar
danielleroux May 29, 2026
ff02457
fix scrollbar
danielleroux Jun 1, 2026
a30e668
move skill location into generic agents folder
danielleroux Jun 2, 2026
ba3bc98
Merge remote-tracking branch 'origin/main' into feat/chat-components
danielleroux Jun 2, 2026
06b26e5
fix lock file
danielleroux Jun 2, 2026
fba2276
update build gen
danielleroux Jun 2, 2026
8a58b66
adjust example and remove attachment overflow slot
danielleroux Jun 9, 2026
1a8779c
fix visual-testing
danielleroux Jun 10, 2026
64335f2
Merge branch 'main' into feat/chat-components
danielleroux Jun 10, 2026
6482acd
review comments
danielleroux Jun 10, 2026
3e8f855
Add format message feature
danielleroux Jun 11, 2026
9f0270f
fix aria issues
danielleroux Jun 11, 2026
3f6c0f6
update snaps
danielleroux Jun 11, 2026
4f34ee4
prevent send processing message twice
danielleroux Jun 11, 2026
fb07964
adapt styles from internal revieiw
danielleroux Jun 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix aria issues
  • Loading branch information
danielleroux committed Jun 11, 2026
commit 9f0270fa24f65b56afb912e07863d814e8381a8a
11 changes: 7 additions & 4 deletions packages/core/src/components/chat-input/chat-input.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -533,9 +533,12 @@ export class ChatInput extends Mixin(...DefaultMixins, ComponentIdMixin) {
}

override render() {
const disabledSubmitButton = !this.canSubmit() && this.state === 'input';
const submitButtonIcon =
this.state === 'input' ? iconSendRightFilled : iconCircleStop;
const isProcessing = this.state === 'processing';
const disabledSubmitButton =
isProcessing || (!this.canSubmit() && this.state === 'input');
const submitButtonIcon = isProcessing
? iconCircleStop
: iconSendRightFilled;
Comment thread
coderabbitai[bot] marked this conversation as resolved.

return (
<Host
Expand Down Expand Up @@ -599,7 +602,7 @@ export class ChatInput extends Mixin(...DefaultMixins, ComponentIdMixin) {
<div class="right-actions">
<slot name="end"></slot>
<ix-icon-button
aria-label="Submit prompt"
aria-label={isProcessing ? 'Stop processing' : 'Submit prompt'}
class="submit-button"
disabled={disabledSubmitButton}
icon={submitButtonIcon}
Expand Down
13 changes: 13 additions & 0 deletions packages/core/src/components/chat-input/tests/chat-input.ct.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,19 @@
return (element as HTMLIxIconButtonElement).icon;
}

regressionTest('renders', async ({ mount, page }) => {
await mount('<ix-chat-input></ix-chat-input>');
await expect(page.locator('ix-chat-input')).toHaveClass(/\bhydrated\b/);
});

regressionTest('accessibility', async ({ mount, makeAxeBuilder }) => {
await mount('<ix-chat-input></ix-chat-input>');
const accessibilityScanResults = await makeAxeBuilder()
.include('ix-chat-input')
.analyze();
expect(accessibilityScanResults.violations).toEqual([]);
});

regressionTest(
'ix-chat-input emits valueChange when text is entered',
async ({ mount, page }) => {
Expand All @@ -35,9 +48,9 @@
await chatInput.evaluate((element) => {
const testElement = element as ValueChangeTestElement;
testElement.__valueChange = undefined;
element.addEventListener('valueChange', ((event: CustomEvent<string>) => {
testElement.__valueChange = event.detail;
}) as EventListener);

Check warning on line 53 in packages/core/src/components/chat-input/tests/chat-input.ct.ts

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

This assertion is unnecessary since the receiver accepts the original type of the expression.

See more on https://sonarcloud.io/project/issues?id=siemens_ix&issues=AZ5oSA21RZtnv-7yhWHH&open=AZ5oSA21RZtnv-7yhWHH&pullRequest=2569
});

await chatInput.locator('textarea').fill('Show pump status');
Expand Down
Loading