Skip to content

Bump ngxsmk-datepicker from 2.2.15 to 2.3.1 in /frontend#27

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/frontend/ngxsmk-datepicker-2.3.1
Closed

Bump ngxsmk-datepicker from 2.2.15 to 2.3.1 in /frontend#27
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/npm_and_yarn/frontend/ngxsmk-datepicker-2.3.1

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Jun 3, 2026

Bumps ngxsmk-datepicker from 2.2.15 to 2.3.1.

Release notes

Sourced from ngxsmk-datepicker's releases.

feat: release v2.3.1 with natural language input, multi-calendar layout, timezone selector, and visual warnings

Description

This PR introduces the v2.3.1 stable release, featuring five major library enhancements, key bug audits (including Issue #281), design optimizations for responsive layouts, and fluid motion animations. All changes are built to align with Angular’s Signal-driven, OnPush, and zoneless-ready standards.


Key Changes

1. New Features

  • Natural Language Input: Integrated a lightweight, zero-dependency parser engine mapping textual inputs (e.g. "today", "tomorrow", "in 3 weeks", "Q3 2026") to standard values, combined with a dynamic suggestion preview tooltip.
  • Multi-Calendar View: Supported renders of side-by-side month grids via the alias [calendars]="2" or [calendars]="3" inputs with continuous, seamless range highlights across month boundaries.
  • Dynamic Presets Factory: Added the [rangePresetFactory] callback input allowing developers to supply dynamic rolling ranges (e.g. fiscal quarters or rolling business-day windows).
  • Invalid Range Detection: Selection boundaries are validated on change. Emits (invalidRange) with conflicting disabled dates and highlights them visually using strike-through styling.
  • Timezone Selector UI: Added a searchable timezone dropdown via [showTimezoneSelector]="true" input, allowing users to switch IANA timezones and emit matching (timezoneChange) events.

2. Bug Fixes & Strict AOT Optimizations (incl. Issue #281)

  • Disabled Dropdown Constraints (Issue #281): Correctly disabled month and year dropdown options preceding minDate or succeeding maxDate. Snaps viewports automatically if the current month selection becomes invalid.
  • Template Accessibility Modifiers: Changed internal signals (_isCalendarOpen, _currentMonthSignal, and _currentYearSignal) from private to protected to prevent strict Angular production AoT compilation errors.
  • Type Safety: Replaced generic typecasting in custom selects with a strict type-matching checker to prevent compilation mismatch warnings.

3. Performance & Design System Polish

  • Motion Animations: Integrated motion (Framer Motion) library animations to smoothly scale and fade the interactive Playground elements on view initialization.
  • Mobile/Tablet Responsiveness:
    • Balanced viewport-dependent font clamps (--font-size-xs through --font-size-4xl) for legibility on small mobile displays.
    • Updated the stacked-column media query threshold to 1024px to allow maximum layout space for multi-calendars on iPad/tablet sizes.
  • Bundle Size and Packaging Cleanups: Excluded non-essential project documents (e.g. ROADMAP.md, SECURITY.md, and contribution templates) from the published package distribution folder (dist/ngxsmk-datepicker).

Verification & Stability Results

  • Automated Tests: Completed the suite with 1,249 tests passing successfully (npm run test:coverage).
  • Bundle Generation: Verified production build outputs (npm run build:optimized and npm run build:demo).
  • Lint Health: Passed strict eslint guidelines with 0 errors (npm run lint).
Changelog

Sourced from ngxsmk-datepicker's changelog.

[2.3.1] - 2026-06-03

Added

  • Natural Language Input: Integrated a lightweight, zero-dependency parser engine that resolves text expressions like "today", "tomorrow", relative day/week offsets, and quarter descriptors. Features a dynamic preview suggestion tooltip beneath the input field.
  • Multi-Calendar View: Supported side-by-side calendar renders via [calendars]="2" or [calendars]="3" inputs, with seamless range highlights extending across all month boundaries.
  • Dynamic Presets Factory: Introduced the [rangePresetFactory] callback input allowing developers to supply dynamic rolling ranges (e.g., fiscal quarters or rolling business-day windows).
  • Invalid Range Warning: Highlights ranges with a warning style if a disabled date falls inside the selected range, emitting details via the (invalidRange) output.
  • Timezone Selector UI: Added a searchable timezone dropdown via [showTimezoneSelector]="true" input, with timezone change values emitted via the (timezoneChange) output.
  • Shadow DOM Compatibility (Issue #268): Added full, native support for running inside Angular Shadow DOM containers (ViewEncapsulation.ShadowDom) and Custom Web Components.
    • Interaction listeners now query and utilize event.composedPath() to correctly identify clicked targets originating inside the component shadow boundary, preventing calendar dropdowns and header custom selects from closing prematurely due to event target retargeting.
    • Added new comprehensive Shadow DOM unit test suite (shadow-dom-compatibility.spec.ts).

Changed

  • AOT & AoT Compilation Boundaries: Refactored internal component signals (_isCalendarOpen, _currentMonthSignal, and _currentYearSignal) to protected access modifiers to prevent strict production AoT compilation errors.
  • Code Quality & Cognitive Complexity Reductions:
    • Flattened highly nested condition structures in CustomSelectComponent.onDocumentTouchStart(), reducing cognitive complexity to well below the limit of 15.
    • Decomposed monolithic date check inside NgxsmkDatepickerComponent.containsNode() into private helper functions (containsNodeViaComposedPath, containsNodeViaDOM), drastically improving maintainability and reducing complexity down to 2.
  • Unnecessary Type Assertions Cleanup: Cleaned up dozens of redundant type assertions (e.g. as keyof DatepickerTranslations, as HTMLElement, as DatepickerValue, as EventListenerOptions) to fully align with standard Angular strict compiler guidelines and eliminate all IDE compiler warnings.
  • Spec Styling Overhaul: Refactored the test suite to move the createMockEvent helper to the top-level outer scope and transitioned elements cleanup to the modern insideNode.remove() native DOM standard.

[2.3.0] - 2026-05-06

Fixed

  • npm package: Republished with complete build artifacts (fesm2022/, types/) and release safeguards to prevent docs-only tarballs.

Added

Changed

  • Documentation: Refreshed Markdown files across the repository with updated metadata headers (last updated/current stable), aligned compatibility wording, and contact links.
  • Roadmap: Updated main-component line count reference; roadmap links now resolve to IMPROVEMENT_REPORT.md.
  • Compatibility Docs: Clarified Vitest wording to describe compatibility without implying a default test runner requirement.
  • i18n (demo): New playground strings for the Advanced section (all demo-app languages).

[2.2.12] - 2026-05-02 [BROKEN - NPM PACKAGE]

Fixed

  • npm package: The 2.2.12 tarball on the registry omitted fesm2022/ and types/ (only docs, styles, and package metadata). Use ngxsmk-datepicker@2.2.11 until 2.3.0 or later with a full ng-packagr build (#230).

... (truncated)

Commits
  • 9a78e2f chore: update version to v2.3.1 and documentation for new features
  • bf51726 fix: update prepublish:copy-assets script to include fewer asset files
  • dfa4674 add timezone support and natural language date input
  • 9c260cd Update issue templates
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [ngxsmk-datepicker](https://github.com/NGXSMK/ngxsmk-datepicker) from 2.2.15 to 2.3.1.
- [Release notes](https://github.com/NGXSMK/ngxsmk-datepicker/releases)
- [Changelog](https://github.com/NGXSMK/ngxsmk-datepicker/blob/main/CHANGELOG.md)
- [Commits](NGXSMK/ngxsmk-datepicker@2.2.15...2.3.1)

---
updated-dependencies:
- dependency-name: ngxsmk-datepicker
  dependency-version: 2.3.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Jun 3, 2026
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github Jun 4, 2026

Looks like ngxsmk-datepicker is up-to-date now, so this is no longer needed.

@dependabot dependabot Bot closed this Jun 4, 2026
@dependabot dependabot Bot deleted the dependabot/npm_and_yarn/frontend/ngxsmk-datepicker-2.3.1 branch June 4, 2026 13:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants