Adds new customer panel with detailed profile and revenue visualization
Implements journal panel with historical entries and interaction
Introduces new SVG icons for improved user interface
Adds @sevenweirdpeople/swp-charting for customer revenue chart
Applies JetBrains Mono font across key components
Updates color scheme to use consistent teal palette
Adjusts font sizes and weights for improved readability
Enhances visual design tokens and styling for drawer components
Adds interactive cart item editing with expandable sections
Introduces dynamic discount calculation and display
Implements giftcard lookup and balance tracking functionality
Improves user experience with smooth transitions and more flexible item management
Creates a responsive and interactive checkout prototype demonstrating a comprehensive payment flow
Includes:
- Multi-method payment selection
- Dynamic cart and total calculation
- Intuitive user interface for transaction management
Updates NavigationAnimator to animate header drawer during slide transitions
Adds optional header drawer animation to improve UI consistency when navigating between views
Improves date navigation by introducing dynamic period-based offsets for calendar views
Replaces week-based navigation with more flexible day offsets that support:
- Single-day and multi-day navigation
- Configurable work week presets with different period lengths
- More granular control over date range selection
Adds support for dynamic navigation periods through workweek preset configuration
Consolidates V2 codebase into main project directory
Updates build script to support simplified entry points
Removes redundant files and cleans up project organization
Simplifies module imports and entry points for calendar application
Restructures tenant settings to use individual records instead of a single document
Decouples settings sections into separate typed interfaces with unique IDs
Modifies data loading and service methods to support new record-based settings
Updates mock data and repository to align with new settings structure
Separates calendar-specific events into a dedicated CalendarEvents constant
Removes calendar command events from CoreEvents
Updates imports and event bus references across related files
Enhances calendar view with dynamic resource selection
Enables users to filter and customize calendar views by resources
Introduces new event for view updates and dynamic rendering
Supports flexible calendar view configuration
Migrates calendar commands from DOM events to EventBus for better decoupling
Adds support for workweek change and simplified rendering commands
Removes direction parameter from render method for cleaner implementation
Decouples calendar navigation from direct DOM events
Adds new event constants for calendar navigation commands
Updates CalendarApp to handle navigation via event bus
Simplifies navigation logic and improves event-driven architecture
Introduces CalendarApp as a reusable core component to centralize calendar rendering and navigation logic
Separates concerns between core application logic and demo implementation
Improves modularity and extensibility of calendar system
Decouples view configuration from DemoApp logic by:
- Introducing ViewConfigService and MockViewConfigRepository
- Moving view configuration to centralized JSON data
- Simplifying DemoApp rendering process
Improves separation of concerns and makes view configurations more maintainable
Introduces hideHeader option for date grouping configurations
Enables suppressing date headers in specific views like day view
Improves calendar view flexibility by conditionally rendering headers
Introduces settings service for managing tenant-specific calendar configurations
Enables dynamic workweek presets with configurable work days
Improves view switching with enhanced UI components
Adds flexible calendar rendering based on tenant settings
Extends DateService to support workweek date generation
Enhances column key retrieval to use consistent key format
Adds null check for filter template to prevent potential errors
Uses buildKeyFromColumn() for more robust key generation
Introduces department-level grouping and rendering in the calendar view
Extends the application to support:
- Department-based resource filtering
- Dynamic department header rendering
- Mock department data infrastructure
Enables more granular organizational views
Introduces flexible key-based filtering for calendar events across different view configurations
Adds new FilterTemplate class to:
- Define event matching rules based on view configuration
- Support multi-level grouping (team/resource/date)
- Handle dynamic key generation for columns and events
Enhances view configuration with explicit id properties and derived fields
Refactors column identification with a new buildColumnKey method to support flexible date and resource tracking
Replaces separate dateKey and resourceId handling with a unified columnKey approach
Improves column rendering and event management with more consistent key generation
Simplifies cross-component event tracking and column lookups
Adds support for dragging events between header and grid views
Improves drag-and-drop state management and event persistence
Enables converting all-day events to timed events when dropped in grid
Refactors drag handling to support more flexible event interactions
Implements dynamic item positioning and layout recalculation for header drawer
- Adds ISO date tracking for header items
- Introduces dynamic row allocation algorithm
- Updates drawer expansion logic during drag operations
- Calculates and adjusts drawer height based on item tracks
Improves header drawer rendering to support multi-row event stacking
Adds row-based layout algorithm for all-day events
Enables flexible height expansion based on event count
Provides more robust event placement across visible date range
Enhances header drawer rendering to handle multi-day events
- Calculates column span for events across multiple days
- Adds support for events spanning beyond visible date range
- Updates event data attributes to include start and end dates
Extends calendar rendering to support all-day events in header drawer
Implements rendering logic for all-day events in header drawer:
- Fetches events for visible date range
- Filters and creates header items for all-day events
- Dynamically positions events with color classes
- Expands header drawer when events are present
Enhances event persistence with header drop detection
Introduces SwpEvent class to centralize event element data and calculations
Improves drag and resize event handling by extracting common logic
Simplifies calculation of event start/end times from element positions
Enhances type safety and reduces code complexity in event managers
Removes direct pixel/minute calculations from multiple managers
Refactors element positioning during drag operations to:
- Use getBoundingClientRect for precise Y positioning
- Move events to events-layer for consistent dragging
- Ensure proper absolute positioning across different event layouts
Addresses positioning inconsistencies for grouped and stacked events
Updates header and viewport components to use CSS subgrid for more flexible layout
Improves grid structure by:
- Replacing fixed grid columns with subgrid
- Adjusting scrollbar and overflow properties
- Simplifying header and track element positioning
Adds expanded state tracking for header drawer during drag
Ensures drawer remains in the correct expanded/collapsed state based on initial condition
Improves user experience by maintaining consistent drawer state
Introduces HeaderDrawerRenderer and HeaderDrawerLayoutEngine to support dragging events into an all-day header drawer
Enables dynamic event placement and conversion between timed and all-day events through new drag interactions
Implements flexible layout calculation for header items with column and row management
Extends DragDropManager to handle header zone interactions
Adds new event types for header drag events
Enhances event drag interactions by dynamically updating timestamp display
Implements grid-snapped time calculation during event dragging
Updates event time display with accurate start and end times
Converts minutes to formatted time range using existing date services
Prevents text selection for calendar-related custom elements to improve user interaction and prevent accidental text highlighting
Enhances UI consistency across calendar components
Simplifies EdgeScrollManager implementation with more focused and efficient auto-scrolling logic
Removes unnecessary complexity and scroll tracking
Optimizes scroll velocity calculation and boundary detection
Improves performance by using requestAnimationFrame for smooth scrolling
Implements EdgeScrollManager to enable automatic scrolling during drag operations
Introduces new scroll management system that:
- Detects mouse proximity to container edges
- Provides variable scroll speed based on mouse position
- Compensates dragged elements during scrolling
Enhances drag-and-drop user experience with smooth scrolling
Introduces support for moving events between columns during drag
Tracks column changes and updates event positioning dynamically
Enables smooth cross-column event dragging experience