@jobber/components 3.5.10 → 4.0.1-pre.4

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.
Files changed (127) hide show
  1. package/dist/Autocomplete/Autocomplete.d.ts +1 -1
  2. package/dist/Autocomplete/Option.d.ts +2 -2
  3. package/dist/Autocomplete/index.js +51 -67
  4. package/dist/Avatar/Avatar.d.ts +2 -2
  5. package/dist/Avatar/index.js +2 -2
  6. package/dist/{Avatar-cfd04e86.js → Avatar-89cfd0a6.js} +14 -18
  7. package/dist/Banner/Banner.d.ts +1 -1
  8. package/dist/Banner/index.js +15 -19
  9. package/dist/Button/Button.d.ts +1 -1
  10. package/dist/Button/index.js +3 -4
  11. package/dist/{Button-cd30df0f.js → Button-16e043ec.js} +21 -24
  12. package/dist/ButtonDismiss/index.js +4 -5
  13. package/dist/{ButtonDismiss-a9590195.js → ButtonDismiss-3fb1eaf9.js} +2 -3
  14. package/dist/Card/Card.d.ts +1 -1
  15. package/dist/Card/index.js +6 -7
  16. package/dist/Card/types.d.ts +1 -1
  17. package/dist/{Card-b9f8d6f3.js → Card-edab9c3c.js} +18 -22
  18. package/dist/Checkbox/Checkbox.d.ts +1 -1
  19. package/dist/Checkbox/index.js +4 -5
  20. package/dist/{Checkbox-5103d2b9.js → Checkbox-c1efc2f6.js} +10 -12
  21. package/dist/Chips/ChipsTypes.d.ts +1 -1
  22. package/dist/Chips/InternalChipDismissible/InternalChipDismissibleTypes.d.ts +1 -1
  23. package/dist/Chips/InternalChipDismissible/hooks/useInternalChipDismissible.d.ts +1 -1
  24. package/dist/Chips/InternalChipDismissible/hooks/useInternalChipDismissibleInput.d.ts +3 -3
  25. package/dist/Chips/InternalChipMultiSelect.d.ts +1 -1
  26. package/dist/Chips/InternalChipSingleSelect.d.ts +1 -1
  27. package/dist/Chips/index.js +165 -185
  28. package/dist/ConfirmationModal/ConfirmationModal.d.ts +1 -1
  29. package/dist/ConfirmationModal/index.js +11 -12
  30. package/dist/{ConfirmationModal-e95f46d7.js → ConfirmationModal-6a7beee2.js} +28 -31
  31. package/dist/Content/index.js +1 -1
  32. package/dist/{Content-18de5fbb.js → Content-05df8f7f.js} +2 -3
  33. package/dist/Countdown/Countdown.d.ts +1 -1
  34. package/dist/Countdown/computeTimeUnit.d.ts +1 -1
  35. package/dist/Countdown/index.js +15 -18
  36. package/dist/DataDump/index.js +9 -11
  37. package/dist/DataTable/Footer.d.ts +1 -1
  38. package/dist/DataTable/createTableSettings.d.ts +2 -2
  39. package/dist/DataTable/index.js +74 -106
  40. package/dist/DataTable/test-utilities/helpers.d.ts +1 -1
  41. package/dist/DataTable/types.d.ts +2 -2
  42. package/dist/DatePicker/DatePicker.d.ts +1 -1
  43. package/dist/DatePicker/index.js +4 -5
  44. package/dist/{DatePicker-7c67e8d2.js → DatePicker-af21ae91.js} +31 -36
  45. package/dist/DescriptionList/index.js +5 -10
  46. package/dist/Disclosure/index.js +8 -10
  47. package/dist/Divider/index.js +8 -10
  48. package/dist/Drawer/index.js +10 -14
  49. package/dist/Emphasis/index.js +2 -3
  50. package/dist/{Emphasis-75a3f411.js → Emphasis-23dc2a0a.js} +4 -6
  51. package/dist/FeatureSwitch/index.js +15 -17
  52. package/dist/Form/index.js +23 -33
  53. package/dist/FormField/FormFieldTypes.d.ts +2 -2
  54. package/dist/FormField/index.js +8 -8
  55. package/dist/{FormField-76068c0b.js → FormField-1e444bb6.js} +68 -76
  56. package/dist/FormatDate/index.js +2 -3
  57. package/dist/FormatEmail/index.js +2 -3
  58. package/dist/FormatFile/index.js +13 -14
  59. package/dist/{FormatFile-18e8a54a.js → FormatFile-3512f838.js} +33 -40
  60. package/dist/FormatRelativeDateTime/index.js +5 -6
  61. package/dist/FormatTime/index.js +6 -7
  62. package/dist/Gallery/GalleryTypes.d.ts +2 -2
  63. package/dist/Gallery/index.js +31 -33
  64. package/dist/Heading/index.js +2 -3
  65. package/dist/{Heading-a9a66964.js → Heading-7b203f7f.js} +4 -6
  66. package/dist/Icon/index.js +1 -1
  67. package/dist/{Icon-d5ad1a6d.js → Icon-405a216c.js} +7 -8
  68. package/dist/InlineLabel/InlineLabel.d.ts +1 -1
  69. package/dist/InlineLabel/index.js +4 -6
  70. package/dist/InputAvatar/index.js +15 -20
  71. package/dist/InputDate/index.js +15 -15
  72. package/dist/InputEmail/InputEmail.d.ts +1 -1
  73. package/dist/InputEmail/index.js +12 -12
  74. package/dist/InputFile/index.js +6 -6
  75. package/dist/{InputFile-e108a7f8.js → InputFile-5e0ed2b5.js} +48 -62
  76. package/dist/InputGroup/index.js +4 -5
  77. package/dist/InputNumber/index.js +22 -22
  78. package/dist/InputPassword/index.js +12 -12
  79. package/dist/InputText/InputText.d.ts +1 -1
  80. package/dist/InputText/index.js +9 -9
  81. package/dist/{InputText-523d0e48.js → InputText-12b112a9.js} +23 -24
  82. package/dist/InputTime/index.js +27 -27
  83. package/dist/InputValidation/index.js +4 -5
  84. package/dist/{InputValidation-06a8a7ba.js → InputValidation-97dd0dcf.js} +7 -8
  85. package/dist/LightBox/index.js +5 -6
  86. package/dist/{LightBox-1ad62669.js → LightBox-dd1afa97.js} +22 -26
  87. package/dist/List/index.js +26 -32
  88. package/dist/Markdown/index.js +6 -7
  89. package/dist/{Markdown-b53e0308.js → Markdown-be2dcd0c.js} +12 -18
  90. package/dist/Menu/index.js +4 -5
  91. package/dist/{Menu-826cfb89.js → Menu-d6a7d17b.js} +31 -36
  92. package/dist/Modal/index.js +6 -7
  93. package/dist/{Modal-cc3bd7bf.js → Modal-757e83fd.js} +13 -17
  94. package/dist/MultiSelect/index.js +53 -60
  95. package/dist/MultiSelect/types.d.ts +1 -1
  96. package/dist/{Option-fdf21181.js → Option-13150f4a.js} +3 -5
  97. package/dist/Page/Page.d.ts +1 -1
  98. package/dist/Page/index.js +21 -24
  99. package/dist/Popover/index.js +11 -13
  100. package/dist/ProgressBar/index.js +1 -1
  101. package/dist/{ProgressBar-e9a49129.js → ProgressBar-f028b159.js} +3 -4
  102. package/dist/RadioGroup/RadioOption.d.ts +2 -2
  103. package/dist/RadioGroup/index.js +9 -13
  104. package/dist/RecurringSelect/types.d.ts +2 -2
  105. package/dist/Select/Select.d.ts +1 -1
  106. package/dist/Select/index.js +9 -9
  107. package/dist/Spinner/index.js +1 -1
  108. package/dist/{Spinner-e4e9c8eb.js → Spinner-ae4c8a85.js} +5 -7
  109. package/dist/StatusLabel/StatusLabel.d.ts +1 -1
  110. package/dist/StatusLabel/index.js +6 -9
  111. package/dist/Switch/index.js +2 -3
  112. package/dist/{Switch-f03b70fc.js → Switch-7ac32f7b.js} +12 -16
  113. package/dist/Table/index.js +9 -17
  114. package/dist/Tabs/index.js +28 -34
  115. package/dist/Text/index.js +2 -3
  116. package/dist/{Text-e012fb46.js → Text-7ce00adb.js} +4 -5
  117. package/dist/Toast/Toast.d.ts +2 -2
  118. package/dist/Toast/index.js +42 -40
  119. package/dist/Tooltip/index.js +3 -4
  120. package/dist/Tooltip/useTooltipPositioning.d.ts +1 -1
  121. package/dist/{Tooltip-041feb00.js → Tooltip-1090a43d.js} +25 -28
  122. package/dist/Typography/Typography.d.ts +1 -1
  123. package/dist/Typography/index.js +1 -2
  124. package/dist/{Typography-fbe0ed6e.js → Typography-9262511f.js} +5 -7
  125. package/dist/tslib.es6-efe27175.js +38 -0
  126. package/package.json +8 -8
  127. package/dist/tslib.es6-5b50eb8e.js +0 -103
@@ -3,20 +3,19 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var tslib_es6 = require('../tslib.es6-5b50eb8e.js');
7
6
  var classnames = require('classnames');
8
7
  var styleInject_es = require('../style-inject.es-dcee06b6.js');
9
8
  var jobberHooks = require('@jobber/hooks');
10
- var Icon = require('../Icon-d5ad1a6d.js');
11
- var Avatar = require('../Avatar-cfd04e86.js');
12
- var Typography = require('../Typography-fbe0ed6e.js');
13
- var Tooltip = require('../Tooltip-041feb00.js');
9
+ var Icon = require('../Icon-405a216c.js');
10
+ var Avatar = require('../Avatar-89cfd0a6.js');
11
+ var Typography = require('../Typography-9262511f.js');
12
+ var Tooltip = require('../Tooltip-1090a43d.js');
14
13
  var uuid = require('uuid');
15
14
  var lodash = require('lodash');
16
15
  var reactPopper = require('react-popper');
17
- var Text = require('../Text-e012fb46.js');
18
- var Button = require('../Button-cd30df0f.js');
19
- var Spinner = require('../Spinner-e4e9c8eb.js');
16
+ var Text = require('../Text-7ce00adb.js');
17
+ var Button = require('../Button-16e043ec.js');
18
+ var Spinner = require('../Spinner-ae4c8a85.js');
20
19
  require('@jobber/design');
21
20
  require('color');
22
21
  require('react-dom');
@@ -32,10 +31,9 @@ var css$1 = "/**\n * Used in the wrapping chips component:\n * - InternalChipSin
32
31
  var styles$1 = {"wrapper":"uhcyg-a-GLRKF_7oHwvMP","chip":"_2XfthED8eqbKIyTNoH1aWp","hasPrefix":"_4U2lNr3Kk6xnNZTk3Fxgm","hasSuffix":"fl19i7ccgBu7NZkxnpvcI","clickable":"_3Uf2El5YBbG3DmUWHBhuea","input":"_35he2rVDYRU4YQko5r4adP","active":"_18wCcoIrboygQTnIVm8yzS","invalid":"_1FTJ2ALrm1mVaT7HdMFFGN","disabled":"B1ELFzeQy9Ihy9oYcv-px","button":"_1M_ek3kiaa7OApx5rwBEc3","icon":"_3AG5dSWeyKYD1Xfu9fN_DL"};
33
32
  styleInject_es.styleInject(css$1);
34
33
 
35
- function InternalChipButton(_a) {
36
- var icon = _a.icon, invalid = _a.invalid, disabled = _a.disabled, label = _a.label, onClick = _a.onClick;
37
- var buttonRef = React.useRef();
38
- return (React__default["default"].createElement("div", { ref: buttonRef, className: styles$1.button, tabIndex: 0, onKeyUp: handleKeyUp, onKeyDown: handleKeyDown, onClick: handleClick, role: "button", "aria-label": "Remove " + label, "aria-hidden": true, "aria-disabled": disabled, "data-testid": "remove-chip-button" },
34
+ function InternalChipButton({ icon, invalid, disabled, label, onClick, }) {
35
+ const buttonRef = React.useRef();
36
+ return (React__default["default"].createElement("div", { ref: buttonRef, className: styles$1.button, tabIndex: 0, onKeyUp: handleKeyUp, onKeyDown: handleKeyDown, onClick: handleClick, role: "button", "aria-label": `Remove ${label}`, "aria-hidden": true, "aria-disabled": disabled, "data-testid": "remove-chip-button" },
39
37
  React__default["default"].createElement(Icon.Icon, { name: icon, color: getColor() })));
40
38
  function handleKeyUp(event) {
41
39
  if (document.activeElement === buttonRef.current &&
@@ -63,22 +61,21 @@ function InternalChipButton(_a) {
63
61
  }
64
62
  }
65
63
 
66
- function InternalChipAffix(_a) {
67
- var affix = _a.affix, active = _a.active, invalid = _a.invalid, disabled = _a.disabled;
64
+ function InternalChipAffix({ affix, active, invalid, disabled, }) {
68
65
  assertProps();
69
66
  if ((affix === null || affix === void 0 ? void 0 : affix.type) === Avatar.Avatar) {
70
- return React__default["default"].createElement(Avatar.Avatar, tslib_es6.__assign({}, affix.props, { size: "small" }));
67
+ return React__default["default"].createElement(Avatar.Avatar, Object.assign({}, affix.props, { size: "small" }));
71
68
  }
72
69
  if ((affix === null || affix === void 0 ? void 0 : affix.type) === Icon.Icon) {
73
70
  return renderChipIcon(affix);
74
71
  }
75
72
  if ((affix === null || affix === void 0 ? void 0 : affix.type) === InternalChipButton) {
76
- return React__default["default"].createElement(InternalChipButton, tslib_es6.__assign({}, affix.props));
73
+ return React__default["default"].createElement(InternalChipButton, Object.assign({}, affix.props));
77
74
  }
78
75
  return React__default["default"].createElement(React__default["default"].Fragment, null);
79
76
  function renderChipIcon(icon) {
80
- var color = getIconColor();
81
- return (React__default["default"].createElement("div", { className: styles$1.icon }, React__default["default"].cloneElement(icon, tslib_es6.__assign({ size: "base" }, (color && { color: color })))));
77
+ const color = getIconColor();
78
+ return (React__default["default"].createElement("div", { className: styles$1.icon }, React__default["default"].cloneElement(icon, Object.assign({ size: "base" }, (color && { color: color })))));
82
79
  }
83
80
  function getIconColor() {
84
81
  if (disabled && !active)
@@ -90,95 +87,90 @@ function InternalChipAffix(_a) {
90
87
  return;
91
88
  }
92
89
  function assertProps() {
93
- var isAvatar = (affix === null || affix === void 0 ? void 0 : affix.type) === Avatar.Avatar || false;
94
- var isIcon = (affix === null || affix === void 0 ? void 0 : affix.type) === Icon.Icon || false;
95
- var isChipButton = (affix === null || affix === void 0 ? void 0 : affix.type) === InternalChipButton || false;
96
- jobberHooks.useAssert(!!affix && !(isAvatar || isIcon || isChipButton), "Prefix prop only accepts \"<Avatar />\" or \"<Icon />\" component. You have \"" + (affix === null || affix === void 0 ? void 0 : affix.type) + "\".");
90
+ const isAvatar = (affix === null || affix === void 0 ? void 0 : affix.type) === Avatar.Avatar || false;
91
+ const isIcon = (affix === null || affix === void 0 ? void 0 : affix.type) === Icon.Icon || false;
92
+ const isChipButton = (affix === null || affix === void 0 ? void 0 : affix.type) === InternalChipButton || false;
93
+ jobberHooks.useAssert(!!affix && !(isAvatar || isIcon || isChipButton), `Prefix prop only accepts "<Avatar />" or "<Icon />" component. You have "${affix === null || affix === void 0 ? void 0 : affix.type}".`);
97
94
  }
98
95
  }
99
96
 
100
- function InternalChip(_a) {
101
- var _b;
102
- var label = _a.label, _c = _a.active, active = _c === void 0 ? false : _c, _d = _a.disabled, disabled = _d === void 0 ? false : _d, _e = _a.invalid, invalid = _e === void 0 ? false : _e, prefix = _a.prefix, suffix = _a.suffix, tabIndex = _a.tabIndex, ariaLabel = _a.ariaLabel, onClick = _a.onClick, onKeyDown = _a.onKeyDown;
103
- var _f = tslib_es6.__read(React.useState(), 2), truncateRef = _f[0], setTruncateRef = _f[1];
104
- var isClickable = onClick && !disabled;
105
- var classNames = classnames__default["default"](styles$1.chip, (_b = {},
106
- _b[styles$1.clickable] = isClickable,
107
- _b[styles$1.active] = active,
108
- _b[styles$1.disabled] = disabled,
109
- _b[styles$1.invalid] = invalid,
110
- _b[styles$1.hasPrefix] = prefix,
111
- _b[styles$1.hasSuffix] = suffix,
112
- _b));
113
- var affixProps = { active: active, invalid: invalid, disabled: disabled };
114
- var Tag = onClick ? "button" : "div";
115
- var chip = (React__default["default"].createElement(Tag, tslib_es6.__assign({ className: classNames }, (isClickable && { onClick: onClick, disabled: disabled }), { onKeyDown: onKeyDown, "data-testid": "chip-wrapper", "aria-label": ariaLabel, tabIndex: tabIndex, role: tabIndex !== undefined ? "option" : undefined }),
116
- React__default["default"].createElement(InternalChipAffix, tslib_es6.__assign({ affix: prefix }, affixProps)),
97
+ function InternalChip({ label, active = false, disabled = false, invalid = false, prefix, suffix, tabIndex, ariaLabel, onClick, onKeyDown, }) {
98
+ const [truncateRef, setTruncateRef] = React.useState();
99
+ const isClickable = onClick && !disabled;
100
+ const classNames = classnames__default["default"](styles$1.chip, {
101
+ [styles$1.clickable]: isClickable,
102
+ [styles$1.active]: active,
103
+ [styles$1.disabled]: disabled,
104
+ [styles$1.invalid]: invalid,
105
+ [styles$1.hasPrefix]: prefix,
106
+ [styles$1.hasSuffix]: suffix,
107
+ });
108
+ const affixProps = { active, invalid, disabled };
109
+ const Tag = onClick ? "button" : "div";
110
+ const chip = (React__default["default"].createElement(Tag, Object.assign({ className: classNames }, (isClickable && { onClick, disabled }), { onKeyDown: onKeyDown, "data-testid": "chip-wrapper", "aria-label": ariaLabel, tabIndex: tabIndex, role: tabIndex !== undefined ? "option" : undefined }),
111
+ React__default["default"].createElement(InternalChipAffix, Object.assign({ affix: prefix }, affixProps)),
117
112
  React__default["default"].createElement(Typography.Typography, { element: "span", numberOfLines: 1, size: "base" },
118
113
  React__default["default"].createElement("span", { ref: setTruncateRef }, label)),
119
- React__default["default"].createElement(InternalChipAffix, tslib_es6.__assign({ affix: suffix }, affixProps))));
114
+ React__default["default"].createElement(InternalChipAffix, Object.assign({ affix: suffix }, affixProps))));
120
115
  return isTruncated() ? React__default["default"].createElement(Tooltip.Tooltip, { message: label }, chip) : chip;
121
116
  function isTruncated() {
122
117
  var _a;
123
- var truncateParentHeight = ((_a = truncateRef === null || truncateRef === void 0 ? void 0 : truncateRef.parentElement) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0;
124
- var truncateChildHeight = (truncateRef === null || truncateRef === void 0 ? void 0 : truncateRef.offsetHeight) || 0;
118
+ const truncateParentHeight = ((_a = truncateRef === null || truncateRef === void 0 ? void 0 : truncateRef.parentElement) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0;
119
+ const truncateChildHeight = (truncateRef === null || truncateRef === void 0 ? void 0 : truncateRef.offsetHeight) || 0;
125
120
  return truncateChildHeight >= truncateParentHeight * 2;
126
121
  }
127
122
  }
128
123
 
129
- function ChipDismissible(_a) {
130
- var label = _a.label, disabled = _a.disabled, invalid = _a.invalid, prefix = _a.prefix, onClick = _a.onClick, onRequestRemove = _a.onRequestRemove;
124
+ function ChipDismissible({ label, disabled, invalid, prefix, onClick, onRequestRemove, }) {
131
125
  return (React__default["default"].createElement(InternalChip, { label: label, disabled: disabled, invalid: invalid, prefix: prefix, onClick: onClick, suffix: React__default["default"].createElement(InternalChipButton, { icon: "remove", label: label, invalid: invalid, disabled: disabled, onClick: onRequestRemove }) }));
132
126
  }
133
127
 
134
- function InternalChipSingleSelect(_a) {
135
- var children = _a.children, selected = _a.selected, _b = _a.name, name = _b === void 0 ? uuid.v1() : _b, onChange = _a.onChange, onClick = _a.onClick;
136
- return (React__default["default"].createElement("div", { className: styles$1.wrapper, "data-testid": "singleselect-chips" }, React__default["default"].Children.map(children, function (child) {
137
- var isSelected = child.props.value === selected;
128
+ function InternalChipSingleSelect({ children, selected, name = uuid.v1(), onChange, onClick, }) {
129
+ return (React__default["default"].createElement("div", { className: styles$1.wrapper, "data-testid": "singleselect-chips" }, React__default["default"].Children.map(children, child => {
130
+ const isSelected = child.props.value === selected;
138
131
  return (React__default["default"].createElement("label", null,
139
- React__default["default"].createElement("input", { type: "radio", checked: isSelected, className: styles$1.input, name: name, onClick: handleClick(child.props.value), onKeyUp: handleKeyUp(isSelected, child.props.value), onChange: function () {
132
+ React__default["default"].createElement("input", { type: "radio", checked: isSelected, className: styles$1.input, name: name, onClick: handleClick(child.props.value), onKeyUp: handleKeyUp(isSelected, child.props.value), onChange: () => {
140
133
  /* No op. onClick handles the change to allow deselecting. */
141
134
  }, disabled: child.props.disabled }),
142
- React__default["default"].createElement(InternalChip, tslib_es6.__assign({}, child.props, { active: isSelected }))));
135
+ React__default["default"].createElement(InternalChip, Object.assign({}, child.props, { active: isSelected }))));
143
136
  })));
144
137
  function handleKeyUp(active, value) {
145
138
  if (!active)
146
139
  return;
147
- return function (event) {
140
+ return (event) => {
148
141
  if (event.key === " ") {
149
142
  // Wait for DOM changes before applying the new change.
150
- setTimeout(function () { return handleChange(value); }, 0);
143
+ setTimeout(() => handleChange(value), 0);
151
144
  }
152
145
  };
153
146
  }
154
147
  function handleClick(value) {
155
- return function (event) {
148
+ return (event) => {
156
149
  onClick === null || onClick === void 0 ? void 0 : onClick(event, value);
157
150
  handleChange(value);
158
151
  };
159
152
  }
160
153
  function handleChange(value) {
161
- var newValue = value !== selected ? value : undefined;
154
+ const newValue = value !== selected ? value : undefined;
162
155
  onChange(newValue);
163
156
  }
164
157
  }
165
158
 
166
- function InternalChipMultiSelect(_a) {
167
- var children = _a.children, selected = _a.selected, onChange = _a.onChange, onClick = _a.onClick;
168
- return (React__default["default"].createElement("div", { className: styles$1.wrapper, "data-testid": "multiselect-chips" }, React__default["default"].Children.map(children, function (chip) {
169
- var isChipActive = isChipSelected(chip.props.value);
159
+ function InternalChipMultiSelect({ children, selected, onChange, onClick, }) {
160
+ return (React__default["default"].createElement("div", { className: styles$1.wrapper, "data-testid": "multiselect-chips" }, React__default["default"].Children.map(children, chip => {
161
+ const isChipActive = isChipSelected(chip.props.value);
170
162
  return (React__default["default"].createElement("label", null,
171
163
  React__default["default"].createElement("input", { type: "checkbox", checked: isChipActive, className: styles$1.input, onClick: handleClick(chip.props.value), onChange: handleChange(chip.props.value), disabled: chip.props.disabled }),
172
- React__default["default"].createElement(InternalChip, tslib_es6.__assign({}, chip.props, { active: isChipActive, suffix: checkmarkIcon(isChipActive) }))));
164
+ React__default["default"].createElement(InternalChip, Object.assign({}, chip.props, { active: isChipActive, suffix: checkmarkIcon(isChipActive) }))));
173
165
  })));
174
166
  function isChipSelected(value) {
175
167
  return selected.includes(value);
176
168
  }
177
169
  function handleClick(value) {
178
- return function (event) { return onClick === null || onClick === void 0 ? void 0 : onClick(event, value); };
170
+ return (event) => onClick === null || onClick === void 0 ? void 0 : onClick(event, value);
179
171
  }
180
172
  function handleChange(value) {
181
- return function () {
173
+ return () => {
182
174
  if (isChipSelected(value)) {
183
175
  handleDeselect(value);
184
176
  }
@@ -188,12 +180,12 @@ function InternalChipMultiSelect(_a) {
188
180
  };
189
181
  }
190
182
  function handleSelect(value) {
191
- var newVal = tslib_es6.__spread(selected, [value]);
183
+ const newVal = [...selected, value];
192
184
  onChange(newVal);
193
185
  }
194
186
  function handleDeselect(value) {
195
- var values = selected;
196
- var newVal = values.filter(function (val) { return val !== value; });
187
+ const values = selected;
188
+ const newVal = values.filter(val => val !== value);
197
189
  onChange(newVal);
198
190
  }
199
191
  function checkmarkIcon(show) {
@@ -212,39 +204,34 @@ var css = ".UICoKaZcJNyJZu_jLSFe0 {\n display: -ms-flexbox;\n display: flex;\n
212
204
  var styles = {"wrapper":"UICoKaZcJNyJZu_jLSFe0","input":"iYpu9Vckapbgfo7nKby6-","menu":"_3Y-bhobfNvAAUslopzbOoq","menuList":"_3pV83Z-mpuL-nlud9deXib","menuListOption":"yZlvrckyLt2bbuJSDc3s_","loadingIndicator":"_1JS35aIdiRtVwq3RLMJLlj","activeOption":"_1P6NA2S4eCq-AiLRgspXJX"};
213
205
  styleInject_es.styleInject(css);
214
206
 
215
- function useInternalChipDismissible(_a) {
216
- var children = _a.children, selected = _a.selected, onChange = _a.onChange, onClick = _a.onClick, onCustomAdd = _a.onCustomAdd;
217
- var ref = React.useRef(null);
218
- var chipOptions = children.map(function (chip) { return chip.props; });
219
- var visibleChipOptions = chipOptions.filter(function (chip) {
220
- return selected.includes(chip.value);
221
- });
222
- var sortedVisibleChipOptions = lodash.sortBy(visibleChipOptions, function (chip) {
223
- return selected.indexOf(chip.value);
224
- });
225
- var availableChipOptions = chipOptions.filter(function (chip) { return !selected.includes(chip.value); });
226
- var liveAnnounce = jobberHooks.useLiveAnnounce().liveAnnounce;
227
- var actions = {
228
- handleChipRemove: function (value) {
229
- return function () {
230
- liveAnnounce(value + " Removed");
231
- onChange(selected.filter(function (val) { return val !== value; }));
207
+ function useInternalChipDismissible({ children, selected, onChange, onClick, onCustomAdd, }) {
208
+ const ref = React.useRef(null);
209
+ const chipOptions = children.map(chip => chip.props);
210
+ const visibleChipOptions = chipOptions.filter(chip => selected.includes(chip.value));
211
+ const sortedVisibleChipOptions = lodash.sortBy(visibleChipOptions, chip => selected.indexOf(chip.value));
212
+ const availableChipOptions = chipOptions.filter(chip => !selected.includes(chip.value));
213
+ const { liveAnnounce } = jobberHooks.useLiveAnnounce();
214
+ const actions = {
215
+ handleChipRemove: (value) => {
216
+ return () => {
217
+ liveAnnounce(`${value} Removed`);
218
+ onChange(selected.filter(val => val !== value));
232
219
  };
233
220
  },
234
- handleChipAdd: function (value) { return onChange(tslib_es6.__spread(selected, [value])); },
221
+ handleChipAdd: (value) => onChange([...selected, value]),
235
222
  handleCustomAdd: onCustomAdd,
236
- handleChipClick: function (value) {
223
+ handleChipClick: (value) => {
237
224
  if (onClick === undefined)
238
225
  return;
239
- return function (event) { return onClick(event, value); };
226
+ return (event) => onClick(event, value);
240
227
  },
241
- handleWrapperKeyDown: function (event) {
242
- var target = event.target;
243
- var isInputAndHasValue = target instanceof HTMLInputElement && target.value;
228
+ handleWrapperKeyDown: (event) => {
229
+ const target = event.target;
230
+ const isInputAndHasValue = target instanceof HTMLInputElement && target.value;
244
231
  if (isInputAndHasValue)
245
232
  return;
246
- var nextElementToFocus = target.nextElementSibling;
247
- var prevElementToFocus = target.previousElementSibling;
233
+ const nextElementToFocus = target.nextElementSibling;
234
+ const prevElementToFocus = target.previousElementSibling;
248
235
  if (event.key === "ArrowLeft" &&
249
236
  prevElementToFocus instanceof HTMLElement) {
250
237
  prevElementToFocus.focus();
@@ -254,13 +241,13 @@ function useInternalChipDismissible(_a) {
254
241
  nextElementToFocus.focus();
255
242
  }
256
243
  },
257
- handleChipKeyDown: function (value) {
258
- return function (event) {
244
+ handleChipKeyDown: (value) => {
245
+ return (event) => {
259
246
  if (event.key === "Backspace" || event.key === "Delete") {
260
- var target = event.target;
247
+ const target = event.target;
261
248
  if (target instanceof HTMLElement) {
262
- var prevElement = target.previousElementSibling;
263
- var nextElement = target.nextElementSibling;
249
+ const prevElement = target.previousElementSibling;
250
+ const nextElement = target.nextElementSibling;
264
251
  if (prevElement instanceof HTMLElement) {
265
252
  prevElement.focus();
266
253
  }
@@ -273,100 +260,99 @@ function useInternalChipDismissible(_a) {
273
260
  };
274
261
  },
275
262
  };
276
- return tslib_es6.__assign(tslib_es6.__assign({}, actions), { ref: ref,
277
- sortedVisibleChipOptions: sortedVisibleChipOptions,
278
- availableChipOptions: availableChipOptions });
263
+ return Object.assign(Object.assign({}, actions), { ref,
264
+ sortedVisibleChipOptions,
265
+ availableChipOptions });
279
266
  }
280
267
 
281
- var menuId = uuid.v1();
268
+ const menuId = uuid.v1();
282
269
  // eslint-disable-next-line max-statements
283
- function useInternalChipDismissibleInput(_a) {
284
- var options = _a.options, _b = _a.isLoadingMore, isLoadingMore = _b === void 0 ? false : _b, onCustomOptionSelect = _a.onCustomOptionSelect, onOptionSelect = _a.onOptionSelect, onSearch = _a.onSearch;
285
- var _c = tslib_es6.__read(React.useState([]), 2), allOptions = _c[0], setAllOptions = _c[1];
286
- var _d = tslib_es6.__read(React.useState(""), 2), searchValue = _d[0], setSearchValue = _d[1];
287
- var _e = tslib_es6.__read(React.useState(false), 2), menuOpen = _e[0], setMenuOpen = _e[1];
288
- var _f = tslib_es6.__read(React.useState(0), 2), activeIndex = _f[0], setActiveIndex = _f[1];
289
- var _g = tslib_es6.__read(React.useState(false), 2), shouldCancelBlur = _g[0], setShouldCancelBlur = _g[1];
290
- var _h = tslib_es6.__read(React.useState(false), 2), shouldCancelEnter = _h[0], setShouldCancelEnter = _h[1];
291
- var canAddCustomOption = onCustomOptionSelect !== undefined && !isLoadingMore;
292
- var maxOptionIndex = allOptions.length - 1;
293
- var liveAnnounce = jobberHooks.useLiveAnnounce().liveAnnounce;
294
- React.useEffect(function () {
270
+ function useInternalChipDismissibleInput({ options, isLoadingMore = false, onCustomOptionSelect, onOptionSelect, onSearch, }) {
271
+ const [allOptions, setAllOptions] = React.useState([]);
272
+ const [searchValue, setSearchValue] = React.useState("");
273
+ const [menuOpen, setMenuOpen] = React.useState(false);
274
+ const [activeIndex, setActiveIndex] = React.useState(0);
275
+ const [shouldCancelBlur, setShouldCancelBlur] = React.useState(false);
276
+ const [shouldCancelEnter, setShouldCancelEnter] = React.useState(false);
277
+ const canAddCustomOption = onCustomOptionSelect !== undefined && !isLoadingMore;
278
+ const maxOptionIndex = allOptions.length - 1;
279
+ const { liveAnnounce } = jobberHooks.useLiveAnnounce();
280
+ React.useEffect(() => {
295
281
  setAllOptions(generateOptions(options, searchValue, canAddCustomOption));
296
282
  }, [options]);
297
- var computed = {
298
- menuId: menuId,
283
+ const computed = {
284
+ menuId,
299
285
  inputRef: React.useRef(null),
300
286
  activeOption: allOptions[activeIndex],
301
287
  hasAvailableOptions: allOptions.length > 0,
302
288
  nextOptionIndex: activeIndex < maxOptionIndex ? activeIndex + 1 : 0,
303
289
  previousOptionIndex: activeIndex > 0 ? activeIndex - 1 : maxOptionIndex,
304
290
  };
305
- var actions = {
306
- generateDescendantId: function (index) { return computed.menuId + "-" + index; },
307
- handleReset: function () {
291
+ const actions = {
292
+ generateDescendantId: (index) => `${computed.menuId}-${index}`,
293
+ handleReset: () => {
308
294
  setActiveIndex(activeIndex === 0 ? activeIndex : activeIndex - 1);
309
295
  setSearchValue("");
310
296
  },
311
- handleOpenMenu: function () { return setMenuOpen(true); },
312
- handleCloseMenu: function () {
297
+ handleOpenMenu: () => setMenuOpen(true),
298
+ handleCloseMenu: () => {
313
299
  setMenuOpen(false);
314
300
  setActiveIndex(0);
315
301
  },
316
- handleCancelBlur: function () { return setShouldCancelBlur(true); },
317
- handleEnableBlur: function () { return setShouldCancelBlur(false); },
318
- handleBlur: function () {
302
+ handleCancelBlur: () => setShouldCancelBlur(true),
303
+ handleEnableBlur: () => setShouldCancelBlur(false),
304
+ handleBlur: () => {
319
305
  if (shouldCancelBlur)
320
306
  return;
321
307
  actions.handleReset();
322
308
  actions.handleCloseMenu();
323
309
  },
324
- handleSearchChange: function (event) {
310
+ handleSearchChange: (event) => {
325
311
  setActiveIndex(0);
326
312
  setSearchValue(event.currentTarget.value);
327
313
  setShouldCancelEnter(true);
328
314
  },
329
- handleSetActiveOnMouseOver: function (index) {
330
- return function () { return setActiveIndex(index); };
315
+ handleSetActiveOnMouseOver: (index) => {
316
+ return () => setActiveIndex(index);
331
317
  },
332
- handleSelectOption: function (selected) {
318
+ handleSelectOption: (selected) => {
333
319
  var _a;
334
320
  if (allOptions.length === 0)
335
321
  return;
336
- var setValue = selected.custom ? onCustomOptionSelect : onOptionSelect;
322
+ const setValue = selected.custom ? onCustomOptionSelect : onOptionSelect;
337
323
  if (setValue) {
338
324
  setValue(selected.value);
339
- liveAnnounce(selected.label + " Added");
325
+ liveAnnounce(`${selected.label} Added`);
340
326
  actions.handleReset();
341
327
  (_a = computed.inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
342
328
  }
343
329
  },
344
- handleKeyDown: function (event) {
345
- var callbacks = {
346
- Enter: function () {
330
+ handleKeyDown: (event) => {
331
+ const callbacks = {
332
+ Enter: () => {
347
333
  if (shouldCancelEnter)
348
334
  return;
349
335
  actions.handleSelectOption(computed.activeOption);
350
336
  },
351
- Tab: function () { return actions.handleSelectOption(computed.activeOption); },
352
- ",": function () {
337
+ Tab: () => actions.handleSelectOption(computed.activeOption),
338
+ ",": () => {
353
339
  if (searchValue.length === 0)
354
340
  return;
355
341
  actions.handleSelectOption(generateCustomOptionObject(searchValue));
356
342
  },
357
- ArrowDown: function () {
343
+ ArrowDown: () => {
358
344
  if (isLoadingMore && activeIndex === maxOptionIndex)
359
345
  return;
360
346
  setActiveIndex(computed.nextOptionIndex);
361
347
  },
362
- ArrowUp: function () { return setActiveIndex(computed.previousOptionIndex); },
348
+ ArrowUp: () => setActiveIndex(computed.previousOptionIndex),
363
349
  };
364
350
  if (searchValue.length === 0) {
365
- callbacks.Backspace = function () {
351
+ callbacks.Backspace = () => {
366
352
  var _a;
367
353
  // If there's no text left to delete,
368
354
  // and delete is pressed again, focus on a chip instead.
369
- var target = (_a = computed.inputRef.current) === null || _a === void 0 ? void 0 : _a.previousElementSibling;
355
+ const target = (_a = computed.inputRef.current) === null || _a === void 0 ? void 0 : _a.previousElementSibling;
370
356
  if (target instanceof HTMLElement) {
371
357
  target.focus();
372
358
  }
@@ -374,30 +360,28 @@ function useInternalChipDismissibleInput(_a) {
374
360
  }
375
361
  handleKeydownEvents(callbacks, event);
376
362
  },
377
- handleDebouncedSearch: lodash.debounce(function () {
363
+ handleDebouncedSearch: lodash.debounce(() => {
378
364
  onSearch && onSearch(searchValue);
379
365
  setAllOptions(generateOptions(options, searchValue, canAddCustomOption));
380
366
  setShouldCancelEnter(false);
381
367
  }, 300),
382
368
  };
383
- return tslib_es6.__assign(tslib_es6.__assign(tslib_es6.__assign(tslib_es6.__assign({}, actions), { activeIndex: activeIndex,
384
- allOptions: allOptions }), computed), { menuOpen: menuOpen,
385
- searchValue: searchValue,
386
- shouldCancelBlur: shouldCancelBlur });
369
+ return Object.assign(Object.assign(Object.assign(Object.assign({}, actions), { activeIndex,
370
+ allOptions }), computed), { menuOpen,
371
+ searchValue,
372
+ shouldCancelBlur });
387
373
  }
388
374
  function generateOptions(options, searchValue, canAddCustomOption) {
389
- var allOptions = options
390
- .filter(function (option) {
391
- return option.label.toLowerCase().match(searchValue.trim().toLowerCase());
392
- })
393
- .map(function (opt) { return (tslib_es6.__assign(tslib_es6.__assign({}, opt), { custom: false })); });
394
- var _a = generateCustomOption(allOptions, searchValue, canAddCustomOption), shouldAddCustomOption = _a.shouldAddCustomOption, customOption = _a.customOption;
375
+ const allOptions = options
376
+ .filter(option => option.label.toLowerCase().match(searchValue.trim().toLowerCase()))
377
+ .map(opt => (Object.assign(Object.assign({}, opt), { custom: false })));
378
+ const { shouldAddCustomOption, customOption } = generateCustomOption(allOptions, searchValue, canAddCustomOption);
395
379
  shouldAddCustomOption && allOptions.push(customOption);
396
380
  return allOptions;
397
381
  }
398
382
  function generateCustomOption(options, searchValue, canAddCustomOption) {
399
383
  function shouldAddCustomOption() {
400
- var isMatchingOption = options.some(function (option) { return option.label.toLowerCase() === searchValue.trim().toLowerCase(); });
384
+ const isMatchingOption = options.some(option => option.label.toLowerCase() === searchValue.trim().toLowerCase());
401
385
  return !!searchValue && !isMatchingOption;
402
386
  }
403
387
  return {
@@ -416,8 +400,7 @@ function generateCustomOptionObject(searchValue) {
416
400
  function handleKeydownEvents(callbacks, event) {
417
401
  if (event.shiftKey)
418
402
  return;
419
- Object.entries(callbacks).forEach(function (_a) {
420
- var _b = tslib_es6.__read(_a, 2), key = _b[0], callback = _b[1];
403
+ Object.entries(callbacks).forEach(([key, callback]) => {
421
404
  if (event.key === key) {
422
405
  event.preventDefault();
423
406
  callback(event);
@@ -426,40 +409,40 @@ function handleKeydownEvents(callbacks, event) {
426
409
  }
427
410
 
428
411
  function useInView() {
429
- var ref = React.useRef(null);
430
- var _a = tslib_es6.__read(React.useState(false), 2), isInView = _a[0], setIsInView = _a[1];
412
+ const ref = React.useRef(null);
413
+ const [isInView, setIsInView] = React.useState(false);
431
414
  if (window.IntersectionObserver) {
432
- var observer_1 = new IntersectionObserver(function (entries) {
415
+ const observer = new IntersectionObserver(entries => {
433
416
  setIsInView(entries[0].isIntersecting);
434
417
  });
435
- React.useEffect(function () {
436
- ref.current && observer_1.observe(ref.current);
437
- return function () {
418
+ React.useEffect(() => {
419
+ ref.current && observer.observe(ref.current);
420
+ return () => {
438
421
  if (!ref.current)
439
422
  return;
440
- observer_1.unobserve(ref.current);
423
+ observer.unobserve(ref.current);
441
424
  };
442
425
  });
443
426
  }
444
- return { ref: ref, isInView: isInView };
427
+ return { ref, isInView };
445
428
  }
446
429
 
447
430
  function useRepositionMenu(attachTo) {
448
431
  var _a;
449
- var _b = tslib_es6.__read(React.useState(), 2), positionElement = _b[0], setPositionedElementRef = _b[1];
450
- var popper = reactPopper.usePopper(attachTo.current, positionElement, {
432
+ const [positionElement, setPositionedElementRef] = React.useState();
433
+ const popper = reactPopper.usePopper(attachTo.current, positionElement, {
451
434
  modifiers: [
452
435
  { name: "offset", options: { offset: [0, 8] } },
453
436
  { name: "flip", options: { fallbackPlacements: ["top"] } },
454
437
  ],
455
438
  });
456
- var targetWidth = (_a = attachTo.current) === null || _a === void 0 ? void 0 : _a.clientWidth;
457
- return tslib_es6.__assign(tslib_es6.__assign({}, popper), { setPositionedElementRef: setPositionedElementRef, targetWidth: targetWidth });
439
+ const targetWidth = (_a = attachTo.current) === null || _a === void 0 ? void 0 : _a.clientWidth;
440
+ return Object.assign(Object.assign({}, popper), { setPositionedElementRef, targetWidth });
458
441
  }
459
442
 
460
443
  function useScrollToActive(index) {
461
- var ref = React.useRef(null);
462
- React.useEffect(function () {
444
+ const ref = React.useRef(null);
445
+ React.useEffect(() => {
463
446
  var _a, _b;
464
447
  if (!window.HTMLElement.prototype.scrollIntoView)
465
448
  return;
@@ -473,20 +456,20 @@ function useScrollToActive(index) {
473
456
  }
474
457
 
475
458
  function InternalChipDismissibleInput(props) {
476
- var _a = props.activator, activator = _a === void 0 ? React__default["default"].createElement(Button.Button, { icon: "add", type: "secondary", ariaLabel: "Add" }) : _a, attachTo = props.attachTo, _b = props.isLoadingMore, isLoadingMore = _b === void 0 ? false : _b, onLoadMore = props.onLoadMore;
477
- var _c = useInternalChipDismissibleInput(props), activeIndex = _c.activeIndex, allOptions = _c.allOptions, hasAvailableOptions = _c.hasAvailableOptions, inputRef = _c.inputRef, menuId = _c.menuId, menuOpen = _c.menuOpen, searchValue = _c.searchValue, generateDescendantId = _c.generateDescendantId, handleBlur = _c.handleBlur, handleOpenMenu = _c.handleOpenMenu, handleSearchChange = _c.handleSearchChange, handleCancelBlur = _c.handleCancelBlur, handleEnableBlur = _c.handleEnableBlur, handleSetActiveOnMouseOver = _c.handleSetActiveOnMouseOver, handleKeyDown = _c.handleKeyDown, handleSelectOption = _c.handleSelectOption, handleDebouncedSearch = _c.handleDebouncedSearch;
478
- var menuRef = useScrollToActive(activeIndex);
479
- var _d = useInView(), visibleChildRef = _d.ref, isInView = _d.isInView;
480
- var _e = useRepositionMenu(attachTo), popperStyles = _e.styles, attributes = _e.attributes, update = _e.update, setPositionedElementRef = _e.setPositionedElementRef;
481
- React.useEffect(function () {
459
+ const { activator = React__default["default"].createElement(Button.Button, { icon: "add", type: "secondary", ariaLabel: "Add" }), attachTo, isLoadingMore = false, onLoadMore, } = props;
460
+ const { activeIndex, allOptions, hasAvailableOptions, inputRef, menuId, menuOpen, searchValue, generateDescendantId, handleBlur, handleOpenMenu, handleSearchChange, handleCancelBlur, handleEnableBlur, handleSetActiveOnMouseOver, handleKeyDown, handleSelectOption, handleDebouncedSearch, } = useInternalChipDismissibleInput(props);
461
+ const menuRef = useScrollToActive(activeIndex);
462
+ const { ref: visibleChildRef, isInView } = useInView();
463
+ const { styles: popperStyles, attributes, update, setPositionedElementRef, } = useRepositionMenu(attachTo);
464
+ React.useEffect(() => {
482
465
  if (menuOpen && update)
483
466
  update();
484
467
  }, [allOptions]);
485
- React.useEffect(function () {
468
+ React.useEffect(() => {
486
469
  handleDebouncedSearch();
487
470
  return handleDebouncedSearch.cancel;
488
471
  }, [searchValue]);
489
- React.useEffect(function () {
472
+ React.useEffect(() => {
490
473
  isInView && onLoadMore && onLoadMore(searchValue);
491
474
  }, [isInView]);
492
475
  if (!menuOpen) {
@@ -494,36 +477,33 @@ function InternalChipDismissibleInput(props) {
494
477
  }
495
478
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
496
479
  React__default["default"].createElement("input", { ref: inputRef, className: styles.input, type: "text", role: "combobox", "aria-label": "Press up and down arrow to cycle through the options or type to narrow down the results", "aria-autocomplete": "list", "aria-owns": menuId, "aria-expanded": hasAvailableOptions, "aria-activedescendant": generateDescendantId(activeIndex), value: searchValue, onChange: handleSearchChange, onKeyDown: handleKeyDown, onBlur: lodash.debounce(handleBlur, 200), onFocus: handleOpenMenu, autoFocus: true }),
497
- (hasAvailableOptions || isLoadingMore) && (React__default["default"].createElement("div", tslib_es6.__assign({ ref: setPositionedElementRef, className: styles.menu, style: popperStyles.popper }, attributes.popper),
480
+ (hasAvailableOptions || isLoadingMore) && (React__default["default"].createElement("div", Object.assign({ ref: setPositionedElementRef, className: styles.menu, style: popperStyles.popper }, attributes.popper),
498
481
  React__default["default"].createElement("div", { ref: menuRef, role: "listbox", id: menuId, className: styles.menuList, "data-testid": "chip-menu" },
499
- allOptions.map(function (option, i) {
500
- var _a;
501
- return (React__default["default"].createElement("button", { key: option.value, role: "option", id: generateDescendantId(i), className: classnames__default["default"](styles.menuListOption, (_a = {},
502
- _a[styles.activeOption] = activeIndex === i,
503
- _a)), onClick: function () { return handleSelectOption(option); }, onMouseEnter: handleSetActiveOnMouseOver(i), onMouseDown: handleCancelBlur, onMouseUp: handleEnableBlur },
504
- React__default["default"].createElement("span", { "aria-hidden": true }, option.prefix),
505
- React__default["default"].createElement(Text.Text, null, option.label)));
506
- }),
482
+ allOptions.map((option, i) => (React__default["default"].createElement("button", { key: option.value, role: "option", id: generateDescendantId(i), className: classnames__default["default"](styles.menuListOption, {
483
+ [styles.activeOption]: activeIndex === i,
484
+ }), onClick: () => handleSelectOption(option), onMouseEnter: handleSetActiveOnMouseOver(i), onMouseDown: handleCancelBlur, onMouseUp: handleEnableBlur },
485
+ React__default["default"].createElement("span", { "aria-hidden": true }, option.prefix),
486
+ React__default["default"].createElement(Text.Text, null, option.label)))),
507
487
  React__default["default"].createElement("div", { ref: visibleChildRef }),
508
488
  isLoadingMore && (React__default["default"].createElement("div", { className: styles.loadingIndicator },
509
489
  React__default["default"].createElement(Spinner.Spinner, { size: "small", inline: true }))))))));
510
490
  }
511
491
 
512
492
  function InternalChipDismissible(props) {
513
- var _a = useInternalChipDismissible(props), availableChipOptions = _a.availableChipOptions, wrapperRef = _a.ref, sortedVisibleChipOptions = _a.sortedVisibleChipOptions, handleChipAdd = _a.handleChipAdd, handleChipClick = _a.handleChipClick, handleChipKeyDown = _a.handleChipKeyDown, handleChipRemove = _a.handleChipRemove, handleCustomAdd = _a.handleCustomAdd, handleWrapperKeyDown = _a.handleWrapperKeyDown;
493
+ const { availableChipOptions, ref: wrapperRef, sortedVisibleChipOptions, handleChipAdd, handleChipClick, handleChipKeyDown, handleChipRemove, handleCustomAdd, handleWrapperKeyDown, } = useInternalChipDismissible(props);
514
494
  return (React__default["default"].createElement("div", { ref: wrapperRef, className: styles.wrapper, "data-testid": "dismissible-chips", onKeyDown: handleWrapperKeyDown, role: "listbox" },
515
- sortedVisibleChipOptions.map(function (chip) { return (React__default["default"].createElement(InternalChip, tslib_es6.__assign({ key: chip.value }, chip, { onKeyDown: handleChipKeyDown(chip.value), onClick: handleChipClick(chip.value), ariaLabel: chip.value + ". Press delete or backspace to remove " + chip.value, tabIndex: 0, suffix: React__default["default"].createElement(InternalChipButton, { icon: "remove", invalid: chip.invalid, disabled: chip.disabled, label: chip.label, onClick: handleChipRemove(chip.value) }) }))); }),
495
+ sortedVisibleChipOptions.map(chip => (React__default["default"].createElement(InternalChip, Object.assign({ key: chip.value }, chip, { onKeyDown: handleChipKeyDown(chip.value), onClick: handleChipClick(chip.value), ariaLabel: `${chip.value}. Press delete or backspace to remove ${chip.value}`, tabIndex: 0, suffix: React__default["default"].createElement(InternalChipButton, { icon: "remove", invalid: chip.invalid, disabled: chip.disabled, label: chip.label, onClick: handleChipRemove(chip.value) }) })))),
516
496
  React__default["default"].createElement(InternalChipDismissibleInput, { activator: props.activator, attachTo: wrapperRef, isLoadingMore: props.isLoadingMore, options: availableChipOptions, onOptionSelect: handleChipAdd, onCustomOptionSelect: handleCustomAdd, onSearch: props.onSearch, onLoadMore: props.onLoadMore })));
517
497
  }
518
498
 
519
499
  function Chips(props) {
520
500
  switch (props.type) {
521
501
  case "dismissible":
522
- return React__default["default"].createElement(InternalChipDismissible, tslib_es6.__assign({}, props));
502
+ return React__default["default"].createElement(InternalChipDismissible, Object.assign({}, props));
523
503
  case "multiselect":
524
- return React__default["default"].createElement(InternalChipMultiSelect, tslib_es6.__assign({}, props));
504
+ return React__default["default"].createElement(InternalChipMultiSelect, Object.assign({}, props));
525
505
  default:
526
- return React__default["default"].createElement(InternalChipSingleSelect, tslib_es6.__assign({}, props));
506
+ return React__default["default"].createElement(InternalChipSingleSelect, Object.assign({}, props));
527
507
  }
528
508
  }
529
509