Skip to content

Dolphin Components - Changelog

List of all dolphin component v3 changelogs

[3.1.6] - 2026-02-03

Added

  • Tabulator Row Selection Functionality
    • New enableSelectable prop enables multi-row selection with checkboxes

    • Exposed getSelectedData() function to retrieve selected rows programmatically

    • Select all/deselect all functionality in header checkbox

    • Individual row selection with checkboxes in first column

    • Selected rows maintain state during pagination and filtering

    • Example usage:

      vue
      <Tabulator
        ref="tableRef"
        :enableSelectable="true"
        :data="tableData"
        :columns="columns"
      />
      
      <button @click="handleGetSelected">Get Selected</button>
      
      <script setup>
      const tableRef = ref(null);
      
      const handleGetSelected = () => {
        const selected = tableRef.value.getSelectedData();
        console.log("Selected rows:", selected);
      };
      </script>

Changed

  • Dependency Updates
    • Updated package dependencies to latest compatible versions
    • Improved security and performance
    • Better compatibility with modern build tools
  • Tabulator Row Styling Refinements
    • Enhanced row hover states for better visual feedback
    • Improved selected row highlighting
    • Better distinction between active, hover, and selected states
    • Smoother transitions between states
  • Tabulator Resize Handle Styling
    • Refined column resize handle appearance
    • Better visibility during hover
    • Improved cursor indication for resizable columns
    • More intuitive resize interaction

Fixed

  • Removed Debug Console Logs
    • Cleaned up debug console.log statements from Modal component
    • Removed debugging logs from Tabulator component
    • Cleaner browser console output in production
    • Improved performance by reducing unnecessary logging

Migration Note

✅ No Breaking Changes

This release is 100% backward compatible. All existing implementations will continue to work without modifications.


[3.1.5] - 2026-01-26

Added

  • Multiselect Dropdown Height Limit
    • Implemented maximum height cap for multiselect dropdown menus
    • Dropdown becomes scrollable when options exceed viewport space
    • Prevents dropdown from extending beyond screen boundaries
    • Improves usability on pages with many selectable options

Changed

  • Modal Component Positioning Logic
    • Refactored modal positioning system for better viewport handling
    • Improved centering logic across different screen sizes
    • Better handling of dynamic content height changes
    • Modal now repositions when content size changes dynamically
  • Modal Dynamic Sizing
    • Enhanced modal width calculation for responsive behavior
    • Better handling of min/max width constraints
    • Improved content overflow handling
    • Smoother transitions when modal content changes

Fixed

  • DateSelector BS Date Handling
    • Fixed default Bikram Sambat (BS) date not being set correctly on component mount
    • BS date now properly converts and displays on initial render
    • Corrected date conversion logic between BS and AD formats
    • Prevents invalid date states when toggling between BS/AD modes
  • Multiselect Dropdown Overflow
    • Fixed dropdown extending beyond viewport bottom on small screens
    • Dropdown now automatically scrolls when content exceeds available space
    • Better positioning when multiselect is near page bottom

[3.1.4] - 2026-01-21

Fixed

  • Critical Build Issue
    • Fixed broken build from v3.1.3 where CSS files were not properly included
    • All component styles now correctly bundled in distribution
    • Resolved missing styles causing components to render incorrectly
    • Migration: Update to v3.1.4 immediately if you installed v3.1.3
    • Note: v3.1.3 should not be used - please upgrade to v3.1.4

[3.1.3] - 2026-01-21

⚠️ WARNING: This version has a critical build issue. Please use v3.1.4 instead.

Added

  • Tabulator Task Queuing System
    • Implemented task queue to handle prop updates before tabulator initialization
    • Ensures data, columns, and configuration updates are processed in correct order
    • Prevents race conditions when multiple props change simultaneously
    • Fixes issues where data updates were ignored during initialization
  • Date Range Filtering for Tabulator
    • Fixes issues where date type wise date was not being set in initialization
  • ESLint Custom Rule for Pinia Stores
    • Eslint is a peer dependency for the plugin
    • New custom ESLint rule prevents duplicate Pinia store IDs
    • Catches duplicate store definitions at development time
    • For installation guide use this refrence

Fixed

  • Textarea Component
    • Fixed default max-height not being applied correctly
    • Textarea now properly constrains height with scrollbar when content exceeds maximum
    • Improved visual consistency across different content sizes
  • Tabulator Action Button Issues
    • Fixed action buttons breaking when action name has more than 3 words
    • Action names like "Mark as Complete Task" now work correctly
    • Example: "Export to PDF" now generates proper action and emits instead of breaking
  • Tabulator Action Persistence Issues
    • Fixed action dropdowns still showing after hot module reload (HMR) in development
    • Fixed action menus persisting when navigating away from page
    • Properly cleanup action event listeners on component unmount
    • Prevents memory leaks in development environment

Changed

  • Build Script Updates
    • Updated build scripts for better compatibility
    • Improved TypeScript compilation process
    • Enhanced development server configuration
  • TypeScript Configuration
    • Updated tsconfig.json for better type checking
    • Improved module resolution
    • Better compatibility with modern Vue and Vite
  • Dependency Updates
    • Updated ESLint and related plugins to latest versions
    • Updated TypeScript and type definitions
    • Updated build tools for improved performance

Migration Notes

  • Required: Eslint package is now a peer dependency to run dolphin-package

[3.1.2] - 2026-01-14

Fixed

  • Component Export Issue
    • Fixed FileUpload and FilePreview components not being properly exported from package
    • Components are now accessible via standard import
      javascript
      // Now works correctly
      import { FileUpload, FilePreview } from "dolphin-components";

[3.1.1] - 2026-01-14

Added

  • File Preview Component (docs)
    • Component for previewing uploaded files (images, PDFs, documents)
    • Support for multiple file formats
    • Responsive preview interface
    • TypeScript interface exported: FilePreview
  • File Upload Component (docs)
    • Drag-and-drop file upload functionality
    • Multiple file selection support
    • File size and type validation
    • TypeScript interface exported: FileUpload
  • Exported TypeScript Interfaces
    • FilePreview interface exported for type safety
    • FileUpload interface exported for type safety

Fixed

  • Critical Import Issue
    • Fixed nextTick being incorrectly imported from process package instead of vue
    • Prevents runtime errors and build issues
    • Migration: No action needed - fix is automatic
  • DateSelector UI Improvements
    • Fixed visual inconsistencies in date picker interface
    • Better alignment of date input elements
  • FocusNext Function
    • Fixed focus function not working due to misconfig
    • Changes in the Usage of focusnext in setup script (here)
  • Button UI Fixes
    • Fixed button ui inconsistencies across variants
    • Fixed button heights
    • Better icon alignment in icon buttons
  • Input UI Fixes
    • Fixed input and input type color heights
  • Form UI Fixes
    • Fixed input field label design

Migration Notes

The following issues are automatically resolved with this update:

  • nextTick import error (no code changes required)
  • Button, Input, and Form UI improvements (automatic styling updates)

[v3.1.0] - 2025-12-16

⚠️ Breaking Changes

  • Node.js version requirement updated to Node 24
    • Previous versions of Node.js below 22 are no longer supported
    • Migration: Upgrade your Node.js installation to version 24 or higher
  • Column attribute isNotMandatory is removed from tabulator
    • Replaced with isMandatory for better clarity
    • isMandatory determines whether a visible column toggle field is disabled in settings
    • Migration: Replace isNotMandatory: true with isMandatory: false and vice versa

Added

  • Right-click context menu support for action dropdowns
    • Action dropdowns can now be opened by right-clicking anywhere on a table row
    • Context menu intelligently positions at mouse cursor location
    • Automatically selects the row when right-clicked
  • Icon button styles with .btn-icon class
    • Optimized padding and dimensions for icon-only buttons
    • Applied to all toolbar buttons (Settings, Print, Export)

Changed

  • Enhanced action dropdown positioning system
    • Dropdowns now render as fixed position overlays with z-index: 9999
    • Intelligent viewport detection prevents dropdowns from being cut off at edges
    • Separate positioning strategies for button clicks vs right-clicks
    • Uses portal-like pattern for better rendering performance
  • Button styling improvements
    • All buttons now have consistent height (36px)
    • Action buttons include active state with border styling
    • Replaced text "..." ellipsis with professional SVG icon for better scaling
  • Footer visual enhancements
    • Added border to tabulator footer for clearer visual hierarchy
    • Better distinction between table content and pagination controls
  • Improved accessibility
    • Removed hidden paginator labels from DOM
    • Cleaner markup for screen readers
    • Better keyboard navigation support for dropdown interactions

Performance

  • Event handler optimization
    • Action dropdown event listeners now properly created and destroyed
    • Uses ref-based handler storage to prevent memory leaks
    • Proper cleanup in onBeforeUnmount lifecycle hook
    • Single event handler for all dropdown interactions instead of multiple listeners
  • Render performance improvements
    • Dropdown rendering moved to document body (portal-like behavior)
    • Prevents layout recalculation when dropdown opens
    • Uses placeholder element to track original position

Fixed

  • Dropdown interaction issues
    • Fixed dropdowns remaining open when clicking outside table
    • Fixed multiple dropdowns being open simultaneously
    • Dropdown now properly closes when scrolling the table
    • Right-click on action button no longer opens browser context menu
  • Row selection behavior
    • Fixed row selection state not updating correctly with right-click
    • Previous selected row now properly deselected when right-clicking new row
    • Selection state persists correctly when dropdown is open
  • Minimum height calculation
    • Tabulator now enforces minimum height of 250px
    • Prevents table from becoming unusable on small screens
    • Better handling of dynamic viewport changes
  • Type safety improvements
    • TabulatorHeader interface now properly extends ColumnDefinition
    • Improved TypeScript inference for column configurations
    • Better autocomplete support in IDEs

Migration Notes

  • Optional: Update custom toolbar buttons to use .btn-icon class for consistent styling
  • Optional: Remove any custom CSS workarounds for dropdown positioning - now handled automatically