pure-react-ui 1.5.6 → 1.5.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -302,7 +302,17 @@
302
302
  color: #6c757d;
303
303
  }
304
304
 
305
- /* Select */
305
+ /* Pure Custom Select Container */
306
+ .pure-custom-select {
307
+ position: relative;
308
+ width: 100%;
309
+ }
310
+
311
+ .pure-custom-select * {
312
+ box-sizing: border-box;
313
+ }
314
+
315
+ /* Pure Select Wrapper */
306
316
  .pure-select-wrapper {
307
317
  display: flex;
308
318
  flex-direction: column;
@@ -313,61 +323,505 @@
313
323
  width: 100%;
314
324
  }
315
325
 
316
- .pure-select-label {
326
+ /* Pure Select Trigger (Main button) */
327
+ .pure-select-trigger {
328
+ display: flex;
329
+ align-items: center;
330
+ justify-content: space-between;
331
+ gap: 0.5rem;
332
+ width: 100%;
333
+ padding: 0.625rem 1rem;
334
+ background-color: #ffffff;
335
+ border: 1px solid #d1d5db;
336
+ border-radius: 0.5rem;
337
+ cursor: pointer;
338
+ transition-property: all;
339
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
340
+ transition-duration: 200ms;
341
+ min-height: 2.75rem;
342
+ outline: none;
317
343
  font-size: 0.875rem;
318
- font-weight: 500;
319
- color: #212529;
344
+ line-height: 1.25rem;
345
+ color: #111827;
346
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
347
+ }
348
+
349
+ .pure-select-trigger:hover:not(.pure-select-disabled) {
350
+ border-color: #9ca3af;
351
+ box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
352
+ }
353
+
354
+ .pure-select-trigger:focus:not(.pure-select-disabled) {
355
+ outline: 2px solid transparent;
356
+ outline-offset: 2px;
357
+ border-color: #3b82f6;
358
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.05);
359
+ }
360
+
361
+ .pure-select-trigger.pure-select-open {
362
+ border-color: #3b82f6;
363
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.05);
364
+ }
365
+
366
+ .pure-select-trigger.pure-select-disabled {
367
+ background-color: #f9fafb;
368
+ cursor: not-allowed;
369
+ opacity: 0.6;
370
+ box-shadow: none;
320
371
  }
321
372
 
322
- .pure-select {
373
+ .pure-select-trigger.pure-select-full-width {
323
374
  width: 100%;
324
- padding: 0.625rem 2.5rem 0.625rem 1rem;
375
+ }
376
+
377
+ /* Pure Size Variants */
378
+ .pure-select-trigger.pure-select-small {
379
+ padding: 0.5rem 0.75rem;
380
+ font-size: 0.8125rem;
381
+ line-height: 1.125rem;
382
+ min-height: 2.25rem;
383
+ border-radius: 0.375rem;
384
+ }
385
+
386
+ .pure-select-trigger.pure-select-medium {
387
+ padding: 0.625rem 1rem;
388
+ font-size: 0.875rem;
389
+ line-height: 1.25rem;
390
+ min-height: 2.75rem;
391
+ border-radius: 0.5rem;
392
+ }
393
+
394
+ .pure-select-trigger.pure-select-large {
395
+ padding: 0.875rem 1.25rem;
325
396
  font-size: 1rem;
326
- line-height: 1.5;
327
- color: #212529;
328
- background-color: #ffffff;
329
- border: 1px solid #ced4da;
397
+ line-height: 1.5rem;
398
+ min-height: 3.25rem;
399
+ border-radius: 0.5rem;
400
+ }
401
+
402
+ /* Pure Select Value Container */
403
+ .pure-select-value {
404
+ flex: 1 1 0%;
405
+ display: flex;
406
+ align-items: center;
407
+ overflow: hidden;
408
+ min-height: 1.5rem;
409
+ }
410
+
411
+ .pure-select-placeholder {
412
+ color: #9ca3af;
413
+ font-weight: 400;
414
+ }
415
+
416
+ /* Pure Tags Container */
417
+ .pure-select-tags-container {
418
+ display: flex;
419
+ align-items: center;
420
+ gap: 0.375rem;
421
+ flex-wrap: wrap;
422
+ width: 100%;
423
+ }
424
+
425
+ /* Pure Individual Tag */
426
+ .pure-select-tag {
427
+ display: inline-flex;
428
+ align-items: center;
429
+ gap: 0.375rem;
430
+ padding: 0.25rem 0.625rem;
431
+ background-color: #eff6ff;
432
+ color: #1e40af;
433
+ border: 1px solid #dbeafe;
330
434
  border-radius: 0.375rem;
331
- transition: all 0.2s ease-in-out;
435
+ font-size: 0.8125rem;
436
+ line-height: 1.125rem;
437
+ max-width: 12.5rem;
438
+ font-weight: 500;
439
+ transition-property: all;
440
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
441
+ transition-duration: 150ms;
442
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
443
+ }
444
+
445
+ .pure-select-tag:hover {
446
+ background-color: #dbeafe;
447
+ border-color: #bfdbfe;
448
+ box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
449
+ }
450
+
451
+ .pure-select-tag span {
452
+ white-space: nowrap;
453
+ overflow: hidden;
454
+ text-overflow: ellipsis;
455
+ }
456
+
457
+ /* Pure Tag Close Button */
458
+ .pure-select-tag-close {
459
+ cursor: pointer;
460
+ display: flex;
461
+ align-items: center;
462
+ justify-content: center;
463
+ width: 1rem;
464
+ height: 1rem;
465
+ flex-shrink: 0;
466
+ transition-property: all;
467
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
468
+ transition-duration: 150ms;
469
+ border-radius: 0.25rem;
470
+ color: #1e40af;
471
+ }
472
+
473
+ .pure-select-tag-close:hover {
474
+ background-color: rgba(30, 64, 175, 0.15);
475
+ color: #1e3a8a;
476
+ }
477
+
478
+ /* Pure Counter Badge (+N) */
479
+ .pure-select-counter {
480
+ display: inline-flex;
481
+ align-items: center;
482
+ padding: 0.25rem 0.625rem;
483
+ background-color: #f3f4f6;
484
+ color: #374151;
485
+ border: 1px solid #e5e7eb;
486
+ border-radius: 0.375rem;
487
+ font-size: 0.8125rem;
488
+ line-height: 1.125rem;
489
+ font-weight: 600;
490
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
491
+ }
492
+
493
+ /* Pure Icons Container */
494
+ .pure-select-icons {
495
+ display: flex;
496
+ align-items: center;
497
+ gap: 0.25rem;
498
+ flex-shrink: 0;
499
+ margin-left: 0.5rem;
500
+ }
501
+
502
+ /* Pure Clear Button */
503
+ .pure-select-clear {
504
+ display: flex;
505
+ align-items: center;
506
+ justify-content: center;
507
+ padding: 0.375rem;
508
+ cursor: pointer;
509
+ border-radius: 0.375rem;
510
+ transition-property: all;
511
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
512
+ transition-duration: 150ms;
513
+ color: #6b7280;
514
+ }
515
+
516
+ .pure-select-clear:hover {
517
+ background-color: #f3f4f6;
518
+ color: #374151;
519
+ }
520
+
521
+ /* Pure Arrow Icon */
522
+ .pure-select-arrow {
523
+ display: flex;
524
+ align-items: center;
525
+ padding: 0.25rem;
526
+ transition-property: transform;
527
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
528
+ transition-duration: 200ms;
529
+ color: #6b7280;
530
+ }
531
+
532
+ .pure-select-arrow.pure-select-arrow-open {
533
+ transform: rotate(180deg);
534
+ }
535
+
536
+ /* Pure Dropdown Container */
537
+ .pure-select-dropdown {
538
+ position: absolute;
539
+ top: calc(100% + 0.5rem);
540
+ left: 0;
541
+ right: 0;
542
+ min-width: 100%;
543
+ background-color: #ffffff;
544
+ border: 1px solid #e5e7eb;
545
+ border-radius: 0.5rem;
546
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
547
+ 0 4px 6px -2px rgba(0, 0, 0, 0.05),
548
+ 0 0 0 1px rgba(0, 0, 0, 0.05);
549
+ max-height: 20rem;
550
+ overflow: hidden;
551
+ display: flex;
552
+ flex-direction: column;
553
+ z-index: 50;
554
+ animation: pure-select-slide-down 0.15s ease-out;
555
+ }
556
+
557
+ @keyframes pure-select-slide-down {
558
+ from {
559
+ opacity: 0;
560
+ transform: translateY(-0.5rem) scale(0.95);
561
+ }
562
+ to {
563
+ opacity: 1;
564
+ transform: translateY(0) scale(1);
565
+ }
566
+ }
567
+
568
+ /* Pure Search Input Container */
569
+ .pure-select-search {
570
+ padding: 0.75rem;
571
+ border-bottom: 1px solid #f3f4f6;
572
+ background-color: #ffffff;
573
+ flex-shrink: 0;
574
+ }
575
+
576
+ .pure-select-search-wrapper {
577
+ position: relative;
578
+ display: flex;
579
+ align-items: center;
580
+ }
581
+
582
+ .pure-select-search input {
583
+ width: 100%;
584
+ padding: 0.625rem 0.875rem;
585
+ padding-left: 2.5rem;
586
+ border: 1px solid #e5e7eb;
587
+ border-radius: 0.5rem;
588
+ font-size: 0.875rem;
589
+ line-height: 1.25rem;
332
590
  outline: none;
591
+ transition-property: all;
592
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
593
+ transition-duration: 150ms;
594
+ font-family: inherit;
595
+ color: #111827;
596
+ background-color: #f9fafb;
597
+ box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.05);
598
+ }
599
+
600
+ .pure-select-search input:focus {
601
+ outline: 2px solid transparent;
602
+ outline-offset: 2px;
603
+ border-color: #3b82f6;
604
+ background-color: #ffffff;
605
+ box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1), inset 0 1px 2px 0 rgba(0, 0, 0, 0.05);
606
+ }
607
+
608
+ .pure-select-search input::placeholder {
609
+ color: #9ca3af;
610
+ }
611
+
612
+ .pure-select-search-icon {
613
+ position: absolute;
614
+ left: 0.75rem;
615
+ top: 50%;
616
+ transform: translateY(-50%);
617
+ color: #9ca3af;
618
+ pointer-events: none;
619
+ display: flex;
620
+ align-items: center;
621
+ }
622
+
623
+ /* Pure Options List Container */
624
+ .pure-select-options {
625
+ overflow-y: auto;
626
+ overflow-x: hidden;
627
+ flex: 1 1 0%;
628
+ padding: 0.25rem;
629
+ }
630
+
631
+ /* Pure Scrollbar Styling */
632
+ .pure-select-options::-webkit-scrollbar {
633
+ width: 0.5rem;
634
+ }
635
+
636
+ .pure-select-options::-webkit-scrollbar-track {
637
+ background-color: transparent;
638
+ border-radius: 0.25rem;
639
+ }
640
+
641
+ .pure-select-options::-webkit-scrollbar-thumb {
642
+ background-color: #e5e7eb;
643
+ border-radius: 0.25rem;
644
+ border: 2px solid transparent;
645
+ background-clip: padding-box;
646
+ }
647
+
648
+ .pure-select-options::-webkit-scrollbar-thumb:hover {
649
+ background-color: #d1d5db;
650
+ }
651
+
652
+ /* Pure Individual Option */
653
+ .pure-select-option {
654
+ display: flex;
655
+ align-items: center;
656
+ gap: 0.75rem;
657
+ padding: 0.625rem 0.875rem;
333
658
  cursor: pointer;
334
- appearance: none;
335
- background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
336
- background-position: right 0.5rem center;
337
- background-repeat: no-repeat;
338
- background-size: 1.5em 1.5em;
659
+ transition-property: all;
660
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
661
+ transition-duration: 150ms;
662
+ color: #374151;
663
+ border-radius: 0.375rem;
664
+ margin-bottom: 0.125rem;
665
+ font-size: 0.875rem;
666
+ line-height: 1.25rem;
339
667
  }
340
668
 
341
- .pure-select:focus {
342
- border-color: #007bff;
343
- box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25);
669
+ .pure-select-option:last-child {
670
+ margin-bottom: 0;
344
671
  }
345
672
 
346
- .pure-select:disabled {
347
- background-color: #e9ecef;
673
+ .pure-select-option:hover:not(.pure-select-option-disabled) {
674
+ background-color: #f9fafb;
675
+ }
676
+
677
+ .pure-select-option:active:not(.pure-select-option-disabled) {
678
+ background-color: #f3f4f6;
679
+ }
680
+
681
+ .pure-select-option.pure-select-option-selected {
682
+ background-color: #eff6ff;
683
+ color: #1e40af;
684
+ font-weight: 500;
685
+ }
686
+
687
+ .pure-select-option.pure-select-option-selected:hover {
688
+ background-color: #dbeafe;
689
+ }
690
+
691
+ .pure-select-option.pure-select-option-disabled {
692
+ opacity: 0.5;
348
693
  cursor: not-allowed;
349
- opacity: 0.65;
350
694
  }
351
695
 
352
- .pure-select--small {
353
- padding: 0.375rem 2rem 0.375rem 0.75rem;
696
+ .pure-select-option-icon {
697
+ display: flex;
698
+ align-items: center;
699
+ flex-shrink: 0;
700
+ }
701
+
702
+ /* Pure Custom Checkbox */
703
+ .pure-custom-checkbox {
704
+ width: 1.125rem;
705
+ height: 1.125rem;
706
+ border: 2px solid #d1d5db;
707
+ border-radius: 0.25rem;
708
+ display: flex;
709
+ align-items: center;
710
+ justify-content: center;
711
+ flex-shrink: 0;
712
+ background-color: #ffffff;
713
+ transition-property: all;
714
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
715
+ transition-duration: 150ms;
716
+ position: relative;
717
+ box-shadow: inset 0 1px 2px 0 rgba(0, 0, 0, 0.05);
718
+ }
719
+
720
+ .pure-custom-checkbox.pure-checkbox-checked {
721
+ background-color: #3b82f6;
722
+ border-color: #3b82f6;
723
+ color: #ffffff;
724
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
725
+ }
726
+
727
+ .pure-select-option:hover .pure-custom-checkbox:not(.pure-checkbox-checked) {
728
+ border-color: #9ca3af;
729
+ }
730
+
731
+ /* Pure Checkbox Checkmark using SVG */
732
+ .pure-custom-checkbox svg {
733
+ width: 0.875rem;
734
+ height: 0.875rem;
735
+ }
736
+
737
+ /* Pure Option Text */
738
+ .pure-select-option-text {
739
+ flex: 1 1 0%;
740
+ overflow: hidden;
741
+ text-overflow: ellipsis;
742
+ white-space: nowrap;
743
+ }
744
+
745
+ /* Pure Check Icon (for single select) */
746
+ .pure-select-check-icon {
747
+ flex-shrink: 0;
748
+ color: #3b82f6;
749
+ }
750
+
751
+ /* Pure Empty State */
752
+ .pure-select-empty {
753
+ padding: 3rem 1.5rem;
754
+ text-align: center;
755
+ color: #9ca3af;
354
756
  font-size: 0.875rem;
355
- background-size: 1.25em 1.25em;
757
+ line-height: 1.25rem;
356
758
  }
357
759
 
358
- .pure-select--large {
359
- padding: 0.875rem 3rem 0.875rem 1.25rem;
360
- font-size: 1.125rem;
361
- background-size: 1.75em 1.75em;
760
+ .pure-select-empty-icon {
761
+ width: 3rem;
762
+ height: 3rem;
763
+ margin: 0 auto 0.75rem;
764
+ color: #d1d5db;
362
765
  }
363
766
 
364
- .pure-select--error {
365
- border-color: #dc3545;
767
+ /* Pure Icon Sizes */
768
+ .pure-icon {
769
+ width: 1.125rem;
770
+ height: 1.125rem;
771
+ flex-shrink: 0;
366
772
  }
367
773
 
368
- .pure-select--error:focus {
369
- border-color: #dc3545;
370
- box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.25);
774
+ .pure-icon-sm {
775
+ width: 0.875rem;
776
+ height: 0.875rem;
777
+ flex-shrink: 0;
778
+ }
779
+
780
+ .pure-icon-md {
781
+ width: 1rem;
782
+ height: 1rem;
783
+ flex-shrink: 0;
784
+ }
785
+
786
+ /* Pure Label */
787
+ .pure-select-label {
788
+ display: block;
789
+ font-size: 0.875rem;
790
+ line-height: 1.25rem;
791
+ font-weight: 500;
792
+ color: #374151;
793
+ margin-bottom: 0.5rem;
794
+ }
795
+
796
+ .pure-select-label-required::after {
797
+ content: '*';
798
+ color: #ef4444;
799
+ margin-left: 0.25rem;
800
+ }
801
+
802
+ /* Pure Helper Text */
803
+ .pure-select-helper {
804
+ margin-top: 0.5rem;
805
+ font-size: 0.8125rem;
806
+ line-height: 1.125rem;
807
+ color: #6b7280;
808
+ }
809
+
810
+ /* Pure Error Text */
811
+ .pure-select-error-text {
812
+ margin-top: 0.5rem;
813
+ font-size: 0.8125rem;
814
+ line-height: 1.125rem;
815
+ color: #ef4444;
816
+ display: flex;
817
+ align-items: center;
818
+ gap: 0.375rem;
819
+ }
820
+
821
+ .pure-select-error-icon {
822
+ width: 1rem;
823
+ height: 1rem;
824
+ flex-shrink: 0;
371
825
  }
372
826
 
373
827
  .pure-select-error {
@@ -380,21 +834,152 @@
380
834
  color: #6c757d;
381
835
  }
382
836
 
383
- /* React Select Wrapper */
384
- .pure-select-react-select {
837
+ /* Pure Error State */
838
+ .pure-select-trigger.pure-select-error {
839
+ border-color: #ef4444;
840
+ }
841
+
842
+ .pure-select-trigger.pure-select-error:focus {
843
+ border-color: #ef4444;
844
+ box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.05);
845
+ }
846
+
847
+ /* Loading State */
848
+ .pure-select-loading {
849
+ display: flex;
850
+ align-items: center;
851
+ justify-content: center;
852
+ padding: 2rem;
853
+ color: #9ca3af;
854
+ }
855
+
856
+ .pure-select-spinner {
857
+ width: 1.5rem;
858
+ height: 1.5rem;
859
+ border: 2px solid #e5e7eb;
860
+ border-top-color: #3b82f6;
861
+ border-radius: 50%;
862
+ animation: pure-select-spin 0.6s linear infinite;
863
+ }
864
+
865
+ .pure-select-spinner-sm {
866
+ width: 1rem;
867
+ height: 1rem;
868
+ border: 2px solid #e5e7eb;
869
+ border-top-color: #3b82f6;
870
+ border-radius: 50%;
871
+ animation: pure-select-spin 0.6s linear infinite;
872
+ }
873
+
874
+ @keyframes pure-select-spin {
875
+ to {
876
+ transform: rotate(360deg);
877
+ }
878
+ }
879
+
880
+ /* Load More Styles */
881
+ .pure-select-load-more-trigger {
882
+ padding: 0.5rem 0.25rem;
883
+ margin-top: 0.25rem;
884
+ }
885
+
886
+ .pure-select-load-more-button {
385
887
  width: 100%;
888
+ display: flex;
889
+ align-items: center;
890
+ justify-content: center;
891
+ gap: 0.5rem;
892
+ padding: 0.625rem 1rem;
893
+ background-color: #f9fafb;
894
+ border: 1px solid #e5e7eb;
895
+ border-radius: 0.375rem;
896
+ color: #374151;
897
+ font-size: 0.875rem;
898
+ line-height: 1.25rem;
899
+ font-weight: 500;
900
+ cursor: pointer;
901
+ transition-property: all;
902
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
903
+ transition-duration: 150ms;
904
+ font-family: inherit;
905
+ }
906
+
907
+ .pure-select-load-more-button:hover {
908
+ background-color: #f3f4f6;
909
+ border-color: #d1d5db;
910
+ color: #1f2937;
911
+ }
912
+
913
+ .pure-select-load-more-button:active {
914
+ background-color: #e5e7eb;
915
+ }
916
+
917
+ .pure-select-load-more-button svg {
918
+ transition: transform 0.2s ease;
386
919
  }
387
920
 
388
- .pure-select-react-select--full-width {
921
+ .pure-select-load-more-button:hover svg {
922
+ transform: translateY(2px);
923
+ }
924
+
925
+ .pure-select-load-more-loading {
926
+ display: flex;
927
+ align-items: center;
928
+ justify-content: center;
929
+ gap: 0.5rem;
930
+ padding: 0.625rem 1rem;
931
+ color: #6b7280;
932
+ font-size: 0.875rem;
933
+ line-height: 1.25rem;
934
+ }
935
+
936
+ /* Pure Utility Classes */
937
+ .pure-w-full {
389
938
  width: 100%;
390
939
  }
391
940
 
392
- .pure-select-react-select--error {
393
- /* Error styling handled in customStyles */
941
+ /* Responsive Design */
942
+ @media (max-width: 768px) {
943
+ .pure-select-trigger {
944
+ padding: 0.625rem 0.875rem;
945
+ min-height: 2.75rem;
946
+ }
947
+
948
+ .pure-select-trigger.pure-select-small {
949
+ padding: 0.5rem 0.75rem;
950
+ min-height: 2.25rem;
951
+ }
952
+
953
+ .pure-select-trigger.pure-select-large {
954
+ padding: 0.75rem 1rem;
955
+ min-height: 3.25rem;
956
+ }
957
+
958
+ .pure-select-dropdown {
959
+ max-height: 16rem;
960
+ }
961
+
962
+ .pure-select-tag {
963
+ font-size: 0.75rem;
964
+ padding: 0.1875rem 0.5rem;
965
+ }
966
+
967
+ .pure-select-search input {
968
+ padding: 0.5rem 0.75rem;
969
+ padding-left: 2.25rem;
970
+ }
971
+ }
972
+
973
+ /* Pure Focus Visible (Accessibility) */
974
+ .pure-select-trigger:focus-visible {
975
+ outline: 2px solid #3b82f6;
976
+ outline-offset: 2px;
394
977
  }
395
978
 
396
- .pure-select-react-select--disabled {
397
- /* Disabled styling handled in customStyles */
979
+ .pure-select-option:focus-visible {
980
+ outline: 2px solid #3b82f6;
981
+ outline-offset: -2px;
982
+ background-color: #f9fafb;
398
983
  }
399
984
 
400
985
  /* Checkbox */
@@ -60,8 +60,8 @@ export const FormItem = ({ name, label, rules = [], initialValue, className = ''
60
60
  setError(errorMsg);
61
61
  };
62
62
  const getValueFromEvent = (e) => {
63
- // Handle Select (react-select) - it passes value directly (string, number, or array)
64
- if (e !== null && e !== undefined && !e.target && (typeof e === 'string' || typeof e === 'number' || Array.isArray(e))) {
63
+ // Handle Select - it passes SelectOption object(s) directly
64
+ if (e !== null && e !== undefined && !e.target && (typeof e === 'object' && (e.value !== undefined || Array.isArray(e)))) {
65
65
  return e;
66
66
  }
67
67
  if (e?.target) {
@@ -85,7 +85,7 @@ export const FormItem = ({ name, label, rules = [], initialValue, className = ''
85
85
  label: label || children.props.label,
86
86
  ...children.props
87
87
  };
88
- // Check if it's Select (now using react-select, handles value directly)
88
+ // Check if it's Select (custom implementation, handles SelectOption objects)
89
89
  const isSelect = children.type?.displayName === 'Select' || children.type?.name === 'Select';
90
90
  if (isRadio) {
91
91
  // For radio, checked is based on whether form value matches radio value
@@ -98,8 +98,8 @@ export const FormItem = ({ name, label, rules = [], initialValue, className = ''
98
98
  childProps.checked = valueRef.current === true;
99
99
  }
100
100
  else if (isSelect) {
101
- // For Select (react-select), pass value directly (string, number, or array)
102
- childProps.value = valueRef.current !== undefined ? valueRef.current : (children.props.value ?? (children.props.multiple || children.props.isMulti ? [] : ''));
101
+ // For Select, pass value directly (SelectOption or SelectOption[])
102
+ childProps.value = valueRef.current !== undefined ? valueRef.current : (children.props.value ?? (children.props.multiple ? [] : null));
103
103
  }
104
104
  else {
105
105
  // For other inputs, use value
@@ -108,7 +108,7 @@ export const FormItem = ({ name, label, rules = [], initialValue, className = ''
108
108
  childProps.onChange = (e) => {
109
109
  const newValue = getValueFromEvent(e);
110
110
  handleChange(newValue);
111
- // For Select (react-select), onChange receives value directly, not event
111
+ // For Select, onChange receives value directly (SelectOption object), not event
112
112
  if (isSelect) {
113
113
  children.props.onChange?.(newValue);
114
114
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FormItem.js","sourceRoot":"","sources":["../../../src/components/Form/FormItem.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormItem.js","sourceRoot":"","sources":["../../../src/components/Form/FormItem.tsx"],"names":[],"mappings":"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"}
@@ -7,27 +7,33 @@ export interface SelectOption {
7
7
  icon?: React.ReactNode;
8
8
  }
9
9
  export interface SelectProps {
10
- label?: string;
11
- error?: string;
12
- helpText?: string;
13
- options: SelectOption[];
10
+ options?: SelectOption[];
14
11
  placeholder?: string;
15
- searchable?: boolean;
16
- isSearchable?: boolean;
12
+ value?: SelectOption | SelectOption[] | null;
13
+ defaultValue?: SelectOption | SelectOption[] | null;
14
+ onChange?: (value: SelectOption | SelectOption[] | null) => void;
17
15
  multiple?: boolean;
18
- isMulti?: boolean;
19
- value?: string | number | (string | number)[];
20
- defaultValue?: string | number | (string | number)[];
16
+ searchable?: boolean;
21
17
  disabled?: boolean;
22
- fullWidth?: boolean;
23
- size?: 'small' | 'medium' | 'large';
24
- allowClear?: boolean;
25
- isClearable?: boolean;
18
+ clearable?: boolean;
26
19
  className?: string;
27
- onChange?: (value: string | number | (string | number)[]) => void;
28
- onSearch?: (searchText: string) => void;
20
+ size?: 'small' | 'medium' | 'large';
21
+ maxTagCount?: number;
22
+ maxTagTextLength?: number;
23
+ label?: string;
24
+ error?: string;
25
+ helperText?: string;
26
+ helpText?: string;
27
+ required?: boolean;
28
+ loading?: boolean;
29
+ hasMore?: boolean;
30
+ onLoadMore?: () => void;
31
+ loadingMore?: boolean;
32
+ pageSize?: number;
33
+ fullWidth?: boolean;
29
34
  name?: string;
30
35
  id?: string;
36
+ onSearch?: (searchText: string) => void;
31
37
  }
32
- export declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<any>>;
38
+ export declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLDivElement>>;
33
39
  //# sourceMappingURL=Select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Form/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAE1C,OAAO,YAAY,CAAC;AAEpB,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC9C,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAClE,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,eAAO,MAAM,MAAM,yEAkNjB,CAAC"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Form/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+D,MAAM,OAAO,CAAC;AACpF,OAAO,YAAY,CAAC;AAEpB,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC;IAC7C,YAAY,CAAC,EAAE,YAAY,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC;IACpD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAUD,eAAO,MAAM,MAAM,oFA8cjB,CAAC"}
@@ -1,152 +1,287 @@
1
- import React, { forwardRef } from 'react';
2
- import SelectComponent from 'react-select';
1
+ import React, { useState, useRef, useEffect, useCallback, forwardRef } from 'react';
3
2
  import './Form.css';
4
- export const Select = forwardRef(({ label, error, helpText, options, placeholder = 'Select...', searchable = false, isSearchable, multiple = false, isMulti, value: controlledValue, defaultValue, disabled = false, fullWidth = false, size = 'medium', allowClear = false, isClearable, className = '', onChange, onSearch, name, id }, ref) => {
5
- const selectId = id || `select-${Math.random().toString(36).substr(2, 9)}`;
6
- // Support both prop names for compatibility
7
- const isMultiSelect = isMulti !== undefined ? isMulti : multiple;
8
- const isSearchEnabled = isSearchable !== undefined ? isSearchable : searchable;
9
- const isClearEnabled = isClearable !== undefined ? isClearable : allowClear;
10
- // Convert options to react-select format
11
- const reactSelectOptions = options.map(option => ({
12
- value: option.value,
13
- label: option.label,
14
- isDisabled: option.disabled,
15
- icon: option.icon
16
- }));
17
- // Convert value to react-select format
18
- const getReactSelectValue = () => {
19
- if (controlledValue === undefined && defaultValue === undefined) {
20
- return isMultiSelect ? [] : null;
21
- }
22
- const currentValue = controlledValue !== undefined ? controlledValue : defaultValue;
23
- if (isMultiSelect) {
24
- const values = Array.isArray(currentValue) ? currentValue : [];
25
- return reactSelectOptions.filter(opt => values.includes(opt.value));
3
+ export const Select = forwardRef(({ options = [], placeholder = "Select an option", value, defaultValue, onChange, multiple = false, searchable = false, disabled = false, clearable = false, className = "", size = "medium", maxTagCount = 2, maxTagTextLength = 20, label = "", error = "", helperText = "", helpText, required = false, loading = false, hasMore = false, onLoadMore = null, loadingMore = false, pageSize = 20, fullWidth = false, name, id }, ref) => {
4
+ const [isOpen, setIsOpen] = useState(false);
5
+ const [searchText, setSearchText] = useState("");
6
+ const [selectedValue, setSelectedValue] = useState(value !== undefined ? value : (defaultValue || (multiple ? [] : null)));
7
+ const [containerWidth, setContainerWidth] = useState(0);
8
+ const [dropdownStyle, setDropdownStyle] = useState({});
9
+ const [displayedOptions, setDisplayedOptions] = useState([]);
10
+ const [currentPage, setCurrentPage] = useState(1);
11
+ const selectRef = useRef(null);
12
+ const searchInputRef = useRef(null);
13
+ const containerRef = useRef(null);
14
+ const dropdownRef = useRef(null);
15
+ const optionsScrollRef = useRef(null);
16
+ const loadMoreObserverRef = useRef(null);
17
+ // Initialize displayed options with pagination
18
+ useEffect(() => {
19
+ if (!hasMore) {
20
+ setDisplayedOptions(options);
26
21
  }
27
22
  else {
28
- const selectedOption = reactSelectOptions.find(opt => opt.value === currentValue);
29
- return selectedOption || null;
23
+ setDisplayedOptions(options.slice(0, pageSize));
24
+ setCurrentPage(1);
25
+ }
26
+ }, [options, hasMore, pageSize]);
27
+ // Calculate dropdown position to handle overflow
28
+ useEffect(() => {
29
+ if (isOpen && containerRef.current && dropdownRef.current) {
30
+ const containerRect = containerRef.current.getBoundingClientRect();
31
+ const dropdownHeight = dropdownRef.current.offsetHeight;
32
+ const viewportHeight = window.innerHeight;
33
+ const spaceBelow = viewportHeight - containerRect.bottom;
34
+ const spaceAbove = containerRect.top;
35
+ const shouldOpenUpward = spaceBelow < dropdownHeight && spaceAbove > spaceBelow;
36
+ setDropdownStyle({
37
+ width: `${containerRect.width}px`,
38
+ ...(shouldOpenUpward ? {
39
+ bottom: '100%',
40
+ top: 'auto',
41
+ marginBottom: '0.5rem',
42
+ marginTop: '0'
43
+ } : {})
44
+ });
45
+ }
46
+ }, [isOpen]);
47
+ // Measure container width for responsive tag display
48
+ useEffect(() => {
49
+ if (containerRef.current) {
50
+ const updateWidth = () => {
51
+ setContainerWidth(containerRef.current?.offsetWidth || 0);
52
+ };
53
+ updateWidth();
54
+ const resizeObserver = new ResizeObserver(updateWidth);
55
+ resizeObserver.observe(containerRef.current);
56
+ window.addEventListener('resize', updateWidth);
57
+ return () => {
58
+ resizeObserver.disconnect();
59
+ window.removeEventListener('resize', updateWidth);
60
+ };
61
+ }
62
+ }, []);
63
+ // Handle click outside to close dropdown
64
+ useEffect(() => {
65
+ const handleClickOutside = (event) => {
66
+ if (selectRef.current && !selectRef.current.contains(event.target)) {
67
+ setIsOpen(false);
68
+ setSearchText("");
69
+ }
70
+ };
71
+ if (isOpen) {
72
+ document.addEventListener("mousedown", handleClickOutside);
73
+ }
74
+ return () => {
75
+ document.removeEventListener("mousedown", handleClickOutside);
76
+ };
77
+ }, [isOpen]);
78
+ // Focus search input when dropdown opens
79
+ useEffect(() => {
80
+ if (isOpen && searchable && searchInputRef.current) {
81
+ setTimeout(() => {
82
+ searchInputRef.current?.focus();
83
+ }, 100);
84
+ }
85
+ }, [isOpen, searchable]);
86
+ // Update internal state when external value changes
87
+ useEffect(() => {
88
+ if (value !== undefined) {
89
+ setSelectedValue(value);
90
+ }
91
+ }, [value]);
92
+ // Handle load more with intersection observer
93
+ const loadMoreTriggerRef = useCallback((node) => {
94
+ if (loadingMore)
95
+ return;
96
+ if (loadMoreObserverRef.current) {
97
+ loadMoreObserverRef.current.disconnect();
98
+ }
99
+ loadMoreObserverRef.current = new IntersectionObserver(entries => {
100
+ if (entries[0].isIntersecting && hasMore && !loadingMore) {
101
+ handleLoadMore();
102
+ }
103
+ });
104
+ if (node) {
105
+ loadMoreObserverRef.current.observe(node);
106
+ }
107
+ }, [loadingMore, hasMore]);
108
+ // Load more options
109
+ const handleLoadMore = () => {
110
+ if (hasMore && !loadingMore) {
111
+ if (onLoadMore) {
112
+ // Call external load more function
113
+ onLoadMore();
114
+ }
115
+ else {
116
+ // Internal pagination
117
+ const nextPage = currentPage + 1;
118
+ const startIndex = 0;
119
+ const endIndex = nextPage * pageSize;
120
+ setDisplayedOptions(options.slice(startIndex, endIndex));
121
+ setCurrentPage(nextPage);
122
+ }
30
123
  }
31
124
  };
32
- const handleChange = (selectedOption) => {
33
- if (!onChange)
125
+ // Filter options based on search term
126
+ const filteredOptions = searchText
127
+ ? displayedOptions.filter(option => option.label.toLowerCase().includes(searchText.toLowerCase()))
128
+ : displayedOptions;
129
+ // Check if there are more options to load
130
+ const canLoadMore = hasMore || (displayedOptions.length < options.length);
131
+ // Handle option selection
132
+ const handleSelect = (option) => {
133
+ if (disabled || option.disabled)
34
134
  return;
35
- if (isMultiSelect) {
36
- const values = selectedOption ? selectedOption.map((opt) => opt.value) : [];
37
- onChange(values);
135
+ let newValue;
136
+ if (multiple) {
137
+ const currentArray = Array.isArray(selectedValue) ? selectedValue : [];
138
+ if (currentArray.some(item => item.value === option.value)) {
139
+ newValue = currentArray.filter(item => item.value !== option.value);
140
+ }
141
+ else {
142
+ newValue = [...currentArray, option];
143
+ }
144
+ setSelectedValue(newValue);
145
+ onChange?.(newValue);
146
+ setSearchText("");
38
147
  }
39
148
  else {
40
- const value = selectedOption ? selectedOption.value : (isClearEnabled ? '' : undefined);
41
- onChange(value);
149
+ newValue = option;
150
+ setSelectedValue(option);
151
+ onChange?.(option);
152
+ setIsOpen(false);
153
+ setSearchText("");
42
154
  }
43
155
  };
44
- const handleInputChange = (inputValue) => {
45
- onSearch?.(inputValue);
156
+ // Handle clear
157
+ const handleClear = (e) => {
158
+ e.stopPropagation();
159
+ const newValue = multiple ? [] : null;
160
+ setSelectedValue(newValue);
161
+ onChange?.(newValue);
46
162
  };
47
- // Custom styles for react-select
48
- const customStyles = {
49
- control: (base, state) => ({
50
- ...base,
51
- minHeight: size === 'small' ? '32px' : size === 'large' ? '48px' : '40px',
52
- fontSize: size === 'small' ? '0.875rem' : size === 'large' ? '1.125rem' : '1rem',
53
- padding: size === 'small' ? '0 0.5rem' : size === 'large' ? '0 1rem' : '0 0.75rem',
54
- borderColor: error ? '#dc3545' : state.isFocused ? '#007bff' : '#ced4da',
55
- boxShadow: error
56
- ? (state.isFocused ? '0 0 0 3px rgba(220, 53, 69, 0.25)' : 'none')
57
- : (state.isFocused ? '0 0 0 3px rgba(0, 123, 255, 0.25)' : 'none'),
58
- '&:hover': {
59
- borderColor: error ? '#dc3545' : '#007bff',
60
- },
61
- backgroundColor: disabled ? '#e9ecef' : '#ffffff',
62
- cursor: disabled ? 'not-allowed' : 'pointer',
63
- opacity: disabled ? 0.65 : 1,
64
- }),
65
- placeholder: (base) => ({
66
- ...base,
67
- color: '#6c757d',
68
- }),
69
- singleValue: (base) => ({
70
- ...base,
71
- color: '#212529',
72
- }),
73
- multiValue: (base) => ({
74
- ...base,
75
- backgroundColor: '#e7f3ff',
76
- }),
77
- multiValueLabel: (base) => ({
78
- ...base,
79
- color: '#212529',
80
- }),
81
- multiValueRemove: (base) => ({
82
- ...base,
83
- color: '#212529',
84
- '&:hover': {
85
- backgroundColor: '#b3d9ff',
86
- color: '#212529',
87
- },
88
- }),
89
- menu: (base) => ({
90
- ...base,
91
- zIndex: 9999,
92
- borderRadius: '0.375rem',
93
- boxShadow: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)',
94
- }),
95
- option: (base, state) => ({
96
- ...base,
97
- backgroundColor: state.isSelected
98
- ? '#007bff'
99
- : state.isFocused
100
- ? '#e7f3ff'
101
- : '#ffffff',
102
- color: state.isSelected ? '#ffffff' : '#212529',
103
- cursor: state.isDisabled ? 'not-allowed' : 'pointer',
104
- '&:active': {
105
- backgroundColor: state.isSelected ? '#007bff' : '#b3d9ff',
106
- },
107
- }),
108
- indicatorsContainer: (base) => ({
109
- ...base,
110
- paddingRight: '0.5rem',
111
- }),
112
- clearIndicator: (base) => ({
113
- ...base,
114
- color: '#6c757d',
115
- '&:hover': {
116
- color: '#212529',
117
- },
118
- }),
119
- dropdownIndicator: (base) => ({
120
- ...base,
121
- color: '#6c757d',
122
- '&:hover': {
123
- color: '#212529',
124
- },
125
- }),
163
+ // Handle remove tag in multi-select
164
+ const handleRemoveTag = (e, optionToRemove) => {
165
+ e.stopPropagation();
166
+ if (multiple && Array.isArray(selectedValue)) {
167
+ const newValue = selectedValue.filter(item => item.value !== optionToRemove.value);
168
+ setSelectedValue(newValue);
169
+ onChange?.(newValue);
170
+ }
126
171
  };
127
- const baseClass = 'pure-select-react-select';
128
- const sizeClass = `pure-select-react-select--${size}`;
129
- const errorClass = error ? 'pure-select-react-select--error' : '';
130
- const fullWidthClass = fullWidth ? 'pure-select-react-select--full-width' : '';
131
- const disabledClass = disabled ? 'pure-select-react-select--disabled' : '';
132
- const combinedClassName = [
133
- baseClass,
134
- sizeClass,
135
- errorClass,
136
- fullWidthClass,
137
- disabledClass,
172
+ // Check if option is selected
173
+ const isSelected = (option) => {
174
+ if (multiple && Array.isArray(selectedValue)) {
175
+ return selectedValue.some(item => item.value === option.value);
176
+ }
177
+ return selectedValue?.value === option.value;
178
+ };
179
+ // Get display text
180
+ const getDisplayText = () => {
181
+ if (multiple && Array.isArray(selectedValue) && selectedValue.length > 0) {
182
+ return '';
183
+ }
184
+ return selectedValue?.label || placeholder;
185
+ };
186
+ // Calculate visible tags and remaining count
187
+ const getVisibleTags = () => {
188
+ if (!multiple || !Array.isArray(selectedValue) || selectedValue.length === 0) {
189
+ return { visible: [], remaining: 0 };
190
+ }
191
+ let visibleCount = maxTagCount;
192
+ if (containerWidth < 400) {
193
+ visibleCount = 1;
194
+ }
195
+ else if (containerWidth < 600) {
196
+ visibleCount = Math.min(2, maxTagCount);
197
+ }
198
+ const visible = selectedValue.slice(0, visibleCount);
199
+ const remaining = selectedValue.length - visibleCount;
200
+ return { visible, remaining };
201
+ };
202
+ const { visible: visibleTags, remaining: remainingCount } = getVisibleTags();
203
+ const hasValue = multiple
204
+ ? Array.isArray(selectedValue) && selectedValue.length > 0
205
+ : selectedValue !== null && selectedValue !== undefined;
206
+ const truncateText = (text) => {
207
+ if (text.length <= maxTagTextLength)
208
+ return text;
209
+ return text.substring(0, maxTagTextLength) + '...';
210
+ };
211
+ const selectId = id || `select-${Math.random().toString(36).substr(2, 9)}`;
212
+ const displayHelperText = helpText || helperText;
213
+ const triggerClasses = [
214
+ 'pure-select-trigger',
215
+ `pure-select-${size}`,
216
+ isOpen && 'pure-select-open',
217
+ disabled && 'pure-select-disabled',
218
+ error && 'pure-select-error',
219
+ fullWidth && 'pure-select-full-width',
138
220
  className
139
221
  ].filter(Boolean).join(' ');
140
- // Custom option component to support icons
141
- const formatOptionLabel = ({ label: optionLabel, icon }) => (React.createElement("div", { style: { display: 'flex', alignItems: 'center', gap: '0.5rem' } },
142
- icon && React.createElement("span", null, icon),
143
- React.createElement("span", null, optionLabel)));
144
- return (React.createElement("div", { className: `pure-select-wrapper ${fullWidth ? 'pure-select-wrapper--full-width' : ''}` },
145
- label && (React.createElement("label", { htmlFor: selectId, className: "pure-select-label" }, label)),
146
- React.createElement("div", { className: combinedClassName },
147
- React.createElement(SelectComponent, { ref: ref, inputId: selectId, name: name, options: reactSelectOptions, value: getReactSelectValue(), onChange: handleChange, onInputChange: isSearchEnabled ? handleInputChange : undefined, placeholder: placeholder, isMulti: isMultiSelect, isSearchable: isSearchEnabled, isDisabled: disabled, isClearable: isClearEnabled, styles: customStyles, formatOptionLabel: formatOptionLabel, classNamePrefix: "pure-react-select" })),
148
- error && (React.createElement("span", { className: "pure-select-error" }, error)),
149
- helpText && !error && (React.createElement("span", { className: "pure-select-help" }, helpText))));
222
+ return (React.createElement("div", { ref: ref, className: `pure-custom-select ${fullWidth ? 'pure-select-wrapper--full-width' : ''}` },
223
+ label && (React.createElement("label", { htmlFor: selectId, className: `pure-select-label ${required ? 'pure-select-label-required' : ''}` }, label)),
224
+ React.createElement("div", { ref: selectRef, className: "pure-w-full" },
225
+ React.createElement("div", { ref: containerRef, onClick: () => !disabled && setIsOpen(!isOpen), className: triggerClasses },
226
+ React.createElement("div", { className: "pure-select-value" }, multiple && Array.isArray(selectedValue) && selectedValue.length > 0 ? (React.createElement("div", { className: "pure-select-tags-container" },
227
+ visibleTags.map(option => (React.createElement("div", { key: option.value, className: "pure-select-tag", onClick: (e) => e.stopPropagation() },
228
+ React.createElement("span", null, truncateText(option.label)),
229
+ React.createElement("div", { className: "pure-select-tag-close", onClick: (e) => handleRemoveTag(e, option) },
230
+ React.createElement("svg", { className: "pure-icon-sm", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" },
231
+ React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M6 18L18 6M6 6l12 12" })))))),
232
+ remainingCount > 0 && (React.createElement("div", { className: "pure-select-counter" },
233
+ "+",
234
+ remainingCount)))) : (React.createElement("span", { className: hasValue ? '' : 'pure-select-placeholder' }, getDisplayText()))),
235
+ React.createElement("div", { className: "pure-select-icons" },
236
+ clearable && hasValue && !disabled && (React.createElement("div", { className: "pure-select-clear", onClick: handleClear },
237
+ React.createElement("svg", { className: "pure-icon-sm", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" },
238
+ React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M6 18L18 6M6 6l12 12" })))),
239
+ React.createElement("div", { className: `pure-select-arrow ${isOpen ? 'pure-select-arrow-open' : ''}` },
240
+ React.createElement("svg", { className: "pure-icon", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" },
241
+ React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M19 9l-7 7-7-7" }))))),
242
+ isOpen && !disabled && (React.createElement("div", { ref: dropdownRef, className: "pure-select-dropdown", style: dropdownStyle },
243
+ searchable && (React.createElement("div", { className: "pure-select-search" },
244
+ React.createElement("div", { className: "pure-select-search-wrapper" },
245
+ React.createElement("div", { className: "pure-select-search-icon" },
246
+ React.createElement("svg", { className: "pure-icon-md", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" },
247
+ React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" }))),
248
+ React.createElement("input", { ref: searchInputRef, type: "text", value: searchText, onChange: (e) => {
249
+ setSearchText(e.target.value);
250
+ }, placeholder: "Search options...", onClick: (e) => e.stopPropagation() })))),
251
+ React.createElement("div", { ref: optionsScrollRef, className: "pure-select-options" }, loading ? (React.createElement("div", { className: "pure-select-loading" },
252
+ React.createElement("div", { className: "pure-select-spinner" }))) : filteredOptions.length === 0 ? (React.createElement("div", { className: "pure-select-empty" },
253
+ React.createElement("svg", { className: "pure-select-empty-icon", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" },
254
+ React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M9.172 16.172a4 4 0 015.656 0M9 10h.01M15 10h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" })),
255
+ React.createElement("div", null, "No options found"))) : (React.createElement(React.Fragment, null,
256
+ filteredOptions.map((option) => {
257
+ const selected = isSelected(option);
258
+ const optionClasses = [
259
+ 'pure-select-option',
260
+ selected && 'pure-select-option-selected',
261
+ option.disabled && 'pure-select-option-disabled'
262
+ ].filter(Boolean).join(' ');
263
+ return (React.createElement("div", { key: option.value, onClick: () => handleSelect(option), className: optionClasses },
264
+ multiple && (React.createElement("div", { className: `pure-custom-checkbox ${selected ? 'pure-checkbox-checked' : ''}` }, selected && (React.createElement("svg", { className: "pure-icon-sm", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" },
265
+ React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "3", d: "M5 13l4 4L19 7" }))))),
266
+ option.icon && (React.createElement("span", { className: "pure-select-option-icon" }, option.icon)),
267
+ React.createElement("span", { className: "pure-select-option-text" }, option.label),
268
+ !multiple && selected && (React.createElement("svg", { className: "pure-icon pure-select-check-icon", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" },
269
+ React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "3", d: "M5 13l4 4L19 7" })))));
270
+ }),
271
+ canLoadMore && !searchText && (React.createElement("div", { ref: loadMoreTriggerRef, className: "pure-select-load-more-trigger" }, loadingMore ? (React.createElement("div", { className: "pure-select-load-more-loading" },
272
+ React.createElement("div", { className: "pure-select-spinner-sm" }),
273
+ React.createElement("span", null, "Loading more..."))) : (React.createElement("button", { className: "pure-select-load-more-button", onClick: (e) => {
274
+ e.stopPropagation();
275
+ handleLoadMore();
276
+ } },
277
+ React.createElement("svg", { className: "pure-icon-sm", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" },
278
+ React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M19 9l-7 7-7-7" })),
279
+ "Load More")))))))))),
280
+ error && (React.createElement("div", { className: "pure-select-error-text" },
281
+ React.createElement("svg", { className: "pure-select-error-icon", fill: "currentColor", viewBox: "0 0 20 20" },
282
+ React.createElement("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z", clipRule: "evenodd" })),
283
+ error)),
284
+ displayHelperText && !error && (React.createElement("div", { className: "pure-select-helper" }, displayHelperText))));
150
285
  });
151
286
  Select.displayName = 'Select';
152
287
  //# sourceMappingURL=Select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/Form/Select.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../../src/components/Form/Select.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pure-react-ui",
3
- "version": "1.5.6",
3
+ "version": "1.5.7",
4
4
  "description": "A pure React UI component library with Button, Card, Modal, Icon, Space, Flex, Text, and Form components",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -30,15 +30,12 @@
30
30
  "license": "MIT",
31
31
  "peerDependencies": {
32
32
  "react": ">=16.8.0",
33
- "react-dom": ">=16.8.0",
34
- "react-select": ">=5.0.0"
33
+ "react-dom": ">=16.8.0"
35
34
  },
36
35
  "devDependencies": {
37
36
  "@types/react": "^18.2.0",
38
37
  "@types/react-dom": "^18.2.0",
39
- "typescript": "^5.0.0",
40
- "react-select": "^5.8.0",
41
- "@types/react-select": "^5.0.0"
38
+ "typescript": "^5.0.0"
42
39
  }
43
40
  }
44
41