@gobolt/genesis 0.4.26 → 0.4.27

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.
@@ -8,6 +8,7 @@ export interface SecondaryTableControlsRowProps {
8
8
  totalRecords: number | null;
9
9
  onChange?: Change;
10
10
  infiniteScrollData?: InfiniteScrollChangeEvent;
11
+ intialRowTotal?: number;
11
12
  }
12
- declare const SecondaryTableControlsRow: ({ groups, totalRecords, onChange, infiniteScrollData, }: SecondaryTableControlsRowProps) => import("react/jsx-runtime").JSX.Element;
13
+ declare const SecondaryTableControlsRow: ({ groups, totalRecords, onChange, infiniteScrollData, intialRowTotal, }: SecondaryTableControlsRowProps) => import("react/jsx-runtime").JSX.Element;
13
14
  export default SecondaryTableControlsRow;
package/dist/index.cjs CHANGED
@@ -81144,41 +81144,41 @@ const Notification = ({
81144
81144
  ] });
81145
81145
  };
81146
81146
  const slideDown = styled.keyframes`
81147
- from {
81147
+ 0% {
81148
81148
  opacity: 0;
81149
- transform: translateY(-4px) scale(0.98);
81149
+ transform: translateY(-6px) scale(0.96);
81150
81150
  }
81151
- to {
81151
+ 100% {
81152
81152
  opacity: 1;
81153
81153
  transform: translateY(0) scale(1);
81154
81154
  }
81155
81155
  `;
81156
81156
  const slideUp = styled.keyframes`
81157
- from {
81157
+ 0% {
81158
81158
  opacity: 0;
81159
- transform: translateY(4px) scale(0.98);
81159
+ transform: translateY(6px) scale(0.96);
81160
81160
  }
81161
- to {
81161
+ 100% {
81162
81162
  opacity: 1;
81163
81163
  transform: translateY(0) scale(1);
81164
81164
  }
81165
81165
  `;
81166
81166
  const slideLeft = styled.keyframes`
81167
- from {
81167
+ 0% {
81168
81168
  opacity: 0;
81169
- transform: translateX(4px) scale(0.98);
81169
+ transform: translateX(6px) scale(0.96);
81170
81170
  }
81171
- to {
81171
+ 100% {
81172
81172
  opacity: 1;
81173
81173
  transform: translateX(0) scale(1);
81174
81174
  }
81175
81175
  `;
81176
81176
  const slideRight = styled.keyframes`
81177
- from {
81177
+ 0% {
81178
81178
  opacity: 0;
81179
- transform: translateX(-4px) scale(0.98);
81179
+ transform: translateX(-6px) scale(0.96);
81180
81180
  }
81181
- to {
81181
+ 100% {
81182
81182
  opacity: 1;
81183
81183
  transform: translateX(0) scale(1);
81184
81184
  }
@@ -81208,7 +81208,7 @@ const OverflowMenuContainer = styled.div`
81208
81208
  margin: 0;
81209
81209
  padding: 0;
81210
81210
 
81211
- /* Animation based on placement */
81211
+ /* Animation based on placement with enhanced smoothness */
81212
81212
  animation: ${({ $placement, $isAnimating }) => {
81213
81213
  if (!$isAnimating) return "none";
81214
81214
  switch ($placement) {
@@ -81229,21 +81229,33 @@ const OverflowMenuContainer = styled.div`
81229
81229
  }
81230
81230
  }
81231
81231
  }}
81232
- 0.15s cubic-bezier(0.4, 0, 0.2, 1);
81232
+ 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
81233
81233
 
81234
- /* Ensure smooth transitions and prevent jank */
81234
+ /* Ensure ultra-smooth transitions without filter */
81235
81235
  transition:
81236
- opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1),
81237
- transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
81236
+ opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
81237
+ transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
81238
81238
 
81239
- /* Hardware acceleration for smoother animations */
81239
+ /* Hardware acceleration and performance optimizations */
81240
81240
  will-change: transform, opacity;
81241
81241
  backface-visibility: hidden;
81242
81242
  transform: translateZ(0);
81243
+ transform-style: preserve-3d;
81244
+
81245
+ /* Initial hidden state to prevent flash */
81246
+ ${({ $isAnimating }) => !$isAnimating && `
81247
+ opacity: 0;
81248
+ transform: scale(0.96) translateY(-6px);
81249
+ pointer-events: none;
81250
+ `}
81243
81251
 
81244
81252
  /* Prevent layout shifts and ensure smooth rendering */
81245
81253
  contain: layout style paint;
81246
81254
  isolation: isolate;
81255
+
81256
+ /* Smooth font rendering */
81257
+ -webkit-font-smoothing: antialiased;
81258
+ -moz-osx-font-smoothing: grayscale;
81247
81259
  `;
81248
81260
  const OverflowMenuItem$1 = styled.div`
81249
81261
  padding: 8px 12px;
@@ -81262,12 +81274,12 @@ const OverflowMenuItem = ({ children: children2, onClick }) => {
81262
81274
  return /* @__PURE__ */ jsxRuntime.jsx(OverflowMenuItem$1, { onClick, children: children2 });
81263
81275
  };
81264
81276
  const DefaultTrigger = () => {
81265
- return /* @__PURE__ */ jsxRuntime.jsx(Button$1, { isIconButton: true, themeType: "secondary", size: "small", children: /* @__PURE__ */ jsxRuntime.jsx(HiDotsHorizontal, {}) });
81277
+ return /* @__PURE__ */ jsxRuntime.jsx(UtilityButton, { isIconButton: true, size: "small", children: /* @__PURE__ */ jsxRuntime.jsx(HiDotsHorizontal, { size: 24 }) });
81266
81278
  };
81267
81279
  const DefaultTriggerWithOverrideTextColor = ({
81268
81280
  overrideTextColor
81269
81281
  }) => {
81270
- return /* @__PURE__ */ jsxRuntime.jsx(Button$1, { isIconButton: true, themeType: "secondary", size: "small", children: /* @__PURE__ */ jsxRuntime.jsx(HiDotsHorizontal, { style: { color: overrideTextColor } }) });
81282
+ return /* @__PURE__ */ jsxRuntime.jsx(UtilityButton, { isIconButton: true, size: "small", children: /* @__PURE__ */ jsxRuntime.jsx(HiDotsHorizontal, { style: { color: overrideTextColor }, size: 24 }) });
81271
81283
  };
81272
81284
  const OverflowMenu = React.forwardRef(
81273
81285
  ({
@@ -84224,6 +84236,11 @@ const getGenesisClass$1 = ({ colors: colors2, borderRadius: borderRadius2, sizin
84224
84236
  border-radius: 0 !important;
84225
84237
  }
84226
84238
 
84239
+ .ant-table-header {
84240
+ border-top-left-radius: 0 !important;
84241
+ border-top-right-radius: 0 !important;
84242
+ }
84243
+
84227
84244
  .ant-table {
84228
84245
  // Add your custom table styles here
84229
84246
  border-radius: 0 !important;
@@ -85683,8 +85700,10 @@ const SecondaryTableControlsRow = ({
85683
85700
  groups,
85684
85701
  totalRecords,
85685
85702
  onChange,
85686
- infiniteScrollData
85703
+ infiniteScrollData,
85704
+ intialRowTotal = 40
85687
85705
  }) => {
85706
+ const [hasChanged, setHasChanged] = React__namespace.useState(false);
85688
85707
  const onGroupItemClick = (title, item) => {
85689
85708
  const groupItemClickEvent = {
85690
85709
  event: "groupItemClick",
@@ -85692,19 +85711,71 @@ const SecondaryTableControlsRow = ({
85692
85711
  };
85693
85712
  onChange?.(groupItemClickEvent);
85694
85713
  };
85714
+ const handleClearFilters = () => {
85715
+ const clearFiltersEvent = {
85716
+ event: "clearFilters",
85717
+ payload: {}
85718
+ };
85719
+ onChange?.(clearFiltersEvent);
85720
+ };
85721
+ React__namespace.useEffect(() => {
85722
+ if (infiniteScrollData && infiniteScrollData?.resultsShown > intialRowTotal) {
85723
+ setHasChanged(true);
85724
+ }
85725
+ if (groups) {
85726
+ setHasChanged(true);
85727
+ }
85728
+ return () => {
85729
+ setHasChanged(false);
85730
+ };
85731
+ }, [infiniteScrollData, groups]);
85732
+ const isGroupsEmpty = groups ? Object.values(groups).every((items) => items.length === 0) : true;
85733
+ const isMoreThanInitial = infiniteScrollData && Number(infiniteScrollData?.resultsShown) > intialRowTotal || !isGroupsEmpty;
85695
85734
  return /* @__PURE__ */ jsxRuntime.jsxs(
85696
85735
  "div",
85697
85736
  {
85698
85737
  style: {
85699
85738
  display: "flex",
85700
- justifyContent: groups ? "space-between" : "flex-end",
85739
+ justifyContent: "space-between",
85701
85740
  alignItems: "flex-end",
85702
85741
  marginTop: 8
85703
85742
  },
85704
85743
  children: [
85705
- /* @__PURE__ */ jsxRuntime.jsx(GroupsRow, { groups, onGroupItemClick }),
85744
+ /* @__PURE__ */ jsxRuntime.jsx("div", { style: { minWidth: 100 }, children: /* @__PURE__ */ jsxRuntime.jsx(GroupsRow, { groups, onGroupItemClick }) }),
85706
85745
  (totalRecords ?? 0) > 0 && !infiniteScrollData ? /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", color: "#6C6C6C", children: `${totalRecords} results` }) : null,
85707
- infiniteScrollData ? /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body2", color: "#6C6C6C", children: `${infiniteScrollData.resultsShown} results` }) : null
85746
+ /* @__PURE__ */ jsxRuntime.jsxs(
85747
+ "div",
85748
+ {
85749
+ style: {
85750
+ display: "flex",
85751
+ alignItems: "center",
85752
+ justifyContent: "center",
85753
+ gap: 16,
85754
+ marginRight: 16
85755
+ },
85756
+ children: [
85757
+ isMoreThanInitial && hasChanged ? /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body1", color: "#6C6C6C", children: `${infiniteScrollData?.resultsShown ?? intialRowTotal} results` }) : null,
85758
+ !isGroupsEmpty ? /* @__PURE__ */ jsxRuntime.jsx(
85759
+ "button",
85760
+ {
85761
+ onClick: handleClearFilters,
85762
+ style: {
85763
+ background: "none",
85764
+ border: "none",
85765
+ padding: 0,
85766
+ margin: 0,
85767
+ cursor: "pointer",
85768
+ display: "flex",
85769
+ alignItems: "center",
85770
+ gap: 4
85771
+ },
85772
+ children: /* @__PURE__ */ jsxRuntime.jsx(Typography, { variant: "body1", color: "#30606B;", children: "Clear Filters" })
85773
+ }
85774
+ ) : null
85775
+ ]
85776
+ }
85777
+ ),
85778
+ /* @__PURE__ */ jsxRuntime.jsx("div", { style: { width: 100, height: 0 } })
85708
85779
  ]
85709
85780
  }
85710
85781
  );
@@ -85720,30 +85791,37 @@ const TableControls = ({
85720
85791
  const onSecondaryChange = (actionEvent) => {
85721
85792
  onChange(actionEvent);
85722
85793
  };
85723
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { "data-testid": "TableControls", style: { margin: "16px 0px" }, children: [
85724
- /* @__PURE__ */ jsxRuntime.jsx(
85725
- PrimaryTableControlsRow,
85726
- {
85727
- sortOptions: primaryTableRowData.sortOptions,
85728
- searchByPlaceholder: primaryTableRowData.searchByPlaceholder,
85729
- isSortedAscending: primaryTableRowData.isSortedAscending,
85730
- onChange: onPrimaryChange,
85731
- searchValue: primaryTableRowData.searchValue,
85732
- selectedSortOption: primaryTableRowData.selectedSortOption,
85733
- hasSettings: primaryTableRowData.hasSettings,
85734
- hasFilter: primaryTableRowData.hasFilter
85735
- }
85736
- ),
85737
- secondaryTableRowData ? /* @__PURE__ */ jsxRuntime.jsx(
85738
- SecondaryTableControlsRow,
85739
- {
85740
- groups: secondaryTableRowData.groups,
85741
- totalRecords: secondaryTableRowData.totalRecords,
85742
- onChange: onSecondaryChange,
85743
- infiniteScrollData: secondaryTableRowData.infiniteScrollData
85744
- }
85745
- ) : null
85746
- ] });
85794
+ return /* @__PURE__ */ jsxRuntime.jsxs(
85795
+ "div",
85796
+ {
85797
+ "data-testid": "TableControls",
85798
+ style: { paddingLeft: 20, paddingTop: 18, marginBottom: 16 },
85799
+ children: [
85800
+ /* @__PURE__ */ jsxRuntime.jsx(
85801
+ PrimaryTableControlsRow,
85802
+ {
85803
+ sortOptions: primaryTableRowData.sortOptions,
85804
+ searchByPlaceholder: primaryTableRowData.searchByPlaceholder,
85805
+ isSortedAscending: primaryTableRowData.isSortedAscending,
85806
+ onChange: onPrimaryChange,
85807
+ searchValue: primaryTableRowData.searchValue,
85808
+ selectedSortOption: primaryTableRowData.selectedSortOption,
85809
+ hasSettings: primaryTableRowData.hasSettings,
85810
+ hasFilter: primaryTableRowData.hasFilter
85811
+ }
85812
+ ),
85813
+ secondaryTableRowData ? /* @__PURE__ */ jsxRuntime.jsx(
85814
+ SecondaryTableControlsRow,
85815
+ {
85816
+ groups: secondaryTableRowData.groups,
85817
+ totalRecords: secondaryTableRowData.totalRecords,
85818
+ onChange: onSecondaryChange,
85819
+ infiniteScrollData: secondaryTableRowData.infiniteScrollData
85820
+ }
85821
+ ) : null
85822
+ ]
85823
+ }
85824
+ );
85747
85825
  };
85748
85826
  const TableWithControls = ({
85749
85827
  tableData,
@@ -86719,11 +86797,6 @@ const startCase = (string_) => {
86719
86797
  return string_;
86720
86798
  };
86721
86799
  const mockColumns = [
86722
- {
86723
- key: "number",
86724
- title: "Id",
86725
- dataIndex: "number"
86726
- },
86727
86800
  {
86728
86801
  key: "timeslot",
86729
86802
  title: "Timeslot",
@@ -87043,13 +87116,14 @@ const getGenesisClass = ({ colors: colors2, borderRadius: borderRadius2, sizing:
87043
87116
  float: none; /* Prevent default float behavior */
87044
87117
  position: relative;
87045
87118
 
87119
+
87046
87120
  /* Use single side borders to prevent double borders */
87047
87121
  border-left: 1px solid ${colors2.surface.border};
87048
87122
 
87049
87123
  margin-right: -2px;
87050
87124
  user-select: none;
87051
87125
  color: ${colors2.onsurface.copy};
87052
- font-family: Inter;
87126
+ font-family: 'Inter' !important;
87053
87127
  font-size: 14px;
87054
87128
  font-style: normal;
87055
87129
  font-weight: 500;
@@ -87073,7 +87147,8 @@ const getGenesisClass = ({ colors: colors2, borderRadius: borderRadius2, sizing:
87073
87147
  }
87074
87148
 
87075
87149
  .ant-tabs-tab-btn {
87076
- color: #3E3E3E;
87150
+ color: ${colors2.onsurface["copy"]} !important;
87151
+ font-weight: 500 !important;
87077
87152
  user-select: none;
87078
87153
  background: transparent;
87079
87154
 
@@ -87093,9 +87168,13 @@ const getGenesisClass = ({ colors: colors2, borderRadius: borderRadius2, sizing:
87093
87168
  &.ant-tabs-tab-active {
87094
87169
  background: ${colors2.interactive.utility?.active};
87095
87170
  user-select: none;
87171
+ font-weight: 500;
87172
+ font-size: 14px;
87173
+ font-family: 'Inter' !important;
87096
87174
 
87097
87175
  .ant-tabs-tab-btn {
87098
- color: #222222;
87176
+ color: ${colors2.onsurface["copy-dark"]} !important;
87177
+ font-weight: 500 !important;
87099
87178
  }
87100
87179
 
87101
87180
  &:hover {
package/dist/index.js CHANGED
@@ -81126,41 +81126,41 @@ const Notification = ({
81126
81126
  ] });
81127
81127
  };
81128
81128
  const slideDown = keyframes`
81129
- from {
81129
+ 0% {
81130
81130
  opacity: 0;
81131
- transform: translateY(-4px) scale(0.98);
81131
+ transform: translateY(-6px) scale(0.96);
81132
81132
  }
81133
- to {
81133
+ 100% {
81134
81134
  opacity: 1;
81135
81135
  transform: translateY(0) scale(1);
81136
81136
  }
81137
81137
  `;
81138
81138
  const slideUp = keyframes`
81139
- from {
81139
+ 0% {
81140
81140
  opacity: 0;
81141
- transform: translateY(4px) scale(0.98);
81141
+ transform: translateY(6px) scale(0.96);
81142
81142
  }
81143
- to {
81143
+ 100% {
81144
81144
  opacity: 1;
81145
81145
  transform: translateY(0) scale(1);
81146
81146
  }
81147
81147
  `;
81148
81148
  const slideLeft = keyframes`
81149
- from {
81149
+ 0% {
81150
81150
  opacity: 0;
81151
- transform: translateX(4px) scale(0.98);
81151
+ transform: translateX(6px) scale(0.96);
81152
81152
  }
81153
- to {
81153
+ 100% {
81154
81154
  opacity: 1;
81155
81155
  transform: translateX(0) scale(1);
81156
81156
  }
81157
81157
  `;
81158
81158
  const slideRight = keyframes`
81159
- from {
81159
+ 0% {
81160
81160
  opacity: 0;
81161
- transform: translateX(-4px) scale(0.98);
81161
+ transform: translateX(-6px) scale(0.96);
81162
81162
  }
81163
- to {
81163
+ 100% {
81164
81164
  opacity: 1;
81165
81165
  transform: translateX(0) scale(1);
81166
81166
  }
@@ -81190,7 +81190,7 @@ const OverflowMenuContainer = styled.div`
81190
81190
  margin: 0;
81191
81191
  padding: 0;
81192
81192
 
81193
- /* Animation based on placement */
81193
+ /* Animation based on placement with enhanced smoothness */
81194
81194
  animation: ${({ $placement, $isAnimating }) => {
81195
81195
  if (!$isAnimating) return "none";
81196
81196
  switch ($placement) {
@@ -81211,21 +81211,33 @@ const OverflowMenuContainer = styled.div`
81211
81211
  }
81212
81212
  }
81213
81213
  }}
81214
- 0.15s cubic-bezier(0.4, 0, 0.2, 1);
81214
+ 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
81215
81215
 
81216
- /* Ensure smooth transitions and prevent jank */
81216
+ /* Ensure ultra-smooth transitions without filter */
81217
81217
  transition:
81218
- opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1),
81219
- transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
81218
+ opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
81219
+ transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
81220
81220
 
81221
- /* Hardware acceleration for smoother animations */
81221
+ /* Hardware acceleration and performance optimizations */
81222
81222
  will-change: transform, opacity;
81223
81223
  backface-visibility: hidden;
81224
81224
  transform: translateZ(0);
81225
+ transform-style: preserve-3d;
81226
+
81227
+ /* Initial hidden state to prevent flash */
81228
+ ${({ $isAnimating }) => !$isAnimating && `
81229
+ opacity: 0;
81230
+ transform: scale(0.96) translateY(-6px);
81231
+ pointer-events: none;
81232
+ `}
81225
81233
 
81226
81234
  /* Prevent layout shifts and ensure smooth rendering */
81227
81235
  contain: layout style paint;
81228
81236
  isolation: isolate;
81237
+
81238
+ /* Smooth font rendering */
81239
+ -webkit-font-smoothing: antialiased;
81240
+ -moz-osx-font-smoothing: grayscale;
81229
81241
  `;
81230
81242
  const OverflowMenuItem$1 = styled.div`
81231
81243
  padding: 8px 12px;
@@ -81244,12 +81256,12 @@ const OverflowMenuItem = ({ children: children2, onClick }) => {
81244
81256
  return /* @__PURE__ */ jsx(OverflowMenuItem$1, { onClick, children: children2 });
81245
81257
  };
81246
81258
  const DefaultTrigger = () => {
81247
- return /* @__PURE__ */ jsx(Button$1, { isIconButton: true, themeType: "secondary", size: "small", children: /* @__PURE__ */ jsx(HiDotsHorizontal, {}) });
81259
+ return /* @__PURE__ */ jsx(UtilityButton, { isIconButton: true, size: "small", children: /* @__PURE__ */ jsx(HiDotsHorizontal, { size: 24 }) });
81248
81260
  };
81249
81261
  const DefaultTriggerWithOverrideTextColor = ({
81250
81262
  overrideTextColor
81251
81263
  }) => {
81252
- return /* @__PURE__ */ jsx(Button$1, { isIconButton: true, themeType: "secondary", size: "small", children: /* @__PURE__ */ jsx(HiDotsHorizontal, { style: { color: overrideTextColor } }) });
81264
+ return /* @__PURE__ */ jsx(UtilityButton, { isIconButton: true, size: "small", children: /* @__PURE__ */ jsx(HiDotsHorizontal, { style: { color: overrideTextColor }, size: 24 }) });
81253
81265
  };
81254
81266
  const OverflowMenu = forwardRef(
81255
81267
  ({
@@ -84206,6 +84218,11 @@ const getGenesisClass$1 = ({ colors: colors2, borderRadius: borderRadius2, sizin
84206
84218
  border-radius: 0 !important;
84207
84219
  }
84208
84220
 
84221
+ .ant-table-header {
84222
+ border-top-left-radius: 0 !important;
84223
+ border-top-right-radius: 0 !important;
84224
+ }
84225
+
84209
84226
  .ant-table {
84210
84227
  // Add your custom table styles here
84211
84228
  border-radius: 0 !important;
@@ -85665,8 +85682,10 @@ const SecondaryTableControlsRow = ({
85665
85682
  groups,
85666
85683
  totalRecords,
85667
85684
  onChange,
85668
- infiniteScrollData
85685
+ infiniteScrollData,
85686
+ intialRowTotal = 40
85669
85687
  }) => {
85688
+ const [hasChanged, setHasChanged] = React.useState(false);
85670
85689
  const onGroupItemClick = (title, item) => {
85671
85690
  const groupItemClickEvent = {
85672
85691
  event: "groupItemClick",
@@ -85674,19 +85693,71 @@ const SecondaryTableControlsRow = ({
85674
85693
  };
85675
85694
  onChange?.(groupItemClickEvent);
85676
85695
  };
85696
+ const handleClearFilters = () => {
85697
+ const clearFiltersEvent = {
85698
+ event: "clearFilters",
85699
+ payload: {}
85700
+ };
85701
+ onChange?.(clearFiltersEvent);
85702
+ };
85703
+ React.useEffect(() => {
85704
+ if (infiniteScrollData && infiniteScrollData?.resultsShown > intialRowTotal) {
85705
+ setHasChanged(true);
85706
+ }
85707
+ if (groups) {
85708
+ setHasChanged(true);
85709
+ }
85710
+ return () => {
85711
+ setHasChanged(false);
85712
+ };
85713
+ }, [infiniteScrollData, groups]);
85714
+ const isGroupsEmpty = groups ? Object.values(groups).every((items) => items.length === 0) : true;
85715
+ const isMoreThanInitial = infiniteScrollData && Number(infiniteScrollData?.resultsShown) > intialRowTotal || !isGroupsEmpty;
85677
85716
  return /* @__PURE__ */ jsxs(
85678
85717
  "div",
85679
85718
  {
85680
85719
  style: {
85681
85720
  display: "flex",
85682
- justifyContent: groups ? "space-between" : "flex-end",
85721
+ justifyContent: "space-between",
85683
85722
  alignItems: "flex-end",
85684
85723
  marginTop: 8
85685
85724
  },
85686
85725
  children: [
85687
- /* @__PURE__ */ jsx(GroupsRow, { groups, onGroupItemClick }),
85726
+ /* @__PURE__ */ jsx("div", { style: { minWidth: 100 }, children: /* @__PURE__ */ jsx(GroupsRow, { groups, onGroupItemClick }) }),
85688
85727
  (totalRecords ?? 0) > 0 && !infiniteScrollData ? /* @__PURE__ */ jsx(Typography, { variant: "body2", color: "#6C6C6C", children: `${totalRecords} results` }) : null,
85689
- infiniteScrollData ? /* @__PURE__ */ jsx(Typography, { variant: "body2", color: "#6C6C6C", children: `${infiniteScrollData.resultsShown} results` }) : null
85728
+ /* @__PURE__ */ jsxs(
85729
+ "div",
85730
+ {
85731
+ style: {
85732
+ display: "flex",
85733
+ alignItems: "center",
85734
+ justifyContent: "center",
85735
+ gap: 16,
85736
+ marginRight: 16
85737
+ },
85738
+ children: [
85739
+ isMoreThanInitial && hasChanged ? /* @__PURE__ */ jsx(Typography, { variant: "body1", color: "#6C6C6C", children: `${infiniteScrollData?.resultsShown ?? intialRowTotal} results` }) : null,
85740
+ !isGroupsEmpty ? /* @__PURE__ */ jsx(
85741
+ "button",
85742
+ {
85743
+ onClick: handleClearFilters,
85744
+ style: {
85745
+ background: "none",
85746
+ border: "none",
85747
+ padding: 0,
85748
+ margin: 0,
85749
+ cursor: "pointer",
85750
+ display: "flex",
85751
+ alignItems: "center",
85752
+ gap: 4
85753
+ },
85754
+ children: /* @__PURE__ */ jsx(Typography, { variant: "body1", color: "#30606B;", children: "Clear Filters" })
85755
+ }
85756
+ ) : null
85757
+ ]
85758
+ }
85759
+ ),
85760
+ /* @__PURE__ */ jsx("div", { style: { width: 100, height: 0 } })
85690
85761
  ]
85691
85762
  }
85692
85763
  );
@@ -85702,30 +85773,37 @@ const TableControls = ({
85702
85773
  const onSecondaryChange = (actionEvent) => {
85703
85774
  onChange(actionEvent);
85704
85775
  };
85705
- return /* @__PURE__ */ jsxs("div", { "data-testid": "TableControls", style: { margin: "16px 0px" }, children: [
85706
- /* @__PURE__ */ jsx(
85707
- PrimaryTableControlsRow,
85708
- {
85709
- sortOptions: primaryTableRowData.sortOptions,
85710
- searchByPlaceholder: primaryTableRowData.searchByPlaceholder,
85711
- isSortedAscending: primaryTableRowData.isSortedAscending,
85712
- onChange: onPrimaryChange,
85713
- searchValue: primaryTableRowData.searchValue,
85714
- selectedSortOption: primaryTableRowData.selectedSortOption,
85715
- hasSettings: primaryTableRowData.hasSettings,
85716
- hasFilter: primaryTableRowData.hasFilter
85717
- }
85718
- ),
85719
- secondaryTableRowData ? /* @__PURE__ */ jsx(
85720
- SecondaryTableControlsRow,
85721
- {
85722
- groups: secondaryTableRowData.groups,
85723
- totalRecords: secondaryTableRowData.totalRecords,
85724
- onChange: onSecondaryChange,
85725
- infiniteScrollData: secondaryTableRowData.infiniteScrollData
85726
- }
85727
- ) : null
85728
- ] });
85776
+ return /* @__PURE__ */ jsxs(
85777
+ "div",
85778
+ {
85779
+ "data-testid": "TableControls",
85780
+ style: { paddingLeft: 20, paddingTop: 18, marginBottom: 16 },
85781
+ children: [
85782
+ /* @__PURE__ */ jsx(
85783
+ PrimaryTableControlsRow,
85784
+ {
85785
+ sortOptions: primaryTableRowData.sortOptions,
85786
+ searchByPlaceholder: primaryTableRowData.searchByPlaceholder,
85787
+ isSortedAscending: primaryTableRowData.isSortedAscending,
85788
+ onChange: onPrimaryChange,
85789
+ searchValue: primaryTableRowData.searchValue,
85790
+ selectedSortOption: primaryTableRowData.selectedSortOption,
85791
+ hasSettings: primaryTableRowData.hasSettings,
85792
+ hasFilter: primaryTableRowData.hasFilter
85793
+ }
85794
+ ),
85795
+ secondaryTableRowData ? /* @__PURE__ */ jsx(
85796
+ SecondaryTableControlsRow,
85797
+ {
85798
+ groups: secondaryTableRowData.groups,
85799
+ totalRecords: secondaryTableRowData.totalRecords,
85800
+ onChange: onSecondaryChange,
85801
+ infiniteScrollData: secondaryTableRowData.infiniteScrollData
85802
+ }
85803
+ ) : null
85804
+ ]
85805
+ }
85806
+ );
85729
85807
  };
85730
85808
  const TableWithControls = ({
85731
85809
  tableData,
@@ -86701,11 +86779,6 @@ const startCase = (string_) => {
86701
86779
  return string_;
86702
86780
  };
86703
86781
  const mockColumns = [
86704
- {
86705
- key: "number",
86706
- title: "Id",
86707
- dataIndex: "number"
86708
- },
86709
86782
  {
86710
86783
  key: "timeslot",
86711
86784
  title: "Timeslot",
@@ -87025,13 +87098,14 @@ const getGenesisClass = ({ colors: colors2, borderRadius: borderRadius2, sizing:
87025
87098
  float: none; /* Prevent default float behavior */
87026
87099
  position: relative;
87027
87100
 
87101
+
87028
87102
  /* Use single side borders to prevent double borders */
87029
87103
  border-left: 1px solid ${colors2.surface.border};
87030
87104
 
87031
87105
  margin-right: -2px;
87032
87106
  user-select: none;
87033
87107
  color: ${colors2.onsurface.copy};
87034
- font-family: Inter;
87108
+ font-family: 'Inter' !important;
87035
87109
  font-size: 14px;
87036
87110
  font-style: normal;
87037
87111
  font-weight: 500;
@@ -87055,7 +87129,8 @@ const getGenesisClass = ({ colors: colors2, borderRadius: borderRadius2, sizing:
87055
87129
  }
87056
87130
 
87057
87131
  .ant-tabs-tab-btn {
87058
- color: #3E3E3E;
87132
+ color: ${colors2.onsurface["copy"]} !important;
87133
+ font-weight: 500 !important;
87059
87134
  user-select: none;
87060
87135
  background: transparent;
87061
87136
 
@@ -87075,9 +87150,13 @@ const getGenesisClass = ({ colors: colors2, borderRadius: borderRadius2, sizing:
87075
87150
  &.ant-tabs-tab-active {
87076
87151
  background: ${colors2.interactive.utility?.active};
87077
87152
  user-select: none;
87153
+ font-weight: 500;
87154
+ font-size: 14px;
87155
+ font-family: 'Inter' !important;
87078
87156
 
87079
87157
  .ant-tabs-tab-btn {
87080
- color: #222222;
87158
+ color: ${colors2.onsurface["copy-dark"]} !important;
87159
+ font-weight: 500 !important;
87081
87160
  }
87082
87161
 
87083
87162
  &:hover {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gobolt/genesis",
3
- "version": "0.4.26",
3
+ "version": "0.4.27",
4
4
  "description": "genesis design system",
5
5
  "author": "gobolt",
6
6
  "license": "MIT",