# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.0.7] - 2025-10-08

### Fixed
- Resolved Props interface instantiation errors in container components
- Fixed "XxxProps only refers to a type, but is being used as a value" errors
- Corrected export statements for interfaces in index.ts and interfaces.ts

### Technical
- Updated container components to use proper interface initialization pattern
- Changed from `new XxxProps()` to `{} as XxxProps` for useState initialization
- Maintained backward compatibility with existing exports
- Verified successful build with all distribution files generated

### Breaking Changes
- None - all existing functionality maintained

## [1.0.6] - 2025-10-08

### Changed
- Updated package version for new deployment
- Enhanced README.md with comprehensive import options section
- Added detailed export examples visible on npm package web page

### Technical
- Version increment following NPM Version Increment Rule
- Maintained all existing functionality and export patterns
- Improved package discoverability with enhanced documentation

### Breaking Changes
- None - all existing functionality maintained

## [1.0.4] - 2025-10-08

### Fixed
- **CRITICAL**: Resolved "Class constructor Class cannot be invoked without 'new'" error when using library in external projects
- Fixed TypeScript class compilation issues by disabling useDefineForClassFields
- Updated class inheritance patterns to use explicit constructors instead of field initializers
- Fixed BaseProps and ComprehensiveProps class instantiation in runtime environments
- Corrected interface exports to provide both type definitions and constructor access

### Technical
- Updated tsconfig.json: target "ES2018", useDefineForClassFields: false
- Modified DomainProps.ts class definitions to use constructor-based initialization
- Enhanced rollup configuration with TypeScript override for consistent compilation
- Fixed interfaces.ts to export classes as values (constructors) not just types
- Verified class instantiation works correctly in both ES modules and CommonJS environments

### Breaking Changes
- None - all existing functionality maintained while fixing constructor issues

## [1.0.3] - 2025-10-08

### Added
- HOC (Higher Order Components) export endpoint `/hoc`
- Dedicated hoc.ts aggregation file following Interface Aggregation Practice
- Individual HOC exports: withHelperText, withLabel, withToolTip, withValidations
- HOC TypeScript interfaces: HelperTextProps, LabelProps, ToolTipProps, ValidationProps
- HOC namespace export in main index.ts for comprehensive access
- Rollup build configuration for HOC bundle generation
- Updated README.md with HOC usage examples and documentation

### Technical
- Added HOC bundle to rollup configuration for separate distribution
- Enhanced package.json exports with HOC endpoint
- Maintained backward compatibility with existing exports
- Followed Interface Aggregation Practice memory for consistent exports

## [1.0.2] - 2025-10-08

### Changed
- Updated package version for redeployment
- Maintained all existing functionality and exports
- No breaking changes from version 1.0.1

### Technical
- Version increment following NPM registry requirements
- Rebuilt packages with latest build configuration
- Verified all export endpoints and functionality

## [1.0.1] - 2025-10-08

### Added
- Enhanced README.md with comprehensive usage examples
- Improved peer dependency installation instructions
- Added more detailed TypeScript usage documentation
- Extended keyword list for better npm discoverability
- Added CHANGELOG.md for tracking version changes

### Changed
- Updated package description to be more comprehensive
- Improved documentation examples with correct package name references
- Enhanced installation guide with complete peer dependency list

### Fixed
- Corrected package name references in all documentation examples
- Updated README.md import statements to use correct package name

## [1.0.0] - 2025-10-08

### Added
- Initial release of ProCode Kendo Widget Library
- 25+ React widgets built on Kendo UI components
- WidgetFactory for centralized widget management
- Comprehensive TypeScript support with full type definitions
- Modular architecture with tree-shaking support
- Multiple export endpoints:
  - Main export for WidgetFactory
  - `/widgets` for individual widget imports
  - `/interfaces` for TypeScript types and interfaces
  - `/factory` for factory utilities
  - `/styles` for SCSS styling
- Full widget collection:
  - Input widgets: Button, TextBox, TextArea, Dropdown, Date, Checkbox, CheckBoxGroup, RadioGroup, Switch
  - Display widgets: Label, Html, Icon, Image, Link
  - Data widgets: Grid, CardGrid, List
  - Layout widgets: Section, Accordian
  - Advanced widgets: Editor, Chart, Gauge, ButtonDropdown, Shape
- Built-in SCSS styling system
- Peer dependencies support for Kendo UI React components
- MIT license

### Technical Features
- Rollup build system with multiple bundle outputs
- ESM and CommonJS support
- TypeScript declaration files generation
- SCSS file copying for external consumption
- Comprehensive prop interfaces with BaseProps and ComprehensiveProps
- Widget validation system
- Tool tip, label, and helper text support
- Style customization through widgetStyle and rootStyle props