@auth0/quantum-product 2.4.3 → 2.4.5

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/alert/alert.js CHANGED
@@ -57,13 +57,6 @@ var classes_1 = require("../styles/classes");
57
57
  var styled_1 = require("../styled");
58
58
  var clsx_1 = __importDefault(require("../utils/clsx"));
59
59
  var alert_classes_1 = require("./alert-classes");
60
- var severityBorderShade = {
61
- default: 'color_bg_state_neutral',
62
- danger: 'color_bg_state_danger',
63
- warning: 'color_bg_state_caution',
64
- info: 'color_bg_state_info',
65
- success: 'color_bg_state_success',
66
- };
67
60
  var severityIconShade = {
68
61
  default: 'color_fg_state_neutral',
69
62
  danger: 'color_fg_state_danger',
@@ -91,11 +84,12 @@ var AlertRoot = (0, styled_1.styled)('div', {
91
84
  })(function (_a) {
92
85
  var _b, _c;
93
86
  var theme = _a.theme, ownerState = _a.ownerState;
94
- return __assign(__assign({ display: 'flex', alignItems: 'flex-start', borderRadius: theme.shape.borderRadius, padding: theme.spacing(1.25, 2), boxShadow: ownerState.elevation ? theme.shadows[ownerState.elevation] : 'none', borderLeft: "".concat(theme.typography.pxToRem(8), " solid ").concat(theme.tokens[severityBorderShade[ownerState.severity]]) }, (ownerState.variant === 'outlined' && (_b = {
87
+ return __assign(__assign({ display: 'flex', alignItems: 'flex-start', borderRadius: 8, padding: theme.spacing(1.25, 2), boxShadow: ownerState.elevation ? theme.shadows[ownerState.elevation] : 'none' }, (ownerState.variant === 'outlined' && (_b = {
95
88
  backgroundColor: theme.tokens.color_bg_layer,
96
89
  borderTop: "1px solid ".concat(theme.tokens.color_border_bold),
97
90
  borderRight: "1px solid ".concat(theme.tokens.color_border_bold),
98
- borderBottom: "1px solid ".concat(theme.tokens.color_border_bold)
91
+ borderBottom: "1px solid ".concat(theme.tokens.color_border_bold),
92
+ borderLeft: "1px solid ".concat(theme.tokens.color_border_bold)
99
93
  },
100
94
  _b["& .".concat(alert_classes_1.alertClasses.icon)] = {
101
95
  color: theme.tokens[severityIconShade[ownerState.severity]],
@@ -178,13 +172,6 @@ var AlertAction = (0, styled_1.styled)('div', {
178
172
  },
179
173
  _b);
180
174
  });
181
- var defaultIconMapping = {
182
- warning: React.createElement(icon_1.AlertTriangleIcon, null),
183
- danger: React.createElement(icon_1.AlertDiamondIcon, null),
184
- success: React.createElement(icon_1.CheckCircleIcon, null),
185
- info: React.createElement(icon_1.InfoIcon, null),
186
- default: React.createElement(icon_1.FileTextIcon, null),
187
- };
188
175
  var useUtilityClasses = function (_a) {
189
176
  var classes = _a.classes;
190
177
  var slots = {
@@ -200,6 +187,21 @@ var useUtilityClasses = function (_a) {
200
187
  exports.Alert = React.forwardRef(function (props, ref) {
201
188
  // const props = useThemeProps({ props: inProps, name: alertComponentName });
202
189
  var classes = useUtilityClasses(props);
190
+ var defaultIconMapping = props.variant === 'outlined'
191
+ ? {
192
+ warning: React.createElement(icon_1.AlertTriangleFilledIcon, null),
193
+ danger: React.createElement(icon_1.AlertDiamondFilledIcon, null),
194
+ success: React.createElement(icon_1.CheckCircleFilledIcon, null),
195
+ info: React.createElement(icon_1.InfoFilledIcon, null),
196
+ default: React.createElement(icon_1.FileTextIcon, null),
197
+ }
198
+ : {
199
+ warning: React.createElement(icon_1.AlertTriangleIcon, null),
200
+ danger: React.createElement(icon_1.AlertDiamondIcon, null),
201
+ success: React.createElement(icon_1.CheckCircleIcon, null),
202
+ info: React.createElement(icon_1.InfoIcon, null),
203
+ default: React.createElement(icon_1.FileTextIcon, null),
204
+ };
203
205
  var action = props.action, children = props.children, className = props.className, _a = props.closeText, closeText = _a === void 0 ? 'Dismiss' : _a, iconProp = props.icon, _b = props.iconMapping, iconMapping = _b === void 0 ? defaultIconMapping : _b, message = props.message, onCloseProp = props.onClose, onDismiss = props.onDismiss, _c = props.role, role = _c === void 0 ? 'alert' : _c, _d = props.severity, severity = _d === void 0 ? 'default' : _d, title = props.title, _e = props.variant, variant = _e === void 0 ? 'standard' : _e, elevation = props.elevation, dismissible = props.dismissible, rootProps = __rest(props, ["action", "children", "className", "closeText", "icon", "iconMapping", "message", "onClose", "onDismiss", "role", "severity", "title", "variant", "elevation", "dismissible"]);
204
206
  var ownerState = {
205
207
  severity: severity,
package/card/card.js CHANGED
@@ -85,7 +85,7 @@ var Root = (0, styled_1.styled)(Card_1.default, {
85
85
  },
86
86
  };
87
87
  var defaultBorderStyle = {
88
- '&:hover': theme.palette.mode === 'dark' && {
88
+ '&:hover': {
89
89
  borderColor: theme.tokens.color_border_bold,
90
90
  },
91
91
  };
@@ -98,6 +98,7 @@ var Root = (0, styled_1.styled)(Card_1.default, {
98
98
  '&:hover': theme.palette.mode === 'light'
99
99
  ? {
100
100
  boxShadow: theme.palette.mode === 'light' ? theme.shadows[1] : theme.shadows[2],
101
+ borderColor: theme.tokens.color_border_bold,
101
102
  }
102
103
  : {
103
104
  backgroundColor: (0, color_manipulator_1.fade)(theme.palette.action.hoverBackground, 0.1),
@@ -72,6 +72,6 @@ exports.DialogTitle = React.forwardRef(function (props, ref) {
72
72
  var classes = (0, classes_1.useMergedClasses)(dialog_title_classes_1.dialogTitleClasses, dialog_title_classes_1.getDialogTitleUtilityClass, propClasses);
73
73
  return (React.createElement(Root, __assign({}, dialogTitleProps, { className: (0, clsx_1.default)(classes.root, className), ref: ref }),
74
74
  disableTypography ? (children) : (React.createElement(text_1.Text, { id: id, className: classes.title, variant: "h5", color: "textPrimary" }, children)),
75
- !!onClose && (React.createElement(icon_button_1.IconButton, { shape: "circular", variant: "contained", "aria-label": "Close", size: "small", className: classes.closeButton, onClick: function (event) { return onClose(event, 'closeClick'); }, label: "close button" },
75
+ !!onClose && (React.createElement(icon_button_1.IconButton, { shape: "circular", variant: "contained", "aria-label": "Close", size: "small", className: classes.closeButton, onClick: function (event) { return onClose(event, 'closeClick'); }, label: "Close" },
76
76
  React.createElement(icon_1.XIcon, null)))));
77
77
  });
@@ -21,20 +21,13 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  return t;
22
22
  };
23
23
  import * as React from 'react';
24
- import { AlertDiamondIcon, AlertTriangleIcon, CheckCircleIcon, FileTextIcon, InfoIcon, XIcon } from '../icon';
24
+ import { AlertDiamondIcon, AlertDiamondFilledIcon, AlertTriangleIcon, AlertTriangleFilledIcon, CheckCircleIcon, CheckCircleFilledIcon, FileTextIcon, InfoIcon, InfoFilledIcon, XIcon, } from '../icon';
25
25
  import { IconButton, iconButtonClasses } from '../icon-button';
26
26
  import { buttonClasses } from '../button';
27
27
  import { composeClasses } from '../styles/classes';
28
28
  import { styled } from '../styled';
29
29
  import clsx from '../utils/clsx';
30
30
  import { alertClasses, alertComponentName, getAlertUtilityClass } from './alert-classes';
31
- var severityBorderShade = {
32
- default: 'color_bg_state_neutral',
33
- danger: 'color_bg_state_danger',
34
- warning: 'color_bg_state_caution',
35
- info: 'color_bg_state_info',
36
- success: 'color_bg_state_success',
37
- };
38
31
  var severityIconShade = {
39
32
  default: 'color_fg_state_neutral',
40
33
  danger: 'color_fg_state_danger',
@@ -62,11 +55,12 @@ var AlertRoot = styled('div', {
62
55
  })(function (_a) {
63
56
  var _b, _c;
64
57
  var theme = _a.theme, ownerState = _a.ownerState;
65
- return __assign(__assign({ display: 'flex', alignItems: 'flex-start', borderRadius: theme.shape.borderRadius, padding: theme.spacing(1.25, 2), boxShadow: ownerState.elevation ? theme.shadows[ownerState.elevation] : 'none', borderLeft: "".concat(theme.typography.pxToRem(8), " solid ").concat(theme.tokens[severityBorderShade[ownerState.severity]]) }, (ownerState.variant === 'outlined' && (_b = {
58
+ return __assign(__assign({ display: 'flex', alignItems: 'flex-start', borderRadius: 8, padding: theme.spacing(1.25, 2), boxShadow: ownerState.elevation ? theme.shadows[ownerState.elevation] : 'none' }, (ownerState.variant === 'outlined' && (_b = {
66
59
  backgroundColor: theme.tokens.color_bg_layer,
67
60
  borderTop: "1px solid ".concat(theme.tokens.color_border_bold),
68
61
  borderRight: "1px solid ".concat(theme.tokens.color_border_bold),
69
- borderBottom: "1px solid ".concat(theme.tokens.color_border_bold)
62
+ borderBottom: "1px solid ".concat(theme.tokens.color_border_bold),
63
+ borderLeft: "1px solid ".concat(theme.tokens.color_border_bold)
70
64
  },
71
65
  _b["& .".concat(alertClasses.icon)] = {
72
66
  color: theme.tokens[severityIconShade[ownerState.severity]],
@@ -149,13 +143,6 @@ var AlertAction = styled('div', {
149
143
  },
150
144
  _b);
151
145
  });
152
- var defaultIconMapping = {
153
- warning: React.createElement(AlertTriangleIcon, null),
154
- danger: React.createElement(AlertDiamondIcon, null),
155
- success: React.createElement(CheckCircleIcon, null),
156
- info: React.createElement(InfoIcon, null),
157
- default: React.createElement(FileTextIcon, null),
158
- };
159
146
  var useUtilityClasses = function (_a) {
160
147
  var classes = _a.classes;
161
148
  var slots = {
@@ -171,6 +158,21 @@ var useUtilityClasses = function (_a) {
171
158
  export var Alert = React.forwardRef(function (props, ref) {
172
159
  // const props = useThemeProps({ props: inProps, name: alertComponentName });
173
160
  var classes = useUtilityClasses(props);
161
+ var defaultIconMapping = props.variant === 'outlined'
162
+ ? {
163
+ warning: React.createElement(AlertTriangleFilledIcon, null),
164
+ danger: React.createElement(AlertDiamondFilledIcon, null),
165
+ success: React.createElement(CheckCircleFilledIcon, null),
166
+ info: React.createElement(InfoFilledIcon, null),
167
+ default: React.createElement(FileTextIcon, null),
168
+ }
169
+ : {
170
+ warning: React.createElement(AlertTriangleIcon, null),
171
+ danger: React.createElement(AlertDiamondIcon, null),
172
+ success: React.createElement(CheckCircleIcon, null),
173
+ info: React.createElement(InfoIcon, null),
174
+ default: React.createElement(FileTextIcon, null),
175
+ };
174
176
  var action = props.action, children = props.children, className = props.className, _a = props.closeText, closeText = _a === void 0 ? 'Dismiss' : _a, iconProp = props.icon, _b = props.iconMapping, iconMapping = _b === void 0 ? defaultIconMapping : _b, message = props.message, onCloseProp = props.onClose, onDismiss = props.onDismiss, _c = props.role, role = _c === void 0 ? 'alert' : _c, _d = props.severity, severity = _d === void 0 ? 'default' : _d, title = props.title, _e = props.variant, variant = _e === void 0 ? 'standard' : _e, elevation = props.elevation, dismissible = props.dismissible, rootProps = __rest(props, ["action", "children", "className", "closeText", "icon", "iconMapping", "message", "onClose", "onDismiss", "role", "severity", "title", "variant", "elevation", "dismissible"]);
175
177
  var ownerState = {
176
178
  severity: severity,
package/esm/card/card.js CHANGED
@@ -56,7 +56,7 @@ var Root = styled(MuiCard, {
56
56
  },
57
57
  };
58
58
  var defaultBorderStyle = {
59
- '&:hover': theme.palette.mode === 'dark' && {
59
+ '&:hover': {
60
60
  borderColor: theme.tokens.color_border_bold,
61
61
  },
62
62
  };
@@ -69,6 +69,7 @@ var Root = styled(MuiCard, {
69
69
  '&:hover': theme.palette.mode === 'light'
70
70
  ? {
71
71
  boxShadow: theme.palette.mode === 'light' ? theme.shadows[1] : theme.shadows[2],
72
+ borderColor: theme.tokens.color_border_bold,
72
73
  }
73
74
  : {
74
75
  backgroundColor: fade(theme.palette.action.hoverBackground, 0.1),
@@ -43,6 +43,6 @@ export var DialogTitle = React.forwardRef(function (props, ref) {
43
43
  var classes = useMergedClasses(dialogTitleClasses, getDialogTitleUtilityClass, propClasses);
44
44
  return (React.createElement(Root, __assign({}, dialogTitleProps, { className: clsx(classes.root, className), ref: ref }),
45
45
  disableTypography ? (children) : (React.createElement(Text, { id: id, className: classes.title, variant: "h5", color: "textPrimary" }, children)),
46
- !!onClose && (React.createElement(IconButton, { shape: "circular", variant: "contained", "aria-label": "Close", size: "small", className: classes.closeButton, onClick: function (event) { return onClose(event, 'closeClick'); }, label: "close button" },
46
+ !!onClose && (React.createElement(IconButton, { shape: "circular", variant: "contained", "aria-label": "Close", size: "small", className: classes.closeButton, onClick: function (event) { return onClose(event, 'closeClick'); }, label: "Close" },
47
47
  React.createElement(XIcon, null)))));
48
48
  });
@@ -27,8 +27,8 @@ import { styled } from '../styled';
27
27
  import { useMergedClasses } from '../styles/classes';
28
28
  import { Text } from '../text';
29
29
  import clsx from '../utils/clsx';
30
- import { paginationComponentName, paginationClasses, getPaginationUtilityClass, } from './pagination-classes';
31
30
  import { Pager } from './pager';
31
+ import { getPaginationUtilityClass, paginationClasses, paginationComponentName, } from './pagination-classes';
32
32
  var Root = styled('fieldset', { name: paginationComponentName, slot: 'Root' })(function (_a) {
33
33
  var ownerState = _a.ownerState;
34
34
  return (__assign({ justifyContent: 'space-between', display: 'flex', alignItems: 'center', margin: 0, padding: 0, border: 'none' }, (ownerState.disabled && {
@@ -61,7 +61,7 @@ var changePageIfAppropriate = function (_a) {
61
61
  }
62
62
  };
63
63
  export var Pagination = React.forwardRef(function (props, ref) {
64
- var children = props.children, className = props.className, page = props.page, perPage = props.perPage, items = props.items, onPageChanged = props.onPageChanged, disabled = props.disabled, propClasses = props.classes, _a = props.PagerProps, PagerProps = _a === void 0 ? {} : _a, rootProps = __rest(props, ["children", "className", "page", "perPage", "items", "onPageChanged", "disabled", "classes", "PagerProps"]);
64
+ var children = props.children, className = props.className, page = props.page, perPage = props.perPage, items = props.items, _a = props.showPageSelection, showPageSelection = _a === void 0 ? false : _a, onPageChanged = props.onPageChanged, disabled = props.disabled, propClasses = props.classes, _b = props.PagerProps, PagerProps = _b === void 0 ? {} : _b, rootProps = __rest(props, ["children", "className", "page", "perPage", "items", "showPageSelection", "onPageChanged", "disabled", "classes", "PagerProps"]);
65
65
  var classes = useMergedClasses(paginationClasses, getPaginationUtilityClass, propClasses);
66
66
  var pages = pagesFromItems(items, perPage);
67
67
  var pageOptions = React.useMemo(function () {
@@ -96,5 +96,15 @@ export var Pagination = React.forwardRef(function (props, ref) {
96
96
  React.createElement(Text, { className: classes.pageLabelText, variant: "body2" },
97
97
  "of ",
98
98
  pages))),
99
- React.createElement(Pager, __assign({ page: page, className: classes.pager, onPageChange: function (nextPage) { return changePageIfAppropriate({ nextPage: nextPage, total: items, perPage: perPage, onPageChanged: onPageChanged }); }, totalPages: pages, disabled: disabled }, PagerProps))))));
99
+ React.createElement(StackLayout, null,
100
+ showPageSelection && (React.createElement(StackLayoutItem, null,
101
+ React.createElement(Text, null,
102
+ "Showing ",
103
+ page * perPage - perPage + 1,
104
+ " to ",
105
+ page * perPage,
106
+ " of ",
107
+ items))),
108
+ React.createElement(StackLayoutItem, null,
109
+ React.createElement(Pager, __assign({ page: page, className: classes.pager, onPageChange: function (nextPage) { return changePageIfAppropriate({ nextPage: nextPage, total: items, perPage: perPage, onPageChanged: onPageChanged }); }, totalPages: pages, disabled: disabled }, PagerProps))))))));
100
110
  });
@@ -94,15 +94,21 @@ var PrimaryActionButton = styled(Button, { name: promoBannerComponentName, slot:
94
94
  background: theme.tokens.color_bg_button_inverse_static,
95
95
  };
96
96
  var showWhiteButtonBackground = ownerState.color !== 'dark' && ownerState.color !== 'default' && whiteButtonBackground;
97
- return __assign(__assign({}, showWhiteButtonBackground), { color: buttonColor, '&:hover': __assign({}, showWhiteButtonBackground), '&:focus': __assign({}, theme.mixins.focusRing({ color: theme.tokens.color_fg_inverse_static })) });
97
+ return __assign(__assign({}, showWhiteButtonBackground), { color: buttonColor, '&:hover': __assign({}, showWhiteButtonBackground), '&:focus': __assign({}, theme.mixins.focusRing({
98
+ color: showWhiteButtonBackground ? theme.tokens.color_fg_inverse_static : theme.tokens.color_border_focus,
99
+ })) });
98
100
  });
99
101
  var SecondaryActionButton = styled(Button, { name: promoBannerComponentName, slot: 'SecondaryAction' })(function (_a) {
100
102
  var theme = _a.theme, ownerState = _a.ownerState;
103
+ var shouldShowWhiteFocusRing = ownerState.color !== 'dark' && ownerState.color !== 'default';
101
104
  return {
102
105
  color: ownerState.color !== 'default' ? theme.tokens.color_fg_on_button_primary : theme.tokens.color_fg_link_primary,
103
106
  '&:hover': {
104
107
  backgroundColor: theme.tokens.color_bg_link_inverse_static_hover,
105
108
  },
109
+ '&:focus': __assign({}, theme.mixins.focusRing({
110
+ color: shouldShowWhiteFocusRing ? theme.tokens.color_fg_inverse_static : theme.tokens.color_border_focus,
111
+ })),
106
112
  };
107
113
  });
108
114
  var ImageContainer = styled('div', { name: promoBannerComponentName, slot: 'ImageContainer' })(function (_a) {
@@ -49,6 +49,16 @@ var Dot = styled('span', { name: statusDotComponentName, slot: 'Dot' })(function
49
49
  },
50
50
  }[color]));
51
51
  });
52
+ var Label = styled('span')(function (_a) {
53
+ var width = _a.width, maxWidth = _a.maxWidth;
54
+ return ({
55
+ overflow: 'hidden',
56
+ whiteSpace: 'nowrap',
57
+ textOverflow: 'ellipsis',
58
+ width: width,
59
+ maxWidth: maxWidth,
60
+ });
61
+ });
52
62
  var DetailsIcon = styled('div', { name: statusDotComponentName, slot: 'DetailsIcon' })(function (_a) {
53
63
  var theme = _a.theme;
54
64
  return ({
@@ -58,14 +68,15 @@ var DetailsIcon = styled('div', { name: statusDotComponentName, slot: 'DetailsIc
58
68
  });
59
69
  export var StatusDot = React.forwardRef(function (props, ref) {
60
70
  var _a = props.color, color = _a === void 0 ? 'default' : _a, textColor = props.textColor, _b = props.textVariant, textVariant = _b === void 0 ? 'body2' : _b, className = props.className, children = props.children, label = props.label, details = props.details, // remove to prevent passing through to the root
61
- propClasses = props.classes, rootProps = __rest(props, ["color", "textColor", "textVariant", "className", "children", "label", "details", "classes"]);
71
+ propClasses = props.classes, _c = props.sx, sx = _c === void 0 ? {} : _c, rootProps = __rest(props, ["color", "textColor", "textVariant", "className", "children", "label", "details", "classes", "sx"]);
72
+ var _d = sx, width = _d.width, maxWidth = _d.maxWidth;
62
73
  var classes = useMergedClasses(statusDotClasses, getStatusDotUtilityClass, propClasses);
63
74
  var ownerState = {
64
75
  color: color,
65
76
  };
66
77
  return (React.createElement(Root, __assign({ ref: ref, component: "span", variant: textVariant, color: textColor, className: clsx(classes.root, className) }, rootProps),
67
78
  React.createElement(Dot, { role: "img", ownerState: ownerState, className: classes.dot }),
68
- label,
79
+ !!label && (React.createElement(Label, { width: width, maxWidth: maxWidth, title: label }, label)),
69
80
  !!details && (React.createElement(Tooltip, { title: details },
70
81
  React.createElement(DetailsIcon, null,
71
82
  React.createElement(HelpCircleIcon, { size: "1em" }))))));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@auth0/quantum-product",
3
- "version": "2.4.3",
3
+ "version": "2.4.5",
4
4
  "sideEffects": false,
5
5
  "license": "Apache-2.0",
6
6
  "publishConfig": {
@@ -1,10 +1,11 @@
1
1
  import * as React from 'react';
2
2
  import { IStyledComponentProps } from '../styled';
3
- import { PaginationClasses } from './pagination-classes';
4
3
  import { IPagerProps } from './pager';
4
+ import { PaginationClasses } from './pagination-classes';
5
5
  export type IPaginationProps = IStyledComponentProps<{
6
6
  props: {
7
7
  items: number;
8
+ showPageSelection?: boolean;
8
9
  page: number;
9
10
  perPage: number;
10
11
  disabled?: boolean;
@@ -16,10 +17,11 @@ export type IPaginationProps = IStyledComponentProps<{
16
17
  }>;
17
18
  export declare const Pagination: React.ForwardRefExoticComponent<{
18
19
  items: number;
20
+ showPageSelection?: boolean | undefined;
19
21
  page: number;
20
22
  perPage: number;
21
23
  disabled?: boolean | undefined;
22
24
  onPageChanged(page: number): void;
23
25
  PagerProps?: Partial<IPagerProps> | undefined;
24
26
  classes?: Partial<Record<"root" | "pageSelect" | "pageLabelText" | "pager", string>> | undefined;
25
- } & Omit<React.DetailedHTMLProps<React.FieldsetHTMLAttributes<HTMLFieldSetElement>, HTMLFieldSetElement>, "ref" | "disabled" | "page" | "classes" | "items" | "perPage" | "onPageChanged" | "PagerProps"> & import("../styled").IStyledCommonProps & React.RefAttributes<HTMLFieldSetElement>>;
27
+ } & Omit<React.DetailedHTMLProps<React.FieldsetHTMLAttributes<HTMLFieldSetElement>, HTMLFieldSetElement>, "ref" | "disabled" | "page" | "classes" | "items" | "showPageSelection" | "perPage" | "onPageChanged" | "PagerProps"> & import("../styled").IStyledCommonProps & React.RefAttributes<HTMLFieldSetElement>>;
@@ -56,8 +56,8 @@ var styled_1 = require("../styled");
56
56
  var classes_1 = require("../styles/classes");
57
57
  var text_1 = require("../text");
58
58
  var clsx_1 = __importDefault(require("../utils/clsx"));
59
- var pagination_classes_1 = require("./pagination-classes");
60
59
  var pager_1 = require("./pager");
60
+ var pagination_classes_1 = require("./pagination-classes");
61
61
  var Root = (0, styled_1.styled)('fieldset', { name: pagination_classes_1.paginationComponentName, slot: 'Root' })(function (_a) {
62
62
  var ownerState = _a.ownerState;
63
63
  return (__assign({ justifyContent: 'space-between', display: 'flex', alignItems: 'center', margin: 0, padding: 0, border: 'none' }, (ownerState.disabled && {
@@ -90,7 +90,7 @@ var changePageIfAppropriate = function (_a) {
90
90
  }
91
91
  };
92
92
  exports.Pagination = React.forwardRef(function (props, ref) {
93
- var children = props.children, className = props.className, page = props.page, perPage = props.perPage, items = props.items, onPageChanged = props.onPageChanged, disabled = props.disabled, propClasses = props.classes, _a = props.PagerProps, PagerProps = _a === void 0 ? {} : _a, rootProps = __rest(props, ["children", "className", "page", "perPage", "items", "onPageChanged", "disabled", "classes", "PagerProps"]);
93
+ var children = props.children, className = props.className, page = props.page, perPage = props.perPage, items = props.items, _a = props.showPageSelection, showPageSelection = _a === void 0 ? false : _a, onPageChanged = props.onPageChanged, disabled = props.disabled, propClasses = props.classes, _b = props.PagerProps, PagerProps = _b === void 0 ? {} : _b, rootProps = __rest(props, ["children", "className", "page", "perPage", "items", "showPageSelection", "onPageChanged", "disabled", "classes", "PagerProps"]);
94
94
  var classes = (0, classes_1.useMergedClasses)(pagination_classes_1.paginationClasses, pagination_classes_1.getPaginationUtilityClass, propClasses);
95
95
  var pages = pagesFromItems(items, perPage);
96
96
  var pageOptions = React.useMemo(function () {
@@ -125,5 +125,15 @@ exports.Pagination = React.forwardRef(function (props, ref) {
125
125
  React.createElement(text_1.Text, { className: classes.pageLabelText, variant: "body2" },
126
126
  "of ",
127
127
  pages))),
128
- React.createElement(pager_1.Pager, __assign({ page: page, className: classes.pager, onPageChange: function (nextPage) { return changePageIfAppropriate({ nextPage: nextPage, total: items, perPage: perPage, onPageChanged: onPageChanged }); }, totalPages: pages, disabled: disabled }, PagerProps))))));
128
+ React.createElement(stack_layout_1.StackLayout, null,
129
+ showPageSelection && (React.createElement(stack_layout_1.StackLayoutItem, null,
130
+ React.createElement(text_1.Text, null,
131
+ "Showing ",
132
+ page * perPage - perPage + 1,
133
+ " to ",
134
+ page * perPage,
135
+ " of ",
136
+ items))),
137
+ React.createElement(stack_layout_1.StackLayoutItem, null,
138
+ React.createElement(pager_1.Pager, __assign({ page: page, className: classes.pager, onPageChange: function (nextPage) { return changePageIfAppropriate({ nextPage: nextPage, total: items, perPage: perPage, onPageChanged: onPageChanged }); }, totalPages: pages, disabled: disabled }, PagerProps))))))));
129
139
  });
@@ -123,15 +123,21 @@ var PrimaryActionButton = (0, styled_1.styled)(button_1.Button, { name: promo_ba
123
123
  background: theme.tokens.color_bg_button_inverse_static,
124
124
  };
125
125
  var showWhiteButtonBackground = ownerState.color !== 'dark' && ownerState.color !== 'default' && whiteButtonBackground;
126
- return __assign(__assign({}, showWhiteButtonBackground), { color: buttonColor, '&:hover': __assign({}, showWhiteButtonBackground), '&:focus': __assign({}, theme.mixins.focusRing({ color: theme.tokens.color_fg_inverse_static })) });
126
+ return __assign(__assign({}, showWhiteButtonBackground), { color: buttonColor, '&:hover': __assign({}, showWhiteButtonBackground), '&:focus': __assign({}, theme.mixins.focusRing({
127
+ color: showWhiteButtonBackground ? theme.tokens.color_fg_inverse_static : theme.tokens.color_border_focus,
128
+ })) });
127
129
  });
128
130
  var SecondaryActionButton = (0, styled_1.styled)(button_1.Button, { name: promo_banner_classes_1.promoBannerComponentName, slot: 'SecondaryAction' })(function (_a) {
129
131
  var theme = _a.theme, ownerState = _a.ownerState;
132
+ var shouldShowWhiteFocusRing = ownerState.color !== 'dark' && ownerState.color !== 'default';
130
133
  return {
131
134
  color: ownerState.color !== 'default' ? theme.tokens.color_fg_on_button_primary : theme.tokens.color_fg_link_primary,
132
135
  '&:hover': {
133
136
  backgroundColor: theme.tokens.color_bg_link_inverse_static_hover,
134
137
  },
138
+ '&:focus': __assign({}, theme.mixins.focusRing({
139
+ color: shouldShowWhiteFocusRing ? theme.tokens.color_fg_inverse_static : theme.tokens.color_border_focus,
140
+ })),
135
141
  };
136
142
  });
137
143
  var ImageContainer = (0, styled_1.styled)('div', { name: promo_banner_classes_1.promoBannerComponentName, slot: 'ImageContainer' })(function (_a) {
@@ -78,6 +78,16 @@ var Dot = (0, styled_1.styled)('span', { name: status_dot_classes_1.statusDotCom
78
78
  },
79
79
  }[color]));
80
80
  });
81
+ var Label = (0, styled_1.styled)('span')(function (_a) {
82
+ var width = _a.width, maxWidth = _a.maxWidth;
83
+ return ({
84
+ overflow: 'hidden',
85
+ whiteSpace: 'nowrap',
86
+ textOverflow: 'ellipsis',
87
+ width: width,
88
+ maxWidth: maxWidth,
89
+ });
90
+ });
81
91
  var DetailsIcon = (0, styled_1.styled)('div', { name: status_dot_classes_1.statusDotComponentName, slot: 'DetailsIcon' })(function (_a) {
82
92
  var theme = _a.theme;
83
93
  return ({
@@ -87,14 +97,15 @@ var DetailsIcon = (0, styled_1.styled)('div', { name: status_dot_classes_1.statu
87
97
  });
88
98
  exports.StatusDot = React.forwardRef(function (props, ref) {
89
99
  var _a = props.color, color = _a === void 0 ? 'default' : _a, textColor = props.textColor, _b = props.textVariant, textVariant = _b === void 0 ? 'body2' : _b, className = props.className, children = props.children, label = props.label, details = props.details, // remove to prevent passing through to the root
90
- propClasses = props.classes, rootProps = __rest(props, ["color", "textColor", "textVariant", "className", "children", "label", "details", "classes"]);
100
+ propClasses = props.classes, _c = props.sx, sx = _c === void 0 ? {} : _c, rootProps = __rest(props, ["color", "textColor", "textVariant", "className", "children", "label", "details", "classes", "sx"]);
101
+ var _d = sx, width = _d.width, maxWidth = _d.maxWidth;
91
102
  var classes = (0, classes_1.useMergedClasses)(status_dot_classes_1.statusDotClasses, status_dot_classes_1.getStatusDotUtilityClass, propClasses);
92
103
  var ownerState = {
93
104
  color: color,
94
105
  };
95
106
  return (React.createElement(Root, __assign({ ref: ref, component: "span", variant: textVariant, color: textColor, className: (0, clsx_1.default)(classes.root, className) }, rootProps),
96
107
  React.createElement(Dot, { role: "img", ownerState: ownerState, className: classes.dot }),
97
- label,
108
+ !!label && (React.createElement(Label, { width: width, maxWidth: maxWidth, title: label }, label)),
98
109
  !!details && (React.createElement(tooltip_1.Tooltip, { title: details },
99
110
  React.createElement(DetailsIcon, null,
100
111
  React.createElement(icon_1.HelpCircleIcon, { size: "1em" }))))));