Skip to content

refactor!: Add Generic TValue on the value components - #520

Draft
skrustev wants to merge 19 commits into
masterfrom
skrastev/generic-comps
Draft

skrustev wants to merge 19 commits into
masterfrom
skrastev/generic-comps

Conversation

@skrustev

@skrustev skrustev commented Oct 5, 2026 •

Copy link
Copy Markdown
Member

Description

  • Add a generic TValue for the following components.

    • IgbComponentDateValueChangedEventArgs used in date components except Calendar.
    • IgbDatePicker
    • IgbDateRangePicker and corresponding DateRangeValue, DateRangeValueDetail and CustomDateRange
    • IgbDateTimeInput
    • IgbCalendar - The Change event remains having value type object, because the Calendar can have Single/Multiple selection and type can be either TValue or TValue[].
    • IgbRadio/IgbRadioGroup and corresponding IgbRadioChangeEventArgs/Detail.
    • IgbSlider
    • IgbRating
    • IgbSelect
  • Ensure null on clear/default if not nullable for all Date input components like IgbDatePicker, IgbDateRangePicker, IgbDateTimeInput.

  • TValue is cascaded onto child IgbRadios if parent IgbRadioGroup is present and thus can be omitted and inferred for each radio.

Type of Change (check all that apply):

  • Bug fix
  • New functionality
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactoring (no functional changes)
  • Documentation
  • Demos
  • CI/CD
  • Tests
  • Changelog

Component(s) / Area(s) Affected:

DatePicker, DateRangePicker, DateTimeInput, Calendar, Radio, RadioGroup

How Has This Been Tested?

  • Unit tests
  • Manual testing
  • Automated e2e tests

Checklist:

  • All relevant tags have been applied to this PR
  • This PR includes unit tests covering all the new code
  • This PR includes API docs for newly added methods/properties
  • This PR includes general feature table updates in the root README.MD
  • This PR includes CHANGELOG.MD updates for newly added functionality
  • This PR contains breaking changes
  • This PR includes behavioral changes and the feature specification has been updated with them
  • Accessibility (ARIA, keyboard navigation, focus management) has been verified

Closes #510

Comment thread src/components/Blazor/ComponentDateValueChangedEventArgs.cs Fixed
Comment thread src/components/Blazor/DatePicker.cs Fixed
@skrustev
skrustev force-pushed the skrastev/generic-comps branch from 134e128 to d87a2db Compare October 6, 2026 09:35
@skrustev skrustev added 📅 date-picker squash-merge Merge PR with "Squash and Merge" option 🛠️ status: in-development Issues and PRs with active development on them labels Oct 6, 2026
@skrustev skrustev changed the title refactor: Add Generic value components. refactor: Add Generic value to components. Oct 6, 2026
@damyanpetev damyanpetev changed the title refactor: Add Generic value to components. refactor!: Add Generic value to components. Oct 7, 2026
@damyanpetev damyanpetev changed the title refactor!: Add Generic value to components. refactor!: Add Generic TValue on the value components Oct 7, 2026
* feat: make slider and rating values generic

* chore(*): Fix tests.

* chore(*): Apply review comments.
Comment thread src/componentsBase/IgbComponentBase.cs Fixed
Comment thread src/componentsBase/IgbComponentBase.cs Fixed
str += ",";
}
str += values[i].ToString();
str += values[i].ToString(CultureInfo.InvariantCulture);
str += ",";
}
str += values[i].ToString();
str += values[i].ToString(CultureInfo.InvariantCulture);

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

‼️ breaking-change 🛠️ status: in-development Issues and PRs with active development on them refactoring squash-merge Merge PR with "Squash and Merge" option

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Generic TValue on the value components

3 participants