@kaizen/components 1.67.1 → 1.67.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/cjs/Filter/FilterBar/context/FilterBarContext.cjs +17 -2
  2. package/dist/cjs/Filter/FilterBar/context/reducer/filterBarStateReducer.cjs +4 -0
  3. package/dist/cjs/Filter/FilterBar/context/reducer/setupFilterBarState.cjs +2 -1
  4. package/dist/cjs/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.cjs +12 -1
  5. package/dist/cjs/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.cjs +12 -1
  6. package/dist/cjs/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.cjs +13 -2
  7. package/dist/cjs/Filter/FilterMultiSelect/FilterMultiSelect.cjs +4 -2
  8. package/dist/cjs/Filter/FilterMultiSelect/context/MenuTriggerProvider/MenuTriggerProvider.cjs +4 -2
  9. package/dist/cjs/TextField/TextField.cjs +2 -2
  10. package/dist/cjs/TextField/TextField.module.scss.cjs +4 -6
  11. package/dist/esm/Filter/FilterBar/context/FilterBarContext.mjs +17 -2
  12. package/dist/esm/Filter/FilterBar/context/reducer/filterBarStateReducer.mjs +4 -0
  13. package/dist/esm/Filter/FilterBar/context/reducer/setupFilterBarState.mjs +2 -1
  14. package/dist/esm/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.mjs +13 -2
  15. package/dist/esm/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.mjs +13 -2
  16. package/dist/esm/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.mjs +14 -3
  17. package/dist/esm/Filter/FilterMultiSelect/FilterMultiSelect.mjs +4 -2
  18. package/dist/esm/Filter/FilterMultiSelect/context/MenuTriggerProvider/MenuTriggerProvider.mjs +4 -2
  19. package/dist/esm/TextField/TextField.mjs +2 -2
  20. package/dist/esm/TextField/TextField.module.scss.mjs +4 -6
  21. package/dist/styles.css +252 -465
  22. package/dist/types/Filter/FilterBar/context/FilterBarContext.d.ts +2 -0
  23. package/dist/types/Filter/FilterBar/context/reducer/filterBarStateReducer.d.ts +3 -0
  24. package/dist/types/Filter/FilterBar/context/types.d.ts +1 -0
  25. package/dist/types/Filter/FilterMultiSelect/FilterMultiSelect.d.ts +2 -1
  26. package/dist/types/Filter/FilterMultiSelect/context/MenuTriggerProvider/MenuTriggerProvider.d.ts +2 -1
  27. package/package.json +3 -3
  28. package/src/Avatar/Avatar.module.scss +4 -4
  29. package/src/Checkbox/Checkbox/Checkbox.module.scss +2 -2
  30. package/src/Filter/FilterBar/FilterBar.spec.tsx +87 -0
  31. package/src/Filter/FilterBar/context/FilterBarContext.tsx +11 -2
  32. package/src/Filter/FilterBar/context/reducer/filterBarStateReducer.ts +7 -0
  33. package/src/Filter/FilterBar/context/reducer/setupFilterBarState.ts +1 -0
  34. package/src/Filter/FilterBar/context/types.ts +1 -0
  35. package/src/Filter/FilterBar/subcomponents/AddFiltersMenu/AddFiltersMenu.tsx +12 -2
  36. package/src/Filter/FilterBar/subcomponents/FilterBarButton/FilterBarButton.tsx +10 -2
  37. package/src/Filter/FilterBar/subcomponents/FilterBarMultiSelect/FilterBarMultiSelect.tsx +18 -3
  38. package/src/Filter/FilterMultiSelect/FilterMultiSelect.tsx +3 -1
  39. package/src/Filter/FilterMultiSelect/context/MenuTriggerProvider/MenuTriggerProvider.tsx +4 -1
  40. package/src/Filter/FilterMultiSelect/subcomponents/SelectionControlButton/SelectionControlButton.module.scss +9 -10
  41. package/src/GuidanceBlock/GuidanceBlock.module.scss +4 -5
  42. package/src/Input/InputRange/InputRange.module.scss +4 -4
  43. package/src/Input/InputSearch/InputSearch.module.scss +21 -21
  44. package/src/LikertScaleLegacy/LikertScaleLegacy.module.scss +7 -8
  45. package/src/Modal/ContextModal/ContextModal.module.scss +4 -4
  46. package/src/Modal/GenericModal/GenericModal.module.scss +8 -8
  47. package/src/Modal/GenericModal/subcomponents/ModalHeader/ModalHeader.module.scss +2 -2
  48. package/src/Modal/InputEditModal/InputEditModal.module.scss +4 -4
  49. package/src/Notification/subcomponents/GenericNotification/_mixins.scss +7 -8
  50. package/src/RichTextEditor/RichTextEditor/RichTextEditor.module.scss +2 -2
  51. package/src/Select/Select.module.scss +7 -7
  52. package/src/Table/Table.module.scss +11 -7
  53. package/src/TextArea/TextArea.module.scss +4 -4
  54. package/src/TextField/TextField.module.scss +10 -36
  55. package/src/TextField/TextField.tsx +2 -4
  56. package/src/TextField/_docs/TextField.stickersheet.stories.tsx +9 -1
  57. package/src/Tile/subcomponents/GenericTile/GenericTile.module.scss +7 -8
  58. package/src/TitleBlockZen/TitleBlockZen.module.scss +14 -21
  59. package/src/TitleBlockZen/subcomponents/MobileActions.module.scss +2 -2
  60. package/src/__future__/Tag/RemovableTag/subcomponents/RemoveButton.module.scss +1 -2
@@ -80,16 +80,24 @@ var FilterBarProvider = function (_a) {
80
80
  });
81
81
  },
82
82
  showFilter: function (id) {
83
- return dispatch({
83
+ dispatch({
84
84
  type: "activate_filter",
85
85
  id: id
86
86
  });
87
+ dispatch({
88
+ type: "set_focus",
89
+ id: id
90
+ });
87
91
  },
88
92
  hideFilter: function (id) {
89
93
  dispatch({
90
94
  type: "deactivate_filter",
91
95
  id: id
92
96
  });
97
+ dispatch({
98
+ type: "set_focus",
99
+ id: "add_filter"
100
+ });
93
101
  },
94
102
  getInactiveFilters: function () {
95
103
  return getInactiveFilters.getInactiveFilters(state);
@@ -105,7 +113,14 @@ var FilterBarProvider = function (_a) {
105
113
  type: "update_values",
106
114
  values: {}
107
115
  });
108
- }
116
+ },
117
+ setFocus: function (id) {
118
+ dispatch({
119
+ type: "set_focus",
120
+ id: id
121
+ });
122
+ },
123
+ focusId: state.focusId
109
124
  };
110
125
  React.useEffect(function () {
111
126
  var shouldUpdate = checkShouldUpdateValues.checkShouldUpdateValues(state, values);
@@ -6,6 +6,10 @@ var updateSingleFilter = require('./updateSingleFilter.cjs');
6
6
  var updateValues = require('./updateValues.cjs');
7
7
  var filterBarStateReducer = function (state, action) {
8
8
  switch (action.type) {
9
+ case "set_focus":
10
+ return tslib.__assign(tslib.__assign({}, state), {
11
+ focusId: action.id
12
+ });
9
13
  case "update_values":
10
14
  return tslib.__assign({}, updateValues.updateValues(state, action.values));
11
15
  case "complete_update_values":
@@ -28,7 +28,8 @@ var setupFilterBarState = function (filters, values) {
28
28
  activeFilterIds: new Set(),
29
29
  values: values,
30
30
  dependentFilterIds: new Set(),
31
- hasUpdatedValues: false
31
+ hasUpdatedValues: false,
32
+ focusId: undefined
32
33
  });
33
34
  return updateDependentFilters.updateDependentFilters(state);
34
35
  };
@@ -16,6 +16,7 @@ function _interopDefault(e) {
16
16
  var React__default = /*#__PURE__*/_interopDefault(React);
17
17
  var AddFiltersMenu = function () {
18
18
  var formatMessage = i18nReactIntl.useIntl().formatMessage;
19
+ var buttonRef = React.useRef(null);
19
20
  var menuButtonLabel = formatMessage({
20
21
  id: "filterBar.addFiltersMenu.buttonLabel",
21
22
  defaultMessage: "Add Filters",
@@ -23,10 +24,20 @@ var AddFiltersMenu = function () {
23
24
  });
24
25
  var _a = FilterBarContext.useFilterBarContext(),
25
26
  getInactiveFilters = _a.getInactiveFilters,
26
- showFilter = _a.showFilter;
27
+ showFilter = _a.showFilter,
28
+ focusId = _a.focusId,
29
+ setFocus = _a.setFocus;
27
30
  var inactiveFilters = getInactiveFilters();
31
+ React.useEffect(function () {
32
+ var _a;
33
+ if (focusId === "add_filter") {
34
+ (_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
35
+ setFocus(undefined);
36
+ }
37
+ }, [focusId]);
28
38
  return React__default.default.createElement(Menu.Menu, {
29
39
  button: React__default.default.createElement(Button.Button, {
40
+ ref: buttonRef,
30
41
  label: menuButtonLabel,
31
42
  secondary: true,
32
43
  disabled: inactiveFilters.length === 0,
@@ -5,6 +5,7 @@ var React = require('react');
5
5
  var FilterBarContext = require('../../context/FilterBarContext.cjs');
6
6
  var FilterButton = require('../../../FilterButton/FilterButton/FilterButton.cjs');
7
7
  var FilterButtonRemovable = require('../../../FilterButton/FilterButtonRemovable/FilterButtonRemovable.cjs');
8
+ var isRefObject = require('../../../../utils/isRefObject.cjs');
8
9
  function _interopDefault(e) {
9
10
  return e && e.__esModule ? e : {
10
11
  default: e
@@ -16,7 +17,17 @@ var FilterBarButton = React.forwardRef(function (_a, ref) {
16
17
  _b = _a.isRemovable,
17
18
  isRemovable = _b === void 0 ? false : _b,
18
19
  props = tslib.__rest(_a, ["filterId", "isRemovable"]);
19
- var hideFilter = FilterBarContext.useFilterBarContext().hideFilter;
20
+ var _c = FilterBarContext.useFilterBarContext(),
21
+ hideFilter = _c.hideFilter,
22
+ focusId = _c.focusId,
23
+ setFocus = _c.setFocus;
24
+ React.useEffect(function () {
25
+ var _a, _b, _c;
26
+ if (focusId === filterId && isRefObject.isRefObject(ref)) {
27
+ (_c = (_b = (_a = ref === null || ref === void 0 ? void 0 : ref.current) === null || _a === void 0 ? void 0 : _a.triggerRef) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.focus();
28
+ setFocus(undefined);
29
+ }
30
+ }, [focusId]);
20
31
  return isRemovable ? React__default.default.createElement(FilterButtonRemovable.FilterButtonRemovable, {
21
32
  ref: ref,
22
33
  triggerButtonProps: props,
@@ -32,10 +32,13 @@ var FilterBarMultiSelect = function (_a) {
32
32
  getFilterState = _b.getFilterState,
33
33
  setFilterOpenState = _b.setFilterOpenState,
34
34
  updateValue = _b.updateValue,
35
- hideFilter = _b.hideFilter;
35
+ hideFilter = _b.hideFilter,
36
+ focusId = _b.focusId,
37
+ setFocus = _b.setFocus;
36
38
  var _c = React.useState(propsItems),
37
39
  items = _c[0],
38
40
  setItems = _c[1];
41
+ var buttonRef = React.useRef(null);
39
42
  if (!id) throw Error("Missing `id` prop in FilterBarMultiSelect");
40
43
  var filterState = getFilterState(id);
41
44
  React.useEffect(function () {
@@ -57,6 +60,13 @@ var FilterBarMultiSelect = function (_a) {
57
60
  }
58
61
  }
59
62
  }, [items]);
63
+ React.useEffect(function () {
64
+ var _a;
65
+ if (focusId === id) {
66
+ (_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
67
+ setFocus(undefined);
68
+ }
69
+ }, [focusId]);
60
70
  return React__default.default.createElement(FilterMultiSelect.FilterMultiSelect, tslib.__assign({
61
71
  label: filterState.name,
62
72
  // Convert the incoming FilterBar state to a Set (internal FilterMultiSelect state)
@@ -81,7 +91,8 @@ var FilterBarMultiSelect = function (_a) {
81
91
  return hideFilter(id);
82
92
  }
83
93
  })) : React__default.default.createElement(FilterMultiSelect.FilterMultiSelect.TriggerButton, tslib.__assign({}, triggerProps));
84
- }
94
+ },
95
+ triggerRef: buttonRef
85
96
  }, props), children);
86
97
  };
87
98
  FilterBarMultiSelect.displayName = "FilterBar.MultiSelect";
@@ -39,11 +39,13 @@ var FilterMultiSelect = function (_a) {
39
39
  onSelectionChange = _a.onSelectionChange,
40
40
  _b = _a.selectionMode,
41
41
  selectionMode = _b === void 0 ? "multiple" : _b,
42
- onSearchInputChange = _a.onSearchInputChange;
42
+ onSearchInputChange = _a.onSearchInputChange,
43
+ triggerRef = _a.triggerRef;
43
44
  var menuTriggerProps = {
44
45
  isOpen: isOpen,
45
46
  defaultOpen: defaultOpen,
46
- onOpenChange: onOpenChange
47
+ onOpenChange: onOpenChange,
48
+ triggerRef: triggerRef
47
49
  };
48
50
  var menuPopupProps = {
49
51
  isLoading: isLoading,
@@ -15,7 +15,8 @@ function MenuTriggerProvider(_a) {
15
15
  var isOpen = _a.isOpen,
16
16
  defaultOpen = _a.defaultOpen,
17
17
  onOpenChange = _a.onOpenChange,
18
- children = _a.children;
18
+ children = _a.children,
19
+ triggerRef = _a.triggerRef;
19
20
  // Create state based on the incoming props to manage the open/close
20
21
  var state = menu.useMenuTriggerState({
21
22
  isOpen: isOpen,
@@ -23,7 +24,8 @@ function MenuTriggerProvider(_a) {
23
24
  onOpenChange: onOpenChange
24
25
  });
25
26
  // Get A11y attributes and events for the menu trigger and menu elements
26
- var ref = React.useRef(null);
27
+ var fallbackRef = React.useRef(null);
28
+ var ref = triggerRef || fallbackRef;
27
29
  var _b = menu$1.useMenuTrigger({}, state, ref),
28
30
  menuTriggerProps = _b.menuTriggerProps,
29
31
  menuProps = _b.menuProps;
@@ -46,7 +46,7 @@ var TextField = function (_a) {
46
46
  id: "".concat(id, "-field-group"),
47
47
  "data-testid": "".concat(id, "-field-group"),
48
48
  inline: inline,
49
- classNameOverride: classnames__default.default(TextField_module.withLabel, disabled && TextField_module.withDisabled)
49
+ classNameOverride: classnames__default.default(reversed && TextField_module.reversed)
50
50
  }, React__default.default.createElement(Label.Label, {
51
51
  id: "".concat(id, "-field-label"),
52
52
  "data-testid": "".concat(id, "-field-label"),
@@ -64,7 +64,7 @@ var TextField = function (_a) {
64
64
  status: status,
65
65
  startIconAdornment: icon,
66
66
  endIconAdornment: status === "success" && React__default.default.createElement("div", {
67
- className: classnames__default.default(TextField_module.success, disabled && TextField_module.disabled)
67
+ className: classnames__default.default(TextField_module.icon, TextField_module.success, disabled && TextField_module.disabled)
68
68
  }, React__default.default.createElement(Icon.Icon, {
69
69
  name: "check_circle",
70
70
  isPresentational: true,
@@ -2,12 +2,10 @@
2
2
 
3
3
  var styles = {
4
4
  "input": "TextField-module_input__CEokl",
5
- "success": "TextField-module_success__pMLcV",
5
+ "icon": "TextField-module_icon__wFK4Q",
6
6
  "fade-0-to-1": "TextField-module_fade-0-to-1__Ac-99",
7
- "withReversed": "TextField-module_withReversed__agi-Q",
8
- "disabled": "TextField-module_disabled__gS8tk",
9
- "error": "TextField-module_error__7S-f2",
10
- "caution": "TextField-module_caution__3gzHk",
11
- "message": "TextField-module_message__bQOgK"
7
+ "success": "TextField-module_success__pMLcV",
8
+ "reversed": "TextField-module_reversed__qW9r1",
9
+ "disabled": "TextField-module_disabled__gS8tk"
12
10
  };
13
11
  module.exports = styles;
@@ -72,16 +72,24 @@ var FilterBarProvider = function (_a) {
72
72
  });
73
73
  },
74
74
  showFilter: function (id) {
75
- return dispatch({
75
+ dispatch({
76
76
  type: "activate_filter",
77
77
  id: id
78
78
  });
79
+ dispatch({
80
+ type: "set_focus",
81
+ id: id
82
+ });
79
83
  },
80
84
  hideFilter: function (id) {
81
85
  dispatch({
82
86
  type: "deactivate_filter",
83
87
  id: id
84
88
  });
89
+ dispatch({
90
+ type: "set_focus",
91
+ id: "add_filter"
92
+ });
85
93
  },
86
94
  getInactiveFilters: function () {
87
95
  return getInactiveFilters(state);
@@ -97,7 +105,14 @@ var FilterBarProvider = function (_a) {
97
105
  type: "update_values",
98
106
  values: {}
99
107
  });
100
- }
108
+ },
109
+ setFocus: function (id) {
110
+ dispatch({
111
+ type: "set_focus",
112
+ id: id
113
+ });
114
+ },
115
+ focusId: state.focusId
101
116
  };
102
117
  useEffect(function () {
103
118
  var shouldUpdate = checkShouldUpdateValues(state, values);
@@ -4,6 +4,10 @@ import { updateSingleFilter } from './updateSingleFilter.mjs';
4
4
  import { updateValues } from './updateValues.mjs';
5
5
  var filterBarStateReducer = function (state, action) {
6
6
  switch (action.type) {
7
+ case "set_focus":
8
+ return __assign(__assign({}, state), {
9
+ focusId: action.id
10
+ });
7
11
  case "update_values":
8
12
  return __assign({}, updateValues(state, action.values));
9
13
  case "complete_update_values":
@@ -26,7 +26,8 @@ var setupFilterBarState = function (filters, values) {
26
26
  activeFilterIds: new Set(),
27
27
  values: values,
28
28
  dependentFilterIds: new Set(),
29
- hasUpdatedValues: false
29
+ hasUpdatedValues: false,
30
+ focusId: undefined
30
31
  });
31
32
  return updateDependentFilters(state);
32
33
  };
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { useRef, useEffect } from 'react';
2
2
  import { useIntl } from '@cultureamp/i18n-react-intl';
3
3
  import { Icon } from '../../../../__future__/Icon/Icon.mjs';
4
4
  import { useFilterBarContext } from '../../context/FilterBarContext.mjs';
@@ -9,6 +9,7 @@ import { Button } from '../../../../__actions__/Button/v1/Button/Button.mjs';
9
9
  const AddFiltersMenu = /*#__PURE__*/function () {
10
10
  const AddFiltersMenu = function () {
11
11
  var formatMessage = useIntl().formatMessage;
12
+ var buttonRef = useRef(null);
12
13
  var menuButtonLabel = formatMessage({
13
14
  id: "filterBar.addFiltersMenu.buttonLabel",
14
15
  defaultMessage: "Add Filters",
@@ -16,10 +17,20 @@ const AddFiltersMenu = /*#__PURE__*/function () {
16
17
  });
17
18
  var _a = useFilterBarContext(),
18
19
  getInactiveFilters = _a.getInactiveFilters,
19
- showFilter = _a.showFilter;
20
+ showFilter = _a.showFilter,
21
+ focusId = _a.focusId,
22
+ setFocus = _a.setFocus;
20
23
  var inactiveFilters = getInactiveFilters();
24
+ useEffect(function () {
25
+ var _a;
26
+ if (focusId === "add_filter") {
27
+ (_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
28
+ setFocus(undefined);
29
+ }
30
+ }, [focusId]);
21
31
  return /*#__PURE__*/React.createElement(Menu, {
22
32
  button: /*#__PURE__*/React.createElement(Button, {
33
+ ref: buttonRef,
23
34
  label: menuButtonLabel,
24
35
  secondary: true,
25
36
  disabled: inactiveFilters.length === 0,
@@ -1,15 +1,26 @@
1
1
  import { __rest, __assign } from 'tslib';
2
- import React, { forwardRef } from 'react';
2
+ import React, { forwardRef, useEffect } from 'react';
3
3
  import { useFilterBarContext } from '../../context/FilterBarContext.mjs';
4
4
  import { FilterButton } from '../../../FilterButton/FilterButton/FilterButton.mjs';
5
5
  import { FilterButtonRemovable } from '../../../FilterButton/FilterButtonRemovable/FilterButtonRemovable.mjs';
6
+ import { isRefObject } from '../../../../utils/isRefObject.mjs';
6
7
  const FilterBarButton = /*#__PURE__*/function () {
7
8
  const FilterBarButton = /*#__PURE__*/forwardRef(function (_a, ref) {
8
9
  var filterId = _a.filterId,
9
10
  _b = _a.isRemovable,
10
11
  isRemovable = _b === void 0 ? false : _b,
11
12
  props = __rest(_a, ["filterId", "isRemovable"]);
12
- var hideFilter = useFilterBarContext().hideFilter;
13
+ var _c = useFilterBarContext(),
14
+ hideFilter = _c.hideFilter,
15
+ focusId = _c.focusId,
16
+ setFocus = _c.setFocus;
17
+ useEffect(function () {
18
+ var _a, _b, _c;
19
+ if (focusId === filterId && isRefObject(ref)) {
20
+ (_c = (_b = (_a = ref === null || ref === void 0 ? void 0 : ref.current) === null || _a === void 0 ? void 0 : _a.triggerRef) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.focus();
21
+ setFocus(undefined);
22
+ }
23
+ }, [focusId]);
13
24
  return isRemovable ? ( /*#__PURE__*/React.createElement(FilterButtonRemovable, {
14
25
  ref: ref,
15
26
  triggerButtonProps: props,
@@ -1,5 +1,5 @@
1
1
  import { __rest, __assign } from 'tslib';
2
- import React, { useState, useEffect } from 'react';
2
+ import React, { useState, useRef, useEffect } from 'react';
3
3
  import { FilterMultiSelect } from '../../../FilterMultiSelect/FilterMultiSelect.mjs';
4
4
  import '../../../FilterMultiSelect/context/MenuTriggerProvider/MenuTriggerProvider.mjs';
5
5
  import '../../../FilterMultiSelect/context/SelectionProvider/SelectionProvider.mjs';
@@ -25,10 +25,13 @@ const FilterBarMultiSelect = /*#__PURE__*/function () {
25
25
  getFilterState = _b.getFilterState,
26
26
  setFilterOpenState = _b.setFilterOpenState,
27
27
  updateValue = _b.updateValue,
28
- hideFilter = _b.hideFilter;
28
+ hideFilter = _b.hideFilter,
29
+ focusId = _b.focusId,
30
+ setFocus = _b.setFocus;
29
31
  var _c = useState(propsItems),
30
32
  items = _c[0],
31
33
  setItems = _c[1];
34
+ var buttonRef = useRef(null);
32
35
  if (!id) throw Error("Missing `id` prop in FilterBarMultiSelect");
33
36
  var filterState = getFilterState(id);
34
37
  useEffect(function () {
@@ -50,6 +53,13 @@ const FilterBarMultiSelect = /*#__PURE__*/function () {
50
53
  }
51
54
  }
52
55
  }, [items]);
56
+ useEffect(function () {
57
+ var _a;
58
+ if (focusId === id) {
59
+ (_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
60
+ setFocus(undefined);
61
+ }
62
+ }, [focusId]);
53
63
  return /*#__PURE__*/React.createElement(FilterMultiSelect, __assign({
54
64
  label: filterState.name,
55
65
  // Convert the incoming FilterBar state to a Set (internal FilterMultiSelect state)
@@ -74,7 +84,8 @@ const FilterBarMultiSelect = /*#__PURE__*/function () {
74
84
  return hideFilter(id);
75
85
  }
76
86
  }))) : ( /*#__PURE__*/React.createElement(FilterMultiSelect.TriggerButton, __assign({}, triggerProps)));
77
- }
87
+ },
88
+ triggerRef: buttonRef
78
89
  }, props), children);
79
90
  };
80
91
  FilterBarMultiSelect.displayName = "FilterBar.MultiSelect";
@@ -32,11 +32,13 @@ const FilterMultiSelect = /*#__PURE__*/function () {
32
32
  onSelectionChange = _a.onSelectionChange,
33
33
  _b = _a.selectionMode,
34
34
  selectionMode = _b === void 0 ? "multiple" : _b,
35
- onSearchInputChange = _a.onSearchInputChange;
35
+ onSearchInputChange = _a.onSearchInputChange,
36
+ triggerRef = _a.triggerRef;
36
37
  var menuTriggerProps = {
37
38
  isOpen: isOpen,
38
39
  defaultOpen: defaultOpen,
39
- onOpenChange: onOpenChange
40
+ onOpenChange: onOpenChange,
41
+ triggerRef: triggerRef
40
42
  };
41
43
  var menuPopupProps = {
42
44
  isLoading: isLoading,
@@ -7,7 +7,8 @@ function MenuTriggerProvider(_a) {
7
7
  var isOpen = _a.isOpen,
8
8
  defaultOpen = _a.defaultOpen,
9
9
  onOpenChange = _a.onOpenChange,
10
- children = _a.children;
10
+ children = _a.children,
11
+ triggerRef = _a.triggerRef;
11
12
  // Create state based on the incoming props to manage the open/close
12
13
  var state = useMenuTriggerState({
13
14
  isOpen: isOpen,
@@ -15,7 +16,8 @@ function MenuTriggerProvider(_a) {
15
16
  onOpenChange: onOpenChange
16
17
  });
17
18
  // Get A11y attributes and events for the menu trigger and menu elements
18
- var ref = useRef(null);
19
+ var fallbackRef = useRef(null);
20
+ var ref = triggerRef || fallbackRef;
19
21
  var _b = useMenuTrigger({}, state, ref),
20
22
  menuTriggerProps = _b.menuTriggerProps,
21
23
  menuProps = _b.menuProps;
@@ -38,7 +38,7 @@ const TextField = /*#__PURE__*/function () {
38
38
  id: "".concat(id, "-field-group"),
39
39
  "data-testid": "".concat(id, "-field-group"),
40
40
  inline: inline,
41
- classNameOverride: classnames(styles.withLabel, disabled && styles.withDisabled)
41
+ classNameOverride: classnames(reversed && styles.reversed)
42
42
  }, /*#__PURE__*/React.createElement(Label, {
43
43
  id: "".concat(id, "-field-label"),
44
44
  "data-testid": "".concat(id, "-field-label"),
@@ -56,7 +56,7 @@ const TextField = /*#__PURE__*/function () {
56
56
  status: status,
57
57
  startIconAdornment: icon,
58
58
  endIconAdornment: status === "success" && ( /*#__PURE__*/React.createElement("div", {
59
- className: classnames(styles.success, disabled && styles.disabled)
59
+ className: classnames(styles.icon, styles.success, disabled && styles.disabled)
60
60
  }, /*#__PURE__*/React.createElement(Icon, {
61
61
  name: "check_circle",
62
62
  isPresentational: true,
@@ -1,11 +1,9 @@
1
1
  var styles = {
2
2
  "input": "TextField-module_input__CEokl",
3
- "success": "TextField-module_success__pMLcV",
3
+ "icon": "TextField-module_icon__wFK4Q",
4
4
  "fade-0-to-1": "TextField-module_fade-0-to-1__Ac-99",
5
- "withReversed": "TextField-module_withReversed__agi-Q",
6
- "disabled": "TextField-module_disabled__gS8tk",
7
- "error": "TextField-module_error__7S-f2",
8
- "caution": "TextField-module_caution__3gzHk",
9
- "message": "TextField-module_message__bQOgK"
5
+ "success": "TextField-module_success__pMLcV",
6
+ "reversed": "TextField-module_reversed__qW9r1",
7
+ "disabled": "TextField-module_disabled__gS8tk"
10
8
  };
11
9
  export { styles as default };