Skip to content

Commit 42a8f78

Browse files
committed
feat: Add v2.3.0 prop definitions to demo metadata
1 parent 0a133ed commit 42a8f78

1 file changed

Lines changed: 186 additions & 2 deletions

File tree

demo/src/app/data/select-metadata.ts

Lines changed: 186 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ import { ComponentMetadata } from '../models/playground.types';
22

33
export const SELECT_METADATA: ComponentMetadata = {
44
id: 'select',
5-
name: 'Perfect Select v2.2',
5+
name: 'Perfect Select v2.3',
66
description:
7-
'A modern, feature-rich select component with react-select API compatibility, virtual scrolling, custom templates, validation states, drag-drop reordering, option pinning, search highlighting, tag overflow management, and advanced features',
7+
'A modern, feature-rich select component with react-select API compatibility, virtual scrolling, custom templates, validation states, drag-drop reordering, option pinning, search highlighting, tag overflow management, fuzzy search, dark mode, loading skeleton, compact mode, checkboxes, bulk actions, sorting, and advanced features',
88
defaultProps: {
99
options: [
1010
{ id: 'sl', label: 'Sri Lanka', value: 'sl' },
@@ -483,6 +483,190 @@ export const SELECT_METADATA: ComponentMetadata = {
483483
defaultValue: 'Show less',
484484
category: 'v2-features'
485485
},
486+
487+
// v2.3.0 Props - Fuzzy Search (3)
488+
{
489+
name: 'enableFuzzySearch',
490+
type: 'boolean',
491+
control: { type: 'boolean' },
492+
description: 'Enable fuzzy search for flexible matching - v2.3.0',
493+
defaultValue: false,
494+
category: 'v2.3-features'
495+
},
496+
{
497+
name: 'fuzzySearchThreshold',
498+
type: 'number',
499+
control: { type: 'number', min: 0, max: 1, step: 0.1 },
500+
description: 'Minimum score for fuzzy matches (0-1) - v2.3.0',
501+
defaultValue: 0,
502+
category: 'v2.3-features'
503+
},
504+
{
505+
name: 'fuzzySearchCaseSensitive',
506+
type: 'boolean',
507+
control: { type: 'boolean' },
508+
description: 'Case-sensitive fuzzy matching - v2.3.0',
509+
defaultValue: false,
510+
category: 'v2.3-features'
511+
},
512+
513+
// v2.3.0 Props - Dark Mode (4)
514+
{
515+
name: 'enableAutoThemeDetection',
516+
type: 'boolean',
517+
control: { type: 'boolean' },
518+
description: 'Auto-detect system dark mode - v2.3.0',
519+
defaultValue: false,
520+
category: 'v2.3-features'
521+
},
522+
{
523+
name: 'colorScheme',
524+
type: 'string',
525+
control: { type: 'select', options: ['auto', 'light', 'dark'] },
526+
description: 'Color scheme preference - v2.3.0',
527+
defaultValue: 'auto',
528+
category: 'v2.3-features'
529+
},
530+
{
531+
name: 'darkModeTheme',
532+
type: 'string',
533+
control: {
534+
type: 'select',
535+
options: ['blue', 'purple', 'green', 'red', 'orange', 'pink', 'dark']
536+
},
537+
description: 'Theme to use in dark mode - v2.3.0',
538+
defaultValue: 'dark',
539+
category: 'v2.3-features'
540+
},
541+
{
542+
name: 'lightModeTheme',
543+
type: 'string',
544+
control: {
545+
type: 'select',
546+
options: ['blue', 'purple', 'green', 'red', 'orange', 'pink', 'dark']
547+
},
548+
description: 'Theme to use in light mode - v2.3.0',
549+
defaultValue: 'blue',
550+
category: 'v2.3-features'
551+
},
552+
553+
// v2.3.0 Props - Loading Skeleton (4)
554+
{
555+
name: 'enableLoadingSkeleton',
556+
type: 'boolean',
557+
control: { type: 'boolean' },
558+
description: 'Show skeleton UI while loading - v2.3.0',
559+
defaultValue: true,
560+
category: 'v2.3-features'
561+
},
562+
{
563+
name: 'skeletonItemCount',
564+
type: 'number',
565+
control: { type: 'number', min: 1, max: 20 },
566+
description: 'Number of skeleton items - v2.3.0',
567+
defaultValue: 5,
568+
category: 'v2.3-features'
569+
},
570+
{
571+
name: 'skeletonItemHeight',
572+
type: 'number',
573+
control: { type: 'number', min: 20, max: 100 },
574+
description: 'Height of skeleton items (px) - v2.3.0',
575+
defaultValue: 40,
576+
category: 'v2.3-features'
577+
},
578+
{
579+
name: 'skeletonAnimationDelay',
580+
type: 'number',
581+
control: { type: 'number', min: 100, max: 3000 },
582+
description: 'Animation delay (ms) - v2.3.0',
583+
defaultValue: 800,
584+
category: 'v2.3-features'
585+
},
586+
587+
// v2.3.0 Props - Compact Mode (1)
588+
{
589+
name: 'compactMode',
590+
type: 'boolean',
591+
control: { type: 'boolean' },
592+
description: 'Ultra-dense layout variant - v2.3.0',
593+
defaultValue: false,
594+
category: 'v2.3-features'
595+
},
596+
597+
// v2.3.0 Props - Option Checkboxes (3)
598+
{
599+
name: 'showOptionCheckboxes',
600+
type: 'boolean',
601+
control: { type: 'boolean' },
602+
description: 'Show checkboxes next to options - v2.3.0',
603+
defaultValue: false,
604+
category: 'v2.3-features'
605+
},
606+
{
607+
name: 'checkboxPosition',
608+
type: 'string',
609+
control: { type: 'select', options: ['left', 'right'] },
610+
description: 'Checkbox position - v2.3.0',
611+
defaultValue: 'left',
612+
category: 'v2.3-features'
613+
},
614+
{
615+
name: 'checkboxStyle',
616+
type: 'string',
617+
control: { type: 'select', options: ['default', 'filled', 'outlined'] },
618+
description: 'Checkbox style variant - v2.3.0',
619+
defaultValue: 'default',
620+
category: 'v2.3-features'
621+
},
622+
623+
// v2.3.0 Props - Bulk Actions (3)
624+
{
625+
name: 'enableBulkActions',
626+
type: 'boolean',
627+
control: { type: 'boolean' },
628+
description: 'Enable bulk action buttons - v2.3.0',
629+
defaultValue: false,
630+
category: 'v2.3-features'
631+
},
632+
{
633+
name: 'bulkActionsPosition',
634+
type: 'string',
635+
control: { type: 'select', options: ['above', 'below', 'float'] },
636+
description: 'Position of bulk actions bar - v2.3.0',
637+
defaultValue: 'above',
638+
category: 'v2.3-features'
639+
},
640+
{
641+
name: 'bulkActionsLabel',
642+
type: 'string',
643+
control: { type: 'text' },
644+
description: 'Label for bulk actions - v2.3.0',
645+
defaultValue: 'Actions:',
646+
category: 'v2.3-features'
647+
},
648+
649+
// v2.3.0 Props - Option Sorting (2)
650+
{
651+
name: 'sortMode',
652+
type: 'string',
653+
control: {
654+
type: 'select',
655+
options: ['none', 'alphabetical-asc', 'alphabetical-desc', 'recently-used', 'custom']
656+
},
657+
description: 'Option sorting mode - v2.3.0',
658+
defaultValue: 'none',
659+
category: 'v2.3-features'
660+
},
661+
{
662+
name: 'recentlyUsedLimit',
663+
type: 'number',
664+
control: { type: 'number', min: 1, max: 50 },
665+
description: 'Recently used tracking limit - v2.3.0',
666+
defaultValue: 10,
667+
category: 'v2.3-features'
668+
},
669+
486670
// Behavior Props (4)
487671
{
488672
name: 'closeMenuOnSelect',

0 commit comments

Comments
 (0)