• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IgniteUI / igniteui-webcomponents / 31679721170
98%

Build:
DEFAULT BRANCH: master
Ran 13 Aug 2026 07:57AM UTC
Jobs 1
Files 235
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

13 Aug 2026 07:54AM UTC coverage: 98.374% (+0.009%) from 98.365%
31679721170

push

github

web-flow
refactor(calendar): Calendar improvements and bug fixes (#2325)

Three defects reachable from the shipped components, plus the refactoring
their diagnosis called for.

`week-start` never reached the days grid. `_firstDayOfWeek` was derived in
the base component's `update()`, which runs after the days view has already
generated its dates, so the grid was laid out with the previous value while
the weekday labels above it were correct. A March 2025 calendar with
`week-start="monday"` started its grid on Sunday, February 23rd. The first
day of the week is now derived on access, removing the ordering hazard
altogether.

Keyboard navigation could hang the browser. Arrow, `Page Up`/`Page Down`,
`Home` and `End` skip disabled dates by walking day by day until they find
an enabled one, and that walk was unbounded. Any descriptor set leaving no
enabled date ahead - the `min`/`max` of the pickers translate into exactly
such open-ended `After`/`Before` ranges, as does `Weekdays` combined with
`Weekends` - looped forever. The search is bounded now, and the active date
stays where it is when nothing is reachable.

A multi-month calendar exposed one tab stop per visible month. Each view
derived `tabindex` from its own active date, while the `active` property the
calendar was already passing down was read by nothing - not the template,
not the styles. It now gates the tab stop, and defaults to `true` so that a
standalone `igc-days-view` keeps one.

Also `convertToDateRange` returns null instead of throwing out of an
attribute converter on malformed JSON, and time-only strings resolve against
the local date rather than the UTC one, which shifted the parsed date by a
day near midnight in some zones.

Structure:

- move the date model, converters and comparisons to src/internals/date.
  `internals/validators.ts` and the form transformers imported them from
  `components/calendar/`, inverting the layering. `helpers.ts` is left with
  the view geometry and the `DateRangeD... (continued)

6724 of 7048 branches covered (95.4%)

Branch coverage included in aggregate %.

957 of 967 new or added lines in 23 files covered. (98.97%)

1 existing line in 1 file now uncovered.

47666 of 48241 relevant lines covered (98.81%)

1439.62 hits per line

Uncovered Changes

Lines Coverage ∆ File
5
87.5
src/internals/date/compare.ts
3
98.11
-0.2% src/components/calendar/calendar.ts
1
98.85
-0.11% src/components/date-range-picker/date-range-picker.ts
1
97.07
src/internals/date/model.ts

Coverage Regressions

Lines Coverage ∆ File
1
98.11
-0.2% src/components/calendar/calendar.ts
Jobs
ID Job ID Ran Files Coverage
1 31679721170.1 13 Aug 2026 07:57AM UTC 235
98.37
GitHub Action Run
Source Files on build 31679721170
  • Tree
  • List 235
  • Changed 18
  • Source Changed 18
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #31679721170
  • 312d04a0 on github
  • Prev Build on master (#31588128155)
  • Next Build on master (#31701023658)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc