@moderneinc/neo-styled-components 5.0.0-next.e7f738 → 5.0.0
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.
- package/dist/Checkbox/Checkbox.d.ts +4 -3
- package/dist/index.d.ts +4 -3
- package/dist/index.esm.js +114 -87
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +113 -86
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { type CheckboxProps } from '@mui/material/Checkbox';
|
|
2
2
|
import type { ReactNode } from 'react';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* NeoCheckbox uses Lucide icons (square / square-check / square-minus): a rounded
|
|
5
|
+
* outline drawn in `currentColor`, with the check/minus mark sharing that stroke —
|
|
6
|
+
* so a single per-state `color` (set in StyledCheckbox) drives every variant.
|
|
6
7
|
*
|
|
8
|
+
* @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC/Neo---Moderne-Design-system---2025?node-id=11487-81
|
|
7
9
|
* Checkbox sizes: xs=12x12, small=16x16, medium=20x20
|
|
8
|
-
* Check/minus paths scaled from Untitled UI (originally 24x24)
|
|
9
10
|
*/
|
|
10
11
|
type CheckboxSize = 'xs' | 'small' | 'medium';
|
|
11
12
|
declare module '@mui/material/Checkbox' {
|
package/dist/index.d.ts
CHANGED
|
@@ -640,11 +640,12 @@ interface StyledComponent<ComponentProps extends {}, SpecificComponentProps exte
|
|
|
640
640
|
}
|
|
641
641
|
|
|
642
642
|
/**
|
|
643
|
-
*
|
|
644
|
-
*
|
|
643
|
+
* NeoCheckbox uses Lucide icons (square / square-check / square-minus): a rounded
|
|
644
|
+
* outline drawn in `currentColor`, with the check/minus mark sharing that stroke —
|
|
645
|
+
* so a single per-state `color` (set in StyledCheckbox) drives every variant.
|
|
645
646
|
*
|
|
647
|
+
* @figma https://www.figma.com/design/fQTkGSFbYyE7LiHuQJsENC/Neo---Moderne-Design-system---2025?node-id=11487-81
|
|
646
648
|
* Checkbox sizes: xs=12x12, small=16x16, medium=20x20
|
|
647
|
-
* Check/minus paths scaled from Untitled UI (originally 24x24)
|
|
648
649
|
*/
|
|
649
650
|
type CheckboxSize = 'xs' | 'small' | 'medium';
|
|
650
651
|
declare module '@mui/material/Checkbox' {
|
package/dist/index.esm.js
CHANGED
|
@@ -4,7 +4,7 @@ import Box from '@mui/material/Box';
|
|
|
4
4
|
import { styled, alpha } from '@mui/material/styles';
|
|
5
5
|
import Chip, { chipClasses } from '@mui/material/Chip';
|
|
6
6
|
import MuiAvatar from '@mui/material/Avatar';
|
|
7
|
-
import SvgIcon
|
|
7
|
+
import SvgIcon from '@mui/material/SvgIcon';
|
|
8
8
|
import Alert, { alertClasses } from '@mui/material/Alert';
|
|
9
9
|
import ButtonBase, { buttonBaseClasses } from '@mui/material/ButtonBase';
|
|
10
10
|
import React, { useContext, createContext, forwardRef, createElement, useState, useRef, useCallback, useMemo, useEffect, Children, isValidElement, cloneElement } from 'react';
|
|
@@ -600,11 +600,11 @@ const createLucideIcon = (iconName, iconNode) => {
|
|
|
600
600
|
*/
|
|
601
601
|
|
|
602
602
|
|
|
603
|
-
const __iconNode$
|
|
603
|
+
const __iconNode$p = [
|
|
604
604
|
["path", { d: "M12 5v14", key: "s699le" }],
|
|
605
605
|
["path", { d: "m19 12-7 7-7-7", key: "1idqje" }]
|
|
606
606
|
];
|
|
607
|
-
const ArrowDown = createLucideIcon("arrow-down", __iconNode$
|
|
607
|
+
const ArrowDown = createLucideIcon("arrow-down", __iconNode$p);
|
|
608
608
|
|
|
609
609
|
/**
|
|
610
610
|
* @license lucide-react v1.16.0 - ISC
|
|
@@ -614,11 +614,11 @@ const ArrowDown = createLucideIcon("arrow-down", __iconNode$m);
|
|
|
614
614
|
*/
|
|
615
615
|
|
|
616
616
|
|
|
617
|
-
const __iconNode$
|
|
617
|
+
const __iconNode$o = [
|
|
618
618
|
["path", { d: "m5 12 7-7 7 7", key: "hav0vg" }],
|
|
619
619
|
["path", { d: "M12 19V5", key: "x0mq9r" }]
|
|
620
620
|
];
|
|
621
|
-
const ArrowUp = createLucideIcon("arrow-up", __iconNode$
|
|
621
|
+
const ArrowUp = createLucideIcon("arrow-up", __iconNode$o);
|
|
622
622
|
|
|
623
623
|
/**
|
|
624
624
|
* @license lucide-react v1.16.0 - ISC
|
|
@@ -628,7 +628,7 @@ const ArrowUp = createLucideIcon("arrow-up", __iconNode$l);
|
|
|
628
628
|
*/
|
|
629
629
|
|
|
630
630
|
|
|
631
|
-
const __iconNode$
|
|
631
|
+
const __iconNode$n = [
|
|
632
632
|
[
|
|
633
633
|
"path",
|
|
634
634
|
{
|
|
@@ -639,7 +639,7 @@ const __iconNode$k = [
|
|
|
639
639
|
["line", { x1: "12", x2: "12", y1: "16", y2: "12", key: "1y1yb1" }],
|
|
640
640
|
["line", { x1: "12", x2: "12.01", y1: "8", y2: "8", key: "110wyk" }]
|
|
641
641
|
];
|
|
642
|
-
const BadgeInfo = createLucideIcon("badge-info", __iconNode$
|
|
642
|
+
const BadgeInfo = createLucideIcon("badge-info", __iconNode$n);
|
|
643
643
|
|
|
644
644
|
/**
|
|
645
645
|
* @license lucide-react v1.16.0 - ISC
|
|
@@ -649,7 +649,7 @@ const BadgeInfo = createLucideIcon("badge-info", __iconNode$k);
|
|
|
649
649
|
*/
|
|
650
650
|
|
|
651
651
|
|
|
652
|
-
const __iconNode$
|
|
652
|
+
const __iconNode$m = [
|
|
653
653
|
["path", { d: "M8 2v4", key: "1cmpym" }],
|
|
654
654
|
["path", { d: "M16 2v4", key: "4m81vk" }],
|
|
655
655
|
["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
|
|
@@ -661,7 +661,7 @@ const __iconNode$j = [
|
|
|
661
661
|
["path", { d: "M12 18h.01", key: "mhygvu" }],
|
|
662
662
|
["path", { d: "M16 18h.01", key: "kzsmim" }]
|
|
663
663
|
];
|
|
664
|
-
const CalendarDays = createLucideIcon("calendar-days", __iconNode$
|
|
664
|
+
const CalendarDays = createLucideIcon("calendar-days", __iconNode$m);
|
|
665
665
|
|
|
666
666
|
/**
|
|
667
667
|
* @license lucide-react v1.16.0 - ISC
|
|
@@ -671,8 +671,8 @@ const CalendarDays = createLucideIcon("calendar-days", __iconNode$j);
|
|
|
671
671
|
*/
|
|
672
672
|
|
|
673
673
|
|
|
674
|
-
const __iconNode$
|
|
675
|
-
const ChevronDown = createLucideIcon("chevron-down", __iconNode$
|
|
674
|
+
const __iconNode$l = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
|
|
675
|
+
const ChevronDown = createLucideIcon("chevron-down", __iconNode$l);
|
|
676
676
|
|
|
677
677
|
/**
|
|
678
678
|
* @license lucide-react v1.16.0 - ISC
|
|
@@ -682,8 +682,8 @@ const ChevronDown = createLucideIcon("chevron-down", __iconNode$i);
|
|
|
682
682
|
*/
|
|
683
683
|
|
|
684
684
|
|
|
685
|
-
const __iconNode$
|
|
686
|
-
const ChevronLeft = createLucideIcon("chevron-left", __iconNode$
|
|
685
|
+
const __iconNode$k = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
|
|
686
|
+
const ChevronLeft = createLucideIcon("chevron-left", __iconNode$k);
|
|
687
687
|
|
|
688
688
|
/**
|
|
689
689
|
* @license lucide-react v1.16.0 - ISC
|
|
@@ -693,8 +693,8 @@ const ChevronLeft = createLucideIcon("chevron-left", __iconNode$h);
|
|
|
693
693
|
*/
|
|
694
694
|
|
|
695
695
|
|
|
696
|
-
const __iconNode$
|
|
697
|
-
const ChevronRight = createLucideIcon("chevron-right", __iconNode$
|
|
696
|
+
const __iconNode$j = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
|
|
697
|
+
const ChevronRight = createLucideIcon("chevron-right", __iconNode$j);
|
|
698
698
|
|
|
699
699
|
/**
|
|
700
700
|
* @license lucide-react v1.16.0 - ISC
|
|
@@ -704,8 +704,8 @@ const ChevronRight = createLucideIcon("chevron-right", __iconNode$g);
|
|
|
704
704
|
*/
|
|
705
705
|
|
|
706
706
|
|
|
707
|
-
const __iconNode$
|
|
708
|
-
const ChevronUp = createLucideIcon("chevron-up", __iconNode$
|
|
707
|
+
const __iconNode$i = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]];
|
|
708
|
+
const ChevronUp = createLucideIcon("chevron-up", __iconNode$i);
|
|
709
709
|
|
|
710
710
|
/**
|
|
711
711
|
* @license lucide-react v1.16.0 - ISC
|
|
@@ -715,11 +715,11 @@ const ChevronUp = createLucideIcon("chevron-up", __iconNode$f);
|
|
|
715
715
|
*/
|
|
716
716
|
|
|
717
717
|
|
|
718
|
-
const __iconNode$
|
|
718
|
+
const __iconNode$h = [
|
|
719
719
|
["path", { d: "m7 15 5 5 5-5", key: "1hf1tw" }],
|
|
720
720
|
["path", { d: "m7 9 5-5 5 5", key: "sgt6xg" }]
|
|
721
721
|
];
|
|
722
|
-
const ChevronsUpDown = createLucideIcon("chevrons-up-down", __iconNode$
|
|
722
|
+
const ChevronsUpDown = createLucideIcon("chevrons-up-down", __iconNode$h);
|
|
723
723
|
|
|
724
724
|
/**
|
|
725
725
|
* @license lucide-react v1.16.0 - ISC
|
|
@@ -729,12 +729,12 @@ const ChevronsUpDown = createLucideIcon("chevrons-up-down", __iconNode$e);
|
|
|
729
729
|
*/
|
|
730
730
|
|
|
731
731
|
|
|
732
|
-
const __iconNode$
|
|
732
|
+
const __iconNode$g = [
|
|
733
733
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
734
734
|
["line", { x1: "12", x2: "12", y1: "8", y2: "12", key: "1pkeuh" }],
|
|
735
735
|
["line", { x1: "12", x2: "12.01", y1: "16", y2: "16", key: "4dfq90" }]
|
|
736
736
|
];
|
|
737
|
-
const CircleAlert = createLucideIcon("circle-alert", __iconNode$
|
|
737
|
+
const CircleAlert = createLucideIcon("circle-alert", __iconNode$g);
|
|
738
738
|
|
|
739
739
|
/**
|
|
740
740
|
* @license lucide-react v1.16.0 - ISC
|
|
@@ -744,11 +744,11 @@ const CircleAlert = createLucideIcon("circle-alert", __iconNode$d);
|
|
|
744
744
|
*/
|
|
745
745
|
|
|
746
746
|
|
|
747
|
-
const __iconNode$
|
|
747
|
+
const __iconNode$f = [
|
|
748
748
|
["path", { d: "M21.801 10A10 10 0 1 1 17 3.335", key: "yps3ct" }],
|
|
749
749
|
["path", { d: "m9 11 3 3L22 4", key: "1pflzl" }]
|
|
750
750
|
];
|
|
751
|
-
const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$
|
|
751
|
+
const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$f);
|
|
752
752
|
|
|
753
753
|
/**
|
|
754
754
|
* @license lucide-react v1.16.0 - ISC
|
|
@@ -758,12 +758,12 @@ const CircleCheckBig = createLucideIcon("circle-check-big", __iconNode$c);
|
|
|
758
758
|
*/
|
|
759
759
|
|
|
760
760
|
|
|
761
|
-
const __iconNode$
|
|
761
|
+
const __iconNode$e = [
|
|
762
762
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
763
763
|
["path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3", key: "1u773s" }],
|
|
764
764
|
["path", { d: "M12 17h.01", key: "p32p05" }]
|
|
765
765
|
];
|
|
766
|
-
const CircleQuestionMark = createLucideIcon("circle-question-mark", __iconNode$
|
|
766
|
+
const CircleQuestionMark = createLucideIcon("circle-question-mark", __iconNode$e);
|
|
767
767
|
|
|
768
768
|
/**
|
|
769
769
|
* @license lucide-react v1.16.0 - ISC
|
|
@@ -773,12 +773,12 @@ const CircleQuestionMark = createLucideIcon("circle-question-mark", __iconNode$b
|
|
|
773
773
|
*/
|
|
774
774
|
|
|
775
775
|
|
|
776
|
-
const __iconNode$
|
|
776
|
+
const __iconNode$d = [
|
|
777
777
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
|
|
778
778
|
["path", { d: "M9 3v18", key: "fh3hqa" }],
|
|
779
779
|
["path", { d: "M15 3v18", key: "14nvp0" }]
|
|
780
780
|
];
|
|
781
|
-
const Columns3 = createLucideIcon("columns-3", __iconNode$
|
|
781
|
+
const Columns3 = createLucideIcon("columns-3", __iconNode$d);
|
|
782
782
|
|
|
783
783
|
/**
|
|
784
784
|
* @license lucide-react v1.16.0 - ISC
|
|
@@ -788,12 +788,12 @@ const Columns3 = createLucideIcon("columns-3", __iconNode$a);
|
|
|
788
788
|
*/
|
|
789
789
|
|
|
790
790
|
|
|
791
|
-
const __iconNode$
|
|
791
|
+
const __iconNode$c = [
|
|
792
792
|
["path", { d: "M2 5h20", key: "1fs1ex" }],
|
|
793
793
|
["path", { d: "M6 12h12", key: "8npq4p" }],
|
|
794
794
|
["path", { d: "M9 19h6", key: "456am0" }]
|
|
795
795
|
];
|
|
796
|
-
const ListFilter = createLucideIcon("list-filter", __iconNode$
|
|
796
|
+
const ListFilter = createLucideIcon("list-filter", __iconNode$c);
|
|
797
797
|
|
|
798
798
|
/**
|
|
799
799
|
* @license lucide-react v1.16.0 - ISC
|
|
@@ -803,8 +803,8 @@ const ListFilter = createLucideIcon("list-filter", __iconNode$9);
|
|
|
803
803
|
*/
|
|
804
804
|
|
|
805
805
|
|
|
806
|
-
const __iconNode$
|
|
807
|
-
const Minus = createLucideIcon("minus", __iconNode$
|
|
806
|
+
const __iconNode$b = [["path", { d: "M5 12h14", key: "1ays0h" }]];
|
|
807
|
+
const Minus = createLucideIcon("minus", __iconNode$b);
|
|
808
808
|
|
|
809
809
|
/**
|
|
810
810
|
* @license lucide-react v1.16.0 - ISC
|
|
@@ -814,12 +814,12 @@ const Minus = createLucideIcon("minus", __iconNode$8);
|
|
|
814
814
|
*/
|
|
815
815
|
|
|
816
816
|
|
|
817
|
-
const __iconNode$
|
|
817
|
+
const __iconNode$a = [
|
|
818
818
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
|
|
819
819
|
["path", { d: "M9 3v18", key: "fh3hqa" }],
|
|
820
820
|
["path", { d: "m16 15-3-3 3-3", key: "14y99z" }]
|
|
821
821
|
];
|
|
822
|
-
const PanelLeftClose = createLucideIcon("panel-left-close", __iconNode$
|
|
822
|
+
const PanelLeftClose = createLucideIcon("panel-left-close", __iconNode$a);
|
|
823
823
|
|
|
824
824
|
/**
|
|
825
825
|
* @license lucide-react v1.16.0 - ISC
|
|
@@ -829,12 +829,12 @@ const PanelLeftClose = createLucideIcon("panel-left-close", __iconNode$7);
|
|
|
829
829
|
*/
|
|
830
830
|
|
|
831
831
|
|
|
832
|
-
const __iconNode$
|
|
832
|
+
const __iconNode$9 = [
|
|
833
833
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
|
|
834
834
|
["path", { d: "M9 3v18", key: "fh3hqa" }],
|
|
835
835
|
["path", { d: "m14 9 3 3-3 3", key: "8010ee" }]
|
|
836
836
|
];
|
|
837
|
-
const PanelLeftOpen = createLucideIcon("panel-left-open", __iconNode$
|
|
837
|
+
const PanelLeftOpen = createLucideIcon("panel-left-open", __iconNode$9);
|
|
838
838
|
|
|
839
839
|
/**
|
|
840
840
|
* @license lucide-react v1.16.0 - ISC
|
|
@@ -844,11 +844,11 @@ const PanelLeftOpen = createLucideIcon("panel-left-open", __iconNode$6);
|
|
|
844
844
|
*/
|
|
845
845
|
|
|
846
846
|
|
|
847
|
-
const __iconNode$
|
|
847
|
+
const __iconNode$8 = [
|
|
848
848
|
["path", { d: "M5 12h14", key: "1ays0h" }],
|
|
849
849
|
["path", { d: "M12 5v14", key: "s699le" }]
|
|
850
850
|
];
|
|
851
|
-
const Plus = createLucideIcon("plus", __iconNode$
|
|
851
|
+
const Plus = createLucideIcon("plus", __iconNode$8);
|
|
852
852
|
|
|
853
853
|
/**
|
|
854
854
|
* @license lucide-react v1.16.0 - ISC
|
|
@@ -858,11 +858,52 @@ const Plus = createLucideIcon("plus", __iconNode$5);
|
|
|
858
858
|
*/
|
|
859
859
|
|
|
860
860
|
|
|
861
|
-
const __iconNode$
|
|
861
|
+
const __iconNode$7 = [
|
|
862
862
|
["path", { d: "m21 21-4.34-4.34", key: "14j7rj" }],
|
|
863
863
|
["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }]
|
|
864
864
|
];
|
|
865
|
-
const Search = createLucideIcon("search", __iconNode$
|
|
865
|
+
const Search = createLucideIcon("search", __iconNode$7);
|
|
866
|
+
|
|
867
|
+
/**
|
|
868
|
+
* @license lucide-react v1.16.0 - ISC
|
|
869
|
+
*
|
|
870
|
+
* This source code is licensed under the ISC license.
|
|
871
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
872
|
+
*/
|
|
873
|
+
|
|
874
|
+
|
|
875
|
+
const __iconNode$6 = [
|
|
876
|
+
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
|
|
877
|
+
["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
|
|
878
|
+
];
|
|
879
|
+
const SquareCheck = createLucideIcon("square-check", __iconNode$6);
|
|
880
|
+
|
|
881
|
+
/**
|
|
882
|
+
* @license lucide-react v1.16.0 - ISC
|
|
883
|
+
*
|
|
884
|
+
* This source code is licensed under the ISC license.
|
|
885
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
886
|
+
*/
|
|
887
|
+
|
|
888
|
+
|
|
889
|
+
const __iconNode$5 = [
|
|
890
|
+
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
|
|
891
|
+
["path", { d: "M8 12h8", key: "1wcyev" }]
|
|
892
|
+
];
|
|
893
|
+
const SquareMinus = createLucideIcon("square-minus", __iconNode$5);
|
|
894
|
+
|
|
895
|
+
/**
|
|
896
|
+
* @license lucide-react v1.16.0 - ISC
|
|
897
|
+
*
|
|
898
|
+
* This source code is licensed under the ISC license.
|
|
899
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
900
|
+
*/
|
|
901
|
+
|
|
902
|
+
|
|
903
|
+
const __iconNode$4 = [
|
|
904
|
+
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }]
|
|
905
|
+
];
|
|
906
|
+
const Square = createLucideIcon("square", __iconNode$4);
|
|
866
907
|
|
|
867
908
|
/**
|
|
868
909
|
* @license lucide-react v1.16.0 - ISC
|
|
@@ -1731,20 +1772,6 @@ const NeoCard = (props) => {
|
|
|
1731
1772
|
};
|
|
1732
1773
|
NeoCard.displayName = 'NeoCard';
|
|
1733
1774
|
|
|
1734
|
-
// Border radius per size (from Figma)
|
|
1735
|
-
const borderRadiusConfig = {
|
|
1736
|
-
xs: 2,
|
|
1737
|
-
small: 3,
|
|
1738
|
-
medium: 4,
|
|
1739
|
-
};
|
|
1740
|
-
// Unchecked: Rounded square outline (20x20 viewBox)
|
|
1741
|
-
const UncheckedIcon$1 = ({ size = 'medium' }) => (jsx(SvgIcon, { viewBox: "0 0 20 20", children: jsx("rect", { x: "1", y: "1", width: "18", height: "18", rx: borderRadiusConfig[size], fill: "none", stroke: "currentColor", strokeWidth: "1.5" }) }));
|
|
1742
|
-
// Checked: Filled rounded square with white checkmark
|
|
1743
|
-
// Path scaled from Untitled UI 24x24 (M20 6L9 17L4 12) to 20x20
|
|
1744
|
-
const CheckedIcon$1 = ({ size = 'medium' }) => (jsxs(SvgIcon, { viewBox: "0 0 20 20", children: [jsx("rect", { width: "20", height: "20", rx: borderRadiusConfig[size], fill: "currentColor" }), jsx("path", { d: "M15 6L8.5 13L5 9.5", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", fill: "none" })] }));
|
|
1745
|
-
// Indeterminate: Filled rounded square with white minus
|
|
1746
|
-
// Path scaled from Untitled UI 24x24 (M5 12H19) to 20x20
|
|
1747
|
-
const IndeterminateIcon = ({ size = 'medium' }) => (jsxs(SvgIcon, { viewBox: "0 0 20 20", children: [jsx("rect", { width: "20", height: "20", rx: borderRadiusConfig[size], fill: "currentColor" }), jsx("path", { d: "M5 10H15", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round", fill: "none" })] }));
|
|
1748
1775
|
const CheckboxContainer = styled('label')(({ disabled }) => ({
|
|
1749
1776
|
display: 'inline-flex',
|
|
1750
1777
|
alignItems: 'flex-start',
|
|
@@ -1777,7 +1804,7 @@ const HelperText$2 = styled('span')(({ theme, size = 'medium' }) => ({
|
|
|
1777
1804
|
lineHeight: size === 'xs' ? 1.5 : size === 'small' ? 1.4 : 1.5,
|
|
1778
1805
|
color: semanticColors.typography.bodySecondary,
|
|
1779
1806
|
}));
|
|
1780
|
-
//
|
|
1807
|
+
// xs focus-ring radius — no matching design token (box corner comes from the icon)
|
|
1781
1808
|
const FIGMA_XS_BORDER_RADIUS = 1;
|
|
1782
1809
|
const StyledCheckbox = styled(Checkbox, {
|
|
1783
1810
|
shouldForwardProp: prop => prop !== 'size',
|
|
@@ -1790,11 +1817,11 @@ const StyledCheckbox = styled(Checkbox, {
|
|
|
1790
1817
|
},
|
|
1791
1818
|
small: {
|
|
1792
1819
|
size: 16,
|
|
1793
|
-
borderRadius: borderRadius.xXS, //
|
|
1820
|
+
borderRadius: borderRadius.xXS, // focus-ring radius (small)
|
|
1794
1821
|
},
|
|
1795
1822
|
medium: {
|
|
1796
1823
|
size: 20,
|
|
1797
|
-
borderRadius: borderRadius.xS, //
|
|
1824
|
+
borderRadius: borderRadius.xS, // focus-ring radius (medium)
|
|
1798
1825
|
},
|
|
1799
1826
|
};
|
|
1800
1827
|
const config = sizeConfig[size];
|
|
@@ -1806,37 +1833,30 @@ const StyledCheckbox = styled(Checkbox, {
|
|
|
1806
1833
|
color: semanticColors.border.primary,
|
|
1807
1834
|
borderRadius: config.borderRadius,
|
|
1808
1835
|
flexShrink: 0,
|
|
1809
|
-
//
|
|
1810
|
-
|
|
1811
|
-
'
|
|
1812
|
-
backgroundColor: 'transparent',
|
|
1813
|
-
},
|
|
1836
|
+
// Suppress MUI's grey hover background
|
|
1837
|
+
'&:hover': {
|
|
1838
|
+
backgroundColor: 'transparent',
|
|
1814
1839
|
},
|
|
1815
|
-
//
|
|
1816
|
-
[
|
|
1817
|
-
|
|
1818
|
-
height: config.size,
|
|
1840
|
+
// Hover on the unchecked box — subtle blue outline affordance (enabled only)
|
|
1841
|
+
[`&:hover:not(.${checkboxClasses.checked}):not(.${checkboxClasses.indeterminate}):not(.${checkboxClasses.disabled})`]: {
|
|
1842
|
+
color: colors.digitalBlue[300],
|
|
1819
1843
|
},
|
|
1820
|
-
// Checked
|
|
1844
|
+
// Checked / Indeterminate — primary blue outline + mark
|
|
1821
1845
|
[`&.${checkboxClasses.checked}`]: {
|
|
1822
|
-
color:
|
|
1846
|
+
color: colors.digitalBlue[600],
|
|
1823
1847
|
},
|
|
1824
|
-
// Indeterminate state
|
|
1825
1848
|
[`&.${checkboxClasses.indeterminate}`]: {
|
|
1826
|
-
color:
|
|
1849
|
+
color: colors.digitalBlue[600],
|
|
1827
1850
|
},
|
|
1828
|
-
// Disabled
|
|
1851
|
+
// Disabled — enabled colors dimmed to 40%. Checked/indeterminate keep
|
|
1852
|
+
// digitalBlue[600] via the rules above; re-assert the unchecked outline
|
|
1853
|
+
// token so it beats MUI's default `.Mui-disabled` color.
|
|
1829
1854
|
[`&.${checkboxClasses.disabled}`]: {
|
|
1830
|
-
|
|
1855
|
+
opacity: 0.4,
|
|
1831
1856
|
cursor: 'not-allowed',
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
},
|
|
1836
|
-
// When indeterminate and disabled
|
|
1837
|
-
[`&.${checkboxClasses.indeterminate}`]: {
|
|
1838
|
-
color: semanticColors.border.primary,
|
|
1839
|
-
},
|
|
1857
|
+
},
|
|
1858
|
+
[`&.${checkboxClasses.disabled}:not(.${checkboxClasses.checked}):not(.${checkboxClasses.indeterminate})`]: {
|
|
1859
|
+
color: semanticColors.border.primary,
|
|
1840
1860
|
},
|
|
1841
1861
|
// Focus visible for keyboard navigation
|
|
1842
1862
|
'&.Mui-focusVisible': {
|
|
@@ -1844,11 +1864,10 @@ const StyledCheckbox = styled(Checkbox, {
|
|
|
1844
1864
|
outlineOffset: 2,
|
|
1845
1865
|
borderRadius: config.borderRadius,
|
|
1846
1866
|
},
|
|
1847
|
-
//
|
|
1867
|
+
// Size the Lucide icon (color comes from `color` → currentColor → stroke)
|
|
1848
1868
|
'& svg': {
|
|
1849
1869
|
width: config.size,
|
|
1850
1870
|
height: config.size,
|
|
1851
|
-
fill: 'currentColor',
|
|
1852
1871
|
},
|
|
1853
1872
|
};
|
|
1854
1873
|
});
|
|
@@ -1899,10 +1918,10 @@ const StyledCheckbox = styled(Checkbox, {
|
|
|
1899
1918
|
const NeoCheckbox = ({ size = 'medium', label, helperText, disabled, icon, checkedIcon, indeterminateIcon, className, ...props }) => {
|
|
1900
1919
|
// Add custom class to identify NeoCheckbox instances
|
|
1901
1920
|
const combinedClassName = className ? `neo-checkbox ${className}` : 'neo-checkbox';
|
|
1902
|
-
//
|
|
1903
|
-
const defaultIcon = icon || jsx(
|
|
1904
|
-
const defaultCheckedIcon = checkedIcon || jsx(
|
|
1905
|
-
const defaultIndeterminateIcon = indeterminateIcon || jsx(
|
|
1921
|
+
// Default icons (sized via CSS on the SVG); overridable per instance
|
|
1922
|
+
const defaultIcon = icon || jsx(Square, {});
|
|
1923
|
+
const defaultCheckedIcon = checkedIcon || jsx(SquareCheck, {});
|
|
1924
|
+
const defaultIndeterminateIcon = indeterminateIcon || jsx(SquareMinus, {});
|
|
1906
1925
|
// If no label, return just the checkbox
|
|
1907
1926
|
if (!label && !helperText) {
|
|
1908
1927
|
return (jsx(StyledCheckbox, { size: size, disabled: disabled, icon: defaultIcon, checkedIcon: defaultCheckedIcon, indeterminateIcon: defaultIndeterminateIcon, className: combinedClassName, ...props }));
|
|
@@ -2762,11 +2781,13 @@ function NeoDataGrid({ autoHeight = false, toolbar, slots, sx, density = 'standa
|
|
|
2762
2781
|
...getDataGridHeaderStyles(),
|
|
2763
2782
|
...getDataGridRowStyles(),
|
|
2764
2783
|
border: `1px solid ${semanticColors.border.secondary}`,
|
|
2765
|
-
// Style row selection checkboxes to match header (16px, proper spacing)
|
|
2784
|
+
// Style row selection checkboxes to match header (16px, proper spacing).
|
|
2785
|
+
// Target `& svg` (not `.MuiSvgIcon-root`) so the rule also matches the
|
|
2786
|
+
// lucide `<svg>` icons NeoCheckbox renders, mirroring the header rule.
|
|
2766
2787
|
[`& .${gridClasses.cellCheckbox}`]: {
|
|
2767
2788
|
[`& .${checkboxClasses.root}`]: {
|
|
2768
2789
|
padding: `${spacing.spacing_1}px`,
|
|
2769
|
-
|
|
2790
|
+
'& svg': {
|
|
2770
2791
|
width: 16,
|
|
2771
2792
|
height: 16,
|
|
2772
2793
|
},
|
|
@@ -6297,6 +6318,9 @@ const NeoRipplingDot = props => (jsx(Box$1, { "aria-hidden": "true", ...props, s
|
|
|
6297
6318
|
borderRadius: '50%',
|
|
6298
6319
|
border: '1px solid currentColor',
|
|
6299
6320
|
animation: `${ripple} 5.6s ease-in-out infinite`,
|
|
6321
|
+
'@media (prefers-reduced-motion: reduce)': {
|
|
6322
|
+
display: 'none',
|
|
6323
|
+
},
|
|
6300
6324
|
},
|
|
6301
6325
|
...props.sx,
|
|
6302
6326
|
} }));
|
|
@@ -7409,6 +7433,9 @@ const NeoVibratingDot = props => (jsx(Box$1, { "aria-hidden": "true", ...props,
|
|
|
7409
7433
|
verticalAlign: 'middle',
|
|
7410
7434
|
flexShrink: 0,
|
|
7411
7435
|
animation: `${vibrate} 5.6s ease-in-out infinite`,
|
|
7436
|
+
'@media (prefers-reduced-motion: reduce)': {
|
|
7437
|
+
animation: 'none',
|
|
7438
|
+
},
|
|
7412
7439
|
...props.sx,
|
|
7413
7440
|
} }));
|
|
7414
7441
|
NeoVibratingDot.displayName = 'NeoVibratingDot';
|