@mlw-packages/react-components 1.5.7 → 1.5.9

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/index.css CHANGED
@@ -463,6 +463,9 @@ body {
463
463
  .bottom-0 {
464
464
  bottom: 0px;
465
465
  }
466
+ .bottom-2 {
467
+ bottom: 0.5rem;
468
+ }
466
469
  .left-0 {
467
470
  left: 0px;
468
471
  }
@@ -937,14 +940,11 @@ body {
937
940
  .min-h-\[36px\] {
938
941
  min-height: 36px;
939
942
  }
940
- .min-h-\[44px\] {
941
- min-height: 44px;
942
- }
943
943
  .min-h-\[600px\] {
944
944
  min-height: 600px;
945
945
  }
946
- .min-h-\[60px\] {
947
- min-height: 60px;
946
+ .min-h-\[80px\] {
947
+ min-height: 80px;
948
948
  }
949
949
  .min-h-screen {
950
950
  min-height: 100vh;
@@ -1327,6 +1327,9 @@ body {
1327
1327
  -moz-user-select: all;
1328
1328
  user-select: all;
1329
1329
  }
1330
+ .resize {
1331
+ resize: both;
1332
+ }
1330
1333
  .list-inside {
1331
1334
  list-style-position: inside;
1332
1335
  }
@@ -1631,9 +1634,6 @@ body {
1631
1634
  .border-b {
1632
1635
  border-bottom-width: 1px;
1633
1636
  }
1634
- .border-b-2 {
1635
- border-bottom-width: 2px;
1636
- }
1637
1637
  .border-l {
1638
1638
  border-left-width: 1px;
1639
1639
  }
@@ -1743,6 +1743,9 @@ body {
1743
1743
  .bg-background {
1744
1744
  background-color: hsl(var(--background));
1745
1745
  }
1746
+ .bg-background\/50 {
1747
+ background-color: hsl(var(--background) / 0.5);
1748
+ }
1746
1749
  .bg-background\/80 {
1747
1750
  background-color: hsl(var(--background) / 0.8);
1748
1751
  }
@@ -1864,9 +1867,6 @@ body {
1864
1867
  .bg-primary\/20 {
1865
1868
  background-color: hsl(var(--primary) / 0.2);
1866
1869
  }
1867
- .bg-primary\/5 {
1868
- background-color: hsl(var(--primary) / 0.05);
1869
- }
1870
1870
  .bg-purple-500 {
1871
1871
  --tw-bg-opacity: 1;
1872
1872
  background-color: rgb(168 85 247 / var(--tw-bg-opacity, 1));
@@ -1945,12 +1945,27 @@ body {
1945
1945
  --tw-gradient-to: hsl(var(--primary) / 0) var(--tw-gradient-to-position);
1946
1946
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
1947
1947
  }
1948
+ .from-ring\/20 {
1949
+ --tw-gradient-from: hsl(var(--ring) / 0.2) var(--tw-gradient-from-position);
1950
+ --tw-gradient-to: hsl(var(--ring) / 0) var(--tw-gradient-to-position);
1951
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
1952
+ }
1953
+ .via-ring\/10 {
1954
+ --tw-gradient-to: hsl(var(--ring) / 0) var(--tw-gradient-to-position);
1955
+ --tw-gradient-stops:
1956
+ var(--tw-gradient-from),
1957
+ hsl(var(--ring) / 0.1) var(--tw-gradient-via-position),
1958
+ var(--tw-gradient-to);
1959
+ }
1948
1960
  .to-muted {
1949
1961
  --tw-gradient-to: hsl(var(--muted)) var(--tw-gradient-to-position);
1950
1962
  }
1951
1963
  .to-primary\/70 {
1952
1964
  --tw-gradient-to: hsl(var(--primary) / 0.7) var(--tw-gradient-to-position);
1953
1965
  }
1966
+ .to-ring\/20 {
1967
+ --tw-gradient-to: hsl(var(--ring) / 0.2) var(--tw-gradient-to-position);
1968
+ }
1954
1969
  .fill-current {
1955
1970
  fill: currentColor;
1956
1971
  }
@@ -2111,6 +2126,9 @@ body {
2111
2126
  .pl-8 {
2112
2127
  padding-left: 2rem;
2113
2128
  }
2129
+ .pr-10 {
2130
+ padding-right: 2.5rem;
2131
+ }
2114
2132
  .pr-2 {
2115
2133
  padding-right: 0.5rem;
2116
2134
  }
@@ -2323,6 +2341,12 @@ body {
2323
2341
  .text-muted-foreground\/40 {
2324
2342
  color: hsl(var(--muted-foreground) / 0.4);
2325
2343
  }
2344
+ .text-muted-foreground\/50 {
2345
+ color: hsl(var(--muted-foreground) / 0.5);
2346
+ }
2347
+ .text-muted-foreground\/70 {
2348
+ color: hsl(var(--muted-foreground) / 0.7);
2349
+ }
2326
2350
  .text-neutral-500 {
2327
2351
  --tw-text-opacity: 1;
2328
2352
  color: rgb(115 115 115 / var(--tw-text-opacity, 1));
@@ -2348,9 +2372,6 @@ body {
2348
2372
  .text-primary-foreground {
2349
2373
  color: hsl(var(--primary-foreground));
2350
2374
  }
2351
- .text-primary\/70 {
2352
- color: hsl(var(--primary) / 0.7);
2353
- }
2354
2375
  .text-red-500 {
2355
2376
  --tw-text-opacity: 1;
2356
2377
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
@@ -2594,6 +2615,10 @@ body {
2594
2615
  .ring-offset-background {
2595
2616
  --tw-ring-offset-color: hsl(var(--background));
2596
2617
  }
2618
+ .blur-sm {
2619
+ --tw-blur: blur(4px);
2620
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
2621
+ }
2597
2622
  .drop-shadow {
2598
2623
  --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
2599
2624
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
@@ -2781,9 +2806,6 @@ body {
2781
2806
  .ease-out {
2782
2807
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
2783
2808
  }
2784
- .animate-fade-in {
2785
- animation: fade-in 400ms ease-out;
2786
- }
2787
2809
  :root {
2788
2810
  --white: #ffffff;
2789
2811
  --purple: #8e68ff;
@@ -2964,6 +2986,12 @@ body {
2964
2986
  .placeholder\:text-muted-foreground::placeholder {
2965
2987
  color: hsl(var(--muted-foreground));
2966
2988
  }
2989
+ .placeholder\:text-muted-foreground\/60::-moz-placeholder {
2990
+ color: hsl(var(--muted-foreground) / 0.6);
2991
+ }
2992
+ .placeholder\:text-muted-foreground\/60::placeholder {
2993
+ color: hsl(var(--muted-foreground) / 0.6);
2994
+ }
2967
2995
  .after\:absolute::after {
2968
2996
  content: var(--tw-content);
2969
2997
  position: absolute;
@@ -2997,9 +3025,9 @@ body {
2997
3025
  content: var(--tw-content);
2998
3026
  height: 0.125rem;
2999
3027
  }
3000
- .after\:h-\[1\.5px\]::after {
3028
+ .after\:h-\[2px\]::after {
3001
3029
  content: var(--tw-content);
3002
- height: 1.5px;
3030
+ height: 2px;
3003
3031
  }
3004
3032
  .after\:w-\[2px\]::after {
3005
3033
  content: var(--tw-content);
@@ -3029,10 +3057,21 @@ body {
3029
3057
  transition-duration: 150ms;
3030
3058
  }
3031
3059
  .after\:duration-300::after {
3060
+ content: var(--tw-content);
3032
3061
  transition-duration: 300ms;
3062
+ }
3063
+ .after\:duration-500::after {
3064
+ content: var(--tw-content);
3065
+ transition-duration: 500ms;
3066
+ }
3067
+ .after\:duration-300::after {
3033
3068
  content: var(--tw-content);
3034
3069
  animation-duration: 300ms;
3035
3070
  }
3071
+ .after\:duration-500::after {
3072
+ content: var(--tw-content);
3073
+ animation-duration: 500ms;
3074
+ }
3036
3075
  .first\:rounded-l-md:first-child {
3037
3076
  border-top-left-radius: calc(var(--radius) - 2px);
3038
3077
  border-bottom-left-radius: calc(var(--radius) - 2px);
@@ -3087,6 +3126,9 @@ body {
3087
3126
  --tw-scale-y: 1.02;
3088
3127
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
3089
3128
  }
3129
+ .hover\:border-input\/80:hover {
3130
+ border-color: hsl(var(--input) / 0.8);
3131
+ }
3090
3132
  .hover\:border-primary\/30:hover {
3091
3133
  border-color: hsl(var(--primary) / 0.3);
3092
3134
  }
@@ -3325,6 +3367,9 @@ body {
3325
3367
  var(--tw-ring-shadow),
3326
3368
  var(--tw-shadow, 0 0 #0000);
3327
3369
  }
3370
+ .focus\:ring-destructive\/30:focus {
3371
+ --tw-ring-color: hsl(var(--destructive) / 0.3);
3372
+ }
3328
3373
  .focus\:ring-primary:focus {
3329
3374
  --tw-ring-color: hsl(var(--primary));
3330
3375
  }
@@ -3337,6 +3382,17 @@ body {
3337
3382
  .focus-visible\:border-ring:focus-visible {
3338
3383
  border-color: hsl(var(--ring));
3339
3384
  }
3385
+ .focus-visible\:bg-background:focus-visible {
3386
+ background-color: hsl(var(--background));
3387
+ }
3388
+ .focus-visible\:shadow-lg:focus-visible {
3389
+ --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
3390
+ --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
3391
+ box-shadow:
3392
+ var(--tw-ring-offset-shadow, 0 0 #0000),
3393
+ var(--tw-ring-shadow, 0 0 #0000),
3394
+ var(--tw-shadow);
3395
+ }
3340
3396
  .focus-visible\:outline-none:focus-visible {
3341
3397
  outline: 2px solid transparent;
3342
3398
  outline-offset: 2px;
@@ -3344,14 +3400,6 @@ body {
3344
3400
  .focus-visible\:outline-1:focus-visible {
3345
3401
  outline-width: 1px;
3346
3402
  }
3347
- .focus-visible\:ring-1:focus-visible {
3348
- --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
3349
- --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
3350
- box-shadow:
3351
- var(--tw-ring-offset-shadow),
3352
- var(--tw-ring-shadow),
3353
- var(--tw-shadow, 0 0 #0000);
3354
- }
3355
3403
  .focus-visible\:ring-2:focus-visible {
3356
3404
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
3357
3405
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
@@ -3386,6 +3434,9 @@ body {
3386
3434
  .focus-visible\:ring-ring:focus-visible {
3387
3435
  --tw-ring-color: hsl(var(--ring));
3388
3436
  }
3437
+ .focus-visible\:ring-ring\/30:focus-visible {
3438
+ --tw-ring-color: hsl(var(--ring) / 0.3);
3439
+ }
3389
3440
  .focus-visible\:ring-ring\/50:focus-visible {
3390
3441
  --tw-ring-color: hsl(var(--ring) / 0.5);
3391
3442
  }
@@ -3422,6 +3473,9 @@ body {
3422
3473
  .disabled\:cursor-not-allowed:disabled {
3423
3474
  cursor: not-allowed;
3424
3475
  }
3476
+ .disabled\:bg-muted\/30:disabled {
3477
+ background-color: hsl(var(--muted) / 0.3);
3478
+ }
3425
3479
  .disabled\:opacity-50:disabled {
3426
3480
  opacity: 0.5;
3427
3481
  }
@@ -4162,6 +4216,9 @@ body {
4162
4216
  --tw-bg-opacity: 1;
4163
4217
  background-color: hsl(231 15% 19% / var(--tw-bg-opacity, 1));
4164
4218
  }
4219
+ .dark\:bg-background:is(.dark *) {
4220
+ background-color: hsl(var(--background));
4221
+ }
4165
4222
  .dark\:bg-background\/60:is(.dark *) {
4166
4223
  background-color: hsl(var(--background) / 0.6);
4167
4224
  }
@@ -4258,8 +4315,8 @@ body {
4258
4315
  .dark\:hover\:bg-accent\/50:hover:is(.dark *) {
4259
4316
  background-color: hsl(var(--accent) / 0.5);
4260
4317
  }
4261
- .dark\:hover\:bg-input\/50:hover:is(.dark *) {
4262
- background-color: hsl(var(--input) / 0.5);
4318
+ .dark\:hover\:bg-background\/95:hover:is(.dark *) {
4319
+ background-color: hsl(var(--background) / 0.95);
4263
4320
  }
4264
4321
  .dark\:hover\:bg-slate-50:hover:is(.dark *) {
4265
4322
  --tw-bg-opacity: 1;
@@ -4324,9 +4381,6 @@ body {
4324
4381
  .sm\:min-h-\[40px\] {
4325
4382
  min-height: 40px;
4326
4383
  }
4327
- .sm\:min-h-\[48px\] {
4328
- min-height: 48px;
4329
- }
4330
4384
  .sm\:w-12 {
4331
4385
  width: 3rem;
4332
4386
  }
@@ -4402,10 +4456,6 @@ body {
4402
4456
  padding-left: 0.75rem;
4403
4457
  padding-right: 0.75rem;
4404
4458
  }
4405
- .sm\:px-4 {
4406
- padding-left: 1rem;
4407
- padding-right: 1rem;
4408
- }
4409
4459
  .sm\:px-6 {
4410
4460
  padding-left: 1.5rem;
4411
4461
  padding-right: 1.5rem;
@@ -4468,8 +4518,8 @@ body {
4468
4518
  .md\:grid-cols-2 {
4469
4519
  grid-template-columns: repeat(2, minmax(0, 1fr));
4470
4520
  }
4471
- .md\:grid-cols-4 {
4472
- grid-template-columns: repeat(4, minmax(0, 1fr));
4521
+ .md\:grid-cols-5 {
4522
+ grid-template-columns: repeat(5, minmax(0, 1fr));
4473
4523
  }
4474
4524
  .md\:flex-row {
4475
4525
  flex-direction: row;
package/dist/index.d.mts CHANGED
@@ -376,10 +376,22 @@ type TestIdProps = {
376
376
  };
377
377
  declare const PopoverContentBase: React$1.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & TestIdProps & React$1.RefAttributes<HTMLDivElement>>;
378
378
 
379
+ /**
380
+ * Tipos disponíveis de progresso
381
+ */
382
+ type ProgressType = "bar" | "segments" | "panels" | "circles";
379
383
  interface ProgressBaseProps extends React$1.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root> {
384
+ /** Tipo de visualização do progresso */
385
+ variant?: ProgressType;
380
386
  label?: string;
381
387
  leftIcon?: React$1.ReactNode;
382
388
  rightIcon?: React$1.ReactNode;
389
+ /** Número de segmentos (usado quando variant="segments") */
390
+ segments?: number;
391
+ /** Array de etapas (usado quando variant="panels" ou "circles") */
392
+ steps?: string[];
393
+ /** Índice da etapa atual (usado quando variant="panels" ou "circles") */
394
+ currentStep?: number;
383
395
  }
384
396
  declare const ProgressBase: React$1.ForwardRefExoticComponent<ProgressBaseProps & React$1.RefAttributes<HTMLDivElement>>;
385
397
  interface ProgressSegmentsBaseProps {
@@ -550,7 +562,11 @@ declare const TabsListBase: React$1.ForwardRefExoticComponent<Omit<TabsPrimitive
550
562
  declare const TabsTriggerBase: React$1.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
551
563
  declare const TabsContentBase: React$1.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
552
564
 
553
- declare const TextAreaBase: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "ref"> & React$1.RefAttributes<HTMLTextAreaElement>>;
565
+ interface TextAreaBaseProps extends React$1.ComponentProps<"textarea"> {
566
+ clearable?: boolean;
567
+ onClear?: () => void;
568
+ }
569
+ declare const TextAreaBase: React$1.ForwardRefExoticComponent<Omit<TextAreaBaseProps, "ref"> & React$1.RefAttributes<HTMLTextAreaElement>>;
554
570
 
555
571
  type Theme = "light" | "light-purple" | "light-green" | "light-blue" | "dark" | "dark-purple" | "dark-green" | "dark-blue" | "system";
556
572
  type ThemeProviderProps = {
@@ -570,6 +586,16 @@ type ModeToggleBaseProps = {
570
586
  };
571
587
  declare function ModeToggleBase({ themes, }: ModeToggleBaseProps): react_jsx_runtime.JSX.Element;
572
588
 
589
+ interface DestructiveDialogProps {
590
+ title: string;
591
+ description: string;
592
+ onConfirm: () => void;
593
+ onCancel?: () => void;
594
+ children?: React$1.ReactNode;
595
+ triggerContent?: React$1.ReactNode;
596
+ }
597
+ declare const DestructiveDialog: React$1.FC<DestructiveDialogProps>;
598
+
573
599
  interface DateTimePickerProps {
574
600
  label?: string;
575
601
  date: Date | undefined;
@@ -695,15 +721,186 @@ interface SelectPropsWithGroupItems<T extends string> extends DefaultSelectProps
695
721
  type SelectProps<T extends string> = SelectPropsWithItems<T> | SelectPropsWithGroupItems<T>;
696
722
  declare function Select<T extends string>({ items, groupItems, placeholder, onChange, errorMessage, testIds, }: SelectProps<T>): react_jsx_runtime.JSX.Element;
697
723
 
698
- interface DestructiveDialogProps {
699
- title: string;
700
- description: string;
701
- onConfirm: () => void;
702
- onCancel?: () => void;
703
- children?: React$1.ReactNode;
704
- triggerContent?: React$1.ReactNode;
724
+ interface ChartData {
725
+ [key: string]: string | number | boolean | null | undefined;
705
726
  }
706
- declare const DestructiveDialog: React$1.FC<DestructiveDialogProps>;
727
+ interface XAxisConfig$1 {
728
+ dataKey: string;
729
+ label?: string;
730
+ formatter?: (value: string | number) => string;
731
+ autoLabel?: boolean;
732
+ }
733
+ type SeriesProp = {
734
+ bar?: string[];
735
+ line?: string[];
736
+ area?: string[];
737
+ };
738
+ interface ChartProps {
739
+ data: ChartData[];
740
+ series?: SeriesProp;
741
+ className?: string;
742
+ chartMargin?: Partial<{
743
+ top: number;
744
+ right: number;
745
+ left: number;
746
+ bottom: number;
747
+ }>;
748
+ height?: number;
749
+ width?: number | string;
750
+ colors?: string[];
751
+ gridColor?: string;
752
+ showGrid?: boolean;
753
+ showTooltip?: boolean;
754
+ showLegend?: boolean;
755
+ title?: string;
756
+ titlePosition?: "left" | "center" | "right";
757
+ showLabels?: boolean;
758
+ labelMap?: Record<string, string>;
759
+ xAxis?: XAxisConfig$1 | string;
760
+ enableHighlights?: boolean;
761
+ enableShowOnly?: boolean;
762
+ enablePeriodsDropdown?: boolean;
763
+ enableDraggableTooltips?: boolean;
764
+ showTooltipTotal?: boolean;
765
+ maxTooltips?: number;
766
+ }
767
+ declare const Chart: React__default.FC<ChartProps>;
768
+
769
+ declare const formatFieldName: (fieldName: string) => string;
770
+ declare const detectDataFields: (data: Record<string, unknown>[], xAxisKey: string) => string[];
771
+ declare const detectXAxis: (data: Record<string, unknown>[]) => string;
772
+ declare const generateAdditionalColors: (baseColors: string[], count: number) => string[];
773
+ declare const niceCeil: (value: number) => number;
774
+ declare const compactTick: (value: number) => string;
775
+ type Padding = number | Partial<{
776
+ left: number;
777
+ right: number;
778
+ top: number;
779
+ bottom: number;
780
+ }>;
781
+ type Margins = Partial<{
782
+ top: number;
783
+ right: number;
784
+ left: number;
785
+ bottom: number;
786
+ }>;
787
+ declare const resolveContainerPaddingLeft: (padding?: Padding, containerPaddingLeft?: number, defaultLeft?: number) => number;
788
+ declare const resolveChartMargins: (margins?: Margins, chartMargins?: Margins, showLabels?: boolean) => {
789
+ top: number;
790
+ right: number;
791
+ left: number;
792
+ bottom: number;
793
+ };
794
+
795
+ type Variant = "filled" | "outline" | "soft";
796
+ type LabelRendererProps = {
797
+ x?: number | string;
798
+ y?: number | string;
799
+ value?: number | string;
800
+ index?: number;
801
+ payload?: unknown;
802
+ width?: number | string;
803
+ height?: number | string;
804
+ viewBox?: {
805
+ x?: number;
806
+ y?: number;
807
+ width?: number;
808
+ height?: number;
809
+ } | Record<string, unknown> | undefined;
810
+ cx?: number | string;
811
+ cy?: number | string;
812
+ };
813
+ declare const renderPillLabel: (color: string, variant: Variant) => (props: LabelRendererProps) => react_jsx_runtime.JSX.Element;
814
+
815
+ interface BarChartData {
816
+ [key: string]: string | number | boolean | null | undefined;
817
+ }
818
+ interface XAxisConfig {
819
+ dataKey: string;
820
+ label?: string;
821
+ formatter?: (value: string | number) => string;
822
+ autoLabel?: boolean;
823
+ }
824
+ interface DataMapper {
825
+ [dataKey: string]: {
826
+ label?: string;
827
+ formatter?: (value: string | number) => string | number;
828
+ color?: string;
829
+ type?: "number" | "string" | "auto";
830
+ visible?: boolean;
831
+ };
832
+ }
833
+ interface BarChartProps {
834
+ data: BarChartData[];
835
+ className?: string;
836
+ padding?: Padding;
837
+ margins?: Margins;
838
+ containerPaddingLeft?: number;
839
+ chartMargins?: Margins;
840
+ height?: number;
841
+ width?: number | string;
842
+ colors?: string[];
843
+ gridColor?: string;
844
+ showGrid?: boolean;
845
+ showTooltip?: boolean;
846
+ showLegend?: boolean;
847
+ title?: string;
848
+ titlePosition?: "left" | "center" | "right";
849
+ showLabels?: boolean;
850
+ labelMap?: Record<string, string>;
851
+ xAxis?: XAxisConfig | string;
852
+ mapper?: DataMapper | string[];
853
+ yAxis?: DataMapper | string[];
854
+ autoDetect?: boolean;
855
+ }
856
+ declare const BarChart: React__default.FC<BarChartProps>;
857
+
858
+ interface LineChartData {
859
+ name: string;
860
+ [key: string]: string | number;
861
+ }
862
+ interface CustomLineChartProps {
863
+ data?: LineChartData[];
864
+ className?: string;
865
+ padding?: Padding;
866
+ margins?: Margins;
867
+ containerPaddingLeft?: number;
868
+ chartMargins?: Margins;
869
+ height?: number;
870
+ width?: number | string;
871
+ colors?: string[];
872
+ gridColor?: string;
873
+ showGrid?: boolean;
874
+ showTooltip?: boolean;
875
+ showLegend?: boolean;
876
+ title?: string;
877
+ titlePosition?: "left" | "center" | "right";
878
+ strokeWidth?: number;
879
+ showDots?: boolean;
880
+ showLabels?: boolean;
881
+ }
882
+ declare const CustomLineChart: React__default.FC<CustomLineChartProps>;
883
+
884
+ interface PieChartData {
885
+ name: string;
886
+ value: number;
887
+ [key: string]: string | number;
888
+ }
889
+ interface CustomPieChartProps {
890
+ data?: PieChartData[];
891
+ className?: string;
892
+ height?: number;
893
+ width?: number | string;
894
+ colors?: string[];
895
+ showTooltip?: boolean;
896
+ showLegend?: boolean;
897
+ showLabels?: boolean;
898
+ innerRadius?: number;
899
+ outerRadius?: number;
900
+ centerX?: string | number;
901
+ centerY?: string | number;
902
+ }
903
+ declare const CustomPieChart: React__default.FC<CustomPieChartProps>;
707
904
 
708
905
  interface Props$4 {
709
906
  processedData: Array<{
@@ -819,51 +1016,16 @@ interface Props {
819
1016
  }
820
1017
  declare const TooltipSimple: React__default.FC<Props>;
821
1018
 
822
- declare const formatFieldName: (fieldName: string) => string;
823
- declare const detectDataFields: (data: Record<string, unknown>[], xAxisKey: string) => string[];
824
- declare const detectXAxis: (data: Record<string, unknown>[]) => string;
825
- declare const generateAdditionalColors: (baseColors: string[], count: number) => string[];
826
- declare const niceCeil: (value: number) => number;
827
- declare const compactTick: (value: number) => string;
828
- type Padding = number | Partial<{
829
- left: number;
830
- right: number;
831
- top: number;
832
- bottom: number;
833
- }>;
834
- type Margins = Partial<{
835
- top: number;
836
- right: number;
837
- left: number;
838
- bottom: number;
839
- }>;
840
- declare const resolveContainerPaddingLeft: (padding?: Padding, containerPaddingLeft?: number, defaultLeft?: number) => number;
841
- declare const resolveChartMargins: (margins?: Margins, chartMargins?: Margins, showLabels?: boolean) => {
842
- top: number;
843
- right: number;
844
- left: number;
845
- bottom: number;
846
- };
847
-
848
- type Variant = "filled" | "outline" | "soft";
849
- type LabelRendererProps = {
850
- x?: number | string;
851
- y?: number | string;
852
- value?: number | string;
853
- index?: number;
854
- payload?: unknown;
855
- width?: number | string;
856
- height?: number | string;
857
- viewBox?: {
858
- x?: number;
859
- y?: number;
860
- width?: number;
861
- height?: number;
862
- } | Record<string, unknown> | undefined;
863
- cx?: number | string;
864
- cy?: number | string;
865
- };
866
- declare const renderPillLabel: (color: string, variant: Variant) => (props: LabelRendererProps) => react_jsx_runtime.JSX.Element;
1019
+ interface UseChartHighlightsReturn {
1020
+ highlightedSeries: Set<string>;
1021
+ showOnlyHighlighted: boolean;
1022
+ toggleHighlight: (key: string) => void;
1023
+ setShowOnlyHighlighted: (show: boolean) => void;
1024
+ clearHighlights: () => void;
1025
+ getSeriesStyle: (key: string) => React.CSSProperties;
1026
+ isHighlighted: (key: string) => boolean;
1027
+ }
1028
+ declare const useChartHighlights: () => UseChartHighlightsReturn;
867
1029
 
868
1030
  declare function useIsMobile(): boolean;
869
1031
 
@@ -884,4 +1046,4 @@ declare const useDrag: (options?: UseDragOptions) => {
884
1046
  isDragging: boolean;
885
1047
  };
886
1048
 
887
- export { AlertDialogActionBase, AlertDialogBase, AlertDialogCancelBase, AlertDialogContentBase, AlertDialogDescriptionBase, AlertDialogFooterBase, AlertDialogHeaderBase, AlertDialogOverlayBase, AlertDialogPortalBase, AlertDialogTitleBase, AlertDialogTriggerBase, AvatarBase, AvatarFallbackBase, AvatarImageBase, BadgeBase, BreadcrumbBase, BreadcrumbEllipsisBase, BreadcrumbItemBase, BreadcrumbLinkBase, BreadcrumbListBase, BreadcrumbPageBase, BreadcrumbSeparatorBase, ButtonBase, ButtonGroupBase, type ButtonProps, CalendarBase, type CalendarProps, CardBase, CardContentBase, CardDescriptionBase, CardFooterBase, CardHeaderBase, CardTitleBase, type CarouselApi, CarouselBase, CarouselContentBase, CarouselItemBase, CarouselNextBase, CarouselPrevious, CheckboxBase, CloseAllButton, CollapsibleBase, CollapsibleContentBase, CollapsibleTriggerBase, Combobox, type ComboboxProps, type ComboboxTestIds, CommandBase, CommandDialogBase, CommandEmptyBase, CommandGroupBase, CommandInputBase, CommandItemBase, CommandListBase, CommandSeparatorBase, CommandShortcutBase, ContextMenuBase, ContextMenuCheckboxItemBase, ContextMenuContentBase, ContextMenuGroupBase, ContextMenuItemBase, ContextMenuLabelBase, ContextMenuPortalBase, ContextMenuRadioGroupBase, ContextMenuRadioItemBase, ContextMenuSeparatorBase, ContextMenuShortcutBase, ContextMenuSubBase, ContextMenuSubContentBase, ContextMenuSubTriggerBase, ContextMenuTriggerBase, DateTimePicker, DestructiveDialog, DialogBase, DialogCloseBase, DialogContentBase, DialogDescriptionBase, DialogFooterBase, DialogHeaderBase, DialogOverlayBase, DialogPortalBase, DialogTitleBase, DialogTriggerBase, DraggableTooltip, DrawerBase, DrawerCloseBase, DrawerContentBase, DrawerDescriptionBase, DrawerFooterBase, DrawerHeaderBase, DrawerOverlayBase, DrawerPortalBase, DrawerTitleBase, DrawerTriggerBase, DropDownMenuBase, DropDownMenuCheckboxItemBase, DropDownMenuContentBase, DropDownMenuGroupBase, DropDownMenuItemBase, DropDownMenuLabelBase, DropDownMenuPortalBase, DropDownMenuRadioGroupBase, DropDownMenuRadioItemBase, DropDownMenuSeparatorBase, DropDownMenuShortcutBase, DropDownMenuSubBase, DropDownMenuSubContentBase, DropDownMenuSubTriggerBase, DropDownMenuTriggerBase, Highlights, HoverCardBase, HoverCardContentBase, HoverCardTriggerBase, InputBase, type InputBaseProps, InputOTPBase, InputOTPGroupBase, InputOTPSeparatorBase, InputOTPSlotBase, LabelBase, LoadingBase, type Margins, ModeToggleBase, MultiCombobox, NavigationMenuBase, NavigationMenuContentBase, NavigationMenuIndicatorBase, NavigationMenuItemBase, NavigationMenuLinkBase, NavigationMenuListBase, NavigationMenuTriggerBase, NavigationMenuViewportBase, type Padding, PeriodsDropdown, PopoverAnchorBase, PopoverBase, PopoverContentBase, PopoverTriggerBase, ProgressBase, type ProgressBaseProps, ProgressCirclesBase, type ProgressCirclesBaseProps, ProgressPanelsBase, type ProgressPanelsBaseProps, ProgressSegmentsBase, type ProgressSegmentsBaseProps, ScrollAreaBase, ScrollBarBase, Select, SelectBase, SelectContentBase, SelectGroupBase, type SelectItem, SelectItemBase, SelectLabelBase, SelectScrollDownButtonBase, SelectScrollUpButtonBase, SelectSeparatorBase, SelectTriggerBase, SelectValueBase, SeparatorBase, SheetBase, SheetCloseBase, SheetContentBase, SheetDescriptionBase, SheetFooterBase, SheetHeaderBase, SheetOverlayBase, SheetPortalBase, SheetTitleBase, SheetTriggerBase, ShowOnly, SidebarBase, SidebarContentBase, SidebarFooterBase, SidebarGroupActionBase, SidebarGroupBase, SidebarGroupContentBase, SidebarGroupLabelBase, SidebarHeaderBase, SidebarInputBase, SidebarInsetBase, SidebarMenuActionBase, SidebarMenuBadgeBase, SidebarMenuBase, SidebarMenuButtonBase, SidebarMenuItemBase, SidebarMenuSkeletonBase, SidebarMenuSubBase, SidebarMenuSubButtonBase, SidebarMenuSubItemBase, SidebarProviderBase, SidebarRailBase, SidebarSeparatorBase, SidebarTriggerBase, SkeletonBase, SlideBase, type SliderBaseProps, SwitchBase, TableBase, TableBodyBase, TableCaptionBase, TableCellBase, TableFooterBase, TableHeadBase, TableHeaderBase, TableRowBase, TabsBase, TabsContentBase, TabsListBase, TabsTriggerBase, TextAreaBase, type Theme, ThemeProviderBase, TimePicker, TimePickerInput, type TimePickerInputProps, Toaster, TooltipBase, TooltipContentBase, TooltipProviderBase, TooltipSimple, TooltipTriggerBase, RechartTooltipWithTotal as TooltipWithTotal, UseSideBarBase, badgeVariants, buttonVariantsBase, compactTick, detectDataFields, detectXAxis, formatFieldName, generateAdditionalColors, niceCeil, renderPillLabel, resolveChartMargins, resolveContainerPaddingLeft, toast, useDrag, useIsMobile, useTheme };
1049
+ export { AlertDialogActionBase, AlertDialogBase, AlertDialogCancelBase, AlertDialogContentBase, AlertDialogDescriptionBase, AlertDialogFooterBase, AlertDialogHeaderBase, AlertDialogOverlayBase, AlertDialogPortalBase, AlertDialogTitleBase, AlertDialogTriggerBase, AvatarBase, AvatarFallbackBase, AvatarImageBase, BadgeBase, BarChart, BreadcrumbBase, BreadcrumbEllipsisBase, BreadcrumbItemBase, BreadcrumbLinkBase, BreadcrumbListBase, BreadcrumbPageBase, BreadcrumbSeparatorBase, ButtonBase, ButtonGroupBase, type ButtonProps, CalendarBase, type CalendarProps, CardBase, CardContentBase, CardDescriptionBase, CardFooterBase, CardHeaderBase, CardTitleBase, type CarouselApi, CarouselBase, CarouselContentBase, CarouselItemBase, CarouselNextBase, CarouselPrevious, Chart, CheckboxBase, CloseAllButton, CollapsibleBase, CollapsibleContentBase, CollapsibleTriggerBase, Combobox, type ComboboxProps, type ComboboxTestIds, CommandBase, CommandDialogBase, CommandEmptyBase, CommandGroupBase, CommandInputBase, CommandItemBase, CommandListBase, CommandSeparatorBase, CommandShortcutBase, ContextMenuBase, ContextMenuCheckboxItemBase, ContextMenuContentBase, ContextMenuGroupBase, ContextMenuItemBase, ContextMenuLabelBase, ContextMenuPortalBase, ContextMenuRadioGroupBase, ContextMenuRadioItemBase, ContextMenuSeparatorBase, ContextMenuShortcutBase, ContextMenuSubBase, ContextMenuSubContentBase, ContextMenuSubTriggerBase, ContextMenuTriggerBase, DateTimePicker, DestructiveDialog, DialogBase, DialogCloseBase, DialogContentBase, DialogDescriptionBase, DialogFooterBase, DialogHeaderBase, DialogOverlayBase, DialogPortalBase, DialogTitleBase, DialogTriggerBase, DraggableTooltip, DrawerBase, DrawerCloseBase, DrawerContentBase, DrawerDescriptionBase, DrawerFooterBase, DrawerHeaderBase, DrawerOverlayBase, DrawerPortalBase, DrawerTitleBase, DrawerTriggerBase, DropDownMenuBase, DropDownMenuCheckboxItemBase, DropDownMenuContentBase, DropDownMenuGroupBase, DropDownMenuItemBase, DropDownMenuLabelBase, DropDownMenuPortalBase, DropDownMenuRadioGroupBase, DropDownMenuRadioItemBase, DropDownMenuSeparatorBase, DropDownMenuShortcutBase, DropDownMenuSubBase, DropDownMenuSubContentBase, DropDownMenuSubTriggerBase, DropDownMenuTriggerBase, Highlights, HoverCardBase, HoverCardContentBase, HoverCardTriggerBase, InputBase, type InputBaseProps, InputOTPBase, InputOTPGroupBase, InputOTPSeparatorBase, InputOTPSlotBase, LabelBase, CustomLineChart as LineChart, LoadingBase, type Margins, ModeToggleBase, MultiCombobox, NavigationMenuBase, NavigationMenuContentBase, NavigationMenuIndicatorBase, NavigationMenuItemBase, NavigationMenuLinkBase, NavigationMenuListBase, NavigationMenuTriggerBase, NavigationMenuViewportBase, type Padding, PeriodsDropdown, CustomPieChart as PieChart, PopoverAnchorBase, PopoverBase, PopoverContentBase, PopoverTriggerBase, ProgressBase, type ProgressBaseProps, ProgressCirclesBase, type ProgressCirclesBaseProps, ProgressPanelsBase, type ProgressPanelsBaseProps, ProgressSegmentsBase, type ProgressSegmentsBaseProps, type ProgressType, ScrollAreaBase, ScrollBarBase, Select, SelectBase, SelectContentBase, SelectGroupBase, type SelectItem, SelectItemBase, SelectLabelBase, SelectScrollDownButtonBase, SelectScrollUpButtonBase, SelectSeparatorBase, SelectTriggerBase, SelectValueBase, SeparatorBase, SheetBase, SheetCloseBase, SheetContentBase, SheetDescriptionBase, SheetFooterBase, SheetHeaderBase, SheetOverlayBase, SheetPortalBase, SheetTitleBase, SheetTriggerBase, ShowOnly, SidebarBase, SidebarContentBase, SidebarFooterBase, SidebarGroupActionBase, SidebarGroupBase, SidebarGroupContentBase, SidebarGroupLabelBase, SidebarHeaderBase, SidebarInputBase, SidebarInsetBase, SidebarMenuActionBase, SidebarMenuBadgeBase, SidebarMenuBase, SidebarMenuButtonBase, SidebarMenuItemBase, SidebarMenuSkeletonBase, SidebarMenuSubBase, SidebarMenuSubButtonBase, SidebarMenuSubItemBase, SidebarProviderBase, SidebarRailBase, SidebarSeparatorBase, SidebarTriggerBase, SkeletonBase, SlideBase, type SliderBaseProps, SwitchBase, TableBase, TableBodyBase, TableCaptionBase, TableCellBase, TableFooterBase, TableHeadBase, TableHeaderBase, TableRowBase, TabsBase, TabsContentBase, TabsListBase, TabsTriggerBase, TextAreaBase, type TextAreaBaseProps, type Theme, ThemeProviderBase, TimePicker, TimePickerInput, type TimePickerInputProps, Toaster, TooltipBase, TooltipContentBase, TooltipProviderBase, TooltipSimple, TooltipTriggerBase, RechartTooltipWithTotal as TooltipWithTotal, UseSideBarBase, badgeVariants, buttonVariantsBase, compactTick, detectDataFields, detectXAxis, formatFieldName, generateAdditionalColors, niceCeil, renderPillLabel, resolveChartMargins, resolveContainerPaddingLeft, toast, useChartHighlights, useDrag, useIsMobile, useTheme };