sag_components 2.0.0-beta127 → 2.0.0-beta129

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.esm.js CHANGED
@@ -54,7 +54,7 @@ const ButtonItem = styled.div`
54
54
  transition: background-color 0.3s, color 0.3s;
55
55
  }
56
56
  `;
57
- const Label$a = styled.label`
57
+ const Label$b = styled.label`
58
58
  font-family: "Poppins";
59
59
  font-size: 14px;
60
60
  font-weight: 400;
@@ -526,7 +526,7 @@ const Button$1 = props => {
526
526
  onMouseEnter: () => setHover(true),
527
527
  onMouseLeave: () => setHover(false),
528
528
  borderRadius: borderRadius
529
- }, commonProps), getIcon(leftIcon), /*#__PURE__*/React$1.createElement(Label$a, {
529
+ }, commonProps), getIcon(leftIcon), /*#__PURE__*/React$1.createElement(Label$b, {
530
530
  className: "Label",
531
531
  disabled: disabled
532
532
  }, text), getIcon(rightIcon)));
@@ -2968,7 +2968,7 @@ const LinkButtonItem = styled.div`
2968
2968
  transition: background-color 0.3s, color 0.3s;
2969
2969
  }
2970
2970
  `;
2971
- const Label$9 = styled.label`
2971
+ const Label$a = styled.label`
2972
2972
  user-select: none;
2973
2973
  pointer-events: none;
2974
2974
  `;
@@ -3231,7 +3231,7 @@ const LinkButton = _ref => {
3231
3231
  disabled: disabled,
3232
3232
  text_color: textColor || (type === 'secondary' ? '#212121' : '#229E38'),
3233
3233
  font_size: size === 'small' ? '14px' : '16px'
3234
- }, getLeftIcon(), /*#__PURE__*/React$1.createElement(Label$9, {
3234
+ }, getLeftIcon(), /*#__PURE__*/React$1.createElement(Label$a, {
3235
3235
  className: "Label",
3236
3236
  disabled: disabled,
3237
3237
  font_size: size === 'small' ? '14px' : '16px'
@@ -3640,7 +3640,7 @@ const Body = styled.div`
3640
3640
  border-radius: ${props => props.setBackground ? '12px' : '0'};
3641
3641
  box-shadow: ${props => props.setBackground ? '0px 0px 20px 0px rgba(0, 0, 0, 0.10)' : 'unset'};
3642
3642
  `;
3643
- const Label$8 = styled.div`
3643
+ const Label$9 = styled.div`
3644
3644
  font-size: 12px;
3645
3645
  font-weight: 400;
3646
3646
  padding: 8px;
@@ -3891,7 +3891,7 @@ const TabMenu = props => {
3891
3891
  hoverBorderColor: buttonHoverColor
3892
3892
  })), showActions && /*#__PURE__*/React$1.createElement(ActionsWrapper, {
3893
3893
  className: "ActionsWrapper"
3894
- }, showLabel && /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(Label$8, {
3894
+ }, showLabel && /*#__PURE__*/React$1.createElement(React$1.Fragment, null, /*#__PURE__*/React$1.createElement(Label$9, {
3895
3895
  className: "Label"
3896
3896
  }, /*#__PURE__*/React$1.createElement("span", null, "Platform: "), "Total"), /*#__PURE__*/React$1.createElement("span", {
3897
3897
  className: "separator"
@@ -8525,7 +8525,7 @@ const DropdownWrapper$2 = styled.div`
8525
8525
  pointer-events: none;
8526
8526
  }
8527
8527
  `;
8528
- const Label$7 = styled.label`
8528
+ const Label$8 = styled.label`
8529
8529
  font-size: ${props => props.isFocused || props.hasValue ? '14px' : '14px'};
8530
8530
  font-weight: 400;
8531
8531
  padding-inline-end: 5px;
@@ -8847,7 +8847,7 @@ const DropdownSingleNew = ({
8847
8847
  disabled: disabled,
8848
8848
  error: error,
8849
8849
  onClick: handleLabelClick
8850
- }, /*#__PURE__*/React$1.createElement(Label$7, {
8850
+ }, /*#__PURE__*/React$1.createElement(Label$8, {
8851
8851
  className: "Label",
8852
8852
  isFocused: isFocused,
8853
8853
  labelColor: labelColor,
@@ -8984,7 +8984,7 @@ const DropdownWrapper$1 = styled.div`
8984
8984
  pointer-events: none;
8985
8985
  }
8986
8986
  `;
8987
- const Label$6 = styled.label`
8987
+ const Label$7 = styled.label`
8988
8988
  font-size: ${props => props.isFocused || props.hasValue ? '14px' : '14px'};
8989
8989
  font-weight: 400;
8990
8990
  padding-inline-end: 5px;
@@ -9355,7 +9355,7 @@ const DropdownMultiNew = ({
9355
9355
  disabled: disabled,
9356
9356
  error: error,
9357
9357
  onClick: handleLabelClick
9358
- }, /*#__PURE__*/React$1.createElement(Label$6, {
9358
+ }, /*#__PURE__*/React$1.createElement(Label$7, {
9359
9359
  className: "Label",
9360
9360
  isFocused: isFocused,
9361
9361
  labelColor: labelColor,
@@ -23787,7 +23787,7 @@ const QuickFilterInput = styled.div`
23787
23787
  font-size: 14px;
23788
23788
  border-radius: 8px;
23789
23789
  `;
23790
- const Label$5 = styled.label`
23790
+ const Label$6 = styled.label`
23791
23791
  font-size: 14px;
23792
23792
  font-weight: 500;
23793
23793
  color: ${props => props.disabled ? '#D0D0D0' : '212121'};
@@ -24035,7 +24035,7 @@ const QuickFilterDropdownSingle = _ref => {
24035
24035
  disabled: disabled,
24036
24036
  error: error,
24037
24037
  onClick: handleLabelClick
24038
- }, /*#__PURE__*/React$1.createElement(Label$5, {
24038
+ }, /*#__PURE__*/React$1.createElement(Label$6, {
24039
24039
  className: "Label",
24040
24040
  isFocused: isFocused,
24041
24041
  labelColor: labelColor,
@@ -24142,7 +24142,7 @@ const DropdownWrapper = styled.div`
24142
24142
  font-size: 14px;
24143
24143
  border-radius: 10px;
24144
24144
  `;
24145
- const Label$4 = styled.label`
24145
+ const Label$5 = styled.label`
24146
24146
  font-size: ${props => props.isFocused || props.hasValue ? '14px' : '14px'};
24147
24147
  font-weight: 400;
24148
24148
  padding-inline-end: 5px;
@@ -24499,7 +24499,7 @@ const QuickFilterDropdownMultiSelection = _ref => {
24499
24499
  disabled: disabled,
24500
24500
  error: error,
24501
24501
  onClick: handleLabelClick
24502
- }, /*#__PURE__*/React$1.createElement(Label$4, {
24502
+ }, /*#__PURE__*/React$1.createElement(Label$5, {
24503
24503
  className: "Label",
24504
24504
  isFocused: isFocused,
24505
24505
  labelColor: labelColor,
@@ -29095,7 +29095,7 @@ const Controls$5 = styled.div`
29095
29095
  display: flex;
29096
29096
  align-items: center;
29097
29097
  `;
29098
- const Label$3 = styled.div`
29098
+ const Label$4 = styled.div`
29099
29099
  display: flex;
29100
29100
  padding: 0 10px 0 10px;
29101
29101
  white-space: nowrap;
@@ -29175,7 +29175,7 @@ const CheckBox = props => {
29175
29175
  width: iconSize,
29176
29176
  height: iconSize,
29177
29177
  color: disabled ? colorDisabled : colorUnchecked
29178
- })), /*#__PURE__*/React$1.createElement(Label$3, {
29178
+ })), /*#__PURE__*/React$1.createElement(Label$4, {
29179
29179
  className: "Label",
29180
29180
  "data-testid": "label"
29181
29181
  }, label)));
@@ -34339,7 +34339,7 @@ const Modal = styled.div`
34339
34339
  display: flex;
34340
34340
  gap: 20px;
34341
34341
  padding: 20px;
34342
- margin-top: 40px;
34342
+ margin-top: -30px;
34343
34343
  flex-direction: column;
34344
34344
  background-color: white;
34345
34345
  border-radius: 12px;
@@ -35189,7 +35189,7 @@ const MainContainer = styled.div`
35189
35189
  padding: 0;
35190
35190
  cursor: ${props => props.disabled ? 'not-allowed' : 'default'};
35191
35191
  `;
35192
- const Label$2 = styled.label`
35192
+ const Label$3 = styled.label`
35193
35193
 
35194
35194
  font-size: ${props => props.isFocused || props.hasValue ? '14px' : '14px'};
35195
35195
  font-weight: 400;
@@ -35411,7 +35411,7 @@ const Input$2 = _ref => {
35411
35411
  error: error,
35412
35412
  onClick: handleLabelClick,
35413
35413
  size: size
35414
- }, /*#__PURE__*/React$1.createElement(Label$2, {
35414
+ }, /*#__PURE__*/React$1.createElement(Label$3, {
35415
35415
  className: "Label",
35416
35416
  isFocused: isFocused,
35417
35417
  labelColor: labelColor,
@@ -36665,7 +36665,7 @@ const FieldRow$1 = styled.div`
36665
36665
  justify-content: center;
36666
36666
  padding: 16px;
36667
36667
  `;
36668
- const Label$1 = styled.label`
36668
+ const Label$2 = styled.label`
36669
36669
  color: #222;
36670
36670
  display: flex;
36671
36671
  align-items: center;
@@ -36755,7 +36755,7 @@ const RangePop = props => {
36755
36755
  e.preventDefault();
36756
36756
  if (isValid) onApply(fields);
36757
36757
  }
36758
- }, /*#__PURE__*/React$1.createElement(RadioWrapper, null, radioOptions.map((option, idx) => /*#__PURE__*/React$1.createElement(Label$1, {
36758
+ }, /*#__PURE__*/React$1.createElement(RadioWrapper, null, radioOptions.map((option, idx) => /*#__PURE__*/React$1.createElement(Label$2, {
36759
36759
  key: option
36760
36760
  }, /*#__PURE__*/React$1.createElement(Radio, {
36761
36761
  type: "radio",
@@ -36768,7 +36768,7 @@ const RangePop = props => {
36768
36768
  }
36769
36769
  }), option))), /*#__PURE__*/React$1.createElement(FieldRow$1, null, params.map((param, idx) => /*#__PURE__*/React$1.createElement(React$1.Fragment, {
36770
36770
  key: param.label
36771
- }, /*#__PURE__*/React$1.createElement(Label$1, {
36771
+ }, /*#__PURE__*/React$1.createElement(Label$2, {
36772
36772
  htmlFor: `param-${idx}`
36773
36773
  }, param.label), /*#__PURE__*/React$1.createElement(Input$1, {
36774
36774
  id: `param-${idx}`,
@@ -36779,7 +36779,7 @@ const RangePop = props => {
36779
36779
  onBlur: () => handleBlur(idx),
36780
36780
  min: 0,
36781
36781
  max: param.type === 'percent' ? 100 : undefined
36782
- }))), /*#__PURE__*/React$1.createElement(Label$1, null, paramType)), /*#__PURE__*/React$1.createElement(Actions$1, null, /*#__PURE__*/React$1.createElement(ClearButton, {
36782
+ }))), /*#__PURE__*/React$1.createElement(Label$2, null, paramType)), /*#__PURE__*/React$1.createElement(Actions$1, null, /*#__PURE__*/React$1.createElement(ClearButton, {
36783
36783
  type: "button",
36784
36784
  onClick: () => {
36785
36785
  setFields(params.map(() => ''));
@@ -37542,94 +37542,170 @@ const TableHeader = ({
37542
37542
 
37543
37543
  // Shared tooltip styles
37544
37544
  const tooltipStyles = css`
37545
- /* CSS-only tooltip */
37546
- &[data-tooltip]:hover::before {
37547
- content: attr(data-tooltip);
37548
- position: fixed;
37549
- background-color: white;
37550
- color: #333;
37551
- padding: 10px 16px;
37552
- border-radius: 4px;
37553
- font-family: 'Poppins', sans-serif;
37554
- font-size: 14px;
37555
- font-weight: 400;
37556
- z-index: 1000;
37557
- pointer-events: none;
37558
- width: 200px;
37559
- white-space: pre-wrap;
37560
- word-wrap: break-word;
37561
- line-height: 1.8;
37562
- box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.15);
37563
-
37564
- /* Position above the element - using dynamic offset */
37565
- top: calc(var(--tooltip-top, 0px) - var(--tooltip-offset, 60px));
37566
- left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2);
37567
- transform: translateX(-50%);
37568
-
37569
- /* Add delay */
37570
- opacity: 0;
37571
- animation: showTooltip 0.3s ease-in-out 0.5s forwards;
37545
+ /* CSS-only tooltip */
37546
+ &[data-tooltip]:hover::before {
37547
+ content: attr(data-tooltip);
37548
+ position: fixed;
37549
+ background-color: white;
37550
+ color: #333;
37551
+ padding: 10px 16px;
37552
+ border-radius: 4px;
37553
+ font-family: "Poppins", sans-serif;
37554
+ font-size: 14px;
37555
+ font-weight: 400;
37556
+ z-index: 1000;
37557
+ pointer-events: none;
37558
+ width: 200px;
37559
+ white-space: pre-wrap;
37560
+ word-wrap: break-word;
37561
+ line-height: 1.8;
37562
+ box-shadow:
37563
+ 0 -2px 8px rgba(0, 0, 0, 0.15),
37564
+ 0 2px 8px rgba(0, 0, 0, 0.15);
37565
+
37566
+ /* Position above the element - using dynamic offset */
37567
+ top: calc(var(--tooltip-top, 0px) - var(--tooltip-offset, 60px));
37568
+ left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2);
37569
+ transform: translateX(-50%);
37570
+
37571
+ /* Add delay */
37572
+ opacity: 0;
37573
+ animation: showTooltip 0.3s ease-in-out 0.5s forwards;
37574
+ }
37575
+
37576
+ /* Tooltip arrow */
37577
+ &[data-tooltip]:hover::after {
37578
+ content: "";
37579
+ position: fixed;
37580
+ top: calc(
37581
+ var(--tooltip-top, 0px) - var(--tooltip-offset, 60px) +
37582
+ var(--tooltip-height, 50px)
37583
+ ); /* Use estimated tooltip height */
37584
+ left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2);
37585
+ transform: translateX(-50%);
37586
+ border: 8px solid transparent;
37587
+ border-top-color: white;
37588
+ z-index: 1001;
37589
+ pointer-events: none;
37590
+
37591
+ /* Add delay */
37592
+ opacity: 0;
37593
+ animation: showTooltip 0.3s ease-in-out 0.5s forwards;
37594
+ }
37595
+
37596
+ @keyframes showTooltip {
37597
+ to {
37598
+ opacity: 1;
37572
37599
  }
37573
-
37574
- /* Tooltip arrow */
37575
- &[data-tooltip]:hover::after {
37576
- content: '';
37577
- position: fixed;
37578
- top: calc(var(--tooltip-top, 0px) - var(--tooltip-offset, 60px) + var(--tooltip-height, 50px)); /* Use estimated tooltip height */
37579
- left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2);
37580
- transform: translateX(-50%);
37581
- border: 8px solid transparent;
37582
- border-top-color: white;
37583
- z-index: 1001;
37584
- pointer-events: none;
37585
-
37586
- /* Add delay */
37587
- opacity: 0;
37588
- animation: showTooltip 0.3s ease-in-out 0.5s forwards;
37600
+ }
37601
+ `;
37602
+
37603
+ // Simple new row highlight animation
37604
+ const shimmerAnimation = css`
37605
+ @keyframes newRowHighlight {
37606
+ 0% {
37607
+ background-color: #ffffff;
37608
+ border-left-color: transparent;
37589
37609
  }
37590
-
37591
- @keyframes showTooltip {
37592
- to {
37593
- opacity: 1;
37594
- }
37610
+ 15% {
37611
+ background-color: #f0f8f0;
37612
+ border-left-color: #5fcc70;
37613
+ }
37614
+ 85% {
37615
+ background-color: #f0f8f0;
37616
+ border-left-color: #5fcc70;
37595
37617
  }
37618
+ 100% {
37619
+ background-color: #ffffff;
37620
+ border-left-color: transparent;
37621
+ }
37622
+ }
37596
37623
  `;
37597
37624
  const StyledTableBody = styled.tbody`
37598
- background-color: white;
37599
- font-family: 'Poppins', sans-serif;
37600
- position: relative;
37625
+ background-color: white;
37626
+ font-family: "Poppins", sans-serif;
37627
+ position: relative;
37601
37628
  `;
37602
37629
  const TableRow = styled.tr`
37603
- border-bottom: 1px solid #F2F2F2;
37604
- transition: background-color 0.2s;
37605
- font-family: 'Poppins', sans-serif;
37606
- cursor: pointer;
37607
-
37608
- &:hover {
37609
- background-color: #E6F0F0;
37610
- }
37611
-
37612
- /* Focus state - persistent until another row is clicked */
37613
- ${props => props.$isFocused && css`
37614
- background-color: #D1E7E7;
37615
- border-left: 3px solid #066768;
37616
-
37617
- &:hover {
37618
- background-color: #C1D7D7;
37619
- }
37620
- `}
37621
-
37622
- &:last-child {
37623
- border-bottom: none;
37624
- }
37630
+ border-bottom: 1px solid #f2f2f2;
37631
+ transition: all 0.3s ease;
37632
+ font-family: "Poppins", sans-serif;
37633
+ position: relative;
37634
+
37635
+ &:hover {
37636
+ background-color: #e6f0f0;
37637
+ }
37638
+
37639
+ &:last-child {
37640
+ border-bottom: none;
37641
+ }
37642
+
37643
+ /* Simple new row highlight */
37644
+ &.shimmer-row {
37645
+ border-left: 3px solid transparent;
37646
+ animation: newRowHighlight 3s ease-out;
37647
+ animation-fill-mode: both;
37648
+ }
37649
+
37650
+ ${shimmerAnimation}
37625
37651
  `;
37626
37652
  styled.div`
37653
+ position: absolute;
37654
+ background-color: white;
37655
+ color: #333;
37656
+ padding: 10px 16px;
37657
+ border-radius: 4px;
37658
+ font-family: "Poppins", sans-serif;
37659
+ font-size: 14px;
37660
+ font-weight: 400;
37661
+ z-index: 1000;
37662
+ pointer-events: none;
37663
+ width: 200px;
37664
+ white-space: pre-wrap;
37665
+ word-wrap: break-word;
37666
+ line-height: 1.8;
37667
+ box-shadow:
37668
+ 0 -2px 8px rgba(0, 0, 0, 0.15),
37669
+ 0 2px 8px rgba(0, 0, 0, 0.15);
37670
+ transform: translate(-50%, -100%);
37671
+
37672
+ &::after {
37673
+ content: "";
37627
37674
  position: absolute;
37675
+ top: 100%;
37676
+ left: 50%;
37677
+ transform: translateX(-50%);
37678
+ border: 8px solid transparent;
37679
+ border-top-color: white;
37680
+ }
37681
+ `;
37682
+ const TableCell = styled.td`
37683
+ padding: 12px 16px;
37684
+ color: ${props => props.$color || "#212121"};
37685
+ font-size: 14px;
37686
+ font-weight: 400;
37687
+ font-family: "Poppins", sans-serif;
37688
+ line-height: 30px;
37689
+ height: 32px;
37690
+ vertical-align: middle;
37691
+ white-space: nowrap;
37692
+ overflow: hidden;
37693
+ text-overflow: ellipsis;
37694
+ min-width: ${props => props.$minWidth || "80px"};
37695
+ max-width: ${props => props.$maxWidth || "300px"};
37696
+ width: auto;
37697
+ position: relative;
37698
+ transition: all 0.3s ease;
37699
+
37700
+ /* CSS-only tooltip */
37701
+ &[data-tooltip]:hover::before {
37702
+ content: attr(data-tooltip);
37703
+ position: fixed;
37628
37704
  background-color: white;
37629
37705
  color: #333;
37630
37706
  padding: 10px 16px;
37631
37707
  border-radius: 4px;
37632
- font-family: 'Poppins', sans-serif;
37708
+ font-family: "Poppins", sans-serif;
37633
37709
  font-size: 14px;
37634
37710
  font-weight: 400;
37635
37711
  z-index: 1000;
@@ -37638,201 +37714,157 @@ styled.div`
37638
37714
  white-space: pre-wrap;
37639
37715
  word-wrap: break-word;
37640
37716
  line-height: 1.8;
37641
- // box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
37642
- box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.15);
37643
- transform: translate(-50%, -100%);
37717
+ box-shadow:
37718
+ 0 -2px 8px rgba(0, 0, 0, 0.15),
37719
+ 0 2px 8px rgba(0, 0, 0, 0.15);
37644
37720
 
37645
- &::after {
37646
- content: '';
37647
- position: absolute;
37648
- top: 100%;
37649
- left: 50%;
37650
- transform: translateX(-50%);
37651
- border: 8px solid transparent;
37652
- border-top-color: white;
37653
- }
37654
- `;
37655
- const TableCell = styled.td`
37656
- padding: 12px 16px;
37657
- color: ${props => props.$color || '#212121'};
37658
- font-size: 14px;
37659
- font-weight: 400;
37660
- font-family: 'Poppins', sans-serif;
37661
- line-height: 30px;
37662
- height: 32px; // Add this to force consistent height
37663
- vertical-align: middle; // Add this to center content vertically
37664
- white-space: nowrap;
37665
- overflow: hidden;
37666
- text-overflow: ellipsis;
37667
- min-width: ${props => props.$minWidth || '80px'};
37668
- max-width: ${props => props.$maxWidth || '300px'};
37669
- width: auto;
37670
- position: relative;
37671
-
37672
- /* CSS-only tooltip */
37673
- &[data-tooltip]:hover::before {
37674
- content: attr(data-tooltip);
37675
- position: fixed;
37676
- background-color: white;
37677
- color: #333;
37678
- padding: 10px 16px;
37679
- border-radius: 4px;
37680
- font-family: 'Poppins', sans-serif;
37681
- font-size: 14px;
37682
- font-weight: 400;
37683
- z-index: 1000;
37684
- pointer-events: none;
37685
- width: 200px;
37686
- white-space: pre-wrap;
37687
- word-wrap: break-word;
37688
- line-height: 1.8;
37689
- box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.15);
37690
-
37691
- /* Position above the element - using dynamic offset */
37692
- top: calc(var(--cell-top, 0px) - var(--cell-offset, 40px));
37693
- left: calc(var(--cell-left, 0px) + var(--cell-width, 0px) / 2);
37694
- transform: translateX(-50%);
37695
-
37696
- /* Add delay */
37697
- opacity: 0;
37698
- animation: showTooltip 0.3s ease-in-out 0.5s forwards;
37699
- }
37700
-
37701
- /* Tooltip arrow */
37702
- &[data-tooltip]:hover::after {
37703
- content: '';
37704
- position: fixed;
37705
- top: calc(var(--cell-top, 0px) - var(--cell-offset, 40px) + var(--cell-height, 50px));
37706
- left: calc(var(--cell-left, 0px) + var(--cell-width, 0px) / 2);
37707
- transform: translateX(-50%);
37708
- border: 8px solid transparent;
37709
- border-top-color: white;
37710
- z-index: 1001;
37711
- pointer-events: none;
37712
-
37713
- /* Add delay */
37714
- opacity: 0;
37715
- animation: showTooltip 0.3s ease-in-out 0.5s forwards;
37716
- }
37717
-
37718
- &[title] {
37719
- &:hover::after {
37720
- font-family: 'Poppins', sans-serif;
37721
- font-size: 14px;
37722
- }
37721
+ /* Position above the element - using dynamic offset */
37722
+ top: calc(var(--cell-top, 0px) - var(--cell-offset, 40px));
37723
+ left: calc(var(--cell-left, 0px) + var(--cell-width, 0px) / 2);
37724
+ transform: translateX(-50%);
37725
+
37726
+ /* Add delay */
37727
+ opacity: 0;
37728
+ animation: showTooltip 0.3s ease-in-out 0.5s forwards;
37729
+ }
37730
+
37731
+ /* Tooltip arrow */
37732
+ &[data-tooltip]:hover::after {
37733
+ content: "";
37734
+ position: fixed;
37735
+ top: calc(
37736
+ var(--cell-top, 0px) - var(--cell-offset, 40px) + var(--cell-height, 50px)
37737
+ );
37738
+ left: calc(var(--cell-left, 0px) + var(--cell-width, 0px) / 2);
37739
+ transform: translateX(-50%);
37740
+ border: 8px solid transparent;
37741
+ border-top-color: white;
37742
+ z-index: 1001;
37743
+ pointer-events: none;
37744
+
37745
+ /* Add delay */
37746
+ opacity: 0;
37747
+ animation: showTooltip 0.3s ease-in-out 0.5s forwards;
37748
+ }
37749
+
37750
+ &[title] {
37751
+ &:hover::after {
37752
+ font-family: "Poppins", sans-serif;
37753
+ font-size: 14px;
37723
37754
  }
37724
-
37725
- ${props => {
37755
+ }
37756
+
37757
+ ${props => {
37726
37758
  switch (props.$fieldType) {
37727
- case 'currency':
37759
+ case "currency":
37728
37760
  return css`
37729
- font-family: 'Poppins', sans-serif;
37730
- font-weight: 500;
37731
- `;
37732
- case 'number':
37761
+ font-family: "Poppins", sans-serif;
37762
+ font-weight: 500;
37763
+ `;
37764
+ case "number":
37733
37765
  return css`
37734
- font-family: 'Poppins', sans-serif;
37735
- //text-align: right;
37736
- `;
37766
+ font-family: "Poppins", sans-serif;
37767
+ `;
37737
37768
  default:
37738
- return '';
37769
+ return "";
37739
37770
  }
37740
37771
  }}
37741
37772
  `;
37742
37773
 
37743
37774
  // Loading skeleton styles
37744
37775
  styled.td`
37745
- padding: 12px 16px;
37746
- font-family: 'Poppins', sans-serif;
37776
+ padding: 12px 16px;
37777
+ font-family: "Poppins", sans-serif;
37747
37778
  `;
37748
37779
  styled.div`
37749
- background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
37750
- background-size: 200% 100%;
37751
- animation: loading 1.5s infinite;
37752
- height: 20px;
37753
- border-radius: 4px;
37754
- width: ${props => props.$width || '100%'};
37755
- font-family: 'Poppins', sans-serif;
37756
-
37757
- @keyframes loading {
37758
- 0% { background-position: 200% 0; }
37759
- 100% { background-position: -200% 0; }
37780
+ background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
37781
+ background-size: 200% 100%;
37782
+ animation: loading 1.5s infinite;
37783
+ height: 20px;
37784
+ border-radius: 4px;
37785
+ width: ${props => props.$width || "100%"};
37786
+ font-family: "Poppins", sans-serif;
37787
+
37788
+ @keyframes loading {
37789
+ 0% {
37790
+ background-position: 200% 0;
37760
37791
  }
37792
+ 100% {
37793
+ background-position: -200% 0;
37794
+ }
37795
+ }
37761
37796
  `;
37762
37797
  styled.div`
37763
- display: flex;
37764
- align-items: center;
37765
- gap: 8px;
37798
+ display: flex;
37799
+ align-items: center;
37800
+ gap: 8px;
37766
37801
  `;
37767
37802
  const ButtonWrapper = styled.div`
37768
- display: inline-block;
37769
- position: relative;
37770
-
37771
- ${tooltipStyles}
37803
+ display: inline-block;
37804
+ position: relative;
37805
+
37806
+ ${tooltipStyles}
37772
37807
  `;
37773
37808
  const SentStatus = styled.div`
37774
- display: flex;
37775
- align-items: center;
37776
- font-weight: 500;
37777
- gap: 8px;
37778
- color: #5FCC70;
37779
- //padding: 4px 8px;
37780
- user-select: none;
37781
- position: relative;
37782
-
37783
- ${tooltipStyles}
37809
+ display: flex;
37810
+ align-items: center;
37811
+ font-weight: 500;
37812
+ gap: 8px;
37813
+ color: #5fcc70;
37814
+ user-select: none;
37815
+ position: relative;
37816
+
37817
+ ${tooltipStyles}
37784
37818
  `;
37785
37819
  const TrashIconWrapper = styled.div`
37786
- cursor: pointer;
37787
- transition: color 0.2s ease;
37788
- display: inline-flex;
37789
- align-items: center;
37790
- justify-content: center;
37791
- width: 100%;
37792
- height: 100%;
37793
- position: relative;
37794
- //transform: translateY(5px);
37795
-
37796
- ${tooltipStyles}
37797
-
37798
- /* Override tooltip position to move left */
37799
- &[data-tooltip]:hover::before {
37800
- left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2 - 50px);
37801
- }
37802
-
37803
- &[data-tooltip]:hover::after {
37804
- left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2 - 50px);
37805
- }
37806
-
37807
- &:hover {
37808
- svg path {
37809
- fill: ${props => props.$buttonColor};
37810
- }
37820
+ cursor: pointer;
37821
+ transition: color 0.2s ease;
37822
+ display: inline-flex;
37823
+ align-items: center;
37824
+ justify-content: center;
37825
+ width: 100%;
37826
+ height: 100%;
37827
+ position: relative;
37828
+
37829
+ ${tooltipStyles}
37830
+
37831
+ /* Override tooltip position to move left */
37832
+ &[data-tooltip]:hover::before {
37833
+ left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2 - 50px);
37834
+ }
37835
+
37836
+ &[data-tooltip]:hover::after {
37837
+ left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2 - 50px);
37838
+ }
37839
+
37840
+ &:hover {
37841
+ svg path {
37842
+ fill: ${props => props.$buttonColor};
37811
37843
  }
37844
+ }
37812
37845
  `;
37813
37846
  const DisabledTrashIconWrapper = styled.div`
37814
- display: inline-flex;
37815
- align-items: center;
37816
- justify-content: center;
37817
- width: 100%;
37818
- height: 100%;
37819
- position: relative;
37820
- //transform: translateY(5px);
37821
-
37822
- ${tooltipStyles}
37823
-
37824
- /* Override tooltip position to move left */
37825
- &[data-tooltip]:hover::before {
37826
- left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2 - 50px);
37827
- }
37828
-
37829
- &[data-tooltip]:hover::after {
37830
- left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2 - 50px);
37831
- }
37832
-
37833
- svg {
37834
- color: #D9D9D9;
37835
- }
37847
+ display: inline-flex;
37848
+ align-items: center;
37849
+ justify-content: center;
37850
+ width: 100%;
37851
+ height: 100%;
37852
+ position: relative;
37853
+
37854
+ ${tooltipStyles}
37855
+
37856
+ /* Override tooltip position to move left */
37857
+ &[data-tooltip]:hover::before {
37858
+ left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2 - 50px);
37859
+ }
37860
+
37861
+ &[data-tooltip]:hover::after {
37862
+ left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2 - 50px);
37863
+ }
37864
+
37865
+ svg {
37866
+ color: #d9d9d9;
37867
+ }
37836
37868
  `;
37837
37869
 
37838
37870
  // OkIcon.jsx
@@ -37901,7 +37933,8 @@ const TableBody = /*#__PURE__*/forwardRef(({
37901
37933
  buttonColor,
37902
37934
  onDeleteClick,
37903
37935
  resetFocus = false,
37904
- onFocusChange
37936
+ onFocusChange,
37937
+ indexToShimmer = 0
37905
37938
  }, ref) => {
37906
37939
  const [hoveredRowIndex, setHoveredRowIndex] = useState(null);
37907
37940
  const [focusedRowIndex, setFocusedRowIndex] = useState(null);
@@ -38135,6 +38168,7 @@ const TableBody = /*#__PURE__*/forwardRef(({
38135
38168
  return /*#__PURE__*/React$1.createElement(StyledTableBody, null, data.map((row, rowIndex) => /*#__PURE__*/React$1.createElement(TableRow, {
38136
38169
  key: rowIndex,
38137
38170
  "data-row-index": rowIndex,
38171
+ className: indexToShimmer === rowIndex ? 'shimmer-row' : '',
38138
38172
  $isFocused: focusedRowIndex === rowIndex,
38139
38173
  onMouseEnter: () => setHoveredRowIndex(rowIndex),
38140
38174
  onMouseLeave: () => setHoveredRowIndex(null),
@@ -38167,9 +38201,6 @@ const TableBody = /*#__PURE__*/forwardRef(({
38167
38201
  }))));
38168
38202
  });
38169
38203
 
38170
- // Add displayName for better debugging
38171
- TableBody.displayName = 'TableBody';
38172
-
38173
38204
  var nm$1 = "calendar_lottie";
38174
38205
  var ddd$1 = 0;
38175
38206
  var h$1 = 16;
@@ -41369,6 +41400,7 @@ const Table = /*#__PURE__*/forwardRef((props, ref) => {
41369
41400
  showNoDataInSearch = false,
41370
41401
  noDataInSearchTitle = "No Results Found",
41371
41402
  noDataInSearchMessage = "Try to refine your query and search again",
41403
+ indexToShimmer = -1,
41372
41404
  // New props for focus management
41373
41405
  resetTableFocus = false,
41374
41406
  onTableFocusChange = () => {},
@@ -41469,6 +41501,7 @@ const Table = /*#__PURE__*/forwardRef((props, ref) => {
41469
41501
  }), columns.length > 0 && data.length > 0 && /*#__PURE__*/React$1.createElement(TableBody, {
41470
41502
  ref: tableBodyRef,
41471
41503
  columns: columns,
41504
+ indexToShimmer: indexToShimmer,
41472
41505
  data: data,
41473
41506
  onRowClick: onRowClick,
41474
41507
  onSendClick: onSendClick,
@@ -51286,6 +51319,7 @@ const DropdownButton = styled.button`
51286
51319
  border: 1px solid #8B8989;
51287
51320
  border-radius: 12px;
51288
51321
  padding: 17px;
51322
+ height: ${props => props.height};
51289
51323
  text-align: left;
51290
51324
  cursor: pointer;
51291
51325
  display: flex;
@@ -51322,10 +51356,13 @@ const DropdownList = styled.ul`
51322
51356
  const SectionTitle = styled.li`
51323
51357
  font-size: 14px;
51324
51358
  color: #bdbdbd;
51325
- padding: 16px 12px 0 12px;
51359
+ padding: 12px 12px 0 12px;
51326
51360
  font-weight: 500;
51327
- border-top: 1px solid #bdbdbd;
51328
51361
  pointer-events: none;
51362
+ &:not(:first-child) {
51363
+ border-top: 1px solid #bdbdbd;
51364
+ padding-top: 16px;
51365
+ }
51329
51366
  `;
51330
51367
  const DropdownItem = styled.li`
51331
51368
  padding: 8px 16px;
@@ -51351,7 +51388,7 @@ const TruncatedText = styled.span`
51351
51388
  line-height: 21px;
51352
51389
  font-size: 14px;
51353
51390
  font-weight: 400;
51354
- color: inherit;
51391
+ color: ${props => props.color};
51355
51392
  max-width: 340px;
51356
51393
  white-space: nowrap;
51357
51394
  overflow: hidden;
@@ -51373,6 +51410,28 @@ styled.div`
51373
51410
  /* max-width: 320px; */
51374
51411
  white-space: pre-line;
51375
51412
  `;
51413
+ const Label$1 = styled.label`
51414
+ font-size: 14px;
51415
+ font-weight: 400;
51416
+ padding-inline-end: 5px;
51417
+ padding-inline-start: 5px;
51418
+ margin-right: 10px;
51419
+ z-index: 2;
51420
+ color: ${props => props.error ? 'red' : props.disabled ? '#888' : props.labelColor};
51421
+ background-color: ${props => props.disabled ? '#F2F2F2' : props.showLabelOnTop ? 'white' : 'transparent'};
51422
+ position: absolute;
51423
+ top: ${props => props.isFocused || props.hasValue ? '0px' : '50%'};
51424
+ left: ${props => props.isFocused || props.hasValue ? '23px' : '14px'};
51425
+ transform: translateY(-50%);
51426
+ transition: ${props => props.showLabelOnTop ? 'top 0.3s ease, font-size 0.3s ease, color 0.3s ease' : ''} ;
51427
+ display: flex;
51428
+ align-items: center;
51429
+ box-sizing: border-box;
51430
+ gap: 4px;
51431
+ &:hover {
51432
+ cursor: ${props => props.disabled ? 'not-allowed' : 'pointer'};
51433
+ }
51434
+ `;
51376
51435
 
51377
51436
  const DialogOverlay = styled.div`
51378
51437
  position: fixed;
@@ -51597,6 +51656,13 @@ const OverlayDropdown = _ref => {
51597
51656
  hoverColor = '#E6F0F0',
51598
51657
  dropdownMaxHeight = '600px',
51599
51658
  width = '100%',
51659
+ height = 'auto',
51660
+ label,
51661
+ labelEmptyValue,
51662
+ showLabelOnTop,
51663
+ placeHolder,
51664
+ labelColor,
51665
+ placeHolderColor,
51600
51666
  ...props
51601
51667
  } = _ref;
51602
51668
  const [open, setOpen] = useState(false);
@@ -51667,6 +51733,7 @@ const OverlayDropdown = _ref => {
51667
51733
  return null;
51668
51734
  };
51669
51735
  const selected = findSelectedItem();
51736
+ const hasValue = !!selected;
51670
51737
 
51671
51738
  // Tooltip logic for long string
51672
51739
  const getDisplayText = text => {
@@ -51780,24 +51847,53 @@ const OverlayDropdown = _ref => {
51780
51847
  setOpen(prev => !prev);
51781
51848
  };
51782
51849
  const dataToRender = getDataWithLastDefined();
51850
+ const getLabel = () => {
51851
+ if (!showLabelOnTop && open) {
51852
+ return "";
51853
+ }
51854
+ if (hasValue) {
51855
+ return label;
51856
+ }
51857
+ return labelEmptyValue;
51858
+ };
51859
+ const getRequired = () => {
51860
+ if (!showLabelOnTop && open) {
51861
+ return "";
51862
+ }
51863
+ if (!showLabelOnTop && !label && hasValue) {
51864
+ return "";
51865
+ }
51866
+ if (required) {
51867
+ return /*#__PURE__*/React$1.createElement("span", {
51868
+ style: {
51869
+ color: "red"
51870
+ }
51871
+ }, "*");
51872
+ }
51873
+ return "";
51874
+ };
51783
51875
  return /*#__PURE__*/React$1.createElement(DropdownContainer, {
51784
51876
  width: width,
51785
51877
  ref: containerRef
51786
- }, /*#__PURE__*/React$1.createElement(DropdownButton, {
51878
+ }, /*#__PURE__*/React$1.createElement(Label$1, {
51879
+ className: "Label",
51880
+ isFocused: open,
51881
+ labelColor: labelColor,
51882
+ hasValue: hasValue,
51883
+ disabled: disabled,
51884
+ showLabelOnTop: showLabelOnTop
51885
+ }, getLabel(), getRequired()), /*#__PURE__*/React$1.createElement(DropdownButton, {
51787
51886
  ref: buttonRef,
51788
51887
  onClick: toggleDropdown,
51789
51888
  disabled: disabled,
51790
51889
  isDarkerBackground: isDarkerBackground,
51890
+ height: height,
51791
51891
  type: "button"
51792
51892
  }, /*#__PURE__*/React$1.createElement(TruncatedText, {
51793
51893
  onMouseEnter: () => setHoveredText(selected?.label),
51794
- onMouseLeave: () => setHoveredText(null)
51795
- }, selected ? getDisplayText(selected.label) : 'Choose Overlay', required && /*#__PURE__*/React$1.createElement("span", {
51796
- style: {
51797
- color: 'red',
51798
- marginLeft: '2px'
51799
- }
51800
- }, "*")), open ? /*#__PURE__*/React$1.createElement(MenuItemUpIcon, {
51894
+ onMouseLeave: () => setHoveredText(null),
51895
+ color: !selected && open ? placeHolderColor : "inherit"
51896
+ }, selected ? getDisplayText(selected.label) : open ? placeHolder : ''), open ? /*#__PURE__*/React$1.createElement(MenuItemUpIcon, {
51801
51897
  width: "12px",
51802
51898
  height: "12px",
51803
51899
  color: "#B1B1B1"