@jobber/components 4.53.2-JOB-80005.0 → 4.55.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.
@@ -69,7 +69,7 @@ function Banner({ children, type, primaryAction, dismissible = true, icon, onDis
69
69
  onDismiss && onDismiss();
70
70
  }
71
71
  }
72
- function BannerChildren({ children }) {
72
+ function BannerChildren({ children, }) {
73
73
  if (!children)
74
74
  return React__default["default"].createElement(React__default["default"].Fragment, null);
75
75
  if (children && typeof children === "string") {
@@ -4,21 +4,26 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var classnames = require('classnames');
7
+ var useInView = require('@jobber/hooks/useInView');
7
8
  var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
8
9
  var Avatar = require('../Avatar-1aa30ee1.js');
9
10
  var Icon = require('../Icon-405a216c.js');
10
11
  var Typography = require('../Typography-83915c54.js');
12
+ var Tooltip = require('../Tooltip-269e7fcd.js');
11
13
  var tslib_es6 = require('../tslib.es6-5b8768b7.js');
12
14
  require('color');
13
15
  require('@jobber/design');
16
+ require('react-dom');
17
+ require('framer-motion');
18
+ require('react-popper');
14
19
 
15
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
21
 
17
22
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
18
23
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
19
24
 
20
- var css_248z = ".af7U8MvcbHE- {\n --chip-height: 40px;\n --chip-radius: 20px;\n --chip-disabled--bg: var(--color-grey--lighter);\n --chip-bar-color: var(--color-greyBlue--light);\n --chip-base-bg: var(--color-greyBlue--lightest);\n --chip-base--hover: var(--color-greyBlue--lighter);\n display: -ms-flexbox;\n display: flex;\n position: relative;\n height: 40px;\n height: var(--chip-height);\n padding: calc(16px / 2) 16px;\n padding: var(--space-small) var(--base-unit);\n border: calc(16px / 16) solid transparent;\n border: var(--border-base) solid transparent;\n border-radius: 20px;\n border-radius: var(--chip-radius);\n color: rgb(1, 41, 57);\n color: var(--color-heading);\n text-align: left;\n cursor: pointer;\n transition: all var(--ease-both) 100ms;\n transition: all var(--ease-both) var(--timing-quick);\n -ms-flex-align: center;\n align-items: center;\n}\n\n.af7U8MvcbHE-:focus {\n box-shadow: 0px 0px calc(16px / 4) calc(16px / 8)\n rgb(231, 213, 87);\n box-shadow: var(--shadow-focus);\n}\n\n.af7U8MvcbHE- .e905AYK4SCc- {\n margin-left: calc(-1 * (16px / 2));\n margin-left: calc(-1 * calc(16px / 2));\n margin-left: calc(-1 * var(--space-small));\n margin-right: calc(16px / 2);\n margin-right: var(--space-small);\n}\n\n.af7U8MvcbHE- .ySADfZ0FckM- {\n margin-left: calc(16px / 2);\n margin-left: var(--space-small);\n margin-right: calc(-1 * (16px / 2));\n margin-right: calc(-1 * calc(16px / 2));\n margin-right: calc(-1 * var(--space-small));\n}\n\n.af7U8MvcbHE- .e905AYK4SCc-,\n.af7U8MvcbHE- .ySADfZ0FckM- {\n display: -ms-flexbox;\n display: flex;\n width: calc(16px * 1.5);\n width: var(--space-large);\n height: calc(16px * 1.5);\n height: var(--space-large);\n -ms-flex-negative: 0;\n flex-shrink: 0;\n border-radius: 100%;\n border-radius: var(--radius-circle);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.af7U8MvcbHE- .ySADfZ0FckM-:hover,\n.af7U8MvcbHE- .e905AYK4SCc-:hover {\n background-color: rgb(181, 181, 181);\n background-color: var(--color-disabled);\n}\n\n.af7U8MvcbHE- .e905AYK4SCc-.usdkmQ9Sxbk-,\n.af7U8MvcbHE- .ySADfZ0FckM-.usdkmQ9Sxbk- {\n display: none;\n}\n\n.af7U8MvcbHE- .dg1-Izy1eQA- {\n width: calc(16px / 16);\n width: var(--space-minuscule);\n height: 16px;\n height: var(--base-unit);\n margin: 0 calc(16px / 2);\n margin: 0 var(--space-small);\n background-color: var(--chip-bar-color);\n}\n\n.af7U8MvcbHE- .-lz0EYLTDgg- {\n border-radius: 100%;\n border-radius: var(--radius-circle);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n}\n\n.wSI5L-5rODg- {\n border: calc(16px / 16) solid transparent;\n border: var(--border-base) solid transparent;\n color: rgb(1, 41, 57);\n color: var(--color-heading);\n background-color: var(--chip-base-bg);\n}\n\n.wSI5L-5rODg-:hover,\n.wSI5L-5rODg-:focus {\n background-color: var(--chip-base--hover);\n}\n\n.SmUxkzpIC84-,\n.SmUxkzpIC84-:hover,\n.SmUxkzpIC84-:focus,\n.Mux23dmZSuw-.SmUxkzpIC84-,\n.Mux23dmZSuw-.SmUxkzpIC84-:hover,\n.Mux23dmZSuw-.SmUxkzpIC84-:focus {\n border: calc(16px / 16) solid rgb(201, 66, 33);\n border: var(--border-base) solid var(--color-critical);\n background-color: rgb(255, 226, 219);\n background-color: var(--color-critical--surface);\n}\n\n.Mux23dmZSuw- {\n border: calc(16px / 16) solid rgb(225, 225, 225);\n border: var(--border-base) solid var(--color-disabled--secondary);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n}\n\n.Mux23dmZSuw-:hover {\n border: calc(16px / 16) solid var(--chip-base-bg);\n border: var(--border-base) solid var(--chip-base-bg);\n background-color: var(--chip-base-bg);\n}\n\n.MbRItb9vKhc-,\n.MbRItb9vKhc-:hover,\n.MbRItb9vKhc-:focus {\n border: calc(16px / 16) solid var(--chip-disabled--bg);\n border: var(--border-base) solid var(--chip-disabled--bg);\n color: rgb(181, 181, 181);\n color: var(--color-disabled);\n background-color: var(--chip-disabled--bg);\n cursor: auto;\n}\n\n.MbRItb9vKhc- .dg1-Izy1eQA- {\n background-color: rgb(181, 181, 181);\n background-color: var(--color-disabled);\n}\n\n.af7U8MvcbHE-.MbRItb9vKhc- .ySADfZ0FckM- {\n background-color: rgb(181, 181, 181);\n background-color: var(--color-disabled);\n}\n";
21
- var styles = {"chip":"af7U8MvcbHE-","prefix":"e905AYK4SCc-","suffix":"ySADfZ0FckM-","empty":"usdkmQ9Sxbk-","chipBar":"dg1-Izy1eQA-","selected":"-lz0EYLTDgg-","base":"wSI5L-5rODg-","invalid":"SmUxkzpIC84-","subtle":"Mux23dmZSuw-","disabled":"MbRItb9vKhc-"};
25
+ var css_248z = ":root {\n --chip--gradient-color-variation: var(--chip-base-bg);\n --chip--gradient-color-variation--hover: var(--chip-base--hover);\n}\n\n.af7U8MvcbHE- {\n --chip-height: 40px;\n --chip-radius: 20px;\n --chip-disabled--bg: var(--color-grey--lighter);\n --chip-bar-color: var(--color-greyBlue--light);\n --chip-base-bg: var(--color-greyBlue--lightest);\n --chip-base--hover: var(--color-greyBlue--lighter);\n display: -ms-flexbox;\n display: flex;\n position: relative;\n height: 40px;\n height: var(--chip-height);\n min-width: 0;\n padding: calc(16px / 2) 16px;\n padding: var(--space-small) var(--base-unit);\n border: calc(16px / 16) solid transparent;\n border: var(--border-base) solid transparent;\n border-radius: 20px;\n border-radius: var(--chip-radius);\n color: rgb(1, 41, 57);\n color: var(--color-heading);\n text-align: left;\n cursor: pointer;\n transition: all var(--ease-both) 100ms;\n transition: all var(--ease-both) var(--timing-quick);\n -ms-flex-align: center;\n align-items: center;\n}\n\n.af7U8MvcbHE-:focus {\n box-shadow: 0px 0px calc(16px / 4) calc(16px / 8)\n rgb(231, 213, 87);\n box-shadow: var(--shadow-focus);\n}\n\n.af7U8MvcbHE- .e905AYK4SCc- {\n margin-left: calc(-1 * (16px / 2));\n margin-left: calc(-1 * calc(16px / 2));\n margin-left: calc(-1 * var(--space-small));\n margin-right: calc(16px / 2);\n margin-right: var(--space-small);\n}\n\n.af7U8MvcbHE- .ySADfZ0FckM- {\n margin-left: calc(16px / 2);\n margin-left: var(--space-small);\n margin-right: calc(-1 * (16px / 2));\n margin-right: calc(-1 * calc(16px / 2));\n margin-right: calc(-1 * var(--space-small));\n}\n\n.af7U8MvcbHE- .e905AYK4SCc-,\n.af7U8MvcbHE- .ySADfZ0FckM- {\n display: -ms-flexbox;\n display: flex;\n width: calc(16px * 1.5);\n width: var(--space-large);\n height: calc(16px * 1.5);\n height: var(--space-large);\n -ms-flex-negative: 0;\n flex-shrink: 0;\n border-radius: 100%;\n border-radius: var(--radius-circle);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.af7U8MvcbHE- .ySADfZ0FckM-:hover,\n.af7U8MvcbHE- .e905AYK4SCc-:hover {\n background-color: rgb(181, 181, 181);\n background-color: var(--color-disabled);\n}\n\n.af7U8MvcbHE- .e905AYK4SCc-.usdkmQ9Sxbk-,\n.af7U8MvcbHE- .ySADfZ0FckM-.usdkmQ9Sxbk- {\n display: none;\n}\n\n.af7U8MvcbHE- .dg1-Izy1eQA- {\n width: calc(16px / 16);\n width: var(--space-minuscule);\n height: 16px;\n height: var(--base-unit);\n margin: 0 calc(16px / 2);\n margin: 0 var(--space-small);\n background-color: var(--chip-bar-color);\n}\n\n.af7U8MvcbHE- .-lz0EYLTDgg- {\n border-radius: 100%;\n border-radius: var(--radius-circle);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n}\n\n.wSI5L-5rODg- {\n border: calc(16px / 16) solid transparent;\n border: var(--border-base) solid transparent;\n color: rgb(1, 41, 57);\n color: var(--color-heading);\n background-color: var(--chip-base-bg);\n --chip--gradient-color-variation: var(--chip-base-bg);\n}\n\n.wSI5L-5rODg-:hover,\n.wSI5L-5rODg-:focus {\n background-color: var(--chip-base--hover);\n --chip--gradient-color-variation--hover: var(--chip-base--hover);\n}\n\n.SmUxkzpIC84-,\n.SmUxkzpIC84-:hover,\n.SmUxkzpIC84-:focus,\n.Mux23dmZSuw-.SmUxkzpIC84-,\n.Mux23dmZSuw-.SmUxkzpIC84-:hover,\n.Mux23dmZSuw-.SmUxkzpIC84-:focus {\n border: calc(16px / 16) solid rgb(201, 66, 33);\n border: var(--border-base) solid var(--color-critical);\n background-color: rgb(255, 226, 219);\n background-color: var(--color-critical--surface);\n --chip--gradient-color-variation: var(--color-critical--surface);\n --chip--gradient-color-variation--hover: var(--color-critical--surface);\n}\n\n.Mux23dmZSuw- {\n border: calc(16px / 16) solid rgb(225, 225, 225);\n border: var(--border-base) solid var(--color-disabled--secondary);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n --chip--gradient-color-variation: var(--color-surface);\n}\n\n/* CAUTION: Order is important here since\n* there is are different styles for subtle:focus and subtle:hover\n* and we want hover to take priority\n*/\n\n.Mux23dmZSuw-:focus {\n --chip--gradient-color-variation--hover: var(--color-surface);\n}\n\n.Mux23dmZSuw-:hover {\n border: calc(16px / 16) solid var(--chip-base-bg);\n border: var(--border-base) solid var(--chip-base-bg);\n background-color: var(--chip-base-bg);\n --chip--gradient-color-variation--hover: var(--chip-base-bg);\n}\n\n.MbRItb9vKhc-,\n.MbRItb9vKhc-:hover,\n.MbRItb9vKhc-:focus {\n border: calc(16px / 16) solid var(--chip-disabled--bg);\n border: var(--border-base) solid var(--chip-disabled--bg);\n color: rgb(181, 181, 181);\n color: var(--color-disabled);\n background-color: var(--chip-disabled--bg);\n cursor: auto;\n --chip--gradient-color-variation: var(--chip-disabled--bg);\n --chip--gradient-color-variation--hover: var(--chip-disabled--bg);\n}\n\n.MbRItb9vKhc- .dg1-Izy1eQA- {\n background-color: rgb(181, 181, 181);\n background-color: var(--color-disabled);\n}\n\n.af7U8MvcbHE-.MbRItb9vKhc- .ySADfZ0FckM- {\n background-color: rgb(181, 181, 181);\n background-color: var(--color-disabled);\n}\n\n.tJhURjR2Vec- {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n overflow: hidden;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n\n.tJhURjR2Vec- > * {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n}\n\n.tJhURjR2Vec- > p {\n overflow: hidden;\n white-space: nowrap;\n}\n\n.G3QXY0rNcK0- {\n position: absolute;\n top: 0;\n right: 0;\n width: calc(16px * 1);\n width: var(--space-base);\n height: 100%;\n background: linear-gradient(\n to left,\n var(--chip-base-bg) 5%,\n rgba(255, 255, 255, 0)\n );\n background: linear-gradient(\n to left,\n var(--chip--gradient-color-variation) 5%,\n rgba(255, 255, 255, 0)\n );\n}\n\n.af7U8MvcbHE-:focus .G3QXY0rNcK0-,\n.af7U8MvcbHE-:hover .G3QXY0rNcK0- {\n background: linear-gradient(\n to left,\n var(--chip-base--hover) 5%,\n rgba(255, 255, 255, 0)\n );\n background: linear-gradient(\n to left,\n var(--chip--gradient-color-variation--hover) 5%,\n rgba(255, 255, 255, 0)\n );\n}\n";
26
+ var styles = {"chip":"af7U8MvcbHE-","prefix":"e905AYK4SCc-","suffix":"ySADfZ0FckM-","empty":"usdkmQ9Sxbk-","chipBar":"dg1-Izy1eQA-","selected":"-lz0EYLTDgg-","base":"wSI5L-5rODg-","invalid":"SmUxkzpIC84-","subtle":"Mux23dmZSuw-","disabled":"MbRItb9vKhc-","chipContent":"tJhURjR2Vec-","truncateGradient":"G3QXY0rNcK0-"};
22
27
  styleInject_es.styleInject(css_248z);
23
28
 
24
29
  /**
@@ -57,13 +62,34 @@ const Chip = ({ ariaLabel, disabled, heading, invalid, label, value, onClick, on
57
62
  });
58
63
  const prefix = useChildComponent(children, d => d.type === Chip.Prefix);
59
64
  const suffix = useChildComponent(children, d => d.type === Chip.Suffix);
60
- return (React__default["default"].createElement("button", { className: classes, onClick: (ev) => onClick && onClick(value, ev), tabIndex: tabIndex, onKeyDown: onKeyDown, "aria-label": ariaLabel || label, disabled: disabled, role: role, type: "button" },
61
- prefix,
62
- React__default["default"].createElement(Typography.Typography, { size: "base", fontWeight: "medium" }, heading),
63
- heading && React__default["default"].createElement("span", { className: styles.chipBar }),
64
- React__default["default"].createElement(Typography.Typography, { size: "base" }, label),
65
- suffix));
65
+ const [labelRef, labelFullyVisible] = useInView.useInView();
66
+ const [headingRef, headingFullyVisible] = useInView.useInView();
67
+ const tooltipMessage = getTooltipMessage(labelFullyVisible, headingFullyVisible, label, heading);
68
+ return (React__default["default"].createElement(Tooltip.Tooltip, { message: tooltipMessage },
69
+ React__default["default"].createElement("button", { className: classes, onClick: (ev) => onClick && onClick(value, ev), tabIndex: tabIndex, onKeyDown: onKeyDown, "aria-label": ariaLabel || label, disabled: disabled, role: role, type: "button" },
70
+ prefix,
71
+ React__default["default"].createElement("div", { className: styles.chipContent },
72
+ heading && (React__default["default"].createElement(React__default["default"].Fragment, null,
73
+ React__default["default"].createElement(Typography.Typography, { size: "base", fontWeight: "medium" },
74
+ heading,
75
+ React__default["default"].createElement("span", { ref: headingRef })),
76
+ React__default["default"].createElement("span", { className: styles.chipBar }))),
77
+ React__default["default"].createElement(Typography.Typography, { size: "base" },
78
+ label,
79
+ React__default["default"].createElement("span", { ref: labelRef })),
80
+ !labelFullyVisible && (React__default["default"].createElement("div", { className: styles.truncateGradient, "data-testid": "ATL-Chip-Truncation-Gradient" }))),
81
+ suffix)));
66
82
  };
83
+ function getTooltipMessage(labelFullyVisible, headingFullyVisible, label, heading) {
84
+ let message = "";
85
+ if (heading && !headingFullyVisible) {
86
+ message = `${heading} | ${label}`;
87
+ }
88
+ else if (!labelFullyVisible) {
89
+ message = label;
90
+ }
91
+ return message;
92
+ }
67
93
  Chip.Prefix = ChipPrefix;
68
94
  Chip.Suffix = ChipSuffix;
69
95
 
@@ -8,7 +8,7 @@ var useAssert = require('@jobber/hooks/useAssert');
8
8
  var Icon = require('./Icon-405a216c.js');
9
9
  var Avatar = require('./Avatar-1aa30ee1.js');
10
10
  var Typography = require('./Typography-83915c54.js');
11
- var Tooltip = require('./Tooltip-ae33a335.js');
11
+ var Tooltip = require('./Tooltip-269e7fcd.js');
12
12
  var sortBy = require('lodash/sortBy');
13
13
  var useLiveAnnounce = require('@jobber/hooks/useLiveAnnounce');
14
14
  var debounce = require('lodash/debounce');
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var Chip = require('../Chip-4f7af21e.js');
6
+ var Chip = require('../Chip-dd12ad19.js');
7
7
  require('uuid');
8
8
  require('../style-inject.es-9d2f5f4e.js');
9
9
  require('classnames');
@@ -13,7 +13,7 @@ require('@jobber/design');
13
13
  require('../Avatar-1aa30ee1.js');
14
14
  require('color');
15
15
  require('../Typography-83915c54.js');
16
- require('../Tooltip-ae33a335.js');
16
+ require('../Tooltip-269e7fcd.js');
17
17
  require('react-dom');
18
18
  require('framer-motion');
19
19
  require('react-popper');
@@ -8,6 +8,7 @@ import { DataListAction } from "./components/DataListAction";
8
8
  import { DataListLayoutActions } from "./components/DataListLayoutActions";
9
9
  import { DataListBulkActionProps, DataListObject, DataListProps } from "./DataList.types";
10
10
  import { DataListBulkActions } from "./components/DataListBulkActions";
11
+ import { DataListStatusBar } from "./components/DataListStatusBar";
11
12
  export declare function DataList<T extends DataListObject>({ selected, sorting, ...props }: DataListProps<T>): JSX.Element;
12
13
  export declare namespace DataList {
13
14
  var Layout: typeof DataListLayout;
@@ -19,4 +20,5 @@ export declare namespace DataList {
19
20
  var BulkActions: typeof DataListBulkActions;
20
21
  var ItemAction: typeof DataListAction;
21
22
  var BatchAction: (props: DataListBulkActionProps) => JSX.Element;
23
+ var StatusBar: typeof DataListStatusBar;
22
24
  }
@@ -0,0 +1,10 @@
1
+ import { ReactElement } from "react";
2
+ interface DataListStatusBarProps {
3
+ readonly children: ReactElement | ReactElement[];
4
+ }
5
+ export declare function DataListStatusBar(_: DataListStatusBarProps): null;
6
+ /**
7
+ * Renders the DataList.StatusBar component
8
+ */
9
+ export declare function InternalDataListStatusBar(): JSX.Element | null;
10
+ export {};
@@ -0,0 +1 @@
1
+ export * from "./DataListStatusBar";
@@ -11,7 +11,7 @@ var noop = require('lodash/noop');
11
11
  var design = require('@jobber/design');
12
12
  var framerMotion = require('framer-motion');
13
13
  var classnames = require('classnames');
14
- var Tooltip = require('../Tooltip-ae33a335.js');
14
+ var Tooltip = require('../Tooltip-269e7fcd.js');
15
15
  var Button = require('../Button-db6114a6.js');
16
16
  var useInView = require('@jobber/hooks/useInView');
17
17
  var isEmpty = require('lodash/isEmpty');
@@ -27,7 +27,7 @@ var reactRouterDom = require('react-router-dom');
27
27
  var AnimatedSwitcher = require('../AnimatedSwitcher-d1e1ddcf.js');
28
28
  var Popover = require('../Popover-7c966790.js');
29
29
  var Content = require('../Content-2ca1ffe1.js');
30
- var Chip = require('../Chip-4f7af21e.js');
30
+ var Chip = require('../Chip-dd12ad19.js');
31
31
  require('@jobber/hooks/useAssert');
32
32
  require('../Avatar-1aa30ee1.js');
33
33
  require('color');
@@ -987,6 +987,23 @@ function DataListLayoutActionsWrapper({ children }) {
987
987
  return React__default["default"].createElement("div", { className: styles.hidden }, children);
988
988
  }
989
989
 
990
+ // This component is meant to capture the props of the DataList.Filters
991
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
992
+ function DataListStatusBar(_) {
993
+ return null;
994
+ }
995
+ /**
996
+ * Renders the DataList.StatusBar component
997
+ */
998
+ function InternalDataListStatusBar() {
999
+ const { children: parentChildren } = useDataListContext();
1000
+ const component = getCompoundComponent(parentChildren, DataListStatusBar);
1001
+ if (!component)
1002
+ return null;
1003
+ const children = component === null || component === void 0 ? void 0 : component.props.children;
1004
+ return React__default["default"].createElement(React__default["default"].Fragment, null, children);
1005
+ }
1006
+
990
1007
  function DataList(_a) {
991
1008
  var { selected = [], sorting } = _a, props = tslib_es6.__rest(_a, ["selected", "sorting"]);
992
1009
  const [layoutBreakpoints, setLayoutBreakpoints] = React.useState([]);
@@ -1032,6 +1049,7 @@ function InternalDataList() {
1032
1049
  React__default["default"].createElement("div", { className: styles$e.headerFilters },
1033
1050
  React__default["default"].createElement(InternalDataListFilters, null),
1034
1051
  React__default["default"].createElement(InternalDataListSearch, null)),
1052
+ React__default["default"].createElement(InternalDataListStatusBar, null),
1035
1053
  React__default["default"].createElement(DataListHeader, null)),
1036
1054
  initialLoading && React__default["default"].createElement(DataListLoadingState, null),
1037
1055
  showEmptyState && React__default["default"].createElement(InternalDataListEmptyState, null),
@@ -1098,5 +1116,9 @@ DataList.ItemAction = DataListAction;
1098
1116
  DataList.BatchAction = function DataListBatchAction(props) {
1099
1117
  return React__default["default"].createElement(DataListAction, Object.assign({}, props));
1100
1118
  };
1119
+ /**
1120
+ * Defines a status bar that is rendered between the filters and the header.
1121
+ */
1122
+ DataList.StatusBar = DataListStatusBar;
1101
1123
 
1102
1124
  exports.DataList = DataList;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Tooltip = require('../Tooltip-ae33a335.js');
5
+ var Tooltip = require('../Tooltip-269e7fcd.js');
6
6
  require('react');
7
7
  require('classnames');
8
8
  require('react-dom');
@@ -49,7 +49,7 @@ function Tooltip({ message, children }) {
49
49
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
50
50
  React__default["default"].createElement("span", { className: styles.shadowActivator, ref: shadowRef }),
51
51
  children,
52
- React__default["default"].createElement(TooltipPortal, null, show && (React__default["default"].createElement("div", Object.assign({ className: toolTipClassNames, style: popperStyles.popper, ref: setTooltipRef, role: "tooltip" }, attributes.popper),
52
+ React__default["default"].createElement(TooltipPortal, null, show && Boolean(message) && (React__default["default"].createElement("div", Object.assign({ className: toolTipClassNames, style: popperStyles.popper, ref: setTooltipRef, role: "tooltip" }, attributes.popper),
53
53
  React__default["default"].createElement(framerMotion.motion.div, { className: styles.tooltip, variants: variation, initial: "startOrStop", animate: "done", exit: "startOrStop", transition: {
54
54
  damping: 50,
55
55
  stiffness: 500,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobber/components",
3
- "version": "4.53.2-JOB-80005.0+ab5885f0",
3
+ "version": "4.55.0",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -20,8 +20,8 @@
20
20
  ],
21
21
  "dependencies": {
22
22
  "@jobber/design": "^0.46.0",
23
- "@jobber/formatters": "^0.2.2",
24
- "@jobber/hooks": "^2.6.3-JOB-80005.6+ab5885f0",
23
+ "@jobber/formatters": "*",
24
+ "@jobber/hooks": "^2.6.2",
25
25
  "@popperjs/core": "^2.0.6",
26
26
  "@std-proposal/temporal": "0.0.1",
27
27
  "@tanstack/react-table": "8.5.13",
@@ -84,5 +84,5 @@
84
84
  "> 1%",
85
85
  "IE 10"
86
86
  ],
87
- "gitHead": "ab5885f062104616051a48f43a4733f4eab74494"
87
+ "gitHead": "4a750a3d7c0b58c2d4fa8e919675d86d54932da4"
88
88
  }