Skip to content

KDS-588: migrate input fields to KDS components#160

Draft
RainerSchmoeger wants to merge 3 commits intomasterfrom
enh/KDS-588-migrate-input-fields
Draft

KDS-588: migrate input fields to KDS components#160
RainerSchmoeger wants to merge 3 commits intomasterfrom
enh/KDS-588-migrate-input-fields

Conversation

@RainerSchmoeger
Copy link
Collaborator

KDS-588 (InputField base component)

Copilot AI review requested due to automatic review settings February 3, 2026 15:01
@changeset-bot
Copy link

changeset-bot bot commented Feb 3, 2026

⚠️ No Changeset found

Latest commit: cfdf420

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates input field components from the legacy @knime/components library to the new @knime/kds-components library, standardizing the component naming and API usage across the codebase.

Changes:

  • Replaced legacy input components (InputField, NumberInput, Dropdown) with KDS equivalents (KdsTextInput, KdsNumberInput, KdsDropdown)
  • Standardized validation prop from :is-valid to :error="!isValid"
  • Removed compact prop from all components

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
packages/jsonforms/src/uiComponents/TextControl.vue Migrated from InputField to KdsTextInput with updated validation prop
packages/jsonforms/src/uiComponents/SingleSelectControl.vue Migrated from LoadingDropdown to KdsDropdown, corrected aria-label attribute
packages/jsonforms/src/uiComponents/OneOfDropdown.vue Migrated from Dropdown to KdsDropdown
packages/jsonforms/src/uiComponents/NumberControlBase.vue Migrated from NumberInput to KdsNumberInput, removed focusout logic, adjusted min/max handling
packages/jsonforms/src/uiComponents/DropdownControl.vue Migrated from InputField and LoadingDropdown to KdsTextInput and KdsDropdown

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 66 to 67
:min="minParams?.min + (minParams.isExclusive ? stepSize : 0)"
:max="maxParams?.max - (maxParams.isExclusive ? stepSize : 0)"
Copy link

Copilot AI Feb 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The optional chaining on minParams?.min and maxParams?.max will result in NaN when these values are undefined (e.g., undefined + stepSize or undefined - stepSize). Consider adding explicit checks or default values to handle cases where min/max constraints are not defined.

Suggested change
:min="minParams?.min + (minParams.isExclusive ? stepSize : 0)"
:max="maxParams?.max - (maxParams.isExclusive ? stepSize : 0)"
:min="minParams ? minParams.min + (minParams.isExclusive ? stepSize : 0) : undefined"
:max="maxParams ? maxParams.max - (maxParams.isExclusive ? stepSize : 0) : undefined"

Copilot uses AI. Check for mistakes.
:id="labelForId"
v-model="modelValue"
:possible-values
:ariaLabel="control.label"
Copy link

Copilot AI Feb 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The attribute should be changed to :aria-label (kebab-case) to follow HTML standards. While Vue accepts camelCase props, aria attributes should use kebab-case for proper accessibility support.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant