@jobber/components 4.44.0 → 4.45.1

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 (99) hide show
  1. package/Combobox.d.ts +1 -0
  2. package/Combobox.js +17 -0
  3. package/dist/Autocomplete/index.js +7 -7
  4. package/dist/Banner/index.js +3 -3
  5. package/dist/Button/index.js +2 -2
  6. package/dist/{Button-fd8413b2.js → Button-d89f2271.js} +1 -1
  7. package/dist/ButtonDismiss/index.js +3 -3
  8. package/dist/{ButtonDismiss-82680c7d.js → ButtonDismiss-250840a4.js} +1 -1
  9. package/dist/Card/index.js +5 -5
  10. package/dist/{Card-cc2ffbaa.js → Card-69304e99.js} +3 -3
  11. package/dist/Checkbox/index.js +3 -3
  12. package/dist/{Checkbox-3bccf65c.js → Checkbox-eac63b7f.js} +1 -1
  13. package/dist/{Chip-4916a642.js → Chip-4d8e6370.js} +4 -4
  14. package/dist/Chips/index.js +5 -5
  15. package/dist/Combobox/Combobox.d.ts +16 -0
  16. package/dist/Combobox/Combobox.types.d.ts +14 -0
  17. package/dist/Combobox/ComboboxProvider.d.ts +10 -0
  18. package/dist/Combobox/components/ComboboxAction/ComboboxAction.d.ts +12 -0
  19. package/dist/Combobox/components/ComboboxAction/index.d.ts +1 -0
  20. package/dist/Combobox/components/ComboboxContent/ComboboxContent.d.ts +33 -0
  21. package/dist/Combobox/components/ComboboxContent/ComboboxList.d.ts +14 -0
  22. package/dist/Combobox/components/ComboboxContent/ComboboxSearch.d.ts +7 -0
  23. package/dist/Combobox/components/ComboboxContent/index.d.ts +1 -0
  24. package/dist/Combobox/components/ComboboxTrigger/ComboboxTriggerButton/ComboboxTriggerButton.d.ts +3 -0
  25. package/dist/Combobox/components/ComboboxTrigger/ComboboxTriggerChip/ComboboxTriggerChip.d.ts +3 -0
  26. package/dist/Combobox/components/ComboboxTrigger/index.d.ts +2 -0
  27. package/dist/Combobox/hooks/useComboboxAccessibility.d.ts +13 -0
  28. package/dist/Combobox/hooks/useComboboxContent.d.ts +9 -0
  29. package/dist/Combobox/index.d.ts +3 -0
  30. package/dist/Combobox/index.js +295 -0
  31. package/dist/ConfirmationModal/index.js +9 -9
  32. package/dist/{ConfirmationModal-6b61ebf5.js → ConfirmationModal-92f07027.js} +2 -2
  33. package/dist/DataDump/index.js +6 -6
  34. package/dist/DataList/DataList.types.d.ts +0 -4
  35. package/dist/DataList/components/DataListAction/DataListAction.d.ts +2 -3
  36. package/dist/DataList/components/DataListItemActions/DataListItemActionsOverflow.d.ts +3 -3
  37. package/dist/DataList/index.js +90 -96
  38. package/dist/DataTable/index.js +6 -6
  39. package/dist/DatePicker/index.js +3 -3
  40. package/dist/{DatePicker-b31baae4.js → DatePicker-39d2dc8b.js} +2 -2
  41. package/dist/DescriptionList/index.js +1 -1
  42. package/dist/Disclosure/index.js +1 -1
  43. package/dist/Drawer/index.js +4 -4
  44. package/dist/Emphasis/index.js +2 -2
  45. package/dist/{Emphasis-76a10790.js → Emphasis-cc3456ac.js} +1 -1
  46. package/dist/FeatureSwitch/index.js +7 -7
  47. package/dist/FormField/index.js +5 -5
  48. package/dist/{FormField-d6138b7f.js → FormField-bef41ec9.js} +3 -3
  49. package/dist/FormatFile/index.js +10 -10
  50. package/dist/{FormatFile-aa1898f9.js → FormatFile-a470c0f2.js} +4 -4
  51. package/dist/Gallery/index.js +11 -11
  52. package/dist/Heading/index.js +2 -2
  53. package/dist/{Heading-a1191b15.js → Heading-4562900a.js} +1 -1
  54. package/dist/InlineLabel/index.js +2 -2
  55. package/dist/{InlineLabel-afd5fc6f.js → InlineLabel-3d461632.js} +1 -1
  56. package/dist/InputAvatar/index.js +3 -3
  57. package/dist/InputDate/index.js +6 -6
  58. package/dist/InputEmail/index.js +5 -5
  59. package/dist/InputFile/index.js +3 -3
  60. package/dist/{InputFile-2a06c2c0.js → InputFile-d327dee3.js} +2 -2
  61. package/dist/InputNumber/index.js +6 -6
  62. package/dist/{InputNumber-07b03067.js → InputNumber-5640fb55.js} +1 -1
  63. package/dist/InputPassword/index.js +5 -5
  64. package/dist/InputPhoneNumber/index.js +5 -5
  65. package/dist/InputText/index.js +6 -6
  66. package/dist/{InputText-d1a52550.js → InputText-5ac5cfe0.js} +1 -1
  67. package/dist/InputTime/index.js +5 -5
  68. package/dist/InputValidation/index.js +3 -3
  69. package/dist/{InputValidation-b5a3d92c.js → InputValidation-4e809bdd.js} +1 -1
  70. package/dist/LightBox/index.js +4 -4
  71. package/dist/{LightBox-437a1c8b.js → LightBox-02ca409e.js} +2 -2
  72. package/dist/List/index.js +5 -5
  73. package/dist/Markdown/index.js +5 -5
  74. package/dist/{Markdown-f6748dcb.js → Markdown-b37cf9ec.js} +3 -3
  75. package/dist/Menu/index.js +3 -3
  76. package/dist/{Menu-51f8712f.js → Menu-cec53b50.js} +2 -2
  77. package/dist/Modal/index.js +5 -5
  78. package/dist/{Modal-a9ab9565.js → Modal-dcdc0032.js} +3 -3
  79. package/dist/MultiSelect/index.js +3 -3
  80. package/dist/{Option-b903e7ac.js → Option-9f4a65da.js} +1 -1
  81. package/dist/Page/index.js +7 -7
  82. package/dist/Popover/index.js +4 -4
  83. package/dist/{Popover-bbfc6aa1.js → Popover-d401fb54.js} +1 -1
  84. package/dist/RadioGroup/index.js +3 -3
  85. package/dist/{RadioGroup-8e76d20b.js → RadioGroup-46833fac.js} +1 -1
  86. package/dist/RecurringSelect/index.js +8 -8
  87. package/dist/Select/index.js +6 -6
  88. package/dist/StatusLabel/index.js +2 -2
  89. package/dist/Switch/index.js +2 -2
  90. package/dist/{Switch-e75145cc.js → Switch-165f01e3.js} +1 -1
  91. package/dist/Tabs/index.js +1 -1
  92. package/dist/Text/index.js +2 -2
  93. package/dist/{Text-e7ed0974.js → Text-59bde58c.js} +1 -1
  94. package/dist/Toast/index.js +2 -2
  95. package/dist/Tooltip/index.js +3 -3
  96. package/dist/{Tooltip-bf67fe6e.js → Tooltip-59dbab5b.js} +1 -1
  97. package/dist/Typography/index.js +1 -1
  98. package/dist/{Typography-fd6f932a.js → Typography-9bff9c91.js} +2 -2
  99. package/package.json +2 -2
@@ -5,47 +5,47 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var tslib_es6 = require('../tslib.es6-5b8768b7.js');
6
6
  var React = require('react');
7
7
  var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
8
- var Text = require('../Text-e7ed0974.js');
8
+ var Text = require('../Text-59bde58c.js');
9
9
  var Glimmer = require('../Glimmer-cfa92a88.js');
10
10
  var framerMotion = require('framer-motion');
11
11
  var classnames = require('classnames');
12
12
  var noop = require('lodash/noop');
13
13
  var reactRouterDom = require('react-router-dom');
14
- var Button = require('../Button-fd8413b2.js');
14
+ var Button = require('../Button-d89f2271.js');
15
15
  var design = require('@jobber/design');
16
- var Typography = require('../Typography-fd6f932a.js');
16
+ var Typography = require('../Typography-9bff9c91.js');
17
17
  var ReactDOM = require('react-dom');
18
- var Tooltip = require('../Tooltip-bf67fe6e.js');
18
+ var Tooltip = require('../Tooltip-59dbab5b.js');
19
19
  require('react-popper');
20
20
  var useFocusTrap = require('@jobber/hooks/useFocusTrap');
21
21
  var useRefocusOnActivator = require('@jobber/hooks/useRefocusOnActivator');
22
22
  var useOnKeyDown = require('@jobber/hooks/useOnKeyDown');
23
23
  var foundation = require('@jobber/design/foundation');
24
24
  var isEmpty = require('lodash/isEmpty');
25
- var InlineLabel = require('../InlineLabel-afd5fc6f.js');
25
+ var InlineLabel = require('../InlineLabel-3d461632.js');
26
26
  var styles$f = require('@jobber/components/DataList/DataList.css');
27
27
  require('uuid');
28
28
  require('react-hook-form');
29
- var Checkbox = require('../Checkbox-3bccf65c.js');
29
+ var Checkbox = require('../Checkbox-eac63b7f.js');
30
30
  var FormatDate = require('../FormatDate-70ea5b43.js');
31
- var Heading = require('../Heading-a1191b15.js');
31
+ var Heading = require('../Heading-4562900a.js');
32
32
  var AnimatedSwitcher = require('../AnimatedSwitcher-d1e1ddcf.js');
33
33
  var useInView = require('@jobber/hooks/useInView');
34
- var Icon = require('../Icon-405a216c.js');
35
- var Popover = require('../Popover-bbfc6aa1.js');
34
+ var Popover = require('../Popover-d401fb54.js');
36
35
  var Content = require('../Content-2ca1ffe1.js');
37
- var Chip = require('../Chip-4916a642.js');
36
+ var Chip = require('../Chip-4d8e6370.js');
38
37
  require('@jobber/hooks/useAssert');
39
38
  require('../Avatar-1aa30ee1.js');
40
39
  require('color');
41
40
  var debounce = require('lodash/debounce');
42
- var InputText = require('../InputText-d1a52550.js');
41
+ var InputText = require('../InputText-5ac5cfe0.js');
43
42
  var Spinner = require('../Spinner-9d8fc7ff.js');
44
- require('../ButtonDismiss-82680c7d.js');
43
+ var Icon = require('../Icon-405a216c.js');
44
+ require('../ButtonDismiss-250840a4.js');
45
45
  require('lodash/sortBy');
46
46
  require('@jobber/hooks/useLiveAnnounce');
47
- require('../FormField-d6138b7f.js');
48
- require('../InputValidation-b5a3d92c.js');
47
+ require('../FormField-bef41ec9.js');
48
+ require('../InputValidation-4e809bdd.js');
49
49
 
50
50
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
51
51
 
@@ -111,35 +111,10 @@ var css_248z$b = ".jHcHGQ-HDbk- {\n display: -ms-flexbox;\n display: flex;\n
111
111
  var styles$b = {"menu":"jHcHGQ-HDbk-"};
112
112
  styleInject_es.styleInject(css_248z$b);
113
113
 
114
- var css_248z$a = ".iyg43v-S9yU- {\n display: -ms-flexbox;\n display: flex;\n width: 100%;\n min-height: 44px;\n padding: calc(16px / 2);\n padding: var(--space-small);\n border: none;\n border-radius: 0;\n font-size: calc((16px * 1) * 0.875);\n font-size: calc(calc(16px * 1) * 0.875);\n font-size: var(--typography--fontSize-base);\n text-align: left;\n background: none;\n cursor: pointer;\n transition: background 200ms ease;\n transition: background var(--timing-base) ease;\n -webkit-appearance: none;\n appearance: none;\n -ms-flex-align: center;\n align-items: center;\n gap: calc(16px / 2);\n gap: var(--space-small);\n}\n\n.iyg43v-S9yU-:hover,\n.iyg43v-S9yU-:focus {\n background-color: rgb(250, 246, 219);\n background-color: var(--color-surface--hover);\n}\n\n.AUJNqz93ZDA- {\n font-weight: 500;\n}\n";
115
- var styles$a = {"action":"iyg43v-S9yU-","label":"AUJNqz93ZDA-"};
114
+ var css_248z$a = ".aokwZU8jbWU- {\n position: fixed;\n top: 0;\n top: var(--actions-menu-y, 0);\n left: 0;\n left: var(--actions-menu-x, 0);\n z-index: 6;\n z-index: var(--elevation-menu);\n min-width: 150px;\n box-shadow: 0px calc(16px / 16) calc(16px / 4) 0px\n rgba(0, 0, 0, 0.1),\n 0px calc(16px / 4) 12px 0px rgba(0, 0, 0, 0.05);\n box-shadow: var(--shadow-base);\n padding: calc(16px / 4);\n padding: var(--space-smaller);\n border: calc(16px / 16) solid rgb(225, 225, 225);\n border: var(--border-base) solid var(--color-border);\n border-radius: calc(16px / 2);\n border-radius: var(--radius-larger);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n}\n\n.XtVRP97TVSE- {\n position: fixed;\n top: 0;\n left: 0;\n z-index: calc(6 - 1);\n z-index: calc(var(--elevation-menu) - 1);\n width: 100%;\n height: 100%;\n padding: 0;\n border: none;\n background-color: transparent;\n}\n";
115
+ var styles$a = {"menu":"aokwZU8jbWU-","overlay":"XtVRP97TVSE-"};
116
116
  styleInject_es.styleInject(css_248z$a);
117
117
 
118
- function DataListAction(
119
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
120
- _) {
121
- return null;
122
- }
123
- function InternalDataListAction({ label, icon, destructive, onClick, item, }) {
124
- const color = destructive ? "critical" : "blue";
125
- return (React__default["default"].createElement("button", { className: styles$a.action, onClick: handleClick },
126
- icon && React__default["default"].createElement(Icon.Icon, { name: icon, color: color }),
127
- React__default["default"].createElement(Typography.Typography, { textColor: color },
128
- React__default["default"].createElement("span", { className: styles$a.label }, label))));
129
- function handleClick() {
130
- if (item) {
131
- onClick === null || onClick === void 0 ? void 0 : onClick(item);
132
- }
133
- else {
134
- onClick === null || onClick === void 0 ? void 0 : onClick();
135
- }
136
- }
137
- }
138
-
139
- var css_248z$9 = ".aokwZU8jbWU- {\n position: fixed;\n top: 0;\n top: var(--actions-menu-y, 0);\n left: 0;\n left: var(--actions-menu-x, 0);\n z-index: 6;\n z-index: var(--elevation-menu);\n min-width: 150px;\n box-shadow: 0px calc(16px / 16) calc(16px / 4) 0px\n rgba(0, 0, 0, 0.1),\n 0px calc(16px / 4) 12px 0px rgba(0, 0, 0, 0.05);\n box-shadow: var(--shadow-base);\n padding: calc(16px / 4);\n padding: var(--space-smaller);\n border: calc(16px / 16) solid rgb(225, 225, 225);\n border: var(--border-base) solid var(--color-border);\n border-radius: calc(16px / 2);\n border-radius: var(--radius-larger);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n}\n\n.XtVRP97TVSE- {\n position: fixed;\n top: 0;\n left: 0;\n z-index: calc(6 - 1);\n z-index: calc(var(--elevation-menu) - 1);\n width: 100%;\n height: 100%;\n padding: 0;\n border: none;\n background-color: transparent;\n}\n";
140
- var styles$9 = {"menu":"aokwZU8jbWU-","overlay":"XtVRP97TVSE-"};
141
- styleInject_es.styleInject(css_248z$9);
142
-
143
118
  const EMPTY_RESULTS_MESSAGE = "List is looking empty";
144
119
  const EMPTY_FILTER_RESULTS_MESSAGE = "No results for selected filters";
145
120
  const EMPTY_STATE_ACTION_BUTTON_ONLY_ERROR = "DataListEmptyState action prop must be a Button component";
@@ -171,8 +146,8 @@ function DataListActionsMenu({ visible = false, position, onRequestClose, childr
171
146
  const focusTrapRef = useFocusTrap.useFocusTrap(visible);
172
147
  useOnKeyDown.useOnKeyDown(onRequestClose, "Escape");
173
148
  return ReactDOM.createPortal(React__default["default"].createElement(framerMotion.AnimatePresence, null, visible && (React__default["default"].createElement("div", { ref: focusTrapRef },
174
- React__default["default"].createElement(framerMotion.motion.div, { role: "menu", ref: setRef, variants: variants$1, initial: "hidden", animate: "visible", exit: "hidden", transition: { duration: TRANSITION_DELAY_IN_SECONDS }, className: styles$9.menu, style: getPositionCssVars(), onClick: onRequestClose }, children),
175
- React__default["default"].createElement("button", { className: styles$9.overlay, onClick: onRequestClose, "aria-label": "Close menu" })))), document.body);
149
+ React__default["default"].createElement(framerMotion.motion.div, { role: "menu", ref: setRef, variants: variants$1, initial: "hidden", animate: "visible", exit: "hidden", transition: { duration: TRANSITION_DELAY_IN_SECONDS }, className: styles$a.menu, style: getPositionCssVars(), onClick: onRequestClose }, children),
150
+ React__default["default"].createElement("button", { className: styles$a.overlay, onClick: onRequestClose, "aria-label": "Close menu" })))), document.body);
176
151
  function getPositionCssVars() {
177
152
  const { posX, posY } = getPosition();
178
153
  return {
@@ -183,7 +158,7 @@ function DataListActionsMenu({ visible = false, position, onRequestClose, childr
183
158
  function getPosition() {
184
159
  const rect = ref === null || ref === void 0 ? void 0 : ref.getBoundingClientRect();
185
160
  const { width = 0, height = 0 } = rect || {};
186
- const { x = 0, y = 0 } = position;
161
+ const { x, y } = position;
187
162
  const xIsOffScreen = x + width > window.innerWidth;
188
163
  const yIsOffScreen = y + height > window.innerHeight;
189
164
  const xOffSet = x + width - window.innerWidth + foundation.tokens["space-base"];
@@ -194,13 +169,13 @@ function DataListActionsMenu({ visible = false, position, onRequestClose, childr
194
169
  }
195
170
  }
196
171
 
197
- function DataListItemActionsOverflow({ item, actions, }) {
172
+ function DataListItemActionsOverflow({ actions, }) {
198
173
  const [menuPosition, setMenuPosition] = React.useState({ x: 0, y: 0 });
199
174
  const [showMenu, setShowMenu] = React.useState(false);
200
175
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
201
176
  React__default["default"].createElement(Tooltip.Tooltip, { message: "More actions" },
202
177
  React__default["default"].createElement(Button.Button, { icon: "more", ariaLabel: "More actions", type: "secondary", variation: "subtle", onClick: handleMoreClick })),
203
- actions && (React__default["default"].createElement(DataListActionsMenu, { visible: showMenu, position: menuPosition, onRequestClose: handleClose }, React.Children.map(actions, action => (React__default["default"].createElement(InternalDataListAction, Object.assign({}, action.props, { item: item }))))))));
178
+ actions && (React__default["default"].createElement(DataListActionsMenu, { visible: showMenu, position: menuPosition, onRequestClose: handleClose }, actions))));
204
179
  function handleMoreClick(event) {
205
180
  setShowMenu(true);
206
181
  const rect = event.currentTarget.getBoundingClientRect();
@@ -213,9 +188,9 @@ function DataListItemActionsOverflow({ item, actions, }) {
213
188
  }
214
189
  }
215
190
 
216
- var css_248z$8 = ".WRV-UmQmPzo- {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n z-index: 0;\n z-index: var(--elevation-default);\n overflow: hidden;\n gap: calc(16px / 2);\n gap: var(--space-small);\n}\n\n.liQeWCMenD0- {\n --overflow-bg: var(--data-list-item-active-color, var(--color-surface));\n\n display: -ms-flexbox;\n\n display: flex;\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n padding-left: calc(16px * 1);\n padding-left: var(--space-base);\n background-image: linear-gradient(\n 90deg,\n transparent 0,\n rgba(255, 255, 255, 1) calc(16px * 1),\n rgba(255, 255, 255, 1) 100%\n );\n background-image: linear-gradient(\n 90deg,\n transparent 0,\n var(--overflow-bg) var(--space-base),\n var(--overflow-bg) 100%\n );\n -ms-flex-align: center;\n align-items: center;\n transition: all 200ms;\n transition: all var(--timing-base);\n}\n";
217
- var styles$8 = {"tags":"WRV-UmQmPzo-","tagCount":"liQeWCMenD0-"};
218
- styleInject_es.styleInject(css_248z$8);
191
+ var css_248z$9 = ".WRV-UmQmPzo- {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n z-index: 0;\n z-index: var(--elevation-default);\n overflow: hidden;\n gap: calc(16px / 2);\n gap: var(--space-small);\n}\n\n.liQeWCMenD0- {\n --overflow-bg: var(--data-list-item-active-color, var(--color-surface));\n\n display: -ms-flexbox;\n\n display: flex;\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n padding-left: calc(16px * 1);\n padding-left: var(--space-base);\n background-image: linear-gradient(\n 90deg,\n transparent 0,\n rgba(255, 255, 255, 1) calc(16px * 1),\n rgba(255, 255, 255, 1) 100%\n );\n background-image: linear-gradient(\n 90deg,\n transparent 0,\n var(--overflow-bg) var(--space-base),\n var(--overflow-bg) 100%\n );\n -ms-flex-align: center;\n align-items: center;\n transition: all 200ms;\n transition: all var(--timing-base);\n}\n";
192
+ var styles$9 = {"tags":"WRV-UmQmPzo-","tagCount":"liQeWCMenD0-"};
193
+ styleInject_es.styleInject(css_248z$9);
219
194
 
220
195
  function DataListTags({ items }) {
221
196
  const ref = React.useRef(null);
@@ -235,10 +210,10 @@ function DataListTags({ items }) {
235
210
  elements === null || elements === void 0 ? void 0 : elements.forEach(element => observer.unobserve(element));
236
211
  };
237
212
  }, [items]);
238
- return (React__default["default"].createElement("div", { className: styles$8.tags, ref: ref },
213
+ return (React__default["default"].createElement("div", { className: styles$9.tags, ref: ref },
239
214
  items.filter(Boolean).map((tag, index) => (React__default["default"].createElement("div", { key: tag, "data-tag-element": index },
240
215
  React__default["default"].createElement(InlineLabel.InlineLabel, null, tag)))),
241
- Boolean(visibleItems) && (React__default["default"].createElement("div", { className: styles$8.tagCount },
216
+ Boolean(visibleItems) && (React__default["default"].createElement("div", { className: styles$9.tagCount },
242
217
  React__default["default"].createElement(Text.Text, null,
243
218
  "+",
244
219
  visibleItems)))));
@@ -267,22 +242,22 @@ function buildIntersectionThreshold(items) {
267
242
  return thresholds;
268
243
  }
269
244
 
270
- var css_248z$7 = ".fLmJZJJqMcE- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n padding: 0;\n border: none;\n background-color: transparent;\n}\n\n.UG8cHUT3Hds- {\n cursor: pointer;\n}\n";
271
- var styles$7 = {"headerLabel":"fLmJZJJqMcE-","sortable":"UG8cHUT3Hds-"};
272
- styleInject_es.styleInject(css_248z$7);
245
+ var css_248z$8 = ".fLmJZJJqMcE- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n padding: 0;\n border: none;\n background-color: transparent;\n}\n\n.UG8cHUT3Hds- {\n cursor: pointer;\n}\n";
246
+ var styles$8 = {"headerLabel":"fLmJZJJqMcE-","sortable":"UG8cHUT3Hds-"};
247
+ styleInject_es.styleInject(css_248z$8);
273
248
 
274
- var css_248z$6 = ".AN5egORYy-0- {\n padding-right: calc(16px / 2);\n padding-right: var(--space-small);\n}\n\n.AN5egORYy-0- path {\n fill: rgba(101, 120, 132, 1);\n fill: var(--color-greyBlue);\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-blue);\n}\n\n.AN5egORYy-0- path._6KYeQXWXLQ8- {\n fill: rgb(193, 201, 206);\n fill: var(--color-greyBlue--lighter);\n}\n";
275
- var styles$6 = {"sortIcon":"AN5egORYy-0-","active":"F1uTDCK0Sb0-","inactive":"_6KYeQXWXLQ8-"};
276
- styleInject_es.styleInject(css_248z$6);
249
+ var css_248z$7 = ".AN5egORYy-0- {\n padding-right: calc(16px / 2);\n padding-right: var(--space-small);\n}\n\n.AN5egORYy-0- path {\n fill: rgba(101, 120, 132, 1);\n fill: var(--color-greyBlue);\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-blue);\n}\n\n.AN5egORYy-0- path._6KYeQXWXLQ8- {\n fill: rgb(193, 201, 206);\n fill: var(--color-greyBlue--lighter);\n}\n";
250
+ var styles$7 = {"sortIcon":"AN5egORYy-0-","active":"F1uTDCK0Sb0-","inactive":"_6KYeQXWXLQ8-"};
251
+ styleInject_es.styleInject(css_248z$7);
277
252
 
278
253
  const SORTING_ICON_TEST_ID = "ATL-DataList-Sorting-Icon";
279
254
  function DataListSortingArrows({ order }) {
280
- return (React__default["default"].createElement("div", { className: styles$6.sortIcon, "data-testid": SORTING_ICON_TEST_ID },
255
+ return (React__default["default"].createElement("div", { className: styles$7.sortIcon, "data-testid": SORTING_ICON_TEST_ID },
281
256
  React__default["default"].createElement("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
282
257
  React__default["default"].createElement("path", { className: getActiveClassName("asc"), d: "M16.2929 10.6661C15.9024 11.0566 15.2692 11.0566 14.8787 10.6661L12.2891 8.14263L9.70711 10.6661C9.31658 11.0566 8.68342 11.0566 8.29289 10.6661C7.90237 10.2756 7.90237 9.64239 8.29289 9.25186L11.5858 5.95897C11.9763 5.56845 12.6095 5.56845 13 5.95897L16.2929 9.25186C16.6834 9.64239 16.6834 10.2756 16.2929 10.6661Z" }),
283
258
  React__default["default"].createElement("path", { className: getActiveClassName("desc"), d: "M8.29292 13.3339C8.68345 12.9434 9.31661 12.9434 9.70714 13.3339L12.2968 15.8573L14.8787 13.3339C15.2692 12.9434 15.9024 12.9434 16.2929 13.3339C16.6834 13.7244 16.6834 14.3576 16.2929 14.7481L13 18.041C12.6095 18.4315 11.9763 18.4315 11.5858 18.041L8.29292 14.7481C7.9024 14.3576 7.9024 13.7244 8.29292 13.3339Z" }))));
284
259
  function getActiveClassName(targetOrder) {
285
- return order === targetOrder ? styles$6.active : styles$6.inactive;
260
+ return order === targetOrder ? styles$7.active : styles$7.inactive;
286
261
  }
287
262
  }
288
263
 
@@ -291,8 +266,8 @@ function DataListHeaderTile({ headers, headerKey, }) {
291
266
  const isSortable = sorting === null || sorting === void 0 ? void 0 : sorting.sortable.includes(headerKey);
292
267
  const sortingState = sorting === null || sorting === void 0 ? void 0 : sorting.state;
293
268
  const Tag = isSortable ? "button" : "div";
294
- return (React__default["default"].createElement(Tag, { className: classnames__default["default"](styles$7.headerLabel, {
295
- [styles$7.sortable]: isSortable,
269
+ return (React__default["default"].createElement(Tag, { className: classnames__default["default"](styles$8.headerLabel, {
270
+ [styles$8.sortable]: isSortable,
296
271
  }), onClick: handleOnClick },
297
272
  React__default["default"].createElement(Text.Text, { maxLines: "single" }, headers[headerKey]),
298
273
  (sortingState === null || sortingState === void 0 ? void 0 : sortingState.key) === headerKey && (React__default["default"].createElement(DataListSortingArrows, { order: sortingState.order }))));
@@ -411,7 +386,7 @@ function InternalDataListItemActions({ item, }) {
411
386
  return (React__default["default"].createElement(Tooltip.Tooltip, { key: props.label, message: props.label },
412
387
  React__default["default"].createElement(Button.Button, { icon: props.icon, ariaLabel: props.label, onClick: () => { var _a; return (_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, item); }, type: "secondary", variation: "subtle" })));
413
388
  }),
414
- React__default["default"].createElement(DataListItemActionsOverflow, { actions: childrenArray, item: item })));
389
+ Boolean(childrenArray.length) && (React__default["default"].createElement(DataListItemActionsOverflow, { actions: childrenArray }))));
415
390
  }
416
391
  function handleContextMenu(event) {
417
392
  event.stopPropagation();
@@ -489,8 +464,7 @@ function DataListItem({ item, layout, }) {
489
464
  React__default["default"].createElement(DataListItemClickable, null, layout.props.children(generatedItem))),
490
465
  React__default["default"].createElement(framerMotion.AnimatePresence, null,
491
466
  showMenu && !hasInLayoutActions && (React__default["default"].createElement(InternalDataListItemActions, { item: item })),
492
- React__default["default"].createElement(DataListActionsMenu, { key: item.id, visible: shouldShowContextMenu, position: contextPosition || { x: 0, y: 0 }, onRequestClose: () => setContextPosition(undefined) }, contextMenuActions &&
493
- React.Children.map(contextMenuActions, action => (React__default["default"].createElement(InternalDataListAction, Object.assign({ key: item.id }, action.props, { item: item })))))))));
467
+ React__default["default"].createElement(DataListActionsMenu, { key: item.id, visible: shouldShowContextMenu, position: contextPosition || { x: 0, y: 0 }, onRequestClose: () => setContextPosition(undefined) }, contextMenuActions)))));
494
468
  function handleShowMenu() {
495
469
  setShowMenu(true);
496
470
  }
@@ -552,21 +526,21 @@ function DataListItems({ layouts, mediaMatches, data, }) {
552
526
 
553
527
  const CONTAINER_TEST_ID = "ATL-DataListFilters-Container";
554
528
 
555
- var css_248z$5 = ".jbBRoxlZlNI- {\n -ms-flex-item-align: center;\n align-self: center;\n position: relative;\n min-width: 0;\n}\n\n.MnN8qbS4hw4- {\n display: grid;\n overflow-x: auto;\n grid-auto-flow: column;\n grid-auto-columns: -webkit-max-content;\n grid-auto-columns: max-content;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.MnN8qbS4hw4- > :nth-child(n + 3):not(:last-child) {\n margin-left: calc(16px / 2);\n margin-left: var(--space-small);\n}\n\n.b-5P7Z8eGO8- {\n visibility: hidden;\n}\n\n.xzaCS4slLpI-::before,\n.Jf227kC8Nu0-::after {\n content: \"\";\n position: absolute;\n top: 0;\n width: calc(16px * 1.5);\n width: var(--space-large);\n height: 100%;\n background-image: linear-gradient(\n to right,\n rgba(255, 255, 255, 1) 0%,\n rgba(255, 255, 255, 0) 100%\n );\n background-image: linear-gradient(\n var(--data-list-overflow-shadow-angle, to right),\n var(--color-surface) 0%,\n rgba(var(--color-white--rgb), 0) 100%\n );\n pointer-events: none;\n}\n\n.xzaCS4slLpI-::before {\n left: 0;\n}\n\n.Jf227kC8Nu0-::after {\n --data-list-overflow-shadow-angle: to left;\n right: 0;\n}\n";
556
- var styles$5 = {"fadeContainer":"jbBRoxlZlNI-","overflowGrid":"MnN8qbS4hw4-","overflowTrigger":"b-5P7Z8eGO8-","overflowLeft":"xzaCS4slLpI-","overflowRight":"Jf227kC8Nu0-"};
557
- styleInject_es.styleInject(css_248z$5);
529
+ var css_248z$6 = ".jbBRoxlZlNI- {\n -ms-flex-item-align: center;\n align-self: center;\n position: relative;\n min-width: 0;\n}\n\n.MnN8qbS4hw4- {\n display: grid;\n overflow-x: auto;\n grid-auto-flow: column;\n grid-auto-columns: -webkit-max-content;\n grid-auto-columns: max-content;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.MnN8qbS4hw4- > :nth-child(n + 3):not(:last-child) {\n margin-left: calc(16px / 2);\n margin-left: var(--space-small);\n}\n\n.b-5P7Z8eGO8- {\n visibility: hidden;\n}\n\n.xzaCS4slLpI-::before,\n.Jf227kC8Nu0-::after {\n content: \"\";\n position: absolute;\n top: 0;\n width: calc(16px * 1.5);\n width: var(--space-large);\n height: 100%;\n background-image: linear-gradient(\n to right,\n rgba(255, 255, 255, 1) 0%,\n rgba(255, 255, 255, 0) 100%\n );\n background-image: linear-gradient(\n var(--data-list-overflow-shadow-angle, to right),\n var(--color-surface) 0%,\n rgba(var(--color-white--rgb), 0) 100%\n );\n pointer-events: none;\n}\n\n.xzaCS4slLpI-::before {\n left: 0;\n}\n\n.Jf227kC8Nu0-::after {\n --data-list-overflow-shadow-angle: to left;\n right: 0;\n}\n";
530
+ var styles$6 = {"fadeContainer":"jbBRoxlZlNI-","overflowGrid":"MnN8qbS4hw4-","overflowTrigger":"b-5P7Z8eGO8-","overflowLeft":"xzaCS4slLpI-","overflowRight":"Jf227kC8Nu0-"};
531
+ styleInject_es.styleInject(css_248z$6);
558
532
 
559
533
  function DataListOverflowFade({ children }) {
560
534
  const [leftRef, isLeftVisible] = useInView.useInView();
561
535
  const [rightRef, isRightVisible] = useInView.useInView();
562
- return (React__default["default"].createElement("div", { "data-testid": CONTAINER_TEST_ID, className: classnames__default["default"](styles$5.fadeContainer, {
563
- [styles$5.overflowLeft]: !isLeftVisible,
564
- [styles$5.overflowRight]: !isRightVisible,
536
+ return (React__default["default"].createElement("div", { "data-testid": CONTAINER_TEST_ID, className: classnames__default["default"](styles$6.fadeContainer, {
537
+ [styles$6.overflowLeft]: !isLeftVisible,
538
+ [styles$6.overflowRight]: !isRightVisible,
565
539
  }) },
566
- React__default["default"].createElement("div", { className: styles$5.overflowGrid },
567
- React__default["default"].createElement("span", { ref: leftRef, className: styles$5.overflowTrigger }),
540
+ React__default["default"].createElement("div", { className: styles$6.overflowGrid },
541
+ React__default["default"].createElement("span", { ref: leftRef, className: styles$6.overflowTrigger }),
568
542
  children,
569
- React__default["default"].createElement("span", { ref: rightRef, className: styles$5.overflowTrigger }))));
543
+ React__default["default"].createElement("span", { ref: rightRef, className: styles$6.overflowTrigger }))));
570
544
  }
571
545
 
572
546
  // This component is meant to capture the props of the DataList.BulkActions
@@ -778,9 +752,9 @@ function InternalDataListFilters() {
778
752
  showSortButton && React__default["default"].createElement(DataListSort, null)));
779
753
  }
780
754
 
781
- var css_248z$4 = ".PGOHzrMh374- {\n --offset: 1px;\n --sticky-header-transition-properties: var(--timing-base) ease-in-out;\n\n position: sticky;\n top: calc(1px * -1);\n top: calc(var(--offset) * -1);\n z-index: 1;\n z-index: var(--elevation-base);\n padding-top: 1px;\n padding-top: var(--offset);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n}\n\n/**\n * Draw a border that gets covered by the column headers border when it shows up.\n *\n * Mostly to prevent us from writing some complex JS to remove the border when\n * the column headers show up.\n */\n\n.PGOHzrMh374-::before {\n content: \"\";\n display: block;\n position: absolute;\n bottom: 0;\n left: 50%;\n z-index: -1;\n width: 0;\n height: 0;\n background-color: rgb(225, 225, 225);\n background-color: var(--color-border);\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%);\n transition: height var(--sticky-header-transition-properties)\n 100ms,\n width var(--sticky-header-transition-properties);\n transition: height var(--sticky-header-transition-properties)\n var(--timing-quick),\n width var(--sticky-header-transition-properties);\n}\n\n.PGjWc5ocjpI-::before {\n width: 100%;\n height: calc(16px / 8);\n height: var(--border-thick);\n transition: height var(--sticky-header-transition-properties),\n width var(--sticky-header-transition-properties) 100ms;\n transition: height var(--sticky-header-transition-properties),\n width var(--sticky-header-transition-properties) var(--timing-quick);\n}\n";
782
- var styles$4 = {"header":"PGOHzrMh374-","stuck":"PGjWc5ocjpI-"};
783
- styleInject_es.styleInject(css_248z$4);
755
+ var css_248z$5 = ".PGOHzrMh374- {\n --offset: 1px;\n --sticky-header-transition-properties: var(--timing-base) ease-in-out;\n\n position: sticky;\n top: calc(1px * -1);\n top: calc(var(--offset) * -1);\n z-index: 1;\n z-index: var(--elevation-base);\n padding-top: 1px;\n padding-top: var(--offset);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n}\n\n/**\n * Draw a border that gets covered by the column headers border when it shows up.\n *\n * Mostly to prevent us from writing some complex JS to remove the border when\n * the column headers show up.\n */\n\n.PGOHzrMh374-::before {\n content: \"\";\n display: block;\n position: absolute;\n bottom: 0;\n left: 50%;\n z-index: -1;\n width: 0;\n height: 0;\n background-color: rgb(225, 225, 225);\n background-color: var(--color-border);\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%);\n transition: height var(--sticky-header-transition-properties)\n 100ms,\n width var(--sticky-header-transition-properties);\n transition: height var(--sticky-header-transition-properties)\n var(--timing-quick),\n width var(--sticky-header-transition-properties);\n}\n\n.PGjWc5ocjpI-::before {\n width: 100%;\n height: calc(16px / 8);\n height: var(--border-thick);\n transition: height var(--sticky-header-transition-properties),\n width var(--sticky-header-transition-properties) 100ms;\n transition: height var(--sticky-header-transition-properties),\n width var(--sticky-header-transition-properties) var(--timing-quick);\n}\n";
756
+ var styles$5 = {"header":"PGOHzrMh374-","stuck":"PGjWc5ocjpI-"};
757
+ styleInject_es.styleInject(css_248z$5);
784
758
 
785
759
  function DataListStickyHeader({ children }) {
786
760
  const [isStuck, setIsStuck] = React.useState(false);
@@ -795,12 +769,12 @@ function DataListStickyHeader({ children }) {
795
769
  ref.current && observer.unobserve(ref.current);
796
770
  };
797
771
  }, [handleObserver, ref.current]);
798
- return (React__default["default"].createElement("div", { ref: ref, className: classnames__default["default"](styles$4.header, { [styles$4.stuck]: isStuck }) }, children));
772
+ return (React__default["default"].createElement("div", { ref: ref, className: classnames__default["default"](styles$5.header, { [styles$5.stuck]: isStuck }) }, children));
799
773
  }
800
774
 
801
- var css_248z$3 = ".SaPMOnvw-3c- {\n --transition-properties: var(--timing-base) ease-in-out;\n --button-offset: calc(var(--space-largest) - var(--space-smallest));\n\n position: absolute;\n /* Inputs are off by 1 when put beside a button */\n top: calc((16px / 2) + 1px);\n top: calc(calc(16px / 2) + 1px);\n top: calc(var(--space-small) + 1px);\n right: calc((16px * 3) - (16px / 8));\n right: calc(calc(16px * 3) - calc(16px / 8));\n right: var(--button-offset);\n visibility: hidden;\n width: 0;\n opacity: 0;\n transition: opacity 200ms ease-in-out,\n width 200ms ease-in-out, visibility 200ms ease-in-out;\n transition: opacity var(--transition-properties),\n width var(--transition-properties), visibility var(--transition-properties);\n}\n\n._3S1-91v2SYI- {\n visibility: visible;\n width: calc(100% - var(--button-offset));\n opacity: 1;\n}\n\n@media (min-width: 768px) {\n\n.SaPMOnvw-3c-,\n._3S1-91v2SYI- {\n position: static;\n visibility: visible;\n width: auto;\n opacity: 1;\n transition: none;\n}\n }\n\n@media (--medium-screens-and-up) {\n\n.SaPMOnvw-3c-,\n._3S1-91v2SYI- {\n position: static;\n visibility: visible;\n width: auto;\n opacity: 1;\n transition: none;\n}\n }\n\n._9GlBktsUALw- {\n display: block;\n}\n\n@media (min-width: 768px) {\n\n._9GlBktsUALw- {\n display: none;\n}\n }\n\n@media (--medium-screens-and-up) {\n\n._9GlBktsUALw- {\n display: none;\n}\n }\n\n/*\n * No Filters Styling\n *\n * When there are no filters, the search input is always visible.\n * ------------------------------------------------------------------------- */\n\n._3Pjrt42x454- .SaPMOnvw-3c- {\n position: static;\n visibility: visible;\n width: auto;\n opacity: 1;\n transition: none;\n}\n\n@media (min-width: 768px) {\n\n._3Pjrt42x454- .SaPMOnvw-3c- {\n max-width: 30%;\n}\n }\n\n@media (--medium-screens-and-up) {\n\n._3Pjrt42x454- .SaPMOnvw-3c- {\n max-width: 30%;\n}\n }\n\n._3Pjrt42x454- ._9GlBktsUALw- {\n display: none;\n}\n";
802
- var styles$3 = {"searchInput":"SaPMOnvw-3c-","searchInputVisible":"_3S1-91v2SYI-","searchButton":"_9GlBktsUALw-","withNoFilters":"_3Pjrt42x454-"};
803
- styleInject_es.styleInject(css_248z$3);
775
+ var css_248z$4 = ".SaPMOnvw-3c- {\n --transition-properties: var(--timing-base) ease-in-out;\n --button-offset: calc(var(--space-largest) - var(--space-smallest));\n\n position: absolute;\n /* Inputs are off by 1 when put beside a button */\n top: calc((16px / 2) + 1px);\n top: calc(calc(16px / 2) + 1px);\n top: calc(var(--space-small) + 1px);\n right: calc((16px * 3) - (16px / 8));\n right: calc(calc(16px * 3) - calc(16px / 8));\n right: var(--button-offset);\n visibility: hidden;\n width: 0;\n opacity: 0;\n transition: opacity 200ms ease-in-out,\n width 200ms ease-in-out, visibility 200ms ease-in-out;\n transition: opacity var(--transition-properties),\n width var(--transition-properties), visibility var(--transition-properties);\n}\n\n._3S1-91v2SYI- {\n visibility: visible;\n width: calc(100% - var(--button-offset));\n opacity: 1;\n}\n\n@media (min-width: 768px) {\n\n.SaPMOnvw-3c-,\n._3S1-91v2SYI- {\n position: static;\n visibility: visible;\n width: auto;\n opacity: 1;\n transition: none;\n}\n }\n\n@media (--medium-screens-and-up) {\n\n.SaPMOnvw-3c-,\n._3S1-91v2SYI- {\n position: static;\n visibility: visible;\n width: auto;\n opacity: 1;\n transition: none;\n}\n }\n\n._9GlBktsUALw- {\n display: block;\n}\n\n@media (min-width: 768px) {\n\n._9GlBktsUALw- {\n display: none;\n}\n }\n\n@media (--medium-screens-and-up) {\n\n._9GlBktsUALw- {\n display: none;\n}\n }\n\n/*\n * No Filters Styling\n *\n * When there are no filters, the search input is always visible.\n * ------------------------------------------------------------------------- */\n\n._3Pjrt42x454- .SaPMOnvw-3c- {\n position: static;\n visibility: visible;\n width: auto;\n opacity: 1;\n transition: none;\n}\n\n@media (min-width: 768px) {\n\n._3Pjrt42x454- .SaPMOnvw-3c- {\n max-width: 30%;\n}\n }\n\n@media (--medium-screens-and-up) {\n\n._3Pjrt42x454- .SaPMOnvw-3c- {\n max-width: 30%;\n}\n }\n\n._3Pjrt42x454- ._9GlBktsUALw- {\n display: none;\n}\n";
776
+ var styles$4 = {"searchInput":"SaPMOnvw-3c-","searchInputVisible":"_3S1-91v2SYI-","searchButton":"_9GlBktsUALw-","withNoFilters":"_3Pjrt42x454-"};
777
+ styleInject_es.styleInject(css_248z$4);
804
778
 
805
779
  const DATA_LIST_SEARCH_TEST_ID = "ATL-DataList-Search-input-wrapper";
806
780
  // This component is meant to capture the props of the DataList.Search
@@ -820,13 +794,13 @@ function InternalDataListSearch() {
820
794
  return null;
821
795
  const { placeholder } = searchComponent.props;
822
796
  return (React__default["default"].createElement("div", { className: classnames__default["default"]({
823
- [styles$3.withNoFilters]: !filterComponent && !sorting,
797
+ [styles$4.withNoFilters]: !filterComponent && !sorting,
824
798
  }) },
825
- React__default["default"].createElement("div", { "data-testid": DATA_LIST_SEARCH_TEST_ID, className: classnames__default["default"](styles$3.searchInput, {
826
- [styles$3.searchInputVisible]: visible,
799
+ React__default["default"].createElement("div", { "data-testid": DATA_LIST_SEARCH_TEST_ID, className: classnames__default["default"](styles$4.searchInput, {
800
+ [styles$4.searchInputVisible]: visible,
827
801
  }) },
828
802
  React__default["default"].createElement(InputText.InputText, { ref: inputRef, placeholder: getPlaceholder(), onChange: debouncedSearch, prefix: { icon: "search" }, size: "small" })),
829
- React__default["default"].createElement("div", { className: styles$3.searchButton },
803
+ React__default["default"].createElement("div", { className: styles$4.searchButton },
830
804
  React__default["default"].createElement(AnimatedSwitcher.AnimatedSwitcher, { switched: visible, initialChild: React__default["default"].createElement(Button.Button, { variation: "subtle", icon: "search", ariaLabel: "Search", onClick: toggleSearch }), switchTo: React__default["default"].createElement(Button.Button, { variation: "subtle", icon: "remove", ariaLabel: "Close search bar", onClick: toggleSearch }) }))));
831
805
  function getPlaceholder() {
832
806
  if (placeholder)
@@ -844,9 +818,9 @@ function InternalDataListSearch() {
844
818
  }
845
819
  }
846
820
 
847
- var css_248z$2 = ".zg3w9nQga-M- {\n display: -ms-flexbox;\n display: flex;\n box-sizing: border-box;\n padding: calc(16px * 1);\n padding: var(--space-base);\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-direction: column;\n flex-direction: column;\n row-gap: calc(16px * 1);\n row-gap: var(--space-base);\n -ms-flex-align: center;\n align-items: center;\n -ms-flex: 1;\n flex: 1;\n}\n";
848
- var styles$2 = {"emptyStateWrapper":"zg3w9nQga-M-"};
849
- styleInject_es.styleInject(css_248z$2);
821
+ var css_248z$3 = ".zg3w9nQga-M- {\n display: -ms-flexbox;\n display: flex;\n box-sizing: border-box;\n padding: calc(16px * 1);\n padding: var(--space-base);\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-direction: column;\n flex-direction: column;\n row-gap: calc(16px * 1);\n row-gap: var(--space-base);\n -ms-flex-align: center;\n align-items: center;\n -ms-flex: 1;\n flex: 1;\n}\n";
822
+ var styles$3 = {"emptyStateWrapper":"zg3w9nQga-M-"};
823
+ styleInject_es.styleInject(css_248z$3);
850
824
 
851
825
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
852
826
  function DataListEmptyState(_) {
@@ -855,7 +829,7 @@ function DataListEmptyState(_) {
855
829
  function InternalDataListEmptyState() {
856
830
  const { emptyStateComponents: components, filtered } = React.useContext(DataListContext);
857
831
  const { message, action } = getMessages();
858
- return (React__default["default"].createElement("div", { className: styles$2.emptyStateWrapper },
832
+ return (React__default["default"].createElement("div", { className: styles$3.emptyStateWrapper },
859
833
  React__default["default"].createElement(Text.Text, { align: "center" }, message),
860
834
  renderButton(action)));
861
835
  function getMessages() {
@@ -889,9 +863,9 @@ function getEmptyStates(components) {
889
863
  return { defaultEmptyState, filteredEmptyState };
890
864
  }
891
865
 
892
- var css_248z$1 = ".IC-Y9bTIVFo- {\n position: relative;\n -webkit-transform: translateY(calc((16px * 3) * -1));\n -webkit-transform: translateY(calc(calc(16px * 3) * -1));\n -webkit-transform: translateY(calc(var(--space-largest) * -1));\n transform: translateY(calc((16px * 3) * -1));\n transform: translateY(calc(calc(16px * 3) * -1));\n transform: translateY(calc(var(--space-largest) * -1));\n}\n\n.PbZLGpbI6ZM-,\n._6zA6B-jmz6o- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n padding: calc(16px / 2);\n padding: var(--space-small);\n}\n\n._6zA6B-jmz6o- {\n opacity: 0;\n -webkit-animation: gZ4DUv82g5I- 200ms ease 200ms forwards;\n -webkit-animation: gZ4DUv82g5I- var(--timing-base) ease var(--timing-base) forwards;\n animation: gZ4DUv82g5I- 200ms ease 200ms forwards;\n animation: gZ4DUv82g5I- var(--timing-base) ease var(--timing-base) forwards;\n}\n\n@-webkit-keyframes gZ4DUv82g5I- {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n@keyframes gZ4DUv82g5I- {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n";
893
- var styles$1 = {"trigger":"IC-Y9bTIVFo-","loadingMore":"PbZLGpbI6ZM-","backToTop":"_6zA6B-jmz6o-","fadeIn":"gZ4DUv82g5I-"};
894
- styleInject_es.styleInject(css_248z$1);
866
+ var css_248z$2 = ".IC-Y9bTIVFo- {\n position: relative;\n -webkit-transform: translateY(calc((16px * 3) * -1));\n -webkit-transform: translateY(calc(calc(16px * 3) * -1));\n -webkit-transform: translateY(calc(var(--space-largest) * -1));\n transform: translateY(calc((16px * 3) * -1));\n transform: translateY(calc(calc(16px * 3) * -1));\n transform: translateY(calc(var(--space-largest) * -1));\n}\n\n.PbZLGpbI6ZM-,\n._6zA6B-jmz6o- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n padding: calc(16px / 2);\n padding: var(--space-small);\n}\n\n._6zA6B-jmz6o- {\n opacity: 0;\n -webkit-animation: gZ4DUv82g5I- 200ms ease 200ms forwards;\n -webkit-animation: gZ4DUv82g5I- var(--timing-base) ease var(--timing-base) forwards;\n animation: gZ4DUv82g5I- 200ms ease 200ms forwards;\n animation: gZ4DUv82g5I- var(--timing-base) ease var(--timing-base) forwards;\n}\n\n@-webkit-keyframes gZ4DUv82g5I- {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n@keyframes gZ4DUv82g5I- {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n";
867
+ var styles$2 = {"trigger":"IC-Y9bTIVFo-","loadingMore":"PbZLGpbI6ZM-","backToTop":"_6zA6B-jmz6o-","fadeIn":"gZ4DUv82g5I-"};
868
+ styleInject_es.styleInject(css_248z$2);
895
869
 
896
870
  function DataListLoadMoreTrigger() {
897
871
  const { onLoadMore } = useDataListContext();
@@ -899,7 +873,7 @@ function DataListLoadMoreTrigger() {
899
873
  React.useEffect(() => {
900
874
  isInView && (onLoadMore === null || onLoadMore === void 0 ? void 0 : onLoadMore());
901
875
  }, [isInView]);
902
- return (React__default["default"].createElement("div", { ref: inViewRef, className: styles$1.trigger, "data-testid": DATA_LOAD_MORE_TEST_ID }));
876
+ return (React__default["default"].createElement("div", { ref: inViewRef, className: styles$2.trigger, "data-testid": DATA_LOAD_MORE_TEST_ID }));
903
877
  }
904
878
 
905
879
  const MAX_DATA_COUNT = 50;
@@ -908,12 +882,33 @@ function DataListLoadMore({ onBackToTop }) {
908
882
  const showBackToTop = data.length > MAX_DATA_COUNT && loadingState !== "loadingMore";
909
883
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
910
884
  React__default["default"].createElement(DataListLoadMoreTrigger, { key: data.length }),
911
- loadingState === "loadingMore" && (React__default["default"].createElement("div", { "data-testid": DATA_LIST_LOADING_MORE_SPINNER_TEST_ID, className: styles$1.loadingMore },
885
+ loadingState === "loadingMore" && (React__default["default"].createElement("div", { "data-testid": DATA_LIST_LOADING_MORE_SPINNER_TEST_ID, className: styles$2.loadingMore },
912
886
  React__default["default"].createElement(Spinner.Spinner, { size: "small" }))),
913
- showBackToTop && (React__default["default"].createElement("div", { className: styles$1.backToTop },
887
+ showBackToTop && (React__default["default"].createElement("div", { className: styles$2.backToTop },
914
888
  React__default["default"].createElement(Button.Button, { label: "Back to top", onClick: onBackToTop, size: "small", variation: "subtle" })))));
915
889
  }
916
890
 
891
+ var css_248z$1 = ".iyg43v-S9yU- {\n display: -ms-flexbox;\n display: flex;\n width: 100%;\n min-height: 44px;\n padding: calc(16px / 2);\n padding: var(--space-small);\n border: none;\n border-radius: 0;\n font-size: calc((16px * 1) * 0.875);\n font-size: calc(calc(16px * 1) * 0.875);\n font-size: var(--typography--fontSize-base);\n text-align: left;\n background: none;\n cursor: pointer;\n transition: background 200ms ease;\n transition: background var(--timing-base) ease;\n -webkit-appearance: none;\n appearance: none;\n -ms-flex-align: center;\n align-items: center;\n gap: calc(16px / 2);\n gap: var(--space-small);\n}\n\n.iyg43v-S9yU-:hover,\n.iyg43v-S9yU-:focus {\n background-color: rgb(250, 246, 219);\n background-color: var(--color-surface--hover);\n}\n\n.AUJNqz93ZDA- {\n font-weight: 500;\n}\n";
892
+ var styles$1 = {"action":"iyg43v-S9yU-","label":"AUJNqz93ZDA-"};
893
+ styleInject_es.styleInject(css_248z$1);
894
+
895
+ function DataListAction({ label, icon, destructive, onClick, }) {
896
+ const { activeItem } = useDataListLayoutActionsContext();
897
+ const color = destructive ? "critical" : "blue";
898
+ return (React__default["default"].createElement("button", { className: styles$1.action, onClick: handleClick },
899
+ icon && React__default["default"].createElement(Icon.Icon, { name: icon, color: color }),
900
+ React__default["default"].createElement(Typography.Typography, { textColor: color },
901
+ React__default["default"].createElement("span", { className: styles$1.label }, label))));
902
+ function handleClick() {
903
+ if (activeItem) {
904
+ onClick === null || onClick === void 0 ? void 0 : onClick(activeItem);
905
+ }
906
+ else {
907
+ onClick === null || onClick === void 0 ? void 0 : onClick();
908
+ }
909
+ }
910
+ }
911
+
917
912
  var css_248z = "._0m75bgCVBhk- {\n visibility: hidden;\n}\n";
918
913
  var styles = {"hidden":"_0m75bgCVBhk-"};
919
914
  styleInject_es.styleInject(css_248z);
@@ -921,7 +916,6 @@ styleInject_es.styleInject(css_248z);
921
916
  function DataListLayoutActions() {
922
917
  const { itemActionComponent } = useDataListContext();
923
918
  const { setHasInLayoutActions } = useDataListLayoutContext();
924
- const { activeItem } = useDataListLayoutActionsContext();
925
919
  const { children: actionsChildren } = (itemActionComponent === null || itemActionComponent === void 0 ? void 0 : itemActionComponent.props) || {};
926
920
  const actions = React.Children.toArray(actionsChildren);
927
921
  const hasActions = actions.length > 0;
@@ -934,7 +928,7 @@ function DataListLayoutActions() {
934
928
  if (!hasActions)
935
929
  return null;
936
930
  return (React__default["default"].createElement(DataListLayoutActionsWrapper, null,
937
- React__default["default"].createElement(DataListItemActionsOverflow, { actions: actions, item: activeItem })));
931
+ React__default["default"].createElement(DataListItemActionsOverflow, { actions: actions })));
938
932
  }
939
933
  function DataListLayoutActionsWrapper({ children }) {
940
934
  const { isInLayoutProvider } = useDataListLayoutContext();
@@ -9,20 +9,20 @@ var jobberHooks = require('@jobber/hooks/useResizeObserver');
9
9
  var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
10
10
  var Glimmer = require('../Glimmer-cfa92a88.js');
11
11
  var tslib_es6 = require('../tslib.es6-5b8768b7.js');
12
- var Option = require('../Option-b903e7ac.js');
13
- var Button = require('../Button-fd8413b2.js');
14
- var Text = require('../Text-e7ed0974.js');
12
+ var Option = require('../Option-9f4a65da.js');
13
+ var Button = require('../Button-d89f2271.js');
14
+ var Text = require('../Text-59bde58c.js');
15
15
  require('../Content-2ca1ffe1.js');
16
- require('../FormField-d6138b7f.js');
16
+ require('../FormField-bef41ec9.js');
17
17
  require('uuid');
18
18
  require('react-hook-form');
19
19
  require('../Icon-405a216c.js');
20
20
  require('@jobber/design');
21
- require('../InputValidation-b5a3d92c.js');
21
+ require('../InputValidation-4e809bdd.js');
22
22
  require('framer-motion');
23
23
  require('../Spinner-9d8fc7ff.js');
24
24
  require('react-router-dom');
25
- require('../Typography-fd6f932a.js');
25
+ require('../Typography-9bff9c91.js');
26
26
 
27
27
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
28
28
 
@@ -2,14 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var DatePicker = require('../DatePicker-b31baae4.js');
5
+ var DatePicker = require('../DatePicker-39d2dc8b.js');
6
6
  require('react');
7
7
  require('classnames');
8
8
  require('react-datepicker');
9
9
  require('@jobber/hooks/useRefocusOnActivator');
10
10
  require('../style-inject.es-9d2f5f4e.js');
11
- require('../Typography-fd6f932a.js');
12
- require('../Button-fd8413b2.js');
11
+ require('../Typography-9bff9c91.js');
12
+ require('../Button-d89f2271.js');
13
13
  require('react-router-dom');
14
14
  require('../Icon-405a216c.js');
15
15
  require('@jobber/design');
@@ -5,8 +5,8 @@ var classnames = require('classnames');
5
5
  var ReactDatePicker = require('react-datepicker');
6
6
  var useRefocusOnActivator = require('@jobber/hooks/useRefocusOnActivator');
7
7
  var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
8
- var Typography = require('./Typography-fd6f932a.js');
9
- var Button = require('./Button-fd8413b2.js');
8
+ var Typography = require('./Typography-9bff9c91.js');
9
+ var Button = require('./Button-d89f2271.js');
10
10
  var omit = require('lodash/omit');
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
7
- var Typography = require('../Typography-fd6f932a.js');
7
+ var Typography = require('../Typography-9bff9c91.js');
8
8
  require('classnames');
9
9
 
10
10
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -6,7 +6,7 @@ var React = require('react');
6
6
  var jobberHooks = require('@jobber/hooks/useResizeObserver');
7
7
  var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
8
8
  var Icon = require('../Icon-405a216c.js');
9
- var Typography = require('../Typography-fd6f932a.js');
9
+ var Typography = require('../Typography-9bff9c91.js');
10
10
  require('@jobber/design');
11
11
  require('classnames');
12
12
 
@@ -5,10 +5,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
  var classnames = require('classnames');
7
7
  var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
8
- var Heading = require('../Heading-a1191b15.js');
9
- var ButtonDismiss = require('../ButtonDismiss-82680c7d.js');
10
- require('../Typography-fd6f932a.js');
11
- require('../Button-fd8413b2.js');
8
+ var Heading = require('../Heading-4562900a.js');
9
+ var ButtonDismiss = require('../ButtonDismiss-250840a4.js');
10
+ require('../Typography-9bff9c91.js');
11
+ require('../Button-d89f2271.js');
12
12
  require('react-router-dom');
13
13
  require('../Icon-405a216c.js');
14
14
  require('@jobber/design');
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Emphasis = require('../Emphasis-76a10790.js');
5
+ var Emphasis = require('../Emphasis-cc3456ac.js');
6
6
  require('react');
7
- require('../Typography-fd6f932a.js');
7
+ require('../Typography-9bff9c91.js');
8
8
  require('classnames');
9
9
  require('../style-inject.es-9d2f5f4e.js');
10
10
 
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var Typography = require('./Typography-fd6f932a.js');
4
+ var Typography = require('./Typography-9bff9c91.js');
5
5
 
6
6
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
7
 
@@ -6,14 +6,14 @@ var React = require('react');
6
6
  var framerMotion = require('framer-motion');
7
7
  var classnames = require('classnames');
8
8
  var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
9
- var Heading = require('../Heading-a1191b15.js');
10
- var Text = require('../Text-e7ed0974.js');
9
+ var Heading = require('../Heading-4562900a.js');
10
+ var Text = require('../Text-59bde58c.js');
11
11
  var Content = require('../Content-2ca1ffe1.js');
12
- var Switch = require('../Switch-e75145cc.js');
13
- var Button = require('../Button-fd8413b2.js');
14
- var Emphasis = require('../Emphasis-76a10790.js');
15
- var Markdown = require('../Markdown-f6748dcb.js');
16
- require('../Typography-fd6f932a.js');
12
+ var Switch = require('../Switch-165f01e3.js');
13
+ var Button = require('../Button-d89f2271.js');
14
+ var Emphasis = require('../Emphasis-cc3456ac.js');
15
+ var Markdown = require('../Markdown-b37cf9ec.js');
16
+ require('../Typography-9bff9c91.js');
17
17
  require('react-router-dom');
18
18
  require('../Icon-405a216c.js');
19
19
  require('@jobber/design');
@@ -2,20 +2,20 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var FormField = require('../FormField-d6138b7f.js');
5
+ var FormField = require('../FormField-bef41ec9.js');
6
6
  require('../tslib.es6-5b8768b7.js');
7
7
  require('react');
8
8
  require('uuid');
9
9
  require('react-hook-form');
10
10
  require('../style-inject.es-9d2f5f4e.js');
11
11
  require('classnames');
12
- require('../Button-fd8413b2.js');
12
+ require('../Button-d89f2271.js');
13
13
  require('react-router-dom');
14
14
  require('../Icon-405a216c.js');
15
15
  require('@jobber/design');
16
- require('../Typography-fd6f932a.js');
17
- require('../Text-e7ed0974.js');
18
- require('../InputValidation-b5a3d92c.js');
16
+ require('../Typography-9bff9c91.js');
17
+ require('../Text-59bde58c.js');
18
+ require('../InputValidation-4e809bdd.js');
19
19
  require('framer-motion');
20
20
  require('../Spinner-9d8fc7ff.js');
21
21