@jobber/components 4.66.1 → 4.66.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Chip/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Chip = require('../Chip-
|
|
5
|
+
var Chip = require('../Chip-168acf3e.js');
|
|
6
6
|
var tslib_es6 = require('../tslib.es6-5b8768b7.js');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var Icon = require('../Icon-405a216c.js');
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var classnames = require('classnames');
|
|
5
|
+
var useInView = require('@jobber/hooks/useInView');
|
|
6
|
+
var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
|
|
7
|
+
var Avatar = require('./Avatar-76a799fa.js');
|
|
8
|
+
var Icon = require('./Icon-405a216c.js');
|
|
9
|
+
var Typography = require('./Typography-973b122e.js');
|
|
10
|
+
var Tooltip = require('./Tooltip-6b12f1c2.js');
|
|
11
|
+
|
|
12
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
|
+
|
|
14
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
15
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
16
|
+
|
|
17
|
+
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-base-bg: var(--color-surface--background);\n --chip-base--hover: var(--color-surface--background--hover);\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 200ms;\n transition: all var(--timing-base);\n -ms-flex-align: center;\n align-items: center;\n}\n\n.af7U8MvcbHE-:focus,\n.af7U8MvcbHE-:focus-visible {\n outline: none;\n}\n\n.af7U8MvcbHE-:focus-visible {\n box-shadow: 0px 0px 0px calc(16px / 8) rgba(255, 255, 255, 1),\n 0px 0px 0px calc(16px / 4) rgb(147, 161, 169);\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- .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: rgb(77, 105, 116);\n background-color: var(--color-text--secondary);\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-visible {\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-visible,\n.Mux23dmZSuw-.SmUxkzpIC84-,\n.Mux23dmZSuw-.SmUxkzpIC84-:hover,\n.Mux23dmZSuw-.SmUxkzpIC84-:focus-visible {\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.SmUxkzpIC84-:hover,\n.SmUxkzpIC84-:focus-visible,\n.Mux23dmZSuw-.SmUxkzpIC84-:hover,\n.Mux23dmZSuw-.SmUxkzpIC84-:focus-visible {\n background-color: rgb(193, 201, 206);\n background-color: var(--color-surface--background--hover);\n --chip--gradient-color-variation: var(--color-surface--background--hover);\n --chip--gradient-color-variation--hover: var(\n --color-surface--background--hover\n );\n}\n\n.Mux23dmZSuw- {\n border: calc(16px / 16) solid rgb(217, 223, 225);\n border: var(--border-base) solid var(--color-border);\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-visible {\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.SmUxkzpIC84-.MbRItb9vKhc-,\n.SmUxkzpIC84-.MbRItb9vKhc-:hover,\n.SmUxkzpIC84-.MbRItb9vKhc-:focus-visible {\n background-color: rgb(225, 225, 225);\n background-color: var(--color-disabled--secondary);\n cursor: auto;\n}\n\n.MbRItb9vKhc-,\n.MbRItb9vKhc-:hover,\n.MbRItb9vKhc-:focus-visible {\n border: calc(16px / 16) solid rgb(225, 225, 225);\n border: var(--border-base) solid var(--color-disabled--secondary);\n color: rgb(181, 181, 181);\n color: var(--color-disabled);\n background-color: rgb(225, 225, 225);\n background-color: var(--color-disabled--secondary);\n cursor: auto;\n --chip--gradient-color-variation: var(--color-disabled--secondary);\n --chip--gradient-color-variation--hover: var(--color-disabled--secondary);\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(225, 225, 225);\n background-color: var(--color-disabled--secondary);\n}\n\n.af7U8MvcbHE-.MbRItb9vKhc- .ySADfZ0FckM- path {\n fill: rgb(181, 181, 181);\n fill: 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-visible .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\n.MUKEW6c2nNA- {\n display: inline-block;\n width: 1px;\n}\n";
|
|
18
|
+
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-","chipLabelRef":"MUKEW6c2nNA-"};
|
|
19
|
+
styleInject_es.styleInject(css_248z);
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Returns the first React Child that receives `true` from isCorrectComponent
|
|
23
|
+
* @param children React Children
|
|
24
|
+
* @param isCorrectComponent a function that accepts a JSX Element and returns a boolean.
|
|
25
|
+
* @returns The first child component that returns true on isCorrectComponent
|
|
26
|
+
*/
|
|
27
|
+
function useChildComponent(children, isCorrectComponent) {
|
|
28
|
+
return React.useMemo(() => {
|
|
29
|
+
return React__default["default"].Children.toArray(children).find(d => React.isValidElement(d) && isCorrectComponent(d));
|
|
30
|
+
}, [children]);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function ChipPrefix({ children }) {
|
|
34
|
+
const singleChild = useChildComponent(children, d => d.type === Avatar.Avatar || d.type === Icon.Icon);
|
|
35
|
+
return (React__default["default"].createElement("span", { className: classnames__default["default"](styles.prefix, !singleChild && styles.empty) }, singleChild));
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function ChipSuffix({ children, className }) {
|
|
39
|
+
var _a;
|
|
40
|
+
let singleChild = useChildComponent(children, d => d.type === Icon.Icon);
|
|
41
|
+
if (!allowedSuffixIcons.includes((_a = singleChild === null || singleChild === void 0 ? void 0 : singleChild.props) === null || _a === void 0 ? void 0 : _a.name)) {
|
|
42
|
+
singleChild = undefined;
|
|
43
|
+
}
|
|
44
|
+
return (React__default["default"].createElement("span", { className: classnames__default["default"](styles.suffix, className, !singleChild && styles.empty) }, singleChild));
|
|
45
|
+
}
|
|
46
|
+
const allowedSuffixIcons = ["cross", "add", "checkmark", "arrowDown"];
|
|
47
|
+
|
|
48
|
+
const Chip = ({ ariaLabel, disabled, heading, invalid, label, value, onClick, onKeyDown, children, role = "button", tabIndex = 0, variation = "base", }) => {
|
|
49
|
+
const classes = classnames__default["default"](styles.chip, {
|
|
50
|
+
[styles.invalid]: invalid,
|
|
51
|
+
[styles.base]: variation === "base",
|
|
52
|
+
[styles.subtle]: variation === "subtle",
|
|
53
|
+
[styles.disabled]: disabled,
|
|
54
|
+
});
|
|
55
|
+
const prefix = useChildComponent(children, d => d.type === Chip.Prefix);
|
|
56
|
+
const suffix = useChildComponent(children, d => d.type === Chip.Suffix);
|
|
57
|
+
const [labelRef, labelFullyVisible] = useInView.useInView();
|
|
58
|
+
const [headingRef, headingFullyVisible] = useInView.useInView();
|
|
59
|
+
const tooltipMessage = getTooltipMessage(labelFullyVisible, headingFullyVisible, label, heading);
|
|
60
|
+
return (React__default["default"].createElement(Tooltip.Tooltip, { message: tooltipMessage },
|
|
61
|
+
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" },
|
|
62
|
+
prefix,
|
|
63
|
+
React__default["default"].createElement("div", { className: styles.chipContent },
|
|
64
|
+
heading && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
65
|
+
React__default["default"].createElement(Typography.Typography, { size: "base", fontWeight: "medium" },
|
|
66
|
+
heading,
|
|
67
|
+
React__default["default"].createElement("span", { ref: headingRef, className: styles.chipLabelRef })),
|
|
68
|
+
label && React__default["default"].createElement("span", { className: styles.chipBar }))),
|
|
69
|
+
React__default["default"].createElement(Typography.Typography, { size: "base" },
|
|
70
|
+
label,
|
|
71
|
+
React__default["default"].createElement("span", { ref: labelRef, className: styles.chipLabelRef })),
|
|
72
|
+
!labelFullyVisible && (React__default["default"].createElement("div", { className: styles.truncateGradient, "data-testid": "ATL-Chip-Truncation-Gradient" }))),
|
|
73
|
+
suffix)));
|
|
74
|
+
};
|
|
75
|
+
function getTooltipMessage(labelFullyVisible, headingFullyVisible, label, heading) {
|
|
76
|
+
let message = "";
|
|
77
|
+
if (heading && !headingFullyVisible) {
|
|
78
|
+
message = `${heading} | ${label}`;
|
|
79
|
+
}
|
|
80
|
+
else if (!labelFullyVisible) {
|
|
81
|
+
message = label;
|
|
82
|
+
}
|
|
83
|
+
return message;
|
|
84
|
+
}
|
|
85
|
+
Chip.Prefix = ChipPrefix;
|
|
86
|
+
Chip.Suffix = ChipSuffix;
|
|
87
|
+
|
|
88
|
+
exports.Chip = Chip;
|
|
89
|
+
exports.styles = styles;
|
package/dist/Combobox/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Combobox = require('../Combobox-
|
|
5
|
+
var Combobox = require('../Combobox-4343fd6c.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('react-dom');
|
|
@@ -17,7 +17,7 @@ require('@jobber/hooks/useRefocusOnActivator');
|
|
|
17
17
|
require('@jobber/hooks/useFocusTrap');
|
|
18
18
|
require('react-popper');
|
|
19
19
|
require('@jobber/hooks/useOnKeyDown');
|
|
20
|
-
require('../Chip-
|
|
20
|
+
require('../Chip-168acf3e.js');
|
|
21
21
|
require('@jobber/hooks/useInView');
|
|
22
22
|
require('../Avatar-76a799fa.js');
|
|
23
23
|
require('color');
|
|
@@ -12,7 +12,7 @@ var useRefocusOnActivator = require('@jobber/hooks/useRefocusOnActivator');
|
|
|
12
12
|
var useFocusTrap = require('@jobber/hooks/useFocusTrap');
|
|
13
13
|
var reactPopper = require('react-popper');
|
|
14
14
|
var useOnKeyDown = require('@jobber/hooks/useOnKeyDown');
|
|
15
|
-
var Chip = require('./Chip-
|
|
15
|
+
var Chip = require('./Chip-168acf3e.js');
|
|
16
16
|
require('@jobber/design');
|
|
17
17
|
var useAssert = require('@jobber/hooks/useAssert');
|
|
18
18
|
|
package/dist/DataList/index.js
CHANGED
|
@@ -25,8 +25,8 @@ var ReactDOM = require('react-dom');
|
|
|
25
25
|
var Checkbox = require('../Checkbox-ad7ec2e7.js');
|
|
26
26
|
var reactRouterDom = require('react-router-dom');
|
|
27
27
|
var AnimatedSwitcher = require('../AnimatedSwitcher-d1e1ddcf.js');
|
|
28
|
-
var Combobox = require('../Combobox-
|
|
29
|
-
var Chip = require('../Chip-
|
|
28
|
+
var Combobox = require('../Combobox-4343fd6c.js');
|
|
29
|
+
var Chip = require('../Chip-168acf3e.js');
|
|
30
30
|
var Icon = require('../Icon-405a216c.js');
|
|
31
31
|
var debounce = require('lodash/debounce');
|
|
32
32
|
var InputText = require('../InputText-f7c45ee5.js');
|
|
@@ -279,7 +279,7 @@ var css_248z$9 = ".fLmJZJJqMcE- {\n display: -ms-flexbox;\n display: flex;\n
|
|
|
279
279
|
var styles$9 = {"headerLabel":"fLmJZJJqMcE-","sortable":"UG8cHUT3Hds-"};
|
|
280
280
|
styleInject_es.styleInject(css_248z$9);
|
|
281
281
|
|
|
282
|
-
var css_248z$8 = ".AN5egORYy-0- {\n width: calc(16px * 1.5);\n width: var(--space-large);\n height: calc(16px * 1.5);\n height: var(--space-large);\n margin-right: calc(16px / 2);\n margin-right: var(--space-small);\n}\n\n.AN5egORYy-0- path {\n fill: rgba(101, 120, 132, 1);\n fill: var(--color-
|
|
282
|
+
var css_248z$8 = ".AN5egORYy-0- {\n width: calc(16px * 1.5);\n width: var(--space-large);\n height: calc(16px * 1.5);\n height: var(--space-large);\n margin-right: calc(16px / 2);\n margin-right: var(--space-small);\n}\n\n.AN5egORYy-0- path {\n fill: rgba(101, 120, 132, 1);\n fill: var(--color-interactive--subtle);\n transition: all 200ms ease;\n transition: all var(--timing-base) ease;\n}\n\n.AN5egORYy-0- path.F1uTDCK0Sb0- {\n fill: rgb(1, 41, 57);\n fill: var(--color-heading);\n}\n\n.AN5egORYy-0- path._6KYeQXWXLQ8- {\n fill: rgb(217, 223, 225);\n fill: var(--color-inactive--surface);\n}\n";
|
|
283
283
|
var styles$8 = {"sortIcon":"AN5egORYy-0-","active":"F1uTDCK0Sb0-","inactive":"_6KYeQXWXLQ8-"};
|
|
284
284
|
styleInject_es.styleInject(css_248z$8);
|
|
285
285
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jobber/components",
|
|
3
|
-
"version": "4.66.
|
|
3
|
+
"version": "4.66.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -83,5 +83,5 @@
|
|
|
83
83
|
"> 1%",
|
|
84
84
|
"IE 10"
|
|
85
85
|
],
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "0d18614943f4b7e2fc2364e60332e7262ae76071"
|
|
87
87
|
}
|
package/dist/Chip-0d2454d9.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var React = require('react');
|
|
4
|
-
var classnames = require('classnames');
|
|
5
|
-
var useInView = require('@jobber/hooks/useInView');
|
|
6
|
-
var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
|
|
7
|
-
var Avatar = require('./Avatar-76a799fa.js');
|
|
8
|
-
var Icon = require('./Icon-405a216c.js');
|
|
9
|
-
var Typography = require('./Typography-973b122e.js');
|
|
10
|
-
var Tooltip = require('./Tooltip-6b12f1c2.js');
|
|
11
|
-
|
|
12
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
|
-
|
|
14
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
15
|
-
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
16
|
-
|
|
17
|
-
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 200ms;\n transition: all var(--timing-base);\n -ms-flex-align: center;\n align-items: center;\n}\n\n.af7U8MvcbHE-:focus,\n.af7U8MvcbHE-:focus-visible {\n outline: none;\n}\n\n.af7U8MvcbHE-:focus-visible {\n box-shadow: 0px 0px 0px calc(16px / 8) rgba(255, 255, 255, 1),\n 0px 0px 0px calc(16px / 4) rgb(147, 161, 169);\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- .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-visible {\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-visible,\n.Mux23dmZSuw-.SmUxkzpIC84-,\n.Mux23dmZSuw-.SmUxkzpIC84-:hover,\n.Mux23dmZSuw-.SmUxkzpIC84-:focus-visible {\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-visible {\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-visible {\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-visible .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\n.MUKEW6c2nNA- {\n display: inline-block;\n width: 1px;\n}\n";
|
|
18
|
-
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-","chipLabelRef":"MUKEW6c2nNA-"};
|
|
19
|
-
styleInject_es.styleInject(css_248z);
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Returns the first React Child that receives `true` from isCorrectComponent
|
|
23
|
-
* @param children React Children
|
|
24
|
-
* @param isCorrectComponent a function that accepts a JSX Element and returns a boolean.
|
|
25
|
-
* @returns The first child component that returns true on isCorrectComponent
|
|
26
|
-
*/
|
|
27
|
-
function useChildComponent(children, isCorrectComponent) {
|
|
28
|
-
return React.useMemo(() => {
|
|
29
|
-
return React__default["default"].Children.toArray(children).find(d => React.isValidElement(d) && isCorrectComponent(d));
|
|
30
|
-
}, [children]);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
function ChipPrefix({ children }) {
|
|
34
|
-
const singleChild = useChildComponent(children, d => d.type === Avatar.Avatar || d.type === Icon.Icon);
|
|
35
|
-
return (React__default["default"].createElement("span", { className: classnames__default["default"](styles.prefix, !singleChild && styles.empty) }, singleChild));
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function ChipSuffix({ children, className }) {
|
|
39
|
-
var _a;
|
|
40
|
-
let singleChild = useChildComponent(children, d => d.type === Icon.Icon);
|
|
41
|
-
if (!allowedSuffixIcons.includes((_a = singleChild === null || singleChild === void 0 ? void 0 : singleChild.props) === null || _a === void 0 ? void 0 : _a.name)) {
|
|
42
|
-
singleChild = undefined;
|
|
43
|
-
}
|
|
44
|
-
return (React__default["default"].createElement("span", { className: classnames__default["default"](styles.suffix, className, !singleChild && styles.empty) }, singleChild));
|
|
45
|
-
}
|
|
46
|
-
const allowedSuffixIcons = ["cross", "add", "checkmark", "arrowDown"];
|
|
47
|
-
|
|
48
|
-
const Chip = ({ ariaLabel, disabled, heading, invalid, label, value, onClick, onKeyDown, children, role = "button", tabIndex = 0, variation = "base", }) => {
|
|
49
|
-
const classes = classnames__default["default"](styles.chip, {
|
|
50
|
-
[styles.invalid]: invalid,
|
|
51
|
-
[styles.base]: variation === "base",
|
|
52
|
-
[styles.subtle]: variation === "subtle",
|
|
53
|
-
[styles.disabled]: disabled,
|
|
54
|
-
});
|
|
55
|
-
const prefix = useChildComponent(children, d => d.type === Chip.Prefix);
|
|
56
|
-
const suffix = useChildComponent(children, d => d.type === Chip.Suffix);
|
|
57
|
-
const [labelRef, labelFullyVisible] = useInView.useInView();
|
|
58
|
-
const [headingRef, headingFullyVisible] = useInView.useInView();
|
|
59
|
-
const tooltipMessage = getTooltipMessage(labelFullyVisible, headingFullyVisible, label, heading);
|
|
60
|
-
return (React__default["default"].createElement(Tooltip.Tooltip, { message: tooltipMessage },
|
|
61
|
-
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" },
|
|
62
|
-
prefix,
|
|
63
|
-
React__default["default"].createElement("div", { className: styles.chipContent },
|
|
64
|
-
heading && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
65
|
-
React__default["default"].createElement(Typography.Typography, { size: "base", fontWeight: "medium" },
|
|
66
|
-
heading,
|
|
67
|
-
React__default["default"].createElement("span", { ref: headingRef, className: styles.chipLabelRef })),
|
|
68
|
-
label && React__default["default"].createElement("span", { className: styles.chipBar }))),
|
|
69
|
-
React__default["default"].createElement(Typography.Typography, { size: "base" },
|
|
70
|
-
label,
|
|
71
|
-
React__default["default"].createElement("span", { ref: labelRef, className: styles.chipLabelRef })),
|
|
72
|
-
!labelFullyVisible && (React__default["default"].createElement("div", { className: styles.truncateGradient, "data-testid": "ATL-Chip-Truncation-Gradient" }))),
|
|
73
|
-
suffix)));
|
|
74
|
-
};
|
|
75
|
-
function getTooltipMessage(labelFullyVisible, headingFullyVisible, label, heading) {
|
|
76
|
-
let message = "";
|
|
77
|
-
if (heading && !headingFullyVisible) {
|
|
78
|
-
message = `${heading} | ${label}`;
|
|
79
|
-
}
|
|
80
|
-
else if (!labelFullyVisible) {
|
|
81
|
-
message = label;
|
|
82
|
-
}
|
|
83
|
-
return message;
|
|
84
|
-
}
|
|
85
|
-
Chip.Prefix = ChipPrefix;
|
|
86
|
-
Chip.Suffix = ChipSuffix;
|
|
87
|
-
|
|
88
|
-
exports.Chip = Chip;
|
|
89
|
-
exports.styles = styles;
|