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.js CHANGED
@@ -64,7 +64,7 @@ const ButtonItem = styled__default["default"].div`
64
64
  transition: background-color 0.3s, color 0.3s;
65
65
  }
66
66
  `;
67
- const Label$a = styled__default["default"].label`
67
+ const Label$b = styled__default["default"].label`
68
68
  font-family: "Poppins";
69
69
  font-size: 14px;
70
70
  font-weight: 400;
@@ -536,7 +536,7 @@ const Button$1 = props => {
536
536
  onMouseEnter: () => setHover(true),
537
537
  onMouseLeave: () => setHover(false),
538
538
  borderRadius: borderRadius
539
- }, commonProps), getIcon(leftIcon), /*#__PURE__*/React__default["default"].createElement(Label$a, {
539
+ }, commonProps), getIcon(leftIcon), /*#__PURE__*/React__default["default"].createElement(Label$b, {
540
540
  className: "Label",
541
541
  disabled: disabled
542
542
  }, text), getIcon(rightIcon)));
@@ -2978,7 +2978,7 @@ const LinkButtonItem = styled__default["default"].div`
2978
2978
  transition: background-color 0.3s, color 0.3s;
2979
2979
  }
2980
2980
  `;
2981
- const Label$9 = styled__default["default"].label`
2981
+ const Label$a = styled__default["default"].label`
2982
2982
  user-select: none;
2983
2983
  pointer-events: none;
2984
2984
  `;
@@ -3241,7 +3241,7 @@ const LinkButton = _ref => {
3241
3241
  disabled: disabled,
3242
3242
  text_color: textColor || (type === 'secondary' ? '#212121' : '#229E38'),
3243
3243
  font_size: size === 'small' ? '14px' : '16px'
3244
- }, getLeftIcon(), /*#__PURE__*/React__default["default"].createElement(Label$9, {
3244
+ }, getLeftIcon(), /*#__PURE__*/React__default["default"].createElement(Label$a, {
3245
3245
  className: "Label",
3246
3246
  disabled: disabled,
3247
3247
  font_size: size === 'small' ? '14px' : '16px'
@@ -3650,7 +3650,7 @@ const Body = styled__default["default"].div`
3650
3650
  border-radius: ${props => props.setBackground ? '12px' : '0'};
3651
3651
  box-shadow: ${props => props.setBackground ? '0px 0px 20px 0px rgba(0, 0, 0, 0.10)' : 'unset'};
3652
3652
  `;
3653
- const Label$8 = styled__default["default"].div`
3653
+ const Label$9 = styled__default["default"].div`
3654
3654
  font-size: 12px;
3655
3655
  font-weight: 400;
3656
3656
  padding: 8px;
@@ -3901,7 +3901,7 @@ const TabMenu = props => {
3901
3901
  hoverBorderColor: buttonHoverColor
3902
3902
  })), showActions && /*#__PURE__*/React__default["default"].createElement(ActionsWrapper, {
3903
3903
  className: "ActionsWrapper"
3904
- }, showLabel && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Label$8, {
3904
+ }, showLabel && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(Label$9, {
3905
3905
  className: "Label"
3906
3906
  }, /*#__PURE__*/React__default["default"].createElement("span", null, "Platform: "), "Total"), /*#__PURE__*/React__default["default"].createElement("span", {
3907
3907
  className: "separator"
@@ -8535,7 +8535,7 @@ const DropdownWrapper$2 = styled__default["default"].div`
8535
8535
  pointer-events: none;
8536
8536
  }
8537
8537
  `;
8538
- const Label$7 = styled__default["default"].label`
8538
+ const Label$8 = styled__default["default"].label`
8539
8539
  font-size: ${props => props.isFocused || props.hasValue ? '14px' : '14px'};
8540
8540
  font-weight: 400;
8541
8541
  padding-inline-end: 5px;
@@ -8857,7 +8857,7 @@ const DropdownSingleNew = ({
8857
8857
  disabled: disabled,
8858
8858
  error: error,
8859
8859
  onClick: handleLabelClick
8860
- }, /*#__PURE__*/React__default["default"].createElement(Label$7, {
8860
+ }, /*#__PURE__*/React__default["default"].createElement(Label$8, {
8861
8861
  className: "Label",
8862
8862
  isFocused: isFocused,
8863
8863
  labelColor: labelColor,
@@ -8994,7 +8994,7 @@ const DropdownWrapper$1 = styled__default["default"].div`
8994
8994
  pointer-events: none;
8995
8995
  }
8996
8996
  `;
8997
- const Label$6 = styled__default["default"].label`
8997
+ const Label$7 = styled__default["default"].label`
8998
8998
  font-size: ${props => props.isFocused || props.hasValue ? '14px' : '14px'};
8999
8999
  font-weight: 400;
9000
9000
  padding-inline-end: 5px;
@@ -9365,7 +9365,7 @@ const DropdownMultiNew = ({
9365
9365
  disabled: disabled,
9366
9366
  error: error,
9367
9367
  onClick: handleLabelClick
9368
- }, /*#__PURE__*/React__default["default"].createElement(Label$6, {
9368
+ }, /*#__PURE__*/React__default["default"].createElement(Label$7, {
9369
9369
  className: "Label",
9370
9370
  isFocused: isFocused,
9371
9371
  labelColor: labelColor,
@@ -23797,7 +23797,7 @@ const QuickFilterInput = styled__default["default"].div`
23797
23797
  font-size: 14px;
23798
23798
  border-radius: 8px;
23799
23799
  `;
23800
- const Label$5 = styled__default["default"].label`
23800
+ const Label$6 = styled__default["default"].label`
23801
23801
  font-size: 14px;
23802
23802
  font-weight: 500;
23803
23803
  color: ${props => props.disabled ? '#D0D0D0' : '212121'};
@@ -24045,7 +24045,7 @@ const QuickFilterDropdownSingle = _ref => {
24045
24045
  disabled: disabled,
24046
24046
  error: error,
24047
24047
  onClick: handleLabelClick
24048
- }, /*#__PURE__*/React__default["default"].createElement(Label$5, {
24048
+ }, /*#__PURE__*/React__default["default"].createElement(Label$6, {
24049
24049
  className: "Label",
24050
24050
  isFocused: isFocused,
24051
24051
  labelColor: labelColor,
@@ -24152,7 +24152,7 @@ const DropdownWrapper = styled__default["default"].div`
24152
24152
  font-size: 14px;
24153
24153
  border-radius: 10px;
24154
24154
  `;
24155
- const Label$4 = styled__default["default"].label`
24155
+ const Label$5 = styled__default["default"].label`
24156
24156
  font-size: ${props => props.isFocused || props.hasValue ? '14px' : '14px'};
24157
24157
  font-weight: 400;
24158
24158
  padding-inline-end: 5px;
@@ -24509,7 +24509,7 @@ const QuickFilterDropdownMultiSelection = _ref => {
24509
24509
  disabled: disabled,
24510
24510
  error: error,
24511
24511
  onClick: handleLabelClick
24512
- }, /*#__PURE__*/React__default["default"].createElement(Label$4, {
24512
+ }, /*#__PURE__*/React__default["default"].createElement(Label$5, {
24513
24513
  className: "Label",
24514
24514
  isFocused: isFocused,
24515
24515
  labelColor: labelColor,
@@ -29105,7 +29105,7 @@ const Controls$5 = styled__default["default"].div`
29105
29105
  display: flex;
29106
29106
  align-items: center;
29107
29107
  `;
29108
- const Label$3 = styled__default["default"].div`
29108
+ const Label$4 = styled__default["default"].div`
29109
29109
  display: flex;
29110
29110
  padding: 0 10px 0 10px;
29111
29111
  white-space: nowrap;
@@ -29185,7 +29185,7 @@ const CheckBox = props => {
29185
29185
  width: iconSize,
29186
29186
  height: iconSize,
29187
29187
  color: disabled ? colorDisabled : colorUnchecked
29188
- })), /*#__PURE__*/React__default["default"].createElement(Label$3, {
29188
+ })), /*#__PURE__*/React__default["default"].createElement(Label$4, {
29189
29189
  className: "Label",
29190
29190
  "data-testid": "label"
29191
29191
  }, label)));
@@ -34349,7 +34349,7 @@ const Modal = styled__default["default"].div`
34349
34349
  display: flex;
34350
34350
  gap: 20px;
34351
34351
  padding: 20px;
34352
- margin-top: 40px;
34352
+ margin-top: -30px;
34353
34353
  flex-direction: column;
34354
34354
  background-color: white;
34355
34355
  border-radius: 12px;
@@ -35199,7 +35199,7 @@ const MainContainer = styled__default["default"].div`
35199
35199
  padding: 0;
35200
35200
  cursor: ${props => props.disabled ? 'not-allowed' : 'default'};
35201
35201
  `;
35202
- const Label$2 = styled__default["default"].label`
35202
+ const Label$3 = styled__default["default"].label`
35203
35203
 
35204
35204
  font-size: ${props => props.isFocused || props.hasValue ? '14px' : '14px'};
35205
35205
  font-weight: 400;
@@ -35421,7 +35421,7 @@ const Input$2 = _ref => {
35421
35421
  error: error,
35422
35422
  onClick: handleLabelClick,
35423
35423
  size: size
35424
- }, /*#__PURE__*/React__default["default"].createElement(Label$2, {
35424
+ }, /*#__PURE__*/React__default["default"].createElement(Label$3, {
35425
35425
  className: "Label",
35426
35426
  isFocused: isFocused,
35427
35427
  labelColor: labelColor,
@@ -36675,7 +36675,7 @@ const FieldRow$1 = styled__default["default"].div`
36675
36675
  justify-content: center;
36676
36676
  padding: 16px;
36677
36677
  `;
36678
- const Label$1 = styled__default["default"].label`
36678
+ const Label$2 = styled__default["default"].label`
36679
36679
  color: #222;
36680
36680
  display: flex;
36681
36681
  align-items: center;
@@ -36765,7 +36765,7 @@ const RangePop = props => {
36765
36765
  e.preventDefault();
36766
36766
  if (isValid) onApply(fields);
36767
36767
  }
36768
- }, /*#__PURE__*/React__default["default"].createElement(RadioWrapper, null, radioOptions.map((option, idx) => /*#__PURE__*/React__default["default"].createElement(Label$1, {
36768
+ }, /*#__PURE__*/React__default["default"].createElement(RadioWrapper, null, radioOptions.map((option, idx) => /*#__PURE__*/React__default["default"].createElement(Label$2, {
36769
36769
  key: option
36770
36770
  }, /*#__PURE__*/React__default["default"].createElement(Radio, {
36771
36771
  type: "radio",
@@ -36778,7 +36778,7 @@ const RangePop = props => {
36778
36778
  }
36779
36779
  }), option))), /*#__PURE__*/React__default["default"].createElement(FieldRow$1, null, params.map((param, idx) => /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
36780
36780
  key: param.label
36781
- }, /*#__PURE__*/React__default["default"].createElement(Label$1, {
36781
+ }, /*#__PURE__*/React__default["default"].createElement(Label$2, {
36782
36782
  htmlFor: `param-${idx}`
36783
36783
  }, param.label), /*#__PURE__*/React__default["default"].createElement(Input$1, {
36784
36784
  id: `param-${idx}`,
@@ -36789,7 +36789,7 @@ const RangePop = props => {
36789
36789
  onBlur: () => handleBlur(idx),
36790
36790
  min: 0,
36791
36791
  max: param.type === 'percent' ? 100 : undefined
36792
- }))), /*#__PURE__*/React__default["default"].createElement(Label$1, null, paramType)), /*#__PURE__*/React__default["default"].createElement(Actions$1, null, /*#__PURE__*/React__default["default"].createElement(ClearButton, {
36792
+ }))), /*#__PURE__*/React__default["default"].createElement(Label$2, null, paramType)), /*#__PURE__*/React__default["default"].createElement(Actions$1, null, /*#__PURE__*/React__default["default"].createElement(ClearButton, {
36793
36793
  type: "button",
36794
36794
  onClick: () => {
36795
36795
  setFields(params.map(() => ''));
@@ -37552,94 +37552,170 @@ const TableHeader = ({
37552
37552
 
37553
37553
  // Shared tooltip styles
37554
37554
  const tooltipStyles = styled.css`
37555
- /* CSS-only tooltip */
37556
- &[data-tooltip]:hover::before {
37557
- content: attr(data-tooltip);
37558
- position: fixed;
37559
- background-color: white;
37560
- color: #333;
37561
- padding: 10px 16px;
37562
- border-radius: 4px;
37563
- font-family: 'Poppins', sans-serif;
37564
- font-size: 14px;
37565
- font-weight: 400;
37566
- z-index: 1000;
37567
- pointer-events: none;
37568
- width: 200px;
37569
- white-space: pre-wrap;
37570
- word-wrap: break-word;
37571
- line-height: 1.8;
37572
- box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.15);
37573
-
37574
- /* Position above the element - using dynamic offset */
37575
- top: calc(var(--tooltip-top, 0px) - var(--tooltip-offset, 60px));
37576
- left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2);
37577
- transform: translateX(-50%);
37578
-
37579
- /* Add delay */
37580
- opacity: 0;
37581
- animation: showTooltip 0.3s ease-in-out 0.5s forwards;
37555
+ /* CSS-only tooltip */
37556
+ &[data-tooltip]:hover::before {
37557
+ content: attr(data-tooltip);
37558
+ position: fixed;
37559
+ background-color: white;
37560
+ color: #333;
37561
+ padding: 10px 16px;
37562
+ border-radius: 4px;
37563
+ font-family: "Poppins", sans-serif;
37564
+ font-size: 14px;
37565
+ font-weight: 400;
37566
+ z-index: 1000;
37567
+ pointer-events: none;
37568
+ width: 200px;
37569
+ white-space: pre-wrap;
37570
+ word-wrap: break-word;
37571
+ line-height: 1.8;
37572
+ box-shadow:
37573
+ 0 -2px 8px rgba(0, 0, 0, 0.15),
37574
+ 0 2px 8px rgba(0, 0, 0, 0.15);
37575
+
37576
+ /* Position above the element - using dynamic offset */
37577
+ top: calc(var(--tooltip-top, 0px) - var(--tooltip-offset, 60px));
37578
+ left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2);
37579
+ transform: translateX(-50%);
37580
+
37581
+ /* Add delay */
37582
+ opacity: 0;
37583
+ animation: showTooltip 0.3s ease-in-out 0.5s forwards;
37584
+ }
37585
+
37586
+ /* Tooltip arrow */
37587
+ &[data-tooltip]:hover::after {
37588
+ content: "";
37589
+ position: fixed;
37590
+ top: calc(
37591
+ var(--tooltip-top, 0px) - var(--tooltip-offset, 60px) +
37592
+ var(--tooltip-height, 50px)
37593
+ ); /* Use estimated tooltip height */
37594
+ left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2);
37595
+ transform: translateX(-50%);
37596
+ border: 8px solid transparent;
37597
+ border-top-color: white;
37598
+ z-index: 1001;
37599
+ pointer-events: none;
37600
+
37601
+ /* Add delay */
37602
+ opacity: 0;
37603
+ animation: showTooltip 0.3s ease-in-out 0.5s forwards;
37604
+ }
37605
+
37606
+ @keyframes showTooltip {
37607
+ to {
37608
+ opacity: 1;
37582
37609
  }
37583
-
37584
- /* Tooltip arrow */
37585
- &[data-tooltip]:hover::after {
37586
- content: '';
37587
- position: fixed;
37588
- top: calc(var(--tooltip-top, 0px) - var(--tooltip-offset, 60px) + var(--tooltip-height, 50px)); /* Use estimated tooltip height */
37589
- left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2);
37590
- transform: translateX(-50%);
37591
- border: 8px solid transparent;
37592
- border-top-color: white;
37593
- z-index: 1001;
37594
- pointer-events: none;
37595
-
37596
- /* Add delay */
37597
- opacity: 0;
37598
- animation: showTooltip 0.3s ease-in-out 0.5s forwards;
37610
+ }
37611
+ `;
37612
+
37613
+ // Simple new row highlight animation
37614
+ const shimmerAnimation = styled.css`
37615
+ @keyframes newRowHighlight {
37616
+ 0% {
37617
+ background-color: #ffffff;
37618
+ border-left-color: transparent;
37599
37619
  }
37600
-
37601
- @keyframes showTooltip {
37602
- to {
37603
- opacity: 1;
37604
- }
37620
+ 15% {
37621
+ background-color: #f0f8f0;
37622
+ border-left-color: #5fcc70;
37623
+ }
37624
+ 85% {
37625
+ background-color: #f0f8f0;
37626
+ border-left-color: #5fcc70;
37605
37627
  }
37628
+ 100% {
37629
+ background-color: #ffffff;
37630
+ border-left-color: transparent;
37631
+ }
37632
+ }
37606
37633
  `;
37607
37634
  const StyledTableBody = styled__default["default"].tbody`
37608
- background-color: white;
37609
- font-family: 'Poppins', sans-serif;
37610
- position: relative;
37635
+ background-color: white;
37636
+ font-family: "Poppins", sans-serif;
37637
+ position: relative;
37611
37638
  `;
37612
37639
  const TableRow = styled__default["default"].tr`
37613
- border-bottom: 1px solid #F2F2F2;
37614
- transition: background-color 0.2s;
37615
- font-family: 'Poppins', sans-serif;
37616
- cursor: pointer;
37617
-
37618
- &:hover {
37619
- background-color: #E6F0F0;
37620
- }
37621
-
37622
- /* Focus state - persistent until another row is clicked */
37623
- ${props => props.$isFocused && styled.css`
37624
- background-color: #D1E7E7;
37625
- border-left: 3px solid #066768;
37626
-
37627
- &:hover {
37628
- background-color: #C1D7D7;
37629
- }
37630
- `}
37631
-
37632
- &:last-child {
37633
- border-bottom: none;
37634
- }
37640
+ border-bottom: 1px solid #f2f2f2;
37641
+ transition: all 0.3s ease;
37642
+ font-family: "Poppins", sans-serif;
37643
+ position: relative;
37644
+
37645
+ &:hover {
37646
+ background-color: #e6f0f0;
37647
+ }
37648
+
37649
+ &:last-child {
37650
+ border-bottom: none;
37651
+ }
37652
+
37653
+ /* Simple new row highlight */
37654
+ &.shimmer-row {
37655
+ border-left: 3px solid transparent;
37656
+ animation: newRowHighlight 3s ease-out;
37657
+ animation-fill-mode: both;
37658
+ }
37659
+
37660
+ ${shimmerAnimation}
37635
37661
  `;
37636
37662
  styled__default["default"].div`
37663
+ position: absolute;
37664
+ background-color: white;
37665
+ color: #333;
37666
+ padding: 10px 16px;
37667
+ border-radius: 4px;
37668
+ font-family: "Poppins", sans-serif;
37669
+ font-size: 14px;
37670
+ font-weight: 400;
37671
+ z-index: 1000;
37672
+ pointer-events: none;
37673
+ width: 200px;
37674
+ white-space: pre-wrap;
37675
+ word-wrap: break-word;
37676
+ line-height: 1.8;
37677
+ box-shadow:
37678
+ 0 -2px 8px rgba(0, 0, 0, 0.15),
37679
+ 0 2px 8px rgba(0, 0, 0, 0.15);
37680
+ transform: translate(-50%, -100%);
37681
+
37682
+ &::after {
37683
+ content: "";
37637
37684
  position: absolute;
37685
+ top: 100%;
37686
+ left: 50%;
37687
+ transform: translateX(-50%);
37688
+ border: 8px solid transparent;
37689
+ border-top-color: white;
37690
+ }
37691
+ `;
37692
+ const TableCell = styled__default["default"].td`
37693
+ padding: 12px 16px;
37694
+ color: ${props => props.$color || "#212121"};
37695
+ font-size: 14px;
37696
+ font-weight: 400;
37697
+ font-family: "Poppins", sans-serif;
37698
+ line-height: 30px;
37699
+ height: 32px;
37700
+ vertical-align: middle;
37701
+ white-space: nowrap;
37702
+ overflow: hidden;
37703
+ text-overflow: ellipsis;
37704
+ min-width: ${props => props.$minWidth || "80px"};
37705
+ max-width: ${props => props.$maxWidth || "300px"};
37706
+ width: auto;
37707
+ position: relative;
37708
+ transition: all 0.3s ease;
37709
+
37710
+ /* CSS-only tooltip */
37711
+ &[data-tooltip]:hover::before {
37712
+ content: attr(data-tooltip);
37713
+ position: fixed;
37638
37714
  background-color: white;
37639
37715
  color: #333;
37640
37716
  padding: 10px 16px;
37641
37717
  border-radius: 4px;
37642
- font-family: 'Poppins', sans-serif;
37718
+ font-family: "Poppins", sans-serif;
37643
37719
  font-size: 14px;
37644
37720
  font-weight: 400;
37645
37721
  z-index: 1000;
@@ -37648,201 +37724,157 @@ styled__default["default"].div`
37648
37724
  white-space: pre-wrap;
37649
37725
  word-wrap: break-word;
37650
37726
  line-height: 1.8;
37651
- // box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
37652
- box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.15);
37653
- transform: translate(-50%, -100%);
37727
+ box-shadow:
37728
+ 0 -2px 8px rgba(0, 0, 0, 0.15),
37729
+ 0 2px 8px rgba(0, 0, 0, 0.15);
37654
37730
 
37655
- &::after {
37656
- content: '';
37657
- position: absolute;
37658
- top: 100%;
37659
- left: 50%;
37660
- transform: translateX(-50%);
37661
- border: 8px solid transparent;
37662
- border-top-color: white;
37663
- }
37664
- `;
37665
- const TableCell = styled__default["default"].td`
37666
- padding: 12px 16px;
37667
- color: ${props => props.$color || '#212121'};
37668
- font-size: 14px;
37669
- font-weight: 400;
37670
- font-family: 'Poppins', sans-serif;
37671
- line-height: 30px;
37672
- height: 32px; // Add this to force consistent height
37673
- vertical-align: middle; // Add this to center content vertically
37674
- white-space: nowrap;
37675
- overflow: hidden;
37676
- text-overflow: ellipsis;
37677
- min-width: ${props => props.$minWidth || '80px'};
37678
- max-width: ${props => props.$maxWidth || '300px'};
37679
- width: auto;
37680
- position: relative;
37681
-
37682
- /* CSS-only tooltip */
37683
- &[data-tooltip]:hover::before {
37684
- content: attr(data-tooltip);
37685
- position: fixed;
37686
- background-color: white;
37687
- color: #333;
37688
- padding: 10px 16px;
37689
- border-radius: 4px;
37690
- font-family: 'Poppins', sans-serif;
37691
- font-size: 14px;
37692
- font-weight: 400;
37693
- z-index: 1000;
37694
- pointer-events: none;
37695
- width: 200px;
37696
- white-space: pre-wrap;
37697
- word-wrap: break-word;
37698
- line-height: 1.8;
37699
- box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.15);
37700
-
37701
- /* Position above the element - using dynamic offset */
37702
- top: calc(var(--cell-top, 0px) - var(--cell-offset, 40px));
37703
- left: calc(var(--cell-left, 0px) + var(--cell-width, 0px) / 2);
37704
- transform: translateX(-50%);
37705
-
37706
- /* Add delay */
37707
- opacity: 0;
37708
- animation: showTooltip 0.3s ease-in-out 0.5s forwards;
37709
- }
37710
-
37711
- /* Tooltip arrow */
37712
- &[data-tooltip]:hover::after {
37713
- content: '';
37714
- position: fixed;
37715
- top: calc(var(--cell-top, 0px) - var(--cell-offset, 40px) + var(--cell-height, 50px));
37716
- left: calc(var(--cell-left, 0px) + var(--cell-width, 0px) / 2);
37717
- transform: translateX(-50%);
37718
- border: 8px solid transparent;
37719
- border-top-color: white;
37720
- z-index: 1001;
37721
- pointer-events: none;
37722
-
37723
- /* Add delay */
37724
- opacity: 0;
37725
- animation: showTooltip 0.3s ease-in-out 0.5s forwards;
37726
- }
37727
-
37728
- &[title] {
37729
- &:hover::after {
37730
- font-family: 'Poppins', sans-serif;
37731
- font-size: 14px;
37732
- }
37731
+ /* Position above the element - using dynamic offset */
37732
+ top: calc(var(--cell-top, 0px) - var(--cell-offset, 40px));
37733
+ left: calc(var(--cell-left, 0px) + var(--cell-width, 0px) / 2);
37734
+ transform: translateX(-50%);
37735
+
37736
+ /* Add delay */
37737
+ opacity: 0;
37738
+ animation: showTooltip 0.3s ease-in-out 0.5s forwards;
37739
+ }
37740
+
37741
+ /* Tooltip arrow */
37742
+ &[data-tooltip]:hover::after {
37743
+ content: "";
37744
+ position: fixed;
37745
+ top: calc(
37746
+ var(--cell-top, 0px) - var(--cell-offset, 40px) + var(--cell-height, 50px)
37747
+ );
37748
+ left: calc(var(--cell-left, 0px) + var(--cell-width, 0px) / 2);
37749
+ transform: translateX(-50%);
37750
+ border: 8px solid transparent;
37751
+ border-top-color: white;
37752
+ z-index: 1001;
37753
+ pointer-events: none;
37754
+
37755
+ /* Add delay */
37756
+ opacity: 0;
37757
+ animation: showTooltip 0.3s ease-in-out 0.5s forwards;
37758
+ }
37759
+
37760
+ &[title] {
37761
+ &:hover::after {
37762
+ font-family: "Poppins", sans-serif;
37763
+ font-size: 14px;
37733
37764
  }
37734
-
37735
- ${props => {
37765
+ }
37766
+
37767
+ ${props => {
37736
37768
  switch (props.$fieldType) {
37737
- case 'currency':
37769
+ case "currency":
37738
37770
  return styled.css`
37739
- font-family: 'Poppins', sans-serif;
37740
- font-weight: 500;
37741
- `;
37742
- case 'number':
37771
+ font-family: "Poppins", sans-serif;
37772
+ font-weight: 500;
37773
+ `;
37774
+ case "number":
37743
37775
  return styled.css`
37744
- font-family: 'Poppins', sans-serif;
37745
- //text-align: right;
37746
- `;
37776
+ font-family: "Poppins", sans-serif;
37777
+ `;
37747
37778
  default:
37748
- return '';
37779
+ return "";
37749
37780
  }
37750
37781
  }}
37751
37782
  `;
37752
37783
 
37753
37784
  // Loading skeleton styles
37754
37785
  styled__default["default"].td`
37755
- padding: 12px 16px;
37756
- font-family: 'Poppins', sans-serif;
37786
+ padding: 12px 16px;
37787
+ font-family: "Poppins", sans-serif;
37757
37788
  `;
37758
37789
  styled__default["default"].div`
37759
- background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
37760
- background-size: 200% 100%;
37761
- animation: loading 1.5s infinite;
37762
- height: 20px;
37763
- border-radius: 4px;
37764
- width: ${props => props.$width || '100%'};
37765
- font-family: 'Poppins', sans-serif;
37766
-
37767
- @keyframes loading {
37768
- 0% { background-position: 200% 0; }
37769
- 100% { background-position: -200% 0; }
37790
+ background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
37791
+ background-size: 200% 100%;
37792
+ animation: loading 1.5s infinite;
37793
+ height: 20px;
37794
+ border-radius: 4px;
37795
+ width: ${props => props.$width || "100%"};
37796
+ font-family: "Poppins", sans-serif;
37797
+
37798
+ @keyframes loading {
37799
+ 0% {
37800
+ background-position: 200% 0;
37770
37801
  }
37802
+ 100% {
37803
+ background-position: -200% 0;
37804
+ }
37805
+ }
37771
37806
  `;
37772
37807
  styled__default["default"].div`
37773
- display: flex;
37774
- align-items: center;
37775
- gap: 8px;
37808
+ display: flex;
37809
+ align-items: center;
37810
+ gap: 8px;
37776
37811
  `;
37777
37812
  const ButtonWrapper = styled__default["default"].div`
37778
- display: inline-block;
37779
- position: relative;
37780
-
37781
- ${tooltipStyles}
37813
+ display: inline-block;
37814
+ position: relative;
37815
+
37816
+ ${tooltipStyles}
37782
37817
  `;
37783
37818
  const SentStatus = styled__default["default"].div`
37784
- display: flex;
37785
- align-items: center;
37786
- font-weight: 500;
37787
- gap: 8px;
37788
- color: #5FCC70;
37789
- //padding: 4px 8px;
37790
- user-select: none;
37791
- position: relative;
37792
-
37793
- ${tooltipStyles}
37819
+ display: flex;
37820
+ align-items: center;
37821
+ font-weight: 500;
37822
+ gap: 8px;
37823
+ color: #5fcc70;
37824
+ user-select: none;
37825
+ position: relative;
37826
+
37827
+ ${tooltipStyles}
37794
37828
  `;
37795
37829
  const TrashIconWrapper = styled__default["default"].div`
37796
- cursor: pointer;
37797
- transition: color 0.2s ease;
37798
- display: inline-flex;
37799
- align-items: center;
37800
- justify-content: center;
37801
- width: 100%;
37802
- height: 100%;
37803
- position: relative;
37804
- //transform: translateY(5px);
37805
-
37806
- ${tooltipStyles}
37807
-
37808
- /* Override tooltip position to move left */
37809
- &[data-tooltip]:hover::before {
37810
- left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2 - 50px);
37811
- }
37812
-
37813
- &[data-tooltip]:hover::after {
37814
- left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2 - 50px);
37815
- }
37816
-
37817
- &:hover {
37818
- svg path {
37819
- fill: ${props => props.$buttonColor};
37820
- }
37830
+ cursor: pointer;
37831
+ transition: color 0.2s ease;
37832
+ display: inline-flex;
37833
+ align-items: center;
37834
+ justify-content: center;
37835
+ width: 100%;
37836
+ height: 100%;
37837
+ position: relative;
37838
+
37839
+ ${tooltipStyles}
37840
+
37841
+ /* Override tooltip position to move left */
37842
+ &[data-tooltip]:hover::before {
37843
+ left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2 - 50px);
37844
+ }
37845
+
37846
+ &[data-tooltip]:hover::after {
37847
+ left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2 - 50px);
37848
+ }
37849
+
37850
+ &:hover {
37851
+ svg path {
37852
+ fill: ${props => props.$buttonColor};
37821
37853
  }
37854
+ }
37822
37855
  `;
37823
37856
  const DisabledTrashIconWrapper = styled__default["default"].div`
37824
- display: inline-flex;
37825
- align-items: center;
37826
- justify-content: center;
37827
- width: 100%;
37828
- height: 100%;
37829
- position: relative;
37830
- //transform: translateY(5px);
37831
-
37832
- ${tooltipStyles}
37833
-
37834
- /* Override tooltip position to move left */
37835
- &[data-tooltip]:hover::before {
37836
- left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2 - 50px);
37837
- }
37838
-
37839
- &[data-tooltip]:hover::after {
37840
- left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2 - 50px);
37841
- }
37842
-
37843
- svg {
37844
- color: #D9D9D9;
37845
- }
37857
+ display: inline-flex;
37858
+ align-items: center;
37859
+ justify-content: center;
37860
+ width: 100%;
37861
+ height: 100%;
37862
+ position: relative;
37863
+
37864
+ ${tooltipStyles}
37865
+
37866
+ /* Override tooltip position to move left */
37867
+ &[data-tooltip]:hover::before {
37868
+ left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2 - 50px);
37869
+ }
37870
+
37871
+ &[data-tooltip]:hover::after {
37872
+ left: calc(var(--tooltip-left, 0px) + var(--tooltip-width, 0px) / 2 - 50px);
37873
+ }
37874
+
37875
+ svg {
37876
+ color: #d9d9d9;
37877
+ }
37846
37878
  `;
37847
37879
 
37848
37880
  // OkIcon.jsx
@@ -37911,7 +37943,8 @@ const TableBody = /*#__PURE__*/React$1.forwardRef(({
37911
37943
  buttonColor,
37912
37944
  onDeleteClick,
37913
37945
  resetFocus = false,
37914
- onFocusChange
37946
+ onFocusChange,
37947
+ indexToShimmer = 0
37915
37948
  }, ref) => {
37916
37949
  const [hoveredRowIndex, setHoveredRowIndex] = React$1.useState(null);
37917
37950
  const [focusedRowIndex, setFocusedRowIndex] = React$1.useState(null);
@@ -38145,6 +38178,7 @@ const TableBody = /*#__PURE__*/React$1.forwardRef(({
38145
38178
  return /*#__PURE__*/React__default["default"].createElement(StyledTableBody, null, data.map((row, rowIndex) => /*#__PURE__*/React__default["default"].createElement(TableRow, {
38146
38179
  key: rowIndex,
38147
38180
  "data-row-index": rowIndex,
38181
+ className: indexToShimmer === rowIndex ? 'shimmer-row' : '',
38148
38182
  $isFocused: focusedRowIndex === rowIndex,
38149
38183
  onMouseEnter: () => setHoveredRowIndex(rowIndex),
38150
38184
  onMouseLeave: () => setHoveredRowIndex(null),
@@ -38177,9 +38211,6 @@ const TableBody = /*#__PURE__*/React$1.forwardRef(({
38177
38211
  }))));
38178
38212
  });
38179
38213
 
38180
- // Add displayName for better debugging
38181
- TableBody.displayName = 'TableBody';
38182
-
38183
38214
  var nm$1 = "calendar_lottie";
38184
38215
  var ddd$1 = 0;
38185
38216
  var h$1 = 16;
@@ -41379,6 +41410,7 @@ const Table = /*#__PURE__*/React$1.forwardRef((props, ref) => {
41379
41410
  showNoDataInSearch = false,
41380
41411
  noDataInSearchTitle = "No Results Found",
41381
41412
  noDataInSearchMessage = "Try to refine your query and search again",
41413
+ indexToShimmer = -1,
41382
41414
  // New props for focus management
41383
41415
  resetTableFocus = false,
41384
41416
  onTableFocusChange = () => {},
@@ -41479,6 +41511,7 @@ const Table = /*#__PURE__*/React$1.forwardRef((props, ref) => {
41479
41511
  }), columns.length > 0 && data.length > 0 && /*#__PURE__*/React__default["default"].createElement(TableBody, {
41480
41512
  ref: tableBodyRef,
41481
41513
  columns: columns,
41514
+ indexToShimmer: indexToShimmer,
41482
41515
  data: data,
41483
41516
  onRowClick: onRowClick,
41484
41517
  onSendClick: onSendClick,
@@ -51296,6 +51329,7 @@ const DropdownButton = styled__default["default"].button`
51296
51329
  border: 1px solid #8B8989;
51297
51330
  border-radius: 12px;
51298
51331
  padding: 17px;
51332
+ height: ${props => props.height};
51299
51333
  text-align: left;
51300
51334
  cursor: pointer;
51301
51335
  display: flex;
@@ -51332,10 +51366,13 @@ const DropdownList = styled__default["default"].ul`
51332
51366
  const SectionTitle = styled__default["default"].li`
51333
51367
  font-size: 14px;
51334
51368
  color: #bdbdbd;
51335
- padding: 16px 12px 0 12px;
51369
+ padding: 12px 12px 0 12px;
51336
51370
  font-weight: 500;
51337
- border-top: 1px solid #bdbdbd;
51338
51371
  pointer-events: none;
51372
+ &:not(:first-child) {
51373
+ border-top: 1px solid #bdbdbd;
51374
+ padding-top: 16px;
51375
+ }
51339
51376
  `;
51340
51377
  const DropdownItem = styled__default["default"].li`
51341
51378
  padding: 8px 16px;
@@ -51361,7 +51398,7 @@ const TruncatedText = styled__default["default"].span`
51361
51398
  line-height: 21px;
51362
51399
  font-size: 14px;
51363
51400
  font-weight: 400;
51364
- color: inherit;
51401
+ color: ${props => props.color};
51365
51402
  max-width: 340px;
51366
51403
  white-space: nowrap;
51367
51404
  overflow: hidden;
@@ -51383,6 +51420,28 @@ styled__default["default"].div`
51383
51420
  /* max-width: 320px; */
51384
51421
  white-space: pre-line;
51385
51422
  `;
51423
+ const Label$1 = styled__default["default"].label`
51424
+ font-size: 14px;
51425
+ font-weight: 400;
51426
+ padding-inline-end: 5px;
51427
+ padding-inline-start: 5px;
51428
+ margin-right: 10px;
51429
+ z-index: 2;
51430
+ color: ${props => props.error ? 'red' : props.disabled ? '#888' : props.labelColor};
51431
+ background-color: ${props => props.disabled ? '#F2F2F2' : props.showLabelOnTop ? 'white' : 'transparent'};
51432
+ position: absolute;
51433
+ top: ${props => props.isFocused || props.hasValue ? '0px' : '50%'};
51434
+ left: ${props => props.isFocused || props.hasValue ? '23px' : '14px'};
51435
+ transform: translateY(-50%);
51436
+ transition: ${props => props.showLabelOnTop ? 'top 0.3s ease, font-size 0.3s ease, color 0.3s ease' : ''} ;
51437
+ display: flex;
51438
+ align-items: center;
51439
+ box-sizing: border-box;
51440
+ gap: 4px;
51441
+ &:hover {
51442
+ cursor: ${props => props.disabled ? 'not-allowed' : 'pointer'};
51443
+ }
51444
+ `;
51386
51445
 
51387
51446
  const DialogOverlay = styled__default["default"].div`
51388
51447
  position: fixed;
@@ -51607,6 +51666,13 @@ const OverlayDropdown = _ref => {
51607
51666
  hoverColor = '#E6F0F0',
51608
51667
  dropdownMaxHeight = '600px',
51609
51668
  width = '100%',
51669
+ height = 'auto',
51670
+ label,
51671
+ labelEmptyValue,
51672
+ showLabelOnTop,
51673
+ placeHolder,
51674
+ labelColor,
51675
+ placeHolderColor,
51610
51676
  ...props
51611
51677
  } = _ref;
51612
51678
  const [open, setOpen] = React$1.useState(false);
@@ -51677,6 +51743,7 @@ const OverlayDropdown = _ref => {
51677
51743
  return null;
51678
51744
  };
51679
51745
  const selected = findSelectedItem();
51746
+ const hasValue = !!selected;
51680
51747
 
51681
51748
  // Tooltip logic for long string
51682
51749
  const getDisplayText = text => {
@@ -51790,24 +51857,53 @@ const OverlayDropdown = _ref => {
51790
51857
  setOpen(prev => !prev);
51791
51858
  };
51792
51859
  const dataToRender = getDataWithLastDefined();
51860
+ const getLabel = () => {
51861
+ if (!showLabelOnTop && open) {
51862
+ return "";
51863
+ }
51864
+ if (hasValue) {
51865
+ return label;
51866
+ }
51867
+ return labelEmptyValue;
51868
+ };
51869
+ const getRequired = () => {
51870
+ if (!showLabelOnTop && open) {
51871
+ return "";
51872
+ }
51873
+ if (!showLabelOnTop && !label && hasValue) {
51874
+ return "";
51875
+ }
51876
+ if (required) {
51877
+ return /*#__PURE__*/React__default["default"].createElement("span", {
51878
+ style: {
51879
+ color: "red"
51880
+ }
51881
+ }, "*");
51882
+ }
51883
+ return "";
51884
+ };
51793
51885
  return /*#__PURE__*/React__default["default"].createElement(DropdownContainer, {
51794
51886
  width: width,
51795
51887
  ref: containerRef
51796
- }, /*#__PURE__*/React__default["default"].createElement(DropdownButton, {
51888
+ }, /*#__PURE__*/React__default["default"].createElement(Label$1, {
51889
+ className: "Label",
51890
+ isFocused: open,
51891
+ labelColor: labelColor,
51892
+ hasValue: hasValue,
51893
+ disabled: disabled,
51894
+ showLabelOnTop: showLabelOnTop
51895
+ }, getLabel(), getRequired()), /*#__PURE__*/React__default["default"].createElement(DropdownButton, {
51797
51896
  ref: buttonRef,
51798
51897
  onClick: toggleDropdown,
51799
51898
  disabled: disabled,
51800
51899
  isDarkerBackground: isDarkerBackground,
51900
+ height: height,
51801
51901
  type: "button"
51802
51902
  }, /*#__PURE__*/React__default["default"].createElement(TruncatedText, {
51803
51903
  onMouseEnter: () => setHoveredText(selected?.label),
51804
- onMouseLeave: () => setHoveredText(null)
51805
- }, selected ? getDisplayText(selected.label) : 'Choose Overlay', required && /*#__PURE__*/React__default["default"].createElement("span", {
51806
- style: {
51807
- color: 'red',
51808
- marginLeft: '2px'
51809
- }
51810
- }, "*")), open ? /*#__PURE__*/React__default["default"].createElement(MenuItemUpIcon, {
51904
+ onMouseLeave: () => setHoveredText(null),
51905
+ color: !selected && open ? placeHolderColor : "inherit"
51906
+ }, selected ? getDisplayText(selected.label) : open ? placeHolder : ''), open ? /*#__PURE__*/React__default["default"].createElement(MenuItemUpIcon, {
51811
51907
  width: "12px",
51812
51908
  height: "12px",
51813
51909
  color: "#B1B1B1"