@dreamtree-org/twreact-ui 2.1.2 → 2.2.5

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.
Files changed (93) hide show
  1. package/README.md +47 -4
  2. package/ai-skills/dreamtree-ui.md +20 -3
  3. package/dist/_shared/{cn-DPPQUJu1.js → cn-TMJ-_w1a.js} +14 -1
  4. package/dist/_shared/useLatestRef-CdtlnPUz.js +21 -0
  5. package/dist/_shared/useReducedMotion-B_PMM5ER.js +77 -0
  6. package/dist/ai-schema.json +513 -0
  7. package/dist/charts/index.js +6 -76
  8. package/dist/components/motion/BentoExpandGrid.d.ts +10 -0
  9. package/dist/components/motion/BentoExpandGrid.d.ts.map +1 -0
  10. package/dist/components/motion/CountUp.d.ts +9 -0
  11. package/dist/components/motion/CountUp.d.ts.map +1 -0
  12. package/dist/components/motion/DeviceFrame.d.ts +8 -0
  13. package/dist/components/motion/DeviceFrame.d.ts.map +1 -0
  14. package/dist/components/motion/DeviceMorphHero.d.ts +11 -0
  15. package/dist/components/motion/DeviceMorphHero.d.ts.map +1 -0
  16. package/dist/components/motion/LogoMarquee.d.ts +9 -0
  17. package/dist/components/motion/LogoMarquee.d.ts.map +1 -0
  18. package/dist/components/motion/PhotoCollage.d.ts +9 -0
  19. package/dist/components/motion/PhotoCollage.d.ts.map +1 -0
  20. package/dist/components/motion/Reveal.d.ts +9 -0
  21. package/dist/components/motion/Reveal.d.ts.map +1 -0
  22. package/dist/components/motion/RevealGroup.d.ts +5 -0
  23. package/dist/components/motion/RevealGroup.d.ts.map +1 -0
  24. package/dist/components/motion/RotatingBadge.d.ts +9 -0
  25. package/dist/components/motion/RotatingBadge.d.ts.map +1 -0
  26. package/dist/components/motion/ScrollStage.d.ts +11 -0
  27. package/dist/components/motion/ScrollStage.d.ts.map +1 -0
  28. package/dist/components/motion/SmoothScrollProvider.d.ts +18 -0
  29. package/dist/components/motion/SmoothScrollProvider.d.ts.map +1 -0
  30. package/dist/components/motion/StackedCards.d.ts +10 -0
  31. package/dist/components/motion/StackedCards.d.ts.map +1 -0
  32. package/dist/components/motion/StatStrip.d.ts +8 -0
  33. package/dist/components/motion/StatStrip.d.ts.map +1 -0
  34. package/dist/components/motion/TestimonialSpotlight.d.ts +10 -0
  35. package/dist/components/motion/TestimonialSpotlight.d.ts.map +1 -0
  36. package/dist/components/motion/storyData.d.ts +52 -0
  37. package/dist/components/motion/storyData.d.ts.map +1 -0
  38. package/dist/esm/components/motion/BentoExpandGrid.js +144 -0
  39. package/dist/esm/components/motion/CountUp.js +97 -0
  40. package/dist/esm/components/motion/DeviceFrame.js +102 -0
  41. package/dist/esm/components/motion/DeviceMorphHero.js +228 -0
  42. package/dist/esm/components/motion/LogoMarquee.js +144 -0
  43. package/dist/esm/components/motion/PhotoCollage.js +92 -0
  44. package/dist/esm/components/motion/Reveal.js +115 -0
  45. package/dist/esm/components/motion/RevealGroup.js +43 -0
  46. package/dist/esm/components/motion/RotatingBadge.js +66 -0
  47. package/dist/esm/components/motion/ScrollStage.js +62 -0
  48. package/dist/esm/components/motion/SmoothScrollProvider.js +63 -0
  49. package/dist/esm/components/motion/StackedCards.js +166 -0
  50. package/dist/esm/components/motion/StatStrip.js +58 -0
  51. package/dist/esm/components/motion/TestimonialSpotlight.js +209 -0
  52. package/dist/esm/hooks/useScrollProgress.js +107 -0
  53. package/dist/esm/hooks/useSmoothScroll.js +33 -0
  54. package/dist/esm/motion/engine/inView.js +54 -0
  55. package/dist/esm/motion/engine/progress.js +45 -0
  56. package/dist/esm/motion/engine/scheduler.js +67 -0
  57. package/dist/esm/motion/engine/useHydrated.js +17 -0
  58. package/dist/esm/motion/engine/useIsomorphicLayoutEffect.js +7 -0
  59. package/dist/esm/motion/engine/useMergedRef.js +12 -0
  60. package/dist/esm/motion/index.js +16 -0
  61. package/dist/esm/motion/tokens.js +10 -0
  62. package/dist/hooks/useScrollProgress.d.ts +17 -0
  63. package/dist/hooks/useScrollProgress.d.ts.map +1 -0
  64. package/dist/hooks/useSmoothScroll.d.ts +11 -0
  65. package/dist/hooks/useSmoothScroll.d.ts.map +1 -0
  66. package/dist/index.css +1 -1
  67. package/dist/index.esm.css +1 -1
  68. package/dist/motion/engine/inView.d.ts +5 -0
  69. package/dist/motion/engine/inView.d.ts.map +1 -0
  70. package/dist/motion/engine/progress.d.ts +18 -0
  71. package/dist/motion/engine/progress.d.ts.map +1 -0
  72. package/dist/motion/engine/scheduler.d.ts +10 -0
  73. package/dist/motion/engine/scheduler.d.ts.map +1 -0
  74. package/dist/motion/engine/useHydrated.d.ts +3 -0
  75. package/dist/motion/engine/useHydrated.d.ts.map +1 -0
  76. package/dist/motion/engine/useIsomorphicLayoutEffect.d.ts +4 -0
  77. package/dist/motion/engine/useIsomorphicLayoutEffect.d.ts.map +1 -0
  78. package/dist/motion/engine/useMergedRef.d.ts +3 -0
  79. package/dist/motion/engine/useMergedRef.d.ts.map +1 -0
  80. package/dist/motion/index.d.ts +20 -0
  81. package/dist/motion/index.d.ts.map +1 -0
  82. package/dist/motion/index.js +1813 -0
  83. package/dist/motion/tokens.d.ts +6 -0
  84. package/dist/motion/tokens.d.ts.map +1 -0
  85. package/dist/rich-text/index.js +3 -18
  86. package/dist/tokens/tokens.json +21 -0
  87. package/dist/types/motion.d.ts +290 -0
  88. package/dist/types/motion.d.ts.map +1 -0
  89. package/doc/README.md +17 -1
  90. package/mcp/catalog.snapshot.json +952 -5
  91. package/motion/package.json +5 -0
  92. package/package.json +14 -3
  93. package/tokens/tokens.json +6 -0
@@ -531,6 +531,42 @@
531
531
  }
532
532
  }
533
533
  },
534
+ "BentoExpandGrid": {
535
+ "group": "motion",
536
+ "import": "@dreamtree-org/twreact-ui/motion",
537
+ "forwardRef": true,
538
+ "props": {
539
+ "items": {
540
+ "type": "BentoItem[]",
541
+ "required": true,
542
+ "default": "[]"
543
+ },
544
+ "cols": {
545
+ "type": "2 | 3 | 4",
546
+ "required": false,
547
+ "default": "3"
548
+ },
549
+ "expand": {
550
+ "type": "number",
551
+ "required": false,
552
+ "default": "2"
553
+ },
554
+ "trigger": {
555
+ "type": "enum",
556
+ "required": false,
557
+ "values": [
558
+ "hover",
559
+ "focus",
560
+ "click"
561
+ ],
562
+ "default": "\"hover\""
563
+ },
564
+ "label": {
565
+ "type": "string",
566
+ "required": false
567
+ }
568
+ }
569
+ },
534
570
  "Breadcrumbs": {
535
571
  "group": "navigation",
536
572
  "import": "@dreamtree-org/twreact-ui",
@@ -876,6 +912,49 @@
876
912
  }
877
913
  }
878
914
  },
915
+ "CountUp": {
916
+ "group": "motion",
917
+ "import": "@dreamtree-org/twreact-ui/motion",
918
+ "forwardRef": true,
919
+ "props": {
920
+ "value": {
921
+ "type": "number",
922
+ "required": true
923
+ },
924
+ "from": {
925
+ "type": "number",
926
+ "required": false,
927
+ "default": "0"
928
+ },
929
+ "prefix": {
930
+ "type": "ReactNode",
931
+ "required": false
932
+ },
933
+ "suffix": {
934
+ "type": "ReactNode",
935
+ "required": false
936
+ },
937
+ "duration": {
938
+ "type": "number",
939
+ "required": false,
940
+ "default": "1600"
941
+ },
942
+ "decimals": {
943
+ "type": "number",
944
+ "required": false,
945
+ "default": "as many as value has"
946
+ },
947
+ "locale": {
948
+ "type": "string",
949
+ "required": false,
950
+ "default": "\"en-IN\""
951
+ },
952
+ "format": {
953
+ "type": "(value: number) => string",
954
+ "required": false
955
+ }
956
+ }
957
+ },
879
958
  "DatePicker": {
880
959
  "group": "core",
881
960
  "import": "@dreamtree-org/twreact-ui",
@@ -1054,6 +1133,86 @@
1054
1133
  }
1055
1134
  }
1056
1135
  },
1136
+ "DeviceFrame": {
1137
+ "group": "motion",
1138
+ "import": "@dreamtree-org/twreact-ui/motion",
1139
+ "forwardRef": true,
1140
+ "props": {
1141
+ "device": {
1142
+ "type": "enum",
1143
+ "required": false,
1144
+ "values": [
1145
+ "phone",
1146
+ "tablet",
1147
+ "laptop",
1148
+ "browser"
1149
+ ],
1150
+ "default": "\"phone\""
1151
+ },
1152
+ "children": {
1153
+ "type": "ReactNode",
1154
+ "required": false
1155
+ },
1156
+ "url": {
1157
+ "type": "string",
1158
+ "required": false
1159
+ },
1160
+ "screenClassName": {
1161
+ "type": "string",
1162
+ "required": false
1163
+ }
1164
+ }
1165
+ },
1166
+ "DeviceMorphHero": {
1167
+ "group": "motion",
1168
+ "import": "@dreamtree-org/twreact-ui/motion",
1169
+ "forwardRef": true,
1170
+ "props": {
1171
+ "media": {
1172
+ "type": "DeviceMorphMedia",
1173
+ "required": true
1174
+ },
1175
+ "device": {
1176
+ "type": "enum",
1177
+ "required": false,
1178
+ "values": [
1179
+ "phone",
1180
+ "tablet",
1181
+ "laptop",
1182
+ "browser"
1183
+ ],
1184
+ "default": "\"phone\""
1185
+ },
1186
+ "length": {
1187
+ "type": "number",
1188
+ "required": false,
1189
+ "default": "300"
1190
+ },
1191
+ "mobileLength": {
1192
+ "type": "number",
1193
+ "required": false,
1194
+ "default": "150"
1195
+ },
1196
+ "side": {
1197
+ "type": "enum",
1198
+ "required": false,
1199
+ "values": [
1200
+ "right",
1201
+ "left"
1202
+ ],
1203
+ "default": "\"right\""
1204
+ },
1205
+ "content": {
1206
+ "type": "ReactNode",
1207
+ "required": false
1208
+ },
1209
+ "scrollHint": {
1210
+ "type": "ReactNode | false",
1211
+ "required": false,
1212
+ "default": "\"Scroll to explore\""
1213
+ }
1214
+ }
1215
+ },
1057
1216
  "Dialog": {
1058
1217
  "group": "feedback",
1059
1218
  "import": "@dreamtree-org/twreact-ui",
@@ -1815,6 +1974,52 @@
1815
1974
  }
1816
1975
  }
1817
1976
  },
1977
+ "LogoMarquee": {
1978
+ "group": "motion",
1979
+ "import": "@dreamtree-org/twreact-ui/motion",
1980
+ "forwardRef": true,
1981
+ "props": {
1982
+ "items": {
1983
+ "type": "MarqueeItem[]",
1984
+ "required": true,
1985
+ "default": "[]"
1986
+ },
1987
+ "speed": {
1988
+ "type": "number",
1989
+ "required": false,
1990
+ "default": "40"
1991
+ },
1992
+ "direction": {
1993
+ "type": "enum",
1994
+ "required": false,
1995
+ "values": [
1996
+ "left",
1997
+ "right"
1998
+ ],
1999
+ "default": "\"left\""
2000
+ },
2001
+ "pauseOnHover": {
2002
+ "type": "boolean",
2003
+ "required": false,
2004
+ "default": "true"
2005
+ },
2006
+ "fadeEdges": {
2007
+ "type": "boolean",
2008
+ "required": false,
2009
+ "default": "true"
2010
+ },
2011
+ "rows": {
2012
+ "type": "1 | 2",
2013
+ "required": false,
2014
+ "default": "1"
2015
+ },
2016
+ "label": {
2017
+ "type": "string",
2018
+ "required": false,
2019
+ "default": "\"Clients\""
2020
+ }
2021
+ }
2022
+ },
1818
2023
  "Navbar": {
1819
2024
  "group": "navigation",
1820
2025
  "import": "@dreamtree-org/twreact-ui",
@@ -2029,6 +2234,32 @@
2029
2234
  }
2030
2235
  }
2031
2236
  },
2237
+ "PhotoCollage": {
2238
+ "group": "motion",
2239
+ "import": "@dreamtree-org/twreact-ui/motion",
2240
+ "forwardRef": true,
2241
+ "props": {
2242
+ "images": {
2243
+ "type": "CollageImage[]",
2244
+ "required": true,
2245
+ "default": "[]"
2246
+ },
2247
+ "chips": {
2248
+ "type": "CollageChip[]",
2249
+ "required": false,
2250
+ "default": "[]"
2251
+ },
2252
+ "parallax": {
2253
+ "type": "number",
2254
+ "required": false,
2255
+ "default": "0.15"
2256
+ },
2257
+ "badge": {
2258
+ "type": "ReactNode",
2259
+ "required": false
2260
+ }
2261
+ }
2262
+ },
2032
2263
  "Popover": {
2033
2264
  "group": "core",
2034
2265
  "import": "@dreamtree-org/twreact-ui",
@@ -2521,6 +2752,97 @@
2521
2752
  }
2522
2753
  }
2523
2754
  },
2755
+ "Reveal": {
2756
+ "group": "motion",
2757
+ "import": "@dreamtree-org/twreact-ui/motion",
2758
+ "forwardRef": true,
2759
+ "props": {
2760
+ "effect": {
2761
+ "type": "enum",
2762
+ "required": false,
2763
+ "values": [
2764
+ "fade-up",
2765
+ "fade",
2766
+ "scale",
2767
+ "clip",
2768
+ "split-words"
2769
+ ],
2770
+ "default": "\"fade-up\""
2771
+ },
2772
+ "delay": {
2773
+ "type": "number",
2774
+ "required": false,
2775
+ "default": "0"
2776
+ },
2777
+ "stagger": {
2778
+ "type": "number",
2779
+ "required": false,
2780
+ "default": "40"
2781
+ },
2782
+ "once": {
2783
+ "type": "boolean",
2784
+ "required": false,
2785
+ "default": "true"
2786
+ },
2787
+ "as": {
2788
+ "type": "ElementType",
2789
+ "required": false,
2790
+ "default": "\"div\""
2791
+ },
2792
+ "children": {
2793
+ "type": "ReactNode",
2794
+ "required": false
2795
+ }
2796
+ }
2797
+ },
2798
+ "RevealGroup": {
2799
+ "group": "motion",
2800
+ "import": "@dreamtree-org/twreact-ui/motion",
2801
+ "forwardRef": true,
2802
+ "props": {
2803
+ "effect": {
2804
+ "type": "enum",
2805
+ "required": false,
2806
+ "values": [
2807
+ "fade-up",
2808
+ "fade",
2809
+ "scale",
2810
+ "clip",
2811
+ "split-words"
2812
+ ],
2813
+ "default": "\"fade-up\""
2814
+ },
2815
+ "delay": {
2816
+ "type": "number",
2817
+ "required": false,
2818
+ "default": "0"
2819
+ },
2820
+ "stagger": {
2821
+ "type": "number",
2822
+ "required": false,
2823
+ "default": "80"
2824
+ },
2825
+ "once": {
2826
+ "type": "boolean",
2827
+ "required": false,
2828
+ "default": "true"
2829
+ },
2830
+ "as": {
2831
+ "type": "ElementType",
2832
+ "required": false,
2833
+ "default": "\"div\""
2834
+ },
2835
+ "itemAs": {
2836
+ "type": "ElementType",
2837
+ "required": false,
2838
+ "default": "\"div\""
2839
+ },
2840
+ "children": {
2841
+ "type": "ReactNode",
2842
+ "required": false
2843
+ }
2844
+ }
2845
+ },
2524
2846
  "RichTextEditor": {
2525
2847
  "group": "rich-text",
2526
2848
  "import": "@dreamtree-org/twreact-ui/rich-text",
@@ -2625,6 +2947,31 @@
2625
2947
  }
2626
2948
  }
2627
2949
  },
2950
+ "RotatingBadge": {
2951
+ "group": "motion",
2952
+ "import": "@dreamtree-org/twreact-ui/motion",
2953
+ "forwardRef": true,
2954
+ "props": {
2955
+ "text": {
2956
+ "type": "string",
2957
+ "required": true
2958
+ },
2959
+ "speed": {
2960
+ "type": "number",
2961
+ "required": false,
2962
+ "default": "14"
2963
+ },
2964
+ "size": {
2965
+ "type": "number",
2966
+ "required": false,
2967
+ "default": "120"
2968
+ },
2969
+ "icon": {
2970
+ "type": "ReactNode",
2971
+ "required": false
2972
+ }
2973
+ }
2974
+ },
2628
2975
  "RoundedTag": {
2629
2976
  "group": "core",
2630
2977
  "import": "@dreamtree-org/twreact-ui",
@@ -2814,6 +3161,45 @@
2814
3161
  }
2815
3162
  }
2816
3163
  },
3164
+ "ScrollStage": {
3165
+ "group": "motion",
3166
+ "import": "@dreamtree-org/twreact-ui/motion",
3167
+ "forwardRef": true,
3168
+ "props": {
3169
+ "length": {
3170
+ "type": "number",
3171
+ "required": false,
3172
+ "default": "300"
3173
+ },
3174
+ "mobileLength": {
3175
+ "type": "number",
3176
+ "required": false,
3177
+ "default": "150"
3178
+ },
3179
+ "pin": {
3180
+ "type": "boolean",
3181
+ "required": false,
3182
+ "default": "true"
3183
+ },
3184
+ "children": {
3185
+ "type": "ReactNode | ((progress: ScrollProgress) => ReactNode)",
3186
+ "required": false
3187
+ },
3188
+ "onProgress": {
3189
+ "type": "(progress: number) => void",
3190
+ "required": false
3191
+ },
3192
+ "contentClassName": {
3193
+ "type": "string",
3194
+ "required": false
3195
+ },
3196
+ "as": {
3197
+ "type": "ElementType",
3198
+ "required": false,
3199
+ "default": "\"section\""
3200
+ }
3201
+ }
3202
+ },
2817
3203
  "SearchField": {
2818
3204
  "group": "core",
2819
3205
  "import": "@dreamtree-org/twreact-ui",
@@ -3405,6 +3791,30 @@
3405
3791
  }
3406
3792
  }
3407
3793
  },
3794
+ "SmoothScrollProvider": {
3795
+ "group": "motion",
3796
+ "import": "@dreamtree-org/twreact-ui/motion",
3797
+ "forwardRef": false,
3798
+ "props": {
3799
+ "lenis": {
3800
+ "type": "new (options?: Record<string, unknown>) => LenisLike",
3801
+ "required": false
3802
+ },
3803
+ "options": {
3804
+ "type": "Record",
3805
+ "required": false
3806
+ },
3807
+ "enabled": {
3808
+ "type": "boolean",
3809
+ "required": false,
3810
+ "default": "true"
3811
+ },
3812
+ "children": {
3813
+ "type": "ReactNode",
3814
+ "required": false
3815
+ }
3816
+ }
3817
+ },
3408
3818
  "Sortable": {
3409
3819
  "group": "utility",
3410
3820
  "import": "@dreamtree-org/twreact-ui",
@@ -3628,6 +4038,82 @@
3628
4038
  }
3629
4039
  }
3630
4040
  },
4041
+ "StackedCards": {
4042
+ "group": "motion",
4043
+ "import": "@dreamtree-org/twreact-ui/motion",
4044
+ "forwardRef": true,
4045
+ "props": {
4046
+ "items": {
4047
+ "type": "StackedCardItem[]",
4048
+ "required": true,
4049
+ "default": "[]"
4050
+ },
4051
+ "stickyTop": {
4052
+ "type": "number",
4053
+ "required": false,
4054
+ "default": "80"
4055
+ },
4056
+ "tilt": {
4057
+ "type": "number",
4058
+ "required": false,
4059
+ "default": "1"
4060
+ },
4061
+ "scaleBack": {
4062
+ "type": "number",
4063
+ "required": false,
4064
+ "default": "0.94"
4065
+ },
4066
+ "dimBack": {
4067
+ "type": "number",
4068
+ "required": false,
4069
+ "default": "0.15"
4070
+ },
4071
+ "mediaSide": {
4072
+ "type": "enum",
4073
+ "required": false,
4074
+ "values": [
4075
+ "alternate",
4076
+ "right"
4077
+ ],
4078
+ "default": "\"alternate\""
4079
+ },
4080
+ "renderItem": {
4081
+ "type": "(item: StackedCardItem, index: number) => ReactNode",
4082
+ "required": false
4083
+ }
4084
+ }
4085
+ },
4086
+ "StatStrip": {
4087
+ "group": "motion",
4088
+ "import": "@dreamtree-org/twreact-ui/motion",
4089
+ "forwardRef": true,
4090
+ "props": {
4091
+ "items": {
4092
+ "type": "StatItem[]",
4093
+ "required": true,
4094
+ "default": "[]"
4095
+ },
4096
+ "variant": {
4097
+ "type": "enum",
4098
+ "required": false,
4099
+ "values": [
4100
+ "cards",
4101
+ "band"
4102
+ ],
4103
+ "default": "\"cards\""
4104
+ },
4105
+ "duration": {
4106
+ "type": "number",
4107
+ "required": false,
4108
+ "default": "1600"
4109
+ },
4110
+ "locale": {
4111
+ "type": "string",
4112
+ "required": false,
4113
+ "default": "\"en-IN\""
4114
+ }
4115
+ }
4116
+ },
3631
4117
  "Stepper": {
3632
4118
  "group": "utility",
3633
4119
  "import": "@dreamtree-org/twreact-ui",
@@ -4152,6 +4638,33 @@
4152
4638
  }
4153
4639
  }
4154
4640
  },
4641
+ "TestimonialSpotlight": {
4642
+ "group": "motion",
4643
+ "import": "@dreamtree-org/twreact-ui/motion",
4644
+ "forwardRef": true,
4645
+ "props": {
4646
+ "items": {
4647
+ "type": "TestimonialItem[]",
4648
+ "required": true,
4649
+ "default": "[]"
4650
+ },
4651
+ "autoplay": {
4652
+ "type": "number",
4653
+ "required": false,
4654
+ "default": "6000"
4655
+ },
4656
+ "grid": {
4657
+ "type": "boolean",
4658
+ "required": false,
4659
+ "default": "true"
4660
+ },
4661
+ "label": {
4662
+ "type": "string",
4663
+ "required": false,
4664
+ "default": "\"Testimonials\""
4665
+ }
4666
+ }
4667
+ },
4155
4668
  "TextToSpeech": {
4156
4669
  "group": "core",
4157
4670
  "import": "@dreamtree-org/twreact-ui",
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var cn = require('../_shared/cn-DPPQUJu1.js');
3
+ var cn = require('../_shared/cn-TMJ-_w1a.js');
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var React = require('react');
6
6
  var recharts = require('recharts');
7
+ var useReducedMotion = require('../_shared/useReducedMotion-B_PMM5ER.js');
7
8
  require('clsx');
8
9
  require('tailwind-merge');
9
10
 
@@ -181,77 +182,6 @@ var ChartFrame = /*#__PURE__*/React__default.default.forwardRef(function ChartFr
181
182
  }));
182
183
  });
183
184
 
184
- // Internal (not exported). SSR-safe media-query subscription.
185
- function getMediaQueryList(query) {
186
- if (typeof window === "undefined" || typeof window.matchMedia !== "function") return null;
187
- return window.matchMedia(query) || null;
188
- }
189
- /**
190
- * Subscribes `onChange` to a MediaQueryList's change events. Uses
191
- * `addEventListener` where available and falls back to the deprecated
192
- * `addListener` (Safari < 14). Returns the unsubscribe function.
193
- */
194
- function subscribeMediaQuery(query, onChange) {
195
- var mql = getMediaQueryList(query);
196
- if (!mql) return function () {};
197
- if (typeof mql.addEventListener === "function") {
198
- mql.addEventListener("change", onChange);
199
- return function () {
200
- var _mql$removeEventListe;
201
- return (_mql$removeEventListe = mql.removeEventListener) === null || _mql$removeEventListe === void 0 ? void 0 : _mql$removeEventListe.call(mql, "change", onChange);
202
- };
203
- }
204
- if (typeof mql.addListener === "function") {
205
- mql.addListener(onChange);
206
- return function () {
207
- var _mql$removeListener;
208
- return (_mql$removeListener = mql.removeListener) === null || _mql$removeListener === void 0 ? void 0 : _mql$removeListener.call(mql, onChange);
209
- };
210
- }
211
- return function () {};
212
- }
213
- /**
214
- * `true` while `query` matches; follows changes live.
215
- *
216
- * On the server (and while hydrating) it returns `defaultValue`, so server and
217
- * client markup agree; the real value is applied right after hydration. Without
218
- * `window.matchMedia` it always returns `defaultValue`.
219
- *
220
- * @param {string} query - a CSS media query, e.g. "(max-width: 639px)".
221
- * @param {{ defaultValue?: boolean }} [options]
222
- * @returns {boolean}
223
- */
224
- function useMediaQuery(query) {
225
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
226
- _ref$defaultValue = _ref.defaultValue,
227
- defaultValue = _ref$defaultValue === void 0 ? false : _ref$defaultValue;
228
- var subscribe = React.useCallback(function (onChange) {
229
- return subscribeMediaQuery(query, onChange);
230
- }, [query]);
231
- var getSnapshot = function getSnapshot() {
232
- var mql = getMediaQueryList(query);
233
- return mql ? Boolean(mql.matches) : defaultValue;
234
- };
235
- var getServerSnapshot = function getServerSnapshot() {
236
- return defaultValue;
237
- };
238
- return React.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
239
- }
240
-
241
- // Internal (not exported). Shared by the charts and the overlay primitives.
242
- var REDUCED_MOTION_QUERY = "(prefers-reduced-motion: reduce)";
243
- /**
244
- * `true` while the user asks the OS for reduced motion; follows changes live.
245
- * `false` on the server and while hydrating, so the first render matches.
246
- *
247
- * @returns {boolean}
248
- */
249
- function useReducedMotion() {
250
- return useMediaQuery(REDUCED_MOTION_QUERY, {
251
- defaultValue: false
252
- });
253
- }
254
-
255
185
  var CHART_PALETTES = ["primary", "secondary", "success", "warning", "error", "info", "gray"];
256
186
  var DEFAULT_CHART_COLORS = ["primary", "success", "warning", "error", "info", "secondary", "gray"];
257
187
  var TOKEN_RE = new RegExp("^(".concat(CHART_PALETTES.join("|"), ")(?:-(50|[1-9]00|950))?$"));
@@ -581,7 +511,7 @@ var CartesianChart = /*#__PURE__*/React__default.default.forwardRef(function Car
581
511
  var _useChartTheme = useChartTheme(categories, colors),
582
512
  chrome = _useChartTheme.chrome,
583
513
  series = _useChartTheme.series;
584
- var reducedMotion = useReducedMotion();
514
+ var reducedMotion = useReducedMotion.useReducedMotion();
585
515
  var chartId = useChartId();
586
516
  var Root = ROOTS[kind];
587
517
  var isHorizontalBars = kind === "bar" && horizontal;
@@ -786,7 +716,7 @@ var DonutChart = /*#__PURE__*/React__default.default.forwardRef(function (_ref,
786
716
  var _useChartTheme = useChartTheme(names, colors),
787
717
  chrome = _useChartTheme.chrome,
788
718
  series = _useChartTheme.series;
789
- var reducedMotion = useReducedMotion();
719
+ var reducedMotion = useReducedMotion.useReducedMotion();
790
720
  var chartId = useChartId();
791
721
  var slices = rows.map(function (row, i) {
792
722
  return cn._objectSpread2(cn._objectSpread2({}, row), {}, {
@@ -889,7 +819,7 @@ var Sparkline = /*#__PURE__*/React__default.default.forwardRef(function (_ref, r
889
819
  rest = cn._objectWithoutProperties(_ref, _excluded$1);
890
820
  var _useChartTheme = useChartTheme([category], [color]),
891
821
  series = _useChartTheme.series;
892
- var reducedMotion = useReducedMotion();
822
+ var reducedMotion = useReducedMotion.useReducedMotion();
893
823
  var chartId = useChartId();
894
824
  var stroke = series[0];
895
825
  var Root = type === "area" ? recharts.AreaChart : recharts.LineChart;
@@ -1105,7 +1035,7 @@ var ScatterChart = /*#__PURE__*/React__default.default.forwardRef(function Scatt
1105
1035
  var _useChartTheme = useChartTheme(names, colors),
1106
1036
  chrome = _useChartTheme.chrome,
1107
1037
  series = _useChartTheme.series;
1108
- var reducedMotion = useReducedMotion();
1038
+ var reducedMotion = useReducedMotion.useReducedMotion();
1109
1039
  var chartId = useChartId();
1110
1040
  var _useElementWidth = useElementWidth(),
1111
1041
  _useElementWidth2 = cn._slicedToArray(_useElementWidth, 2),