-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/smart selector #7
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…ut, and theming options - Added `SmartSelector` component supporting single and multi-selection modes. - Implemented flexible option layouts (horizontal, vertical, grid). - Provided customization through CSS variables for layout, spacing, colors, and more. - Enabled custom templates for option rendering using `ng-template`. - Integrated keyboard navigation (arrow keys, space, and enter). - Added support for lazy rendering via `CdkVirtualScrollViewport`. - Emitted `optionChanged`, `onSelect`, and `onDeselect` events for enhanced interactivity. - Ensured ARIA accessibility with proper roles and attributes. - Included light, dark, and custom theme support with dynamic theming capabilities.
- Added a new directive, SmartToggleSelection, to the smart-selector library. - The directive allows toggling the selection of all options in the smart-selector component. - When the directive's host element is changed, it triggers the selectAll() or deselectAll() methods of the associated SmartSelector component. Refactor smart-selector component HTML and SCSS - Updated the HTML template of the smart-selector component to include additional logic for displaying placeholders and no options text. - Added CSS styles to improve the appearance and behavior of the smart-selector component. - Made adjustments to the grid layout for mobile devices.
… component - Verify correct rendering in list and grid layouts - Test single and multi-select modes with keyboard navigation - Ensure placeholder and no-options text display correctly - Validate max selection logic with custom error handling - Include tests for ARIA support and accessible navigation - Add tests for event emissions (onSelect, onDeselect, optionChanged)
…forms/smart-selector library - Introduce an overview of the smart-selector component - Add detailed usage examples for single and multi-selection - Document support for grid and list layouts with custom templates - Include properties, events, and error handling descriptions - Provide theming options using CSS variables - Highlight accessibility (A11y) features and keyboard navigation - Outline best practices, performance tips, and edge cases - Add installation instructions and live demo link on StackBlitz - Include contributing guidelines, support information, and license details
…ional information
…ntation - Include @ngx-smart-forms/smart-selector in the list of libraries - Add overview, key features, and usage examples for smart-selector - Provide installation instructions for the smart-selector library - Document grid and list layouts, multi-selection, and custom templates - Update project structure and development commands to reflect smart-selector - Ensure consistency across all library documentation
…behavior - Update CSS variables for disabled state in smart-selector component - Add smooth scrolling behavior to smart-selector component - Handle disabled state in smart-selector component logic
…nent - Added comprehensive comments and JSDoc annotations to all class members, methods, and inputs/outputs. - Documented the `SmartSelectorOption` interface, lifecycle hooks, and component logic. - Provided detailed descriptions for `ControlValueAccessor` and `Validator` implementations. - Clarified the purpose and usage of inputs such as `multiSelect`, `template`, `maxSelection`, and `ariaLabel`. - Enhanced readability by explaining key functions like `selectOption`, `navigateOptions`, `validate`, and `registerFormControl`. - Updated event handling logic with comments to improve maintainability. - Ensured alignment with Angular best practices and improved code clarity for future contributors.
…application - Added multiple examples showcasing Smart Selector functionality: - Single and multi-selection modes. - Custom layouts (grid and list). - Image-based options with custom templates. - Max selection limits with large datasets. - Custom labels, placeholders, and error handling. - Select/Deselect All functionality. - Theming support with light/dark mode toggle. - Lazy loading options demonstration. - Keyboard navigation support for accessibility. - Dynamic option filtering in real-time. - Included form validations for required fields and max selection. - Improved user experience with clear instructions and reload functionality for lazy loading. - This demo highlights the flexibility and accessibility of the Smart Selector component.
☁️ Nx Cloud ReportCI is running/has finished running commands for commit 05623bf. As they complete they will appear below. Click to see the status, the terminal output, and the build insights. 📂 See all runs for this CI Pipeline Execution ✅ Successfully ran 1 targetSent with 💌 from NxCloud. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR integrates the Smart Selector component into the
@ngx-smart-forms
library collection. The Smart Selector provides advanced selection capabilities with features like single and multi-selection modes, custom layouts, and image-based options. It enhances form handling by supporting Angular forms with validation and theming options.Key Features:
This addition strengthens the library collection, offering developers a powerful and accessible component for various selection needs.
Type of change
How Has This Been Tested?
Checklist