pixel-react-excel-sheet 1.0.30 → 1.0.31

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.
@@ -21,6 +21,7 @@ type BarChartProps = {
21
21
  backgroundColor?: string;
22
22
  legendPosition?: 'top' | 'bottom';
23
23
  legendGap?: number;
24
+ onSelectedBar?: (_label: string) => void;
24
25
  };
25
26
  declare const BarChart: React.FC<BarChartProps>;
26
27
  export default BarChart;
@@ -173,7 +173,7 @@ interface MenuOptionProps {
173
173
  * @optional
174
174
  */
175
175
  optionCardVariant?: 'primary';
176
- targetRef?: React.RefObject<HTMLElement>;
176
+ targetRef?: string | React.RefObject<HTMLElement>;
177
177
  }
178
178
  interface OptionProps {
179
179
  /**
@@ -5,7 +5,8 @@ export interface PopUpModalProps {
5
5
  titleMessage: string;
6
6
  subTitleMessage?: string;
7
7
  iconName: string;
8
- modalMessage: string;
8
+ modalMessage: string | React.ReactNode;
9
+ secondaryMessage?: string | React.ReactNode;
9
10
  firstButtonLabel?: string;
10
11
  secondButtonLabel: string;
11
12
  buttonVariant: any;
@@ -2,9 +2,15 @@ export interface CardProps {
2
2
  /** The icon to display in the card */
3
3
  icon: string;
4
4
  /** The status of the card (Passed, Failed, Warning, Skipped, Flaky) */
5
- status: 'Passed' | 'Failed' | 'Warning' | 'Skipped' | 'Flaky';
5
+ status: 'Passed' | 'Failed' | 'Warning' | 'Skipped' | 'Flaky' | 'PASSED' | 'FAIL' | 'WARNING' | 'SKIPPED' | 'FLAKY';
6
6
  /** The number displayed in the card */
7
7
  count: number | string;
8
8
  /** The description text displayed at the bottom of the card */
9
9
  text: string;
10
+ /** Inline Styling */
11
+ style?: React.CSSProperties;
12
+ /** toggle update */
13
+ handleToggleStatus?: (_status: boolean) => void;
14
+ /** call back */
15
+ onSelectedStatus?: (_status: string) => void;
10
16
  }
package/lib/index.d.ts CHANGED
@@ -949,7 +949,7 @@ interface MenuOptionProps {
949
949
  * @optional
950
950
  */
951
951
  optionCardVariant?: 'primary';
952
- targetRef?: React.RefObject<HTMLElement>;
952
+ targetRef?: string | React.RefObject<HTMLElement>;
953
953
  }
954
954
 
955
955
  declare const MenuOption: ({ labelName, iconName, tooltipTitle, tooltipPlacement, options, onClick, onOptionClick, iconButtonSize, iconButtonBorderRadius, iconSize, variant, zIndex, dropdownPlacement, optionCardVariant, targetRef, }: MenuOptionProps) => react_jsx_runtime.JSX.Element;
@@ -2471,11 +2471,17 @@ interface CardProps {
2471
2471
  /** The icon to display in the card */
2472
2472
  icon: string;
2473
2473
  /** The status of the card (Passed, Failed, Warning, Skipped, Flaky) */
2474
- status: 'Passed' | 'Failed' | 'Warning' | 'Skipped' | 'Flaky';
2474
+ status: 'Passed' | 'Failed' | 'Warning' | 'Skipped' | 'Flaky' | 'PASSED' | 'FAIL' | 'WARNING' | 'SKIPPED' | 'FLAKY';
2475
2475
  /** The number displayed in the card */
2476
2476
  count: number | string;
2477
2477
  /** The description text displayed at the bottom of the card */
2478
2478
  text: string;
2479
+ /** Inline Styling */
2480
+ style?: React.CSSProperties;
2481
+ /** toggle update */
2482
+ handleToggleStatus?: (_status: boolean) => void;
2483
+ /** call back */
2484
+ onSelectedStatus?: (_status: string) => void;
2479
2485
  }
2480
2486
 
2481
2487
  declare const StatusCard: React__default.FC<CardProps>;
@@ -2822,6 +2828,7 @@ type BarChartProps = {
2822
2828
  backgroundColor?: string;
2823
2829
  legendPosition?: 'top' | 'bottom';
2824
2830
  legendGap?: number;
2831
+ onSelectedBar?: (_label: string) => void;
2825
2832
  };
2826
2833
  declare const BarChart: React__default.FC<BarChartProps>;
2827
2834
 
@@ -2921,7 +2928,8 @@ interface PopUpModalProps {
2921
2928
  titleMessage: string;
2922
2929
  subTitleMessage?: string;
2923
2930
  iconName: string;
2924
- modalMessage: string;
2931
+ modalMessage: string | React.ReactNode;
2932
+ secondaryMessage?: string | React.ReactNode;
2925
2933
  firstButtonLabel?: string;
2926
2934
  secondButtonLabel: string;
2927
2935
  buttonVariant: any;
package/lib/index.esm.js CHANGED
@@ -3266,8 +3266,14 @@ const MenuOption = ({
3266
3266
  closeDropDown();
3267
3267
  };
3268
3268
  const calculateDims = () => {
3269
- if (targetRef?.current) {
3270
- const rect = targetRef.current.getBoundingClientRect();
3269
+ let targetElement = null;
3270
+ if (typeof targetRef === 'string') {
3271
+ targetElement = document.getElementById(targetRef);
3272
+ } else if (targetRef && targetRef.current) {
3273
+ targetElement = targetRef.current;
3274
+ }
3275
+ if (targetElement) {
3276
+ const rect = targetElement.getBoundingClientRect();
3271
3277
  setMenuPosition({
3272
3278
  top: rect.top + window.scrollY,
3273
3279
  left: rect.left + window.scrollX,
@@ -9777,9 +9783,7 @@ const Search = ({
9777
9783
  };
9778
9784
  const handleChange = data => {
9779
9785
  setSearchValue(data);
9780
- if (data === '') {
9781
- onSearch('');
9782
- }
9786
+ onSearch(data);
9783
9787
  };
9784
9788
  return jsxs("div", {
9785
9789
  className: classNames('ff-search-container', {
@@ -23880,7 +23884,7 @@ const Paper = ({
23880
23884
  });
23881
23885
  };
23882
23886
 
23883
- var css_248z$B = ".fontXs, .ff-dashboard-donut-chart-section .ff-legend-table .ff-table-header, .ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-name,\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-percentage,\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-count {\n font-family: \"Poppins\";\n font-size: 10px;\n}\n\n.fontSm {\n font-family: \"Poppins\";\n font-size: 12px;\n}\n\n.fontMd, .ff-dashboard-donut-chart-section .ff-dashboard-donut-chart-svg-container svg text:nth-of-type(2) {\n font-family: \"Poppins\";\n font-size: 14px;\n}\n\n.fontLg {\n font-family: \"Poppins\";\n font-size: 16px;\n}\n\n.fontXL {\n font-family: \"Poppins\";\n font-size: 18px;\n}\n\n.font2Xl, .ff-dashboard-donut-chart-section .ff-dashboard-donut-chart-svg-container svg text:nth-of-type(1) {\n font-family: \"Poppins\";\n font-size: 24px;\n}\n\n.font-size-8 {\n font-family: \"Poppins\";\n font-size: 8px;\n}\n\n.font-size-20 {\n font-family: \"Poppins\";\n font-size: 20px;\n}\n\n.font-size-32 {\n font-family: \"Poppins\";\n font-size: 32px;\n}\n\n.font-size-80 {\n font-family: \"Poppins\";\n font-size: 80px;\n}\n\n.ff-dashboard-donut-chart-section {\n display: flex;\n align-items: center;\n}\n.ff-dashboard-donut-chart-section.legend-position-bottom {\n flex-direction: column;\n}\n.ff-dashboard-donut-chart-section.legend-position-left {\n flex-direction: row-reverse;\n}\n.ff-dashboard-donut-chart-section-table-legend {\n flex-direction: row;\n}\n.ff-dashboard-donut-chart-section .ff-dashboard-donut-chart-svg-container {\n text-align: center;\n}\n.ff-dashboard-donut-chart-section .ff-dashboard-donut-chart-svg-container svg {\n display: block;\n}\n.ff-dashboard-donut-chart-section .ff-dashboard-donut-chart-svg-container svg text:nth-of-type(1) {\n font-weight: 600;\n}\n.ff-dashboard-donut-chart-section .ff-dashboard-donut-chart-svg-container svg text:nth-of-type(2) {\n font-weight: 500;\n}\n.ff-dashboard-donut-chart-section .ff-dashboard-donut-chart-svg-container .ff-donut-chart-tooltip {\n position: absolute;\n padding: 5px;\n border-radius: 4px;\n pointer-events: none;\n background-color: var(--tooltip-bg-color);\n color: var(--tooltip-text-color);\n}\n.ff-dashboard-donut-chart-section .ff-legend-container {\n display: grid;\n grid-auto-rows: 1fr;\n}\n.ff-dashboard-donut-chart-section .ff-legend-container.ff-number-legend {\n grid-template-columns: repeat(3, 100px);\n}\n.ff-dashboard-donut-chart-section .ff-legend-container.ff-number-legend.ff-side-legend {\n grid-template-columns: repeat(2, 100px);\n}\n.ff-dashboard-donut-chart-section .ff-legend-container.ff-number-legend .ff-legend-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.ff-dashboard-donut-chart-section .ff-legend-container.ff-pill-legend {\n grid-template-columns: repeat(2, 130px);\n}\n.ff-dashboard-donut-chart-section .ff-legend-container.ff-pill-legend .ff-legend-item {\n display: flex;\n align-items: center;\n}\n.ff-dashboard-donut-chart-section .ff-legend-container.ff-pill-legend .ff-legend-item .ff-legend-capsule {\n background-color: var(--status-success-text-color);\n color: var(--tooltip-text-color);\n border-radius: 15px;\n min-width: 25px;\n height: 18px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.ff-dashboard-donut-chart-section .ff-legend-container.ff-pill-legend .ff-legend-item .ff-legend-key {\n margin-left: 8px;\n}\n.ff-dashboard-donut-chart-section .ff-legend-container.ff-memory-legend {\n grid-template-columns: repeat(3, 100px);\n}\n.ff-dashboard-donut-chart-section .ff-legend-container.ff-memory-legend.ff-side-legend {\n grid-template-columns: repeat(2, 100px);\n}\n.ff-dashboard-donut-chart-section .ff-legend-container.ff-memory-legend .ff-legend-item {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n}\n.ff-dashboard-donut-chart-section .ff-legend-table-wrapper {\n overflow: hidden;\n border: 1px solid var(--border-color);\n border-radius: 4px;\n margin-left: 1rem;\n}\n.ff-dashboard-donut-chart-section .ff-legend-table {\n width: 100%;\n min-width: 300px;\n border-collapse: collapse;\n text-align: left;\n}\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-table-header {\n font-weight: bold;\n background-color: var(--tabs-bg-color);\n color: var(--input-hover-border-color);\n padding: 0.5rem;\n}\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-table-header:last-child {\n text-align: right;\n padding-right: 10px;\n}\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-table-header:nth-last-child(2) {\n width: 58px;\n}\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-capsule {\n background-color: var(--status-success-text-color);\n color: var(--tooltip-text-color);\n border-radius: 1rem;\n min-width: 22px;\n height: 16px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-name,\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-percentage,\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-count {\n padding: 0.5rem;\n color: var(--input-hover-border-color);\n}\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-name:last-child,\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-percentage:last-child,\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-count:last-child {\n padding-right: 22px;\n}\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-name {\n display: flex;\n align-items: baseline;\n gap: 5px;\n color: var(--input-hover-border-color);\n}\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-count {\n text-align: right;\n}";
23887
+ var css_248z$B = ".fontXs, .ff-dashboard-donut-chart-section .ff-legend-table .ff-table-header, .ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-name,\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-percentage,\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-count {\n font-family: \"Poppins\";\n font-size: 10px;\n}\n\n.fontSm {\n font-family: \"Poppins\";\n font-size: 12px;\n}\n\n.fontMd, .ff-dashboard-donut-chart-section .ff-dashboard-donut-chart-svg-container svg text:nth-of-type(2) {\n font-family: \"Poppins\";\n font-size: 14px;\n}\n\n.fontLg {\n font-family: \"Poppins\";\n font-size: 16px;\n}\n\n.fontXL {\n font-family: \"Poppins\";\n font-size: 18px;\n}\n\n.font2Xl, .ff-dashboard-donut-chart-section .ff-dashboard-donut-chart-svg-container svg text:nth-of-type(1) {\n font-family: \"Poppins\";\n font-size: 24px;\n}\n\n.font-size-8 {\n font-family: \"Poppins\";\n font-size: 8px;\n}\n\n.font-size-20 {\n font-family: \"Poppins\";\n font-size: 20px;\n}\n\n.font-size-32 {\n font-family: \"Poppins\";\n font-size: 32px;\n}\n\n.font-size-80 {\n font-family: \"Poppins\";\n font-size: 80px;\n}\n\n.ff-dashboard-donut-chart-section {\n display: flex;\n align-items: center;\n}\n.ff-dashboard-donut-chart-section.legend-position-bottom {\n flex-direction: column;\n}\n.ff-dashboard-donut-chart-section.legend-position-left {\n flex-direction: row-reverse;\n}\n.ff-dashboard-donut-chart-section-table-legend {\n flex-direction: row;\n}\n.ff-dashboard-donut-chart-section .ff-dashboard-donut-chart-svg-container {\n text-align: center;\n}\n.ff-dashboard-donut-chart-section .ff-dashboard-donut-chart-svg-container svg {\n display: block;\n}\n.ff-dashboard-donut-chart-section .ff-dashboard-donut-chart-svg-container svg text:nth-of-type(1) {\n font-weight: 600;\n}\n.ff-dashboard-donut-chart-section .ff-dashboard-donut-chart-svg-container svg text:nth-of-type(2) {\n font-weight: 500;\n}\n.ff-dashboard-donut-chart-section .ff-dashboard-donut-chart-svg-container .ff-donut-chart-tooltip {\n position: absolute;\n padding: 5px;\n border-radius: 4px;\n pointer-events: none;\n background-color: var(--tooltip-bg-color);\n color: var(--tooltip-text-color);\n}\n.ff-dashboard-donut-chart-section .ff-legend-container {\n display: grid;\n grid-auto-rows: 1fr;\n}\n.ff-dashboard-donut-chart-section .ff-legend-container.ff-number-legend {\n grid-template-columns: repeat(3, 100px);\n}\n.ff-dashboard-donut-chart-section .ff-legend-container.ff-number-legend.ff-side-legend {\n grid-template-columns: repeat(2, 100px);\n}\n.ff-dashboard-donut-chart-section .ff-legend-container.ff-number-legend .ff-legend-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.ff-dashboard-donut-chart-section .ff-legend-container.ff-pill-legend {\n grid-template-columns: repeat(2, 130px);\n}\n.ff-dashboard-donut-chart-section .ff-legend-container.ff-pill-legend .ff-legend-item {\n display: flex;\n align-items: center;\n}\n.ff-dashboard-donut-chart-section .ff-legend-container.ff-pill-legend .ff-legend-item .ff-legend-capsule {\n background-color: var(--status-success-text-color);\n color: var(--tooltip-text-color);\n border-radius: 15px;\n min-width: 25px;\n height: 18px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.ff-dashboard-donut-chart-section .ff-legend-container.ff-pill-legend .ff-legend-item .ff-legend-key {\n margin-left: 8px;\n}\n.ff-dashboard-donut-chart-section .ff-legend-container.ff-memory-legend {\n grid-template-columns: repeat(3, 100px);\n}\n.ff-dashboard-donut-chart-section .ff-legend-container.ff-memory-legend.ff-side-legend {\n grid-template-columns: repeat(2, 100px);\n}\n.ff-dashboard-donut-chart-section .ff-legend-container.ff-memory-legend .ff-legend-item {\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n}\n.ff-dashboard-donut-chart-section .ff-legend-table-wrapper {\n overflow: hidden;\n border: 1px solid var(--border-color);\n border-radius: 4px;\n margin-left: 1rem;\n}\n.ff-dashboard-donut-chart-section .ff-legend-table {\n width: 100%;\n min-width: 300px;\n border-collapse: collapse;\n text-align: left;\n}\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-table-thead {\n position: static;\n top: auto;\n}\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-table-header {\n font-weight: bold;\n background-color: var(--tabs-bg-color);\n color: var(--input-hover-border-color);\n padding: 0.5rem;\n}\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-table-header:last-child {\n text-align: right;\n padding-right: 10px;\n}\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-table-header:nth-last-child(2) {\n width: 58px;\n}\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-capsule {\n background-color: var(--status-success-text-color);\n color: var(--tooltip-text-color);\n border-radius: 1rem;\n min-width: 22px;\n height: 16px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-name,\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-percentage,\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-count {\n padding: 0.5rem;\n color: var(--input-hover-border-color);\n}\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-name:last-child,\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-percentage:last-child,\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-count:last-child {\n padding-right: 22px;\n}\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-name {\n display: flex;\n align-items: baseline;\n gap: 5px;\n color: var(--input-hover-border-color);\n}\n.ff-dashboard-donut-chart-section .ff-legend-table .ff-legend-item .ff-legend-count {\n text-align: right;\n}";
23884
23888
  styleInject(css_248z$B);
23885
23889
 
23886
23890
  const calculateArc$2 = (x, y, radius, startAngle, endAngle) => {
@@ -24124,6 +24128,7 @@ const DashboardDonutChart = ({
24124
24128
  children: jsxs("table", {
24125
24129
  className: "ff-legend-table",
24126
24130
  children: [jsx("thead", {
24131
+ className: 'ff-legend-table-thead',
24127
24132
  children: jsxs("tr", {
24128
24133
  children: [jsx("th", {
24129
24134
  className: "ff-table-header",
@@ -27323,7 +27328,8 @@ const Toastify = () => {
27323
27328
  isOpen: toastProps.isOpen,
27324
27329
  variant: toastProps.variant,
27325
27330
  toastTitle: toastProps.toastTitle,
27326
- toastMessage: toastProps.toastMessage
27331
+ toastMessage: toastProps.toastMessage,
27332
+ zIndex: 1000000000
27327
27333
  });
27328
27334
  };
27329
27335
  // Utility to trigger toast messages outside of the Toastify component
@@ -32293,6 +32299,8 @@ const ExcelToolBar = ({
32293
32299
  textAlign: 'center'
32294
32300
  };
32295
32301
  const [cellStyle, setCellStyle] = useState(cell?.style || basicStyle);
32302
+ const underLineMenuRef = useRef(null);
32303
+ const borderMenuRef = useRef(null);
32296
32304
  useEffect(() => {
32297
32305
  setCellStyle(cell?.style || basicStyle);
32298
32306
  }, [cell]);
@@ -32547,18 +32555,22 @@ const ExcelToolBar = ({
32547
32555
  disabled: toolbar === 'disable',
32548
32556
  onClick: () => setUnderlineType(data, underLine, true),
32549
32557
  name: getUnderlineIcon()
32550
- }), jsx(MenuOption, {
32551
- iconName: "arrow_down",
32552
- zIndex: 1000,
32553
- iconSize: 12,
32554
- options: underlineTypeIcon,
32555
- tooltipPlacement: "top",
32556
- variant: "light",
32557
- onOptionClick: e => {
32558
- let selectedValue = e.value;
32559
- setUnderlineType(data, selectedValue, true);
32560
- setUnderLine(selectedValue);
32561
- }
32558
+ }), jsx("span", {
32559
+ ref: underLineMenuRef,
32560
+ children: jsx(MenuOption, {
32561
+ targetRef: underLineMenuRef,
32562
+ iconName: "arrow_down",
32563
+ zIndex: 1000,
32564
+ iconSize: 12,
32565
+ options: underlineTypeIcon,
32566
+ tooltipPlacement: "top",
32567
+ variant: "light",
32568
+ onOptionClick: e => {
32569
+ let selectedValue = e.value;
32570
+ setUnderlineType(data, selectedValue, true);
32571
+ setUnderLine(selectedValue);
32572
+ }
32573
+ })
32562
32574
  })]
32563
32575
  })
32564
32576
  })]
@@ -32629,18 +32641,22 @@ const ExcelToolBar = ({
32629
32641
  disabled: toolbar === 'disable',
32630
32642
  onClick: () => setBorderType(data, border, 'black'),
32631
32643
  name: getBorderIcon()
32632
- }), jsx(MenuOption, {
32633
- iconName: "arrow_down",
32634
- iconSize: 12,
32635
- zIndex: 1000,
32636
- options: borderTypeIcon,
32637
- tooltipPlacement: "top",
32638
- variant: "light",
32639
- onOptionClick: e => {
32640
- let selectedValue = e.value;
32641
- setBorderType(data, selectedValue, 'black');
32642
- setBorder(selectedValue);
32643
- }
32644
+ }), jsx("span", {
32645
+ ref: borderMenuRef,
32646
+ children: jsx(MenuOption, {
32647
+ iconName: "arrow_down",
32648
+ targetRef: borderMenuRef,
32649
+ iconSize: 12,
32650
+ zIndex: 1000,
32651
+ options: borderTypeIcon,
32652
+ tooltipPlacement: "top",
32653
+ variant: "light",
32654
+ onOptionClick: e => {
32655
+ let selectedValue = e.value;
32656
+ setBorderType(data, selectedValue, 'black');
32657
+ setBorder(selectedValue);
32658
+ }
32659
+ })
32644
32660
  })]
32645
32661
  })
32646
32662
  })
@@ -33607,17 +33623,28 @@ const AttachImage = ({
33607
33623
  });
33608
33624
  };
33609
33625
 
33610
- var css_248z$f = ".ff-card-container {\n width: 120px;\n height: 93px;\n display: flex;\n align-items: center;\n border: 1px solid var(--border-color);\n border-radius: 4px;\n overflow: hidden;\n cursor: pointer;\n}\n.ff-card-container:hover.passed {\n border-color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container:hover.failed {\n border-color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container:hover.warning {\n border-color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container:hover.skipped {\n border-color: var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container:hover.flaky {\n border-color: var(--ff-card-flaky-status-bg-color);\n}\n.ff-card-container .ff-status-bar {\n width: 24px;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: start;\n align-items: center;\n border-right: 1px solid var(--border-color);\n gap: 30px;\n}\n.ff-card-container .ff-status-bar .ff-status-text {\n transform: rotate(-90deg);\n transform-origin: center;\n display: inline-block;\n}\n.ff-card-container.passed .ff-status-bar {\n background-color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.failed .ff-status-bar {\n background-color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.warning .ff-status-bar {\n background-color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.skipped .ff-status-bar {\n background-color: var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container.flaky .ff-status-bar {\n background-color: var(--ff-card-flaky-status-bg-color);\n}\n.ff-card-container .ff-content {\n flex: 1;\n padding: 8px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n.ff-card-container .ff-content .ff-number {\n margin-bottom: 4px;\n color: inherit;\n}\n.ff-card-container.passed .ff-number {\n color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.failed .ff-number {\n color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.warning .ff-number {\n color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.skipped .ff-number {\n color: var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container.flaky .ff-number {\n color: var(--ff-card-flaky-status-bg-color);\n}";
33626
+ var css_248z$f = ".ff-card-container {\n height: 78px;\n display: flex;\n align-items: center;\n border: 1px solid var(--border-color);\n border-radius: 4px;\n overflow: hidden;\n cursor: pointer;\n}\n.ff-card-container:hover.passed {\n border-color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container:hover.failed {\n border-color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container:hover.warning {\n border-color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container:hover.skipped {\n border-color: var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container:hover.flaky {\n border-color: var(--ff-card-flaky-status-bg-color);\n}\n.ff-card-container .ff-status-bar {\n width: 12%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: start;\n align-items: center;\n border-right: 1px solid var(--border-color);\n gap: 17px;\n}\n.ff-card-container .ff-status-bar .ff-status-text {\n transform: rotate(-90deg);\n transform-origin: center;\n display: inline-block;\n}\n.ff-card-container.passed .ff-status-bar {\n background-color: var(--ff-card-passed-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.failed .ff-status-bar {\n background-color: var(--ff-card-failed-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.warning .ff-status-bar {\n background-color: var(--ff-card-warning-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.skipped .ff-status-bar {\n background-color: var(--ff-card-skipped-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container.flaky .ff-status-bar {\n background-color: var(--ff-card-flaky-status-bg-color);\n color: var(--base-bg-color);\n}\n.ff-card-container .ff-content {\n flex: 1;\n padding: 8px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n.ff-card-container .ff-content .ff-number {\n margin-bottom: 4px;\n color: inherit;\n}\n.ff-card-container.passed .ff-number {\n color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.failed .ff-number {\n color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.warning .ff-number {\n color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.skipped .ff-number {\n color: var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container.flaky .ff-number {\n color: var(--ff-card-flaky-status-bg-color);\n}\n.ff-card-container.toggled.passed .ff-status-bar {\n background-color: var(--base-bg-color);\n color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.toggled.failed .ff-status-bar {\n background-color: var(--base-bg-color);\n color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.toggled.warning .ff-status-bar {\n background-color: var(--base-bg-color);\n color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.toggled.skipped .ff-status-bar {\n background-color: var(--base-bg-color);\n color: var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container.toggled.flaky .ff-status-bar {\n background-color: var(--base-bg-color);\n color: var(--ff-card-flaky-status-bg-color);\n}\n.ff-card-container.toggled.passed .ff-content {\n background-color: var(--ff-card-passed-status-bg-color);\n}\n.ff-card-container.toggled.failed .ff-content {\n background-color: var(--ff-card-failed-status-bg-color);\n}\n.ff-card-container.toggled.warning .ff-content {\n background-color: var(--ff-card-warning-status-bg-color);\n}\n.ff-card-container.toggled.skipped .ff-content {\n background-color: var(--ff-card-skipped-status-bg-color);\n}\n.ff-card-container.toggled.flaky .ff-content {\n background-color: var(--ff-card-flaky-status-bg-color);\n}";
33611
33627
  styleInject(css_248z$f);
33612
33628
 
33613
33629
  const StatusCard = ({
33614
33630
  icon,
33615
33631
  status,
33616
33632
  count,
33617
- text
33633
+ text,
33634
+ style = {
33635
+ width: '196.4px'
33636
+ },
33637
+ onSelectedStatus = _status => {}
33618
33638
  }) => {
33639
+ const [isToggled, setIsToggled] = useState(false);
33640
+ const handleSelectStatus = status => {
33641
+ setIsToggled(true);
33642
+ onSelectedStatus(status);
33643
+ };
33619
33644
  return jsxs("div", {
33620
- className: `ff-card-container ${status.toLowerCase()}`,
33645
+ className: `ff-card-container ${status.toLowerCase()} ${isToggled ? 'toggled' : ''}`,
33646
+ style: style,
33647
+ onClick: () => handleSelectStatus(status),
33621
33648
  children: [jsxs("div", {
33622
33649
  className: "ff-status-bar",
33623
33650
  children: [jsx("div", {
@@ -33630,7 +33657,6 @@ const StatusCard = ({
33630
33657
  }), jsx(Typography, {
33631
33658
  fontWeight: "semi-bold",
33632
33659
  fontSize: "10px",
33633
- color: "var(--ff-status-card-text-color)",
33634
33660
  textAlign: "center",
33635
33661
  lineHeight: "15px",
33636
33662
  className: "ff-status-text",
@@ -33644,13 +33670,14 @@ const StatusCard = ({
33644
33670
  fontSize: "24px",
33645
33671
  className: "ff-number",
33646
33672
  lineHeight: "36px",
33673
+ color: isToggled ? 'var(--base-bg-color)' : '',
33647
33674
  children: count
33648
33675
  }), jsx(Typography, {
33649
33676
  fontWeight: "regular",
33650
33677
  fontSize: "10px",
33651
33678
  className: "ff-text",
33652
33679
  lineHeight: "15px",
33653
- color: "var(--ff-card-status-text-color)",
33680
+ color: isToggled ? 'var(--base-bg-color)' : 'var(--ff-card-status-text-color)',
33654
33681
  children: text
33655
33682
  })]
33656
33683
  })]
@@ -39711,7 +39738,8 @@ const BarChart = ({
39711
39738
  icons = [],
39712
39739
  iconSize,
39713
39740
  legendPosition = 'bottom',
39714
- legendGap = 5
39741
+ legendGap = 5,
39742
+ onSelectedBar = _label => {}
39715
39743
  }) => {
39716
39744
  const [tooltip, setTooltip] = useState({
39717
39745
  visible: false,
@@ -39769,6 +39797,9 @@ const BarChart = ({
39769
39797
  borderColor: 'transparent'
39770
39798
  });
39771
39799
  };
39800
+ const handleSelectLabel = label => {
39801
+ onSelectedBar(label);
39802
+ };
39772
39803
  return jsxs("div", {
39773
39804
  className: "ff-bar-chart-container",
39774
39805
  style: {
@@ -39843,7 +39874,8 @@ const BarChart = ({
39843
39874
  ry: barBorderRadius,
39844
39875
  onMouseEnter: e => handleMouseEnter(e, item.label, item.value, getBorderColor(index)),
39845
39876
  onMouseMove: handleMouseMove,
39846
- onMouseLeave: handleMouseLeave
39877
+ onMouseLeave: handleMouseLeave,
39878
+ onClick: () => handleSelectLabel(item.label)
39847
39879
  }), showXAxisLabels && jsx("text", {
39848
39880
  x: barX + barWidth / 2,
39849
39881
  y: height + topPadding + 15,