GitHub

Plugin Architecture & Decoupling

This release introduces a new plugin-based architecture, further reducing the core bundle size and providing greater flexibility. Core features have been extracted into independent, optional packages.

New Plugin Packages (v1.0.0)

  • @dayflow/plugin-drag: Handles all drag-and-drop interactions (move, resize, and create).
  • @dayflow/plugin-keyboard-shortcuts: Provides keyboard navigation and shortcuts support.
  • @dayflow/plugin-localization: Dedicated package for multi-language support and internationalization.
  • @dayflow/plugin-sidebar: Extracts the sidebar UI and logic into a standalone plugin.

New Features & Enhancements

  • Enhanced Visibility Control:
    • Added onVisibleRangeChange callback with a reason parameter (scroll vs. navigation).
    • Marked onVisibleMonthChange as deprecated in favor of the more flexible range change callback.
  • Improved API: Simplified framework wrappers by removing the sidebarConfig attribute (now handled via the sidebar plugin).
  • UI Refresh: Updated the view switching button styles for a more modern look and feel.

Fixed

  • Accessibility: Fixed an event scaling issue when using the keyboard Tab key for navigation.
  • Search: Improved search result location accuracy within the calendar views.
  • Documentation: Comprehensive updates to plugin documentation and multi-language guides.

Breaking Changes

  • Feature Extraction: Drag-and-drop, keyboard shortcuts, and the sidebar are no longer included in @dayflow/core by default. You must install and register the corresponding plugins to retain these features.
  • Sidebar Configuration: The sidebarConfig prop has been removed from framework adapters. Configuration is now passed directly to the @dayflow/plugin-sidebar during initialization.

What's Changed

  • feat: onVisibleRangeChange callback by @Zoranais in #52
  • feat: extract (locale, keyboard-shortcut, sidebar, drag&drop) to independent package by @JayceV552 in #53

New Contributors

Full Changelog: v3.0.0...v3.1.0

Read the original on github.com ↗