@ssa-ui-kit/core 3.12.1 → 3.13.0

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.
@@ -3,4 +3,5 @@ export declare const FormHelperTextBase: import("@emotion/styled").StyledCompone
3
3
  as?: React.ElementType;
4
4
  } & {
5
5
  status?: string;
6
+ isDisabled?: boolean;
6
7
  }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
@@ -80,5 +80,5 @@ import { PaginationProps } from './types';
80
80
  * - Screen reader friendly
81
81
  * - Proper focus management
82
82
  */
83
- declare const Pagination: ({ pagesCount, className, as, ariaLabel, isDisabled, pageNumberPlaceholder, errorTooltip, isPageSettingVisible, isPageFromCountVisible, isRowPerPageVisible, rowPerPageProps, manualPageNumberProps, }: PaginationProps) => import("@emotion/react/jsx-runtime").JSX.Element;
83
+ declare const Pagination: ({ pagesCount, className, as, ariaLabel, isDisabled, pageNumberPlaceholder, errorTooltip, isPageSettingVisible, isPageFromCountVisible, isRowPerPageVisible, rowPerPageProps, manualPageNumberProps, renderPageCount, }: PaginationProps) => import("@emotion/react/jsx-runtime").JSX.Element;
84
84
  export default Pagination;
@@ -34,4 +34,4 @@ import { PaginationButtonsProps } from './types';
34
34
  * - Screen reader friendly
35
35
  * - Proper focus management
36
36
  */
37
- export declare const PaginationButtons: ({ range, selectedPage, onClick, isDisabled, }: PaginationButtonsProps) => false | import("@emotion/react/jsx-runtime").JSX.Element[];
37
+ export declare const PaginationButtons: ({ range, selectedPage, onClick, isDisabled, }: PaginationButtonsProps) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -1,7 +1,9 @@
1
1
  import { Theme } from '@emotion/react';
2
2
  export declare const pageBtnStyles: (theme: Theme) => import("@emotion/react").SerializedStyles;
3
3
  export declare const selectedPageBtnStyles: (theme: Theme) => import("@emotion/react").SerializedStyles;
4
- export declare const arrowBtnStyles: (theme: Theme) => import("@emotion/react").SerializedStyles;
4
+ export declare const arrowBtnStyles: import("@emotion/react").SerializedStyles;
5
+ /** Ellipsis ("...") cell rendered between page-number breaks; sized to match a Number cell. */
6
+ export declare const breakStyles: (theme: Theme) => import("@emotion/react").SerializedStyles;
5
7
  export declare const PaginationNav: import("@emotion/styled").StyledComponent<{
6
8
  theme?: Theme;
7
9
  as?: React.ElementType;
@@ -104,6 +104,14 @@ export interface PaginationProps extends CommonProps {
104
104
  * @default 'The value is out of range'
105
105
  */
106
106
  errorTooltip?: string;
107
+ /**
108
+ * Custom renderer for the page count indicator shown next to the manual
109
+ * page input (only when `isPageSettingVisible` and `isPageFromCountVisible`).
110
+ * Receives the current page and total page count and returns custom JSX,
111
+ * allowing wording such as `Pages 1 out of 300`.
112
+ * @default `${current} / ${total}`
113
+ */
114
+ renderPageCount?: (current: number, total: number) => React.ReactNode;
107
115
  }
108
116
  /**
109
117
  * Props for PaginationButtons component
@@ -11,8 +11,10 @@ import { SwitchProps } from './types';
11
11
  * Checkbox, and Radio. Pass `color="custom"` together with the `colors`
12
12
  * object to supply arbitrary CSS color values.
13
13
  *
14
- * The off state always shows a neutral grey background. The disabled state
15
- * always uses `greyFocused40`, regardless of color variant.
14
+ * The off state always shows a neutral grey background (`greyFocused`).
15
+ * The disabled state always uses `greySelectedMenuItem`, regardless of color variant.
16
+ * Hovering the on state darkens it: palette variants swap to their `palette.*.dark`
17
+ * token; custom colors get a `rgba(0,0,0,0.15)` overlay so the knob stays unaffected.
16
18
  *
17
19
  * @category Form Controls
18
20
  * @subcategory Input
@@ -1,5 +1,7 @@
1
1
  interface SwitchBaseProps {
2
2
  onColor: string;
3
+ /** Explicit hover background for palette variants. When omitted, a ::after overlay darkens the track instead, leaving the knob unaffected. */
4
+ hoverColor?: string;
3
5
  offOutlineColor: string;
4
6
  }
5
7
  declare const SwitchBase: import("@emotion/styled").StyledComponent<{
@@ -7,13 +7,16 @@
7
7
  * Colors are driven by `theme.palette` for consistency with Button, Checkbox,
8
8
  * and Radio:
9
9
  * - `primary` (default) — blue; uses `palette.primary.main` for the on-state
10
- * background, `palette.primary.light` for the off-state focus outline.
10
+ * background, `palette.primary.dark` on hover, `palette.primary.light` for
11
+ * the off-state focus outline.
11
12
  * - `success` — green; uses `palette.success.main` for the on-state background,
12
- * `palette.success.light` for the off-state focus outline.
13
+ * `palette.success.dark` on hover, `palette.success.light` for the off-state
14
+ * focus outline.
13
15
  * - `custom` — no built-in color; supply exact values via the `colors` prop.
16
+ * On hover, a `rgba(0,0,0,0.15)` overlay darkens the track; the knob is unaffected.
14
17
  *
15
- * The off state always uses a neutral grey background regardless of variant.
16
- * Disabled state always uses `greyFocused40` (semi-transparent grey, same for all variants).
18
+ * The off state always uses a neutral grey background (`greyFocused`) regardless
19
+ * of variant. Disabled state always uses `greySelectedMenuItem` (same for all variants).
17
20
  *
18
21
  * @example
19
22
  * ```tsx
@@ -54,7 +57,7 @@ export interface SwitchProps {
54
57
  label: string;
55
58
  /**
56
59
  * Whether the switch is disabled
57
- * Disabled switches cannot be toggled and appear visually muted
60
+ * Disabled switches cannot be toggled; background becomes `greySelectedMenuItem`
58
61
  * @default false
59
62
  */
60
63
  isDisabled?: boolean;
package/dist/index.js CHANGED
@@ -9653,6 +9653,8 @@ const main = {
9653
9653
  // #4178e1
9654
9654
  blue6RGB: 'rgb(244, 247, 252)',
9655
9655
  // #F4F7FC
9656
+ blue12: 'rgba(65, 120, 225, 0.12)',
9657
+ // #4178e1
9656
9658
  blue20: 'rgba(65, 120, 225, 0.2)',
9657
9659
  // #4178e1
9658
9660
  blueCool: 'rgba(108, 148, 247, 1)',
@@ -14887,7 +14889,7 @@ const IconButton = ({
14887
14889
 
14888
14890
  const LabelBase = /*#__PURE__*/base_default()("label", true ? {
14889
14891
  target: "e1t1qetj0"
14890
- } : 0)("display:inline-block;flex:1;font-weight:500;font-size:1rem;line-height:22px;color:", ({
14892
+ } : 0)("display:inline-block;flex:1;font-weight:500;font-size:1rem;line-height:18px;color:", ({
14891
14893
  theme,
14892
14894
  isDisabled
14893
14895
  }) => isDisabled ? theme.colors.grey : theme.colors.greyDarker, ";margin:0 0 6px 4px;" + ( true ? "" : 0));
@@ -15122,13 +15124,15 @@ const Checkbox = ({
15122
15124
 
15123
15125
  const FormHelperTextBase = /*#__PURE__*/base_default()("span", true ? {
15124
15126
  target: "ereid9f0"
15125
- } : 0)("display:block;font-weight:400;font-size:0.688rem;margin:6px 0 0 4px;color:", ({
15127
+ } : 0)("display:block;font-weight:400;font-size:0.75rem;margin:6px 0 0 4px;color:", ({
15126
15128
  theme,
15127
- status = 'basic'
15129
+ status = 'basic',
15130
+ isDisabled
15128
15131
  }) => {
15129
- if (status === 'error') return theme.palette.error.main;
15130
- if (status === 'success') return theme.palette.success.main;
15131
- return theme.colors.greyDarker60;
15132
+ if (isDisabled) return theme.colors.grey;
15133
+ if (status === 'error') return theme.palette.error.dark;
15134
+ if (status === 'success') return theme.palette.success.dark;
15135
+ return theme.colors.greyDarker80;
15132
15136
  }, ";" + ( true ? "" : 0));
15133
15137
  ;// ./src/components/FormHelperText/FormHelperText.tsx
15134
15138
 
@@ -15140,10 +15144,10 @@ const FormHelperText = ({
15140
15144
  children,
15141
15145
  ...rest
15142
15146
  }) => {
15143
- status = disabled ? 'basic' : status;
15144
15147
  return (0,jsx_runtime_namespaceObject.jsx)(FormHelperTextBase, {
15145
15148
  role: role,
15146
15149
  status: status,
15150
+ isDisabled: disabled,
15147
15151
  ...rest,
15148
15152
  children: children
15149
15153
  });
@@ -15160,13 +15164,13 @@ const InputBase = /*#__PURE__*/base_default()("input", true ? {
15160
15164
  theme
15161
15165
  }) => showBorders ? `1px solid ${theme.colors.grey}` : 'none', ";color:", ({
15162
15166
  theme
15163
- }) => theme.colors.greyDarker, ";width:100%;height:44px;padding:14px;font-weight:400;font-size:0.875rem;line-height:1rem;&::placeholder{color:", ({
15167
+ }) => theme.colors.greyDarker, ";width:100%;height:44px;padding:14px;font-weight:500;font-size:0.875rem;line-height:18px;&::placeholder{color:", ({
15164
15168
  theme
15165
- }) => theme.colors.greyDarker60, ";}&:disabled{color:", ({
15169
+ }) => theme.colors.greyDarker80, ";}&:disabled{color:", ({
15166
15170
  theme
15167
15171
  }) => `${theme.colors.grey}`, ";background:", ({
15168
15172
  theme
15169
- }) => theme.colors.greyLighter, ";&::placeholder{color:", ({
15173
+ }) => theme.palette.secondary.light, ";&::placeholder{color:", ({
15170
15174
  theme
15171
15175
  }) => theme.colors.grey, ";}&:disabled,&:disabled:hover{border:", ({
15172
15176
  showBorders,
@@ -15191,7 +15195,7 @@ const basic = theme => /*#__PURE__*/(0,react_namespaceObject.css)({
15191
15195
  borderColor: theme.colors.greyDarker80
15192
15196
  },
15193
15197
  '&:focus': {
15194
- borderColor: theme.palette.primary.main
15198
+ borderColor: theme.palette.primary.light
15195
15199
  }
15196
15200
  }
15197
15201
  }, true ? "" : 0, true ? "" : 0);
@@ -15215,9 +15219,6 @@ const success = theme => /*#__PURE__*/(0,react_namespaceObject.css)({
15215
15219
  '&:focus': {
15216
15220
  borderColor: theme.palette.success.dark
15217
15221
  }
15218
- },
15219
- svg: {
15220
- stroke: theme.palette.success.main
15221
15222
  }
15222
15223
  }, true ? "" : 0, true ? "" : 0);
15223
15224
  var styles_ref = true ? {
@@ -15488,7 +15489,7 @@ const Input = /*#__PURE__*/(0,external_react_namespaceObject.forwardRef)(InputIn
15488
15489
  ;// ./src/components/Textarea/TextareaBase.tsx
15489
15490
 
15490
15491
  const statusToPalette = status => status === 'custom' ? 'basic' : status;
15491
- function getStatusBoxShadow(theme, status, state) {
15492
+ function getStatusBorderColor(theme, status, state) {
15492
15493
  const palette = statusToPalette(status);
15493
15494
  const colorMap = {
15494
15495
  error: {
@@ -15503,41 +15504,40 @@ function getStatusBoxShadow(theme, status, state) {
15503
15504
  },
15504
15505
  default: {
15505
15506
  rest: theme.colors.grey ?? '',
15506
- hover: theme.colors.greyDarker60 ?? theme.colors.grey ?? '',
15507
- focus: theme.palette.primary.main ?? theme.colors.grey ?? ''
15507
+ hover: theme.colors.greyDarker80 ?? theme.colors.grey ?? '',
15508
+ focus: theme.palette.primary.light ?? theme.colors.grey ?? ''
15508
15509
  }
15509
15510
  };
15510
15511
  const colors = colorMap[palette] ?? colorMap.default;
15511
- const color = colors[state];
15512
- return `inset 0 0 1.5px 0 ${color}`;
15512
+ return colors[state];
15513
15513
  }
15514
15514
  const TextareaBase = /*#__PURE__*/base_default()('textarea', true ? {
15515
15515
  shouldForwardProp: prop => prop !== 'status',
15516
15516
  target: "e1jiml3c0"
15517
15517
  } : 0)("flex:1 100%;background:", ({
15518
15518
  theme
15519
- }) => theme.colors.white, ";border-radius:12px;background-origin:border-box;background-clip:padding-box,border-box;border:none;box-shadow:", ({
15519
+ }) => theme.colors.white, ";border-radius:12px;border:", ({
15520
15520
  theme,
15521
15521
  status = 'basic'
15522
- }) => getStatusBoxShadow(theme, status, 'rest'), ";color:", ({
15522
+ }) => `1px solid ${getStatusBorderColor(theme, status, 'rest')}`, ";color:", ({
15523
15523
  theme
15524
- }) => theme.colors.greyDarker, ";width:100%;max-width:100%;max-height:100%;box-sizing:border-box;min-height:114px;padding:14px;font-weight:400;font-size:0.875rem;line-height:1rem;&::placeholder{color:", ({
15524
+ }) => theme.colors.greyDarker, ";width:100%;max-width:100%;max-height:100%;box-sizing:border-box;min-height:114px;padding:14px;font-weight:500;font-size:0.875rem;line-height:18px;&::placeholder{color:", ({
15525
15525
  theme
15526
- }) => theme.colors.greyDarker60, ";}&[readonly]{cursor:default;}&:disabled{color:", ({
15526
+ }) => theme.colors.greyDarker80, ";}&[readonly]{cursor:default;}&:disabled{color:", ({
15527
15527
  theme
15528
- }) => `${theme.colors.grey}`, ";box-shadow:", ({
15528
+ }) => `${theme.colors.grey}`, ";border:", ({
15529
15529
  theme
15530
- }) => `inset 0 0 1.5px 0 ${theme.colors.grey}`, ";background:", ({
15530
+ }) => `1px solid ${theme.colors.grey}`, ";background:", ({
15531
15531
  theme
15532
- }) => theme.colors.greyLighter, ";resize:none;&::placeholder{color:", ({
15532
+ }) => theme.palette.secondary.light, ";resize:none;&::placeholder{color:", ({
15533
15533
  theme
15534
- }) => theme.colors.grey, ";}}&:hover:not(:disabled, [readonly]){box-shadow:", ({
15534
+ }) => theme.colors.grey, ";}}&:hover:not(:disabled, [readonly]){border-color:", ({
15535
15535
  theme,
15536
15536
  status = 'basic'
15537
- }) => getStatusBoxShadow(theme, status, 'hover'), ";}&:focus:not(:disabled, [readonly]){box-shadow:", ({
15537
+ }) => getStatusBorderColor(theme, status, 'hover'), ";}&:focus:not(:disabled, [readonly]){border-color:", ({
15538
15538
  theme,
15539
15539
  status = 'basic'
15540
- }) => getStatusBoxShadow(theme, status, 'focus'), ";}" + ( true ? "" : 0));
15540
+ }) => getStatusBorderColor(theme, status, 'focus'), ";}" + ( true ? "" : 0));
15541
15541
  ;// ./src/components/Textarea/Textarea.tsx
15542
15542
 
15543
15543
 
@@ -15775,6 +15775,7 @@ const TextField = ({
15775
15775
  return (0,jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
15776
15776
  children: [(0,jsx_runtime_namespaceObject.jsx)(Label_Label, {
15777
15777
  htmlFor: `formElement-${name}`,
15778
+ isDisabled: disabled,
15778
15779
  children: label
15779
15780
  }), multirow ? (0,jsx_runtime_namespaceObject.jsx)(Textarea_Textarea, {
15780
15781
  name: name,
@@ -15788,6 +15789,7 @@ const TextField = ({
15788
15789
  status: status,
15789
15790
  disabled: disabled,
15790
15791
  maxLength: maxLength,
15792
+ showStatusIcon: false,
15791
15793
  onKeyUp: handleInputKeyUp,
15792
15794
  ...props
15793
15795
  }), (0,jsx_runtime_namespaceObject.jsxs)("div", {
@@ -16342,17 +16344,31 @@ const NumberField = ({
16342
16344
 
16343
16345
  ;// ./src/components/Switch/SwitchBase.tsx
16344
16346
 
16345
- const SwitchBase = /*#__PURE__*/base_default()("button", true ? {
16347
+ const SwitchBase = /*#__PURE__*/base_default()('button', true ? {
16348
+ shouldForwardProp: prop => prop !== 'onColor' && prop !== 'hoverColor' && prop !== 'offOutlineColor',
16346
16349
  target: "eb0rpfw0"
16347
16350
  } : 0)("width:44px;height:24px;border:0;outline:0;padding:0;border-radius:50px;position:relative;background:", ({
16348
16351
  onColor
16349
16352
  }) => onColor, ";cursor:pointer;&::before{position:absolute;content:'';height:14px;width:14px;right:5px;bottom:calc(50% - 7px);background-color:", ({
16350
16353
  theme
16351
- }) => theme.colors.white, ";transition:0.4s;border-radius:50%;}&[aria-checked='false']{background:", ({
16354
+ }) => theme.colors.white, ";z-index:1;transition:0.4s;border-radius:50%;}&[aria-checked='false']{background:", ({
16352
16355
  theme
16353
- }) => theme.colors.greyFocused, ";}&:disabled{background:", ({
16356
+ }) => theme.colors.greyFocused, ";}&:not(:disabled)[aria-checked='true']:hover{", ({
16357
+ hoverColor
16358
+ }) => hoverColor ? `background: ${hoverColor};` : '', ";}", ({
16359
+ hoverColor
16360
+ }) => !hoverColor ? `
16361
+ &:not(:disabled)[aria-checked='true']:hover::after {
16362
+ content: '';
16363
+ position: absolute;
16364
+ inset: 0;
16365
+ border-radius: 50px;
16366
+ background: rgba(0, 0, 0, 0.15);
16367
+ pointer-events: none;
16368
+ }
16369
+ ` : '', " &:disabled{background:", ({
16354
16370
  theme
16355
- }) => theme.colors.greyFocused40, ";cursor:auto;}&[aria-checked='false']:focus::after,&:not(:disabled)[aria-checked='false']:hover::after{content:'';position:absolute;inset:0;border-style:solid;border-width:1px;border-color:", ({
16371
+ }) => theme.colors.greySelectedMenuItem, ";cursor:auto;}&[aria-checked='false']:focus::after,&:not(:disabled)[aria-checked='false']:hover::after{content:'';position:absolute;inset:0;border-style:solid;border-width:1px;border-color:", ({
16356
16372
  offOutlineColor
16357
16373
  }) => offOutlineColor, ";border-radius:50px;}&[aria-checked='true']::before{transform:translateX(0);}&[aria-checked='false']::before{transform:translateX(-20px);}" + ( true ? "" : 0));
16358
16374
  /* harmony default export */ const Switch_SwitchBase = (SwitchBase);
@@ -16446,8 +16462,10 @@ const SwitchContextProvider = ({
16446
16462
  * Checkbox, and Radio. Pass `color="custom"` together with the `colors`
16447
16463
  * object to supply arbitrary CSS color values.
16448
16464
  *
16449
- * The off state always shows a neutral grey background. The disabled state
16450
- * always uses `greyFocused40`, regardless of color variant.
16465
+ * The off state always shows a neutral grey background (`greyFocused`).
16466
+ * The disabled state always uses `greySelectedMenuItem`, regardless of color variant.
16467
+ * Hovering the on state darkens it: palette variants swap to their `palette.*.dark`
16468
+ * token; custom colors get a `rgba(0,0,0,0.15)` overlay so the knob stays unaffected.
16451
16469
  *
16452
16470
  * @category Form Controls
16453
16471
  * @subcategory Input
@@ -16511,12 +16529,15 @@ const Switch = ({
16511
16529
  toggle
16512
16530
  } = useSwitchContext();
16513
16531
  let onColor;
16532
+ let hoverColor;
16514
16533
  let offOutlineColor;
16515
16534
  if (color === 'primary') {
16516
16535
  onColor = theme.palette.primary.main;
16536
+ hoverColor = theme.palette.primary.dark;
16517
16537
  offOutlineColor = theme.palette.primary.light;
16518
16538
  } else if (color === 'success') {
16519
16539
  onColor = theme.palette.success.main;
16540
+ hoverColor = theme.palette.success.dark;
16520
16541
  offOutlineColor = theme.palette.success.light;
16521
16542
  } else {
16522
16543
  onColor = colors?.on || theme.palette.primary.main;
@@ -16531,6 +16552,7 @@ const Switch = ({
16531
16552
  disabled: isDisabled,
16532
16553
  onClick: () => !isDisabled && toggle(),
16533
16554
  onColor: onColor,
16555
+ hoverColor: hoverColor,
16534
16556
  offOutlineColor: offOutlineColor
16535
16557
  });
16536
16558
  };
@@ -50009,22 +50031,86 @@ const History = ({
50009
50031
  function Pagination_styles_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
50010
50032
 
50011
50033
 
50012
- const baseBtnStyles = theme => /*#__PURE__*/(0,react_namespaceObject.css)("height:30px;border-radius:6px;", theme.mediaQueries.md, "{height:25px;}&:disabled{cursor:default;}" + ( true ? "" : 0), true ? "" : 0);
50013
- const pageBtnStyles = theme => /*#__PURE__*/(0,react_namespaceObject.css)(baseBtnStyles(theme), " background:unset;box-shadow:unset;color:", theme.colors.greyDarker, ";padding:0 11px;", theme.mediaQueries.md, "{padding:0 9px;}&:disabled{background:unset;box-shadow:unset;}&:not(:disabled):hover,&:not(:disabled):active,&:not(:disabled):focus{background:", theme.colors.greyLighter, ";box-shadow:unset;}" + ( true ? "" : 0), true ? "" : 0);
50014
- const selectedBtnBg = theme => /*#__PURE__*/(0,react_namespaceObject.css)("background:", theme.palette.primary.main, ";&:disabled{background:", theme.palette.primary.main, ";}" + ( true ? "" : 0), true ? "" : 0);
50015
- const selectedPageBtnStyles = theme => /*#__PURE__*/(0,react_namespaceObject.css)(baseBtnStyles(theme), " ", selectedBtnBg(theme), " color:", theme.colors.white, ";margin:0 3px;padding:0 13px;", theme.mediaQueries.md, "{padding:0 10px;}&:hover,&:active,&:focus{", selectedBtnBg(theme), ";}&:not(:disabled):hover{box-shadow:0 5px 5px -1px rgba(0, 0, 0, 0.3);cursor:default;}" + ( true ? "" : 0), true ? "" : 0);
50016
- const arrowBtnStyles = theme => /*#__PURE__*/(0,react_namespaceObject.css)(baseBtnStyles(theme), " padding:0 8px;background:", theme.colors.white, ";&:disabled{background:unset;}&:not(:disabled):hover{box-shadow:0 5px 5px -2px rgba(0, 0, 0, 0.2);cursor:pointer;}" + ( true ? "" : 0), true ? "" : 0);
50034
+ /** Square 26x26 cell shared by page/selected/arrow buttons (design "Number" atom). */
50035
+ const baseBtnStyles = {
50036
+ width: 26,
50037
+ height: 26,
50038
+ padding: 0,
50039
+ borderRadius: 6,
50040
+ justifyContent: 'center',
50041
+ fontSize: 14,
50042
+ fontWeight: 500,
50043
+ letterSpacing: 0,
50044
+ lineHeight: '18px'
50045
+ };
50046
+
50047
+ /** Shared by every `&:disabled` block below so it survives merging into one object. */
50048
+ const disabledCursor = {
50049
+ cursor: 'default'
50050
+ };
50051
+ const pageBtnStyles = theme => /*#__PURE__*/(0,react_namespaceObject.css)({
50052
+ ...baseBtnStyles,
50053
+ background: 'transparent',
50054
+ boxShadow: 'unset',
50055
+ color: theme.colors.greyDarker,
50056
+ '&:disabled': {
50057
+ ...disabledCursor,
50058
+ background: theme.palette.secondary.main,
50059
+ color: theme.colors.grey,
50060
+ boxShadow: 'unset'
50061
+ },
50062
+ '&:not(:disabled):hover, &:not(:disabled):active, &:not(:disabled):focus': {
50063
+ background: theme.palette.secondary.light,
50064
+ boxShadow: 'unset'
50065
+ }
50066
+ }, true ? "" : 0, true ? "" : 0);
50067
+ const selectedPageBtnStyles = theme => /*#__PURE__*/(0,react_namespaceObject.css)({
50068
+ ...baseBtnStyles,
50069
+ background: theme.palette.primary.main,
50070
+ color: theme.colors.white,
50071
+ '&:disabled': {
50072
+ ...disabledCursor,
50073
+ background: theme.palette.primary.main
50074
+ },
50075
+ '&:hover, &:active, &:focus': {
50076
+ background: theme.palette.primary.dark
50077
+ },
50078
+ '&:not(:disabled):hover': {
50079
+ cursor: 'default'
50080
+ }
50081
+ }, true ? "" : 0, true ? "" : 0);
50082
+ const arrowBtnStyles = /*#__PURE__*/(0,react_namespaceObject.css)({
50083
+ ...baseBtnStyles,
50084
+ background: 'transparent',
50085
+ '&:disabled': {
50086
+ ...disabledCursor,
50087
+ background: 'transparent'
50088
+ },
50089
+ '&:not(:disabled):hover': {
50090
+ cursor: 'pointer'
50091
+ }
50092
+ }, true ? "" : 0, true ? "" : 0);
50093
+
50094
+ /** Ellipsis ("...") cell rendered between page-number breaks; sized to match a Number cell. */
50095
+ const breakStyles = theme => /*#__PURE__*/(0,react_namespaceObject.css)({
50096
+ ...baseBtnStyles,
50097
+ display: 'inline-flex',
50098
+ alignItems: 'center',
50099
+ background: 'transparent',
50100
+ color: theme.colors.greyDarker,
50101
+ cursor: 'default'
50102
+ }, true ? "" : 0, true ? "" : 0);
50017
50103
  const PaginationNav = /*#__PURE__*/base_default()("nav", true ? {
50018
50104
  target: "e93vg8b1"
50019
50105
  } : 0)( true ? {
50020
- name: "zjik7",
50021
- styles: "display:flex"
50106
+ name: "1l7f8hp",
50107
+ styles: "display:flex;align-items:center;gap:38px"
50022
50108
  } : 0);
50023
50109
  const PageNumberInput = /*#__PURE__*/base_default()(Input_Input, true ? {
50024
50110
  target: "e93vg8b0"
50025
50111
  } : 0)( true ? {
50026
- name: "1ubbv3z",
50027
- styles: "width:65px;-moz-appearance:textfield;appearance:textfield;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&:focus,&:hover{border-width:1px!important;}&+div{right:24px;}"
50112
+ name: "96v664",
50113
+ styles: "width:80px;-moz-appearance:textfield;appearance:textfield;&::-webkit-outer-spin-button,&::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}&:focus,&:hover{border-width:1px!important;}&+div{right:24px;}"
50028
50114
  } : 0);
50029
50115
  ;// ./src/components/Pagination/ArrowButton.tsx
50030
50116
 
@@ -50075,15 +50161,15 @@ const ArrowButton = ({
50075
50161
  return (0,jsx_runtime_namespaceObject.jsx)(Button_Button, {
50076
50162
  startIcon: (0,jsx_runtime_namespaceObject.jsx)(Icon_Icon, {
50077
50163
  name: `carrot-${direction}`,
50078
- size: 12,
50079
- color: theme.colors.greyDisabled
50164
+ size: 18,
50165
+ color: theme.colors.greyDarker80
50080
50166
  }),
50081
50167
  variant: "tertiary",
50082
50168
  onClick: onClick,
50083
50169
  isDisabled: isDisabled,
50084
50170
  size: "small",
50085
50171
  className: className,
50086
- css: arrowBtnStyles(theme),
50172
+ css: arrowBtnStyles,
50087
50173
  "aria-label": `Go to ${direction === 'left' ? 'previous' : 'next'} page`
50088
50174
  });
50089
50175
  };
@@ -50094,10 +50180,6 @@ function PaginationButtons_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have t
50094
50180
 
50095
50181
 
50096
50182
 
50097
- var PaginationButtons_ref = true ? {
50098
- name: "1ll9bqd",
50099
- styles: "cursor:default"
50100
- } : 0;
50101
50183
  /**
50102
50184
  * Break - Ellipsis separator for page number ranges
50103
50185
  *
@@ -50107,7 +50189,7 @@ var PaginationButtons_ref = true ? {
50107
50189
  * @internal
50108
50190
  */
50109
50191
  const Break = () => (0,jsx_runtime_namespaceObject.jsx)("span", {
50110
- css: PaginationButtons_ref,
50192
+ css: breakStyles,
50111
50193
  children: "..."
50112
50194
  });
50113
50195
 
@@ -50179,19 +50261,26 @@ const PageButton = ({
50179
50261
  * - Screen reader friendly
50180
50262
  * - Proper focus management
50181
50263
  */
50264
+ var PaginationButtons_ref = true ? {
50265
+ name: "1lcc3va",
50266
+ styles: "display:flex;align-items:center;gap:0"
50267
+ } : 0;
50182
50268
  const PaginationButtons = ({
50183
50269
  range,
50184
50270
  selectedPage,
50185
50271
  onClick,
50186
50272
  isDisabled
50187
50273
  }) => {
50188
- return Array.isArray(range) && range.map((page, index) => {
50189
- return page === -1 ? (0,jsx_runtime_namespaceObject.jsx)(Break, {}, index) : (0,jsx_runtime_namespaceObject.jsx)(PageButton, {
50190
- page: page,
50191
- isSelected: page === selectedPage,
50192
- onClick: () => onClick(page),
50193
- isDisabled: isDisabled
50194
- }, index);
50274
+ return (0,jsx_runtime_namespaceObject.jsx)("div", {
50275
+ css: PaginationButtons_ref,
50276
+ children: Array.isArray(range) && range.map((page, index) => {
50277
+ return page === -1 ? (0,jsx_runtime_namespaceObject.jsx)(Break, {}, index) : (0,jsx_runtime_namespaceObject.jsx)(PageButton, {
50278
+ page: page,
50279
+ isSelected: page === selectedPage,
50280
+ onClick: () => onClick(page),
50281
+ isDisabled: isDisabled
50282
+ }, index);
50283
+ })
50195
50284
  });
50196
50285
  };
50197
50286
  ;// ./src/components/Pagination/constants.ts
@@ -50264,7 +50353,6 @@ const PaginationContextProvider = ({
50264
50353
  });
50265
50354
  };
50266
50355
  ;// ./src/components/Pagination/components/RowsPerPageDropdown/RowsPerPageDropdown.tsx
50267
- function RowsPerPageDropdown_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
50268
50356
 
50269
50357
 
50270
50358
 
@@ -50315,14 +50403,6 @@ function RowsPerPageDropdown_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have
50315
50403
  * - Screen reader friendly
50316
50404
  */
50317
50405
 
50318
- var RowsPerPageDropdown_ref = true ? {
50319
- name: "cx840d",
50320
- styles: "width:auto;ul{width:auto;}"
50321
- } : 0;
50322
- var RowsPerPageDropdown_ref2 = true ? {
50323
- name: "1nkb47o",
50324
- styles: "font-size:14px;line-height:1;text-wrap:nowrap"
50325
- } : 0;
50326
50406
  const RowsPerPageDropdown = ({
50327
50407
  selectedItem = DEFAULT_PER_PAGE_VALUE,
50328
50408
  rowsPerPageList = ROWS_PER_PAGE_LIST,
@@ -50343,10 +50423,28 @@ const RowsPerPageDropdown = ({
50343
50423
  setPerPage(value);
50344
50424
  };
50345
50425
  return (0,jsx_runtime_namespaceObject.jsxs)(Wrapper_Wrapper, {
50346
- css: RowsPerPageDropdown_ref,
50426
+ css: /*#__PURE__*/(0,react_namespaceObject.css)({
50427
+ width: 'auto',
50428
+ gap: 8,
50429
+ ul: {
50430
+ width: 'auto'
50431
+ },
50432
+ li: {
50433
+ height: 40,
50434
+ padding: '8px 12px'
50435
+ },
50436
+ 'li[aria-selected="true"]': {
50437
+ background: theme.colors.blue12
50438
+ }
50439
+ }, true ? "" : 0, true ? "" : 0),
50347
50440
  children: [(0,jsx_runtime_namespaceObject.jsxs)(Typography_Typography, {
50348
50441
  variant: "subtitle",
50349
- css: RowsPerPageDropdown_ref2,
50442
+ css: /*#__PURE__*/(0,react_namespaceObject.css)({
50443
+ fontSize: 14,
50444
+ lineHeight: 1,
50445
+ textWrap: 'nowrap',
50446
+ color: theme.colors.greyDarker
50447
+ }, true ? "" : 0, true ? "" : 0),
50350
50448
  children: [rowsPerPageText, ":"]
50351
50449
  }), (0,jsx_runtime_namespaceObject.jsx)(Dropdown_Dropdown, {
50352
50450
  selectedItem: selectedItemForDropdown,
@@ -50354,13 +50452,11 @@ const RowsPerPageDropdown = ({
50354
50452
  dropdownProps: {
50355
50453
  toggleButton: {
50356
50454
  css: {
50357
- marginLeft: 5,
50358
- marginRight: 15,
50359
50455
  border: 'none',
50360
50456
  background: 'transparent',
50361
50457
  borderRadius: 6,
50362
50458
  color: theme.colors.greyDarker,
50363
- gap: 5,
50459
+ gap: 4,
50364
50460
  padding: 3,
50365
50461
  '&:focus': {
50366
50462
  color: theme.colors.greyDarker,
@@ -50481,16 +50577,12 @@ function Pagination_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to
50481
50577
  */
50482
50578
 
50483
50579
  var Pagination_ref = true ? {
50484
- name: "13slo1u",
50485
- styles: "width:auto;margin-right:5px"
50580
+ name: "5rxe0u",
50581
+ styles: "width:auto;gap:16px"
50486
50582
  } : 0;
50487
50583
  var Pagination_ref2 = true ? {
50488
- name: "1j97xhc",
50489
- styles: "margin-right:12px"
50490
- } : 0;
50491
- var Pagination_ref3 = true ? {
50492
- name: "lrb7um",
50493
- styles: "margin-left:7px"
50584
+ name: "5rxe0u",
50585
+ styles: "width:auto;gap:16px"
50494
50586
  } : 0;
50495
50587
  const Pagination = ({
50496
50588
  pagesCount,
@@ -50504,7 +50596,8 @@ const Pagination = ({
50504
50596
  isPageFromCountVisible = true,
50505
50597
  isRowPerPageVisible = false,
50506
50598
  rowPerPageProps,
50507
- manualPageNumberProps
50599
+ manualPageNumberProps,
50600
+ renderPageCount
50508
50601
  }) => {
50509
50602
  const theme = (0,react_namespaceObject.useTheme)();
50510
50603
  const {
@@ -50549,16 +50642,16 @@ const Pagination = ({
50549
50642
  autoComplete: 'off'
50550
50643
  },
50551
50644
  ...manualPageNumberProps
50552
- }), isPageFromCountVisible && (0,jsx_runtime_namespaceObject.jsxs)("span", {
50645
+ }), isPageFromCountVisible && (renderPageCount ? renderPageCount(page || 0, pagesCount) : (0,jsx_runtime_namespaceObject.jsxs)("span", {
50553
50646
  css: /*#__PURE__*/(0,react_namespaceObject.css)({
50554
50647
  textWrap: 'nowrap',
50555
50648
  fontSize: 14,
50556
- marginLeft: 16,
50557
50649
  color: theme.colors.greyDarker
50558
50650
  }, true ? "" : 0, true ? "" : 0),
50559
50651
  children: [page || 0, " / ", pagesCount]
50560
- })]
50652
+ }))]
50561
50653
  }), (0,jsx_runtime_namespaceObject.jsxs)(Wrapper_Wrapper, {
50654
+ css: Pagination_ref2,
50562
50655
  children: [(0,jsx_runtime_namespaceObject.jsx)(ArrowButton, {
50563
50656
  direction: "left",
50564
50657
  onClick: () => {
@@ -50566,8 +50659,7 @@ const Pagination = ({
50566
50659
  setPage(page - 1);
50567
50660
  }
50568
50661
  },
50569
- isDisabled: isDisabled || (0,utils_namespaceObject.isNill)(pagesCount) || pagesCount <= 1 || (0,utils_namespaceObject.isNill)(page) || page === 1,
50570
- css: Pagination_ref2
50662
+ isDisabled: isDisabled || (0,utils_namespaceObject.isNill)(pagesCount) || pagesCount <= 1 || (0,utils_namespaceObject.isNill)(page) || page === 1
50571
50663
  }), (0,jsx_runtime_namespaceObject.jsx)(PaginationButtons, {
50572
50664
  range: range,
50573
50665
  selectedPage: page,
@@ -50580,8 +50672,7 @@ const Pagination = ({
50580
50672
  setPage(page + 1);
50581
50673
  }
50582
50674
  },
50583
- isDisabled: isDisabled || (0,utils_namespaceObject.isNill)(pagesCount) || pagesCount <= 1 || (0,utils_namespaceObject.isNill)(page) || page === pagesCount,
50584
- css: Pagination_ref3
50675
+ isDisabled: isDisabled || (0,utils_namespaceObject.isNill)(pagesCount) || pagesCount <= 1 || (0,utils_namespaceObject.isNill)(page) || page === pagesCount
50585
50676
  })]
50586
50677
  })]
50587
50678
  });