@elliemae/ds-controlled-form 2.4.2-rc.9 → 2.4.3-rc.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 (234) hide show
  1. package/cjs/autocomplete/config/useAutocomplete.js +0 -1
  2. package/cjs/autocomplete/parts/A11yFocusedOption.js +46 -0
  3. package/cjs/autocomplete/parts/container/Container.js +36 -24
  4. package/cjs/autocomplete/parts/container/styled.js +2 -2
  5. package/cjs/autocomplete/parts/container/useKeyboardNavigation.js +2 -2
  6. package/cjs/autocomplete/parts/menu-list/MenuList.js +6 -6
  7. package/cjs/autocomplete/parts/menu-list/styled.js +2 -2
  8. package/cjs/autocomplete/parts/menu-list/useItemRenderer.js +1 -1
  9. package/cjs/autocomplete/parts/styled.js +2 -0
  10. package/cjs/autocomplete/utils/listHelper.js +1 -1
  11. package/cjs/checkbox/ControlledCheckbox.js +9 -4
  12. package/cjs/checkbox/config/useValidateProps.js +6 -3
  13. package/cjs/checkbox/react-desc-prop-types.js +2 -1
  14. package/cjs/checkbox/styles.js +93 -32
  15. package/cjs/checkbox/utils/styleHelpers.js +20 -2
  16. package/cjs/combobox/ComboBoxCTX.js +6 -3
  17. package/cjs/combobox/config/useComboBox.js +16 -6
  18. package/cjs/combobox/config/useCorrectOptions.js +1 -2
  19. package/cjs/combobox/parts/A11yFocusedOption.js +14 -6
  20. package/cjs/combobox/parts/A11ySelectedValues.js +2 -4
  21. package/cjs/combobox/parts/DropdownIndicator.js +15 -7
  22. package/cjs/combobox/parts/container/Container.js +11 -14
  23. package/cjs/combobox/parts/container/styled.js +11 -10
  24. package/cjs/combobox/parts/controls/Controls.js +19 -27
  25. package/cjs/combobox/parts/controls/styled.js +54 -22
  26. package/cjs/combobox/parts/controls/useOnPillsNavigation.js +7 -15
  27. package/cjs/combobox/parts/controls-input/ControlsInput.js +2 -2
  28. package/cjs/combobox/parts/controls-input/styled.js +41 -11
  29. package/cjs/combobox/parts/controls-input/useControlsInput.js +4 -7
  30. package/cjs/combobox/parts/controls-input/useKeyboardNavigation.js +19 -28
  31. package/cjs/combobox/parts/controls-input/useMaskedOnChange.js +7 -7
  32. package/cjs/combobox/parts/dropdown-indicator/DropdownIndicator.js +2 -2
  33. package/cjs/combobox/parts/header-list/HeaderList.js +1 -1
  34. package/cjs/combobox/parts/header-list/styled.js +39 -10
  35. package/cjs/combobox/parts/header-list/useHeaderListHandlers.js +7 -14
  36. package/cjs/combobox/parts/menu-list/MenuList.js +8 -6
  37. package/cjs/combobox/parts/menu-list/styled.js +38 -20
  38. package/cjs/combobox/parts/menu-list/useItemRenderer.js +18 -17
  39. package/cjs/combobox/parts/multi-selected-values-container/MultiSelectedValuesContainer.js +1 -1
  40. package/cjs/combobox/parts/multi-selected-values-container/RemovableSelectedValuePill.js +1 -3
  41. package/cjs/combobox/parts/multi-selected-values-container/useGroupPills.js +1 -2
  42. package/cjs/combobox/parts/styled.js +6 -7
  43. package/cjs/combobox/react-desc-prop-types.js +3 -2
  44. package/cjs/combobox/sharedTypes.js +2 -2
  45. package/cjs/combobox/utils/listHelper.js +14 -9
  46. package/cjs/date-range-picker/config/useRangePickerLogic.js +4 -8
  47. package/cjs/date-range-picker/parts/ControlledDateRangeCalendar.js +0 -2
  48. package/cjs/date-range-picker/parts/ControlledDateRangeFromDate.js +0 -2
  49. package/cjs/date-range-picker/parts/ControlledDateRangeToDate.js +0 -2
  50. package/cjs/date-time-picker/config/useChangeHandlers.js +3 -3
  51. package/cjs/date-time-picker/config/useControlledDateTimePicker.js +1 -1
  52. package/cjs/date-time-picker/config/useFocusTracker.js +1 -1
  53. package/cjs/date-time-picker/config/useGetDestructuredValues.js +6 -6
  54. package/cjs/date-time-picker/config/useGetPropsBasedOnType.js +1 -1
  55. package/cjs/date-time-picker/config/useGetReferences.js +1 -1
  56. package/cjs/date-time-picker/config/useRelevantValueFromProps.js +1 -1
  57. package/cjs/date-time-picker/config/useValidateProps.js +42 -11
  58. package/cjs/date-time-picker/parts/ClearButton/ClearButton.js +1 -3
  59. package/cjs/date-time-picker/parts/DateInputs/DDInput.js +3 -7
  60. package/cjs/date-time-picker/parts/DateInputs/MMInput.js +3 -7
  61. package/cjs/date-time-picker/parts/DateInputs/YYYYInput.js +3 -7
  62. package/cjs/date-time-picker/parts/DateInputs/useDateInputs.js +13 -23
  63. package/cjs/date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +4 -4
  64. package/cjs/date-time-picker/parts/Pickers/Calendar/CalendarHead.js +6 -14
  65. package/cjs/date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +1 -1
  66. package/cjs/date-time-picker/parts/Pickers/Calendar/Day.js +8 -10
  67. package/cjs/date-time-picker/parts/Pickers/Calendar/Styleds.js +44 -15
  68. package/cjs/date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +1 -2
  69. package/cjs/date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +2 -1
  70. package/cjs/date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +0 -1
  71. package/cjs/date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +3 -5
  72. package/cjs/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +1 -1
  73. package/cjs/date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +3 -5
  74. package/cjs/date-time-picker/parts/Pickers/TimeWheel/HoursList.js +5 -7
  75. package/cjs/date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +6 -8
  76. package/cjs/date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +5 -7
  77. package/cjs/date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +2 -2
  78. package/cjs/date-time-picker/parts/Pickers/TimeWheel/Styleds.js +47 -15
  79. package/cjs/date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +2 -5
  80. package/cjs/date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +1 -1
  81. package/cjs/date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +3 -3
  82. package/cjs/date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +2 -5
  83. package/cjs/date-time-picker/parts/Styleds.js +12 -6
  84. package/cjs/date-time-picker/parts/TimeInputs/HHInput.js +2 -4
  85. package/cjs/date-time-picker/parts/TimeInputs/MeridiemInput.js +3 -8
  86. package/cjs/date-time-picker/parts/TimeInputs/MinutesInput.js +3 -7
  87. package/cjs/date-time-picker/parts/TimeInputs/useTimeInputs.js +14 -26
  88. package/cjs/date-time-picker/utils/dateHelpers.js +17 -34
  89. package/cjs/date-time-picker/utils/hooks/useOnClickOutside.js +1 -3
  90. package/cjs/date-time-picker/utils/stringHelpers.js +5 -11
  91. package/cjs/input-group/InputGroup.js +8 -7
  92. package/cjs/input-group/exported-related/data-test-ids.js +12 -0
  93. package/cjs/input-group/exported-related/index.js +12 -0
  94. package/cjs/input-group/exported-related/theming.js +13 -0
  95. package/cjs/input-group/styled.js +90 -23
  96. package/cjs/large-text-input/DSControlledLargeTextInput.js +1 -1
  97. package/cjs/large-text-input/styles.js +27 -13
  98. package/cjs/mask-hook/hooks/useNumberMask.js +1 -5
  99. package/cjs/mask-hook/hooks/usePhoneMask.js +1 -4
  100. package/cjs/mask-hook/hooks/useRegExpMask.js +4 -7
  101. package/cjs/mask-hook/hooks/useSSNMask.js +1 -4
  102. package/cjs/mask-hook/hooks/useZipCodeMask.js +1 -4
  103. package/cjs/mask-hook/utils/addSpecialCharacters.js +0 -1
  104. package/cjs/mask-hook/utils/flatStringArray.js +0 -1
  105. package/cjs/text-input/config/useInputText.js +0 -1
  106. package/cjs/text-input/styled/borders.js +18 -11
  107. package/cjs/text-input/styled/components.js +49 -10
  108. package/cjs/toggle/ControlledToggle.js +2 -3
  109. package/cjs/toggle/styles.js +7 -5
  110. package/esm/autocomplete/config/useAutocomplete.js +0 -1
  111. package/esm/autocomplete/parts/A11yFocusedOption.js +36 -0
  112. package/esm/autocomplete/parts/container/Container.js +39 -27
  113. package/esm/autocomplete/parts/container/styled.js +2 -2
  114. package/esm/autocomplete/parts/container/useKeyboardNavigation.js +2 -2
  115. package/esm/autocomplete/parts/menu-list/MenuList.js +7 -7
  116. package/esm/autocomplete/parts/menu-list/styled.js +2 -2
  117. package/esm/autocomplete/parts/menu-list/useItemRenderer.js +1 -1
  118. package/esm/autocomplete/parts/styled.js +1 -0
  119. package/esm/autocomplete/utils/listHelper.js +1 -1
  120. package/esm/checkbox/ControlledCheckbox.js +10 -5
  121. package/esm/checkbox/config/useValidateProps.js +6 -3
  122. package/esm/checkbox/react-desc-prop-types.js +2 -1
  123. package/esm/checkbox/styles.js +93 -29
  124. package/esm/checkbox/utils/styleHelpers.js +20 -2
  125. package/esm/combobox/ComboBoxCTX.js +6 -3
  126. package/esm/combobox/config/useComboBox.js +16 -6
  127. package/esm/combobox/config/useCorrectOptions.js +1 -2
  128. package/esm/combobox/parts/A11yFocusedOption.js +15 -7
  129. package/esm/combobox/parts/A11ySelectedValues.js +2 -4
  130. package/esm/combobox/parts/DropdownIndicator.js +15 -6
  131. package/esm/combobox/parts/container/Container.js +11 -14
  132. package/esm/combobox/parts/container/styled.js +11 -6
  133. package/esm/combobox/parts/controls/Controls.js +19 -27
  134. package/esm/combobox/parts/controls/styled.js +54 -18
  135. package/esm/combobox/parts/controls/useOnPillsNavigation.js +7 -15
  136. package/esm/combobox/parts/controls-input/ControlsInput.js +2 -2
  137. package/esm/combobox/parts/controls-input/styled.js +41 -7
  138. package/esm/combobox/parts/controls-input/useControlsInput.js +4 -7
  139. package/esm/combobox/parts/controls-input/useKeyboardNavigation.js +20 -29
  140. package/esm/combobox/parts/controls-input/useMaskedOnChange.js +7 -7
  141. package/esm/combobox/parts/dropdown-indicator/DropdownIndicator.js +2 -2
  142. package/esm/combobox/parts/header-list/HeaderList.js +1 -1
  143. package/esm/combobox/parts/header-list/styled.js +40 -7
  144. package/esm/combobox/parts/header-list/useHeaderListHandlers.js +7 -14
  145. package/esm/combobox/parts/menu-list/MenuList.js +8 -6
  146. package/esm/combobox/parts/menu-list/styled.js +38 -17
  147. package/esm/combobox/parts/menu-list/useItemRenderer.js +20 -19
  148. package/esm/combobox/parts/multi-selected-values-container/MultiSelectedValuesContainer.js +1 -1
  149. package/esm/combobox/parts/multi-selected-values-container/RemovableSelectedValuePill.js +1 -3
  150. package/esm/combobox/parts/multi-selected-values-container/useGroupPills.js +1 -2
  151. package/esm/combobox/parts/styled.js +6 -3
  152. package/esm/combobox/react-desc-prop-types.js +3 -2
  153. package/esm/combobox/sharedTypes.js +2 -2
  154. package/esm/combobox/utils/listHelper.js +14 -10
  155. package/esm/date-range-picker/config/useRangePickerLogic.js +3 -7
  156. package/esm/date-range-picker/parts/ControlledDateRangeCalendar.js +0 -2
  157. package/esm/date-range-picker/parts/ControlledDateRangeFromDate.js +0 -2
  158. package/esm/date-range-picker/parts/ControlledDateRangeToDate.js +0 -2
  159. package/esm/date-time-picker/config/useChangeHandlers.js +3 -3
  160. package/esm/date-time-picker/config/useControlledDateTimePicker.js +1 -1
  161. package/esm/date-time-picker/config/useFocusTracker.js +1 -1
  162. package/esm/date-time-picker/config/useGetDestructuredValues.js +6 -6
  163. package/esm/date-time-picker/config/useGetPropsBasedOnType.js +1 -1
  164. package/esm/date-time-picker/config/useGetReferences.js +1 -1
  165. package/esm/date-time-picker/config/useRelevantValueFromProps.js +1 -1
  166. package/esm/date-time-picker/config/useValidateProps.js +42 -11
  167. package/esm/date-time-picker/parts/ClearButton/ClearButton.js +1 -3
  168. package/esm/date-time-picker/parts/DateInputs/DDInput.js +3 -7
  169. package/esm/date-time-picker/parts/DateInputs/MMInput.js +3 -7
  170. package/esm/date-time-picker/parts/DateInputs/YYYYInput.js +3 -7
  171. package/esm/date-time-picker/parts/DateInputs/useDateInputs.js +13 -23
  172. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarDaysList.js +4 -4
  173. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarHead.js +6 -14
  174. package/esm/date-time-picker/parts/Pickers/Calendar/CalendarIconTrigger.js +1 -1
  175. package/esm/date-time-picker/parts/Pickers/Calendar/Day.js +8 -10
  176. package/esm/date-time-picker/parts/Pickers/Calendar/Styleds.js +44 -14
  177. package/esm/date-time-picker/parts/Pickers/Calendar/useConfigCalendarCTX.js +0 -1
  178. package/esm/date-time-picker/parts/Pickers/Calendar/useCurrentDisplayedMonthYearLogic.js +2 -1
  179. package/esm/date-time-picker/parts/Pickers/Calendar/useFocusLogic.js +0 -1
  180. package/esm/date-time-picker/parts/Pickers/Calendar/usePopperTriggerLogic.js +3 -5
  181. package/esm/date-time-picker/parts/Pickers/CalendarWithTimeWheel/CalendarWithTimeWheelIconTrigger.js +1 -1
  182. package/esm/date-time-picker/parts/Pickers/CalendarWithTimeWheel/useConfigCalendarWithTimeWheelCTX.js +3 -5
  183. package/esm/date-time-picker/parts/Pickers/TimeWheel/HoursList.js +5 -7
  184. package/esm/date-time-picker/parts/Pickers/TimeWheel/MeridiemList.js +6 -8
  185. package/esm/date-time-picker/parts/Pickers/TimeWheel/MinutesList.js +5 -7
  186. package/esm/date-time-picker/parts/Pickers/TimeWheel/SecondsList.js +2 -2
  187. package/esm/date-time-picker/parts/Pickers/TimeWheel/Styleds.js +47 -14
  188. package/esm/date-time-picker/parts/Pickers/TimeWheel/TimeWheelContent.js +2 -5
  189. package/esm/date-time-picker/parts/Pickers/TimeWheel/TimeWheelIconTrigger.js +1 -1
  190. package/esm/date-time-picker/parts/Pickers/TimeWheel/useCurrentDisplayedWheelsLogic.js +3 -3
  191. package/esm/date-time-picker/parts/Pickers/TimeWheel/usePopperTriggerLogic.js +2 -5
  192. package/esm/date-time-picker/parts/Styleds.js +12 -6
  193. package/esm/date-time-picker/parts/TimeInputs/HHInput.js +2 -4
  194. package/esm/date-time-picker/parts/TimeInputs/MeridiemInput.js +3 -8
  195. package/esm/date-time-picker/parts/TimeInputs/MinutesInput.js +3 -7
  196. package/esm/date-time-picker/parts/TimeInputs/useTimeInputs.js +14 -26
  197. package/esm/date-time-picker/utils/dateHelpers.js +17 -34
  198. package/esm/date-time-picker/utils/hooks/useOnClickOutside.js +1 -3
  199. package/esm/date-time-picker/utils/stringHelpers.js +5 -11
  200. package/esm/input-group/InputGroup.js +5 -4
  201. package/esm/input-group/exported-related/data-test-ids.js +8 -0
  202. package/esm/input-group/exported-related/index.js +2 -0
  203. package/esm/input-group/exported-related/theming.js +8 -0
  204. package/esm/input-group/styled.js +89 -18
  205. package/esm/large-text-input/DSControlledLargeTextInput.js +1 -1
  206. package/esm/large-text-input/styles.js +27 -9
  207. package/esm/mask-hook/hooks/useNumberMask.js +1 -5
  208. package/esm/mask-hook/hooks/usePhoneMask.js +1 -4
  209. package/esm/mask-hook/hooks/useRegExpMask.js +4 -7
  210. package/esm/mask-hook/hooks/useSSNMask.js +1 -4
  211. package/esm/mask-hook/hooks/useZipCodeMask.js +1 -4
  212. package/esm/mask-hook/utils/addSpecialCharacters.js +0 -1
  213. package/esm/mask-hook/utils/flatStringArray.js +0 -1
  214. package/esm/text-input/config/useInputText.js +0 -1
  215. package/esm/text-input/styled/borders.js +18 -7
  216. package/esm/text-input/styled/components.js +49 -6
  217. package/esm/toggle/ControlledToggle.js +0 -1
  218. package/esm/toggle/styles.js +7 -5
  219. package/package.json +35 -15
  220. package/types/autocomplete/parts/A11yFocusedOption.d.ts +5 -0
  221. package/types/autocomplete/parts/container/styled.d.ts +1 -1
  222. package/types/autocomplete/parts/styled.d.ts +0 -0
  223. package/types/autocomplete/utils/listHelper.d.ts +5 -5
  224. package/types/checkbox/react-desc-prop-types.d.ts +2 -1
  225. package/types/checkbox/styles.d.ts +1 -0
  226. package/types/combobox/parts/menu-list/styled.d.ts +1 -0
  227. package/types/combobox/react-desc-prop-types.d.ts +8 -6
  228. package/types/combobox/sharedTypes.d.ts +3 -2
  229. package/types/combobox/utils/listHelper.d.ts +1 -0
  230. package/types/input-group/exported-related/data-test-ids.d.ts +6 -0
  231. package/types/input-group/exported-related/index.d.ts +2 -0
  232. package/types/input-group/exported-related/theming.d.ts +6 -0
  233. package/types/input-group/styled.d.ts +4 -7
  234. package/types/text-input/config/useInputText.d.ts +4 -4
@@ -3,7 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
- require('core-js/modules/web.dom-collections.iterator.js');
7
6
  require('core-js/modules/esnext.async-iterator.filter.js');
8
7
  require('core-js/modules/esnext.iterator.constructor.js');
9
8
  require('core-js/modules/esnext.iterator.filter.js');
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _jsx = require('@babel/runtime/helpers/jsx');
6
+ require('core-js/modules/esnext.async-iterator.find.js');
7
+ require('core-js/modules/esnext.iterator.constructor.js');
8
+ require('core-js/modules/esnext.iterator.find.js');
9
+ var React = require('react');
10
+ var dsSystem = require('@elliemae/ds-system');
11
+ var AutocompleteCTX = require('../AutocompleteCTX.js');
12
+ var listHelper = require('../utils/listHelper.js');
13
+
14
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
+
16
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
17
+
18
+ const isSeparator = el => el?.type === 'separator';
19
+ const StyledA11ySelectedValues = dsSystem.styled.span`
20
+ width: 1px;
21
+ height: 1px;
22
+ position: absolute;
23
+ clip: rect(1px, 1px, 1px, 1px);
24
+ `;
25
+ const A11yFocusedOption = () => {
26
+ const {
27
+ props: {
28
+ options
29
+ },
30
+ focusOptionIdx,
31
+ showPopover
32
+ } = React.useContext(AutocompleteCTX.AutocompleteContext);
33
+ return React.useMemo(() => {
34
+ const selectabledOptions = listHelper.getSelectableOptions(options);
35
+ const focusOption = options.find(option => !isSeparator(option) && option.dsId === focusOptionIdx);
36
+ const focusSelectableOptionIdx = selectabledOptions.findIndex(option => option.dsId === focusOptionIdx);
37
+ return /*#__PURE__*/_jsx__default["default"](StyledA11ySelectedValues, {
38
+ "aria-live": "polite"
39
+ }, void 0, !isSeparator(focusOption) && showPopover && focusOption && `option ${focusOption.label} focused.${focusSelectableOptionIdx + 1} of ${selectabledOptions.length}
40
+ `);
41
+ }, [options, showPopover, focusOptionIdx]);
42
+ };
43
+
44
+ exports.A11yFocusedOption = A11yFocusedOption;
45
+ exports.StyledA11ySelectedValues = StyledA11ySelectedValues;
46
+ exports.isSeparator = isSeparator;
@@ -13,6 +13,7 @@ var styled = require('./styled.js');
13
13
  var MenuList = require('../menu-list/MenuList.js');
14
14
  var useKeyboardNavigation = require('./useKeyboardNavigation.js');
15
15
  var AutocompleteDataTestids = require('../../AutocompleteDataTestids.js');
16
+ var A11yFocusedOption = require('../A11yFocusedOption.js');
16
17
  var jsxRuntime = require('react/jsx-runtime');
17
18
 
18
19
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -20,10 +21,11 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
20
21
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
21
22
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
23
 
23
- var _StyledPopperWrapper;
24
+ var _A11yFocusedOption, _StyledPopperWrapper;
24
25
  const Container = () => {
25
26
  const {
26
27
  props: {
28
+ id,
27
29
  startPlacementPreference,
28
30
  children,
29
31
  filter,
@@ -32,6 +34,7 @@ const Container = () => {
32
34
  showPopover,
33
35
  setReferenceElement,
34
36
  setShowPopover,
37
+ focusOptionIdx,
35
38
  referenceElement
36
39
  } = React.useContext(AutocompleteCTX.AutocompleteContext);
37
40
  React.useEffect(() => {
@@ -47,32 +50,41 @@ const Container = () => {
47
50
  const handleCloseMenu = React.useCallback(() => {
48
51
  setShowPopover(false);
49
52
  }, [setShowPopover]);
50
- const input = React__default["default"].Children.only(children);
51
53
  const {
52
54
  onInputKeyDown
53
55
  } = useKeyboardNavigation.useKeyboardNavigation();
54
- return /*#__PURE__*/jsxRuntime.jsxs(styled.StyledContainerWithPopper, {
55
- ref: setReferenceElement,
56
- role: "combobox",
57
- "aria-autocomplete": "list",
58
- "aria-controls": "autocomplete-listbox",
59
- "aria-expanded": showPopover,
60
- onKeyDown: onInputKeyDown,
61
- "data-testid": AutocompleteDataTestids.AutocompleteDataTestid.CONTAINER,
62
- children: [input, filter && /*#__PURE__*/_jsx__default["default"](dsPopperjs.DSPopperJS, {
63
- customOffset: [0, 5],
64
- closeContextMenu: handleCloseMenu,
65
- referenceElement: referenceElement,
66
- showPopover: showPopover,
67
- startPlacementPreference: startPlacementPreference,
68
- placementOrderPreference: placementOrderPreference,
69
- withoutPortal: true,
70
- withoutArrow: true,
71
- withoutAnimation: true,
72
- zIndex: 10
73
- }, void 0, _StyledPopperWrapper || (_StyledPopperWrapper = /*#__PURE__*/_jsx__default["default"](styled.StyledPopperWrapper, {
74
- tabIndex: -1
75
- }, void 0, /*#__PURE__*/_jsx__default["default"](MenuList.MenuList, {}))))]
56
+ const input = React__default["default"].Children.only(children);
57
+ const childrenWithProps = /*#__PURE__*/React__default["default"].isValidElement(input) ? /*#__PURE__*/React__default["default"].cloneElement(input, {
58
+ 'aria-activedescendant': focusOptionIdx
59
+ }) : input;
60
+ const idList = React.useMemo(() => `${id ? `${id}-` : ''}listbox`, [id]);
61
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
62
+ children: [_A11yFocusedOption || (_A11yFocusedOption = /*#__PURE__*/_jsx__default["default"](A11yFocusedOption.A11yFocusedOption, {})), /*#__PURE__*/jsxRuntime.jsxs(styled.StyledContainer, {
63
+ id: id,
64
+ ref: setReferenceElement,
65
+ role: "combobox",
66
+ "aria-autocomplete": "list",
67
+ "aria-controls": "autocomplete-listbox",
68
+ "aria-expanded": showPopover,
69
+ "aria-haspopup": "listbox",
70
+ "aria-owns": idList,
71
+ onKeyDown: onInputKeyDown,
72
+ "data-testid": AutocompleteDataTestids.AutocompleteDataTestid.CONTAINER,
73
+ children: [childrenWithProps, filter && /*#__PURE__*/_jsx__default["default"](dsPopperjs.DSPopperJS, {
74
+ customOffset: [0, 5],
75
+ closeContextMenu: handleCloseMenu,
76
+ referenceElement: referenceElement,
77
+ showPopover: showPopover,
78
+ startPlacementPreference: startPlacementPreference,
79
+ placementOrderPreference: placementOrderPreference,
80
+ withoutPortal: true,
81
+ withoutArrow: true,
82
+ withoutAnimation: true,
83
+ zIndex: 10
84
+ }, void 0, _StyledPopperWrapper || (_StyledPopperWrapper = /*#__PURE__*/_jsx__default["default"](styled.StyledPopperWrapper, {
85
+ tabIndex: -1
86
+ }, void 0, /*#__PURE__*/_jsx__default["default"](MenuList.MenuList, {}))))]
87
+ })]
76
88
  });
77
89
  };
78
90
 
@@ -8,12 +8,12 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
8
8
 
9
9
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
10
10
 
11
- const StyledContainerWithPopper = /*#__PURE__*/styled__default["default"].div.withConfig({
11
+ const StyledContainer = /*#__PURE__*/styled__default["default"].div.withConfig({
12
12
  componentId: "sc-xupfk9-0"
13
13
  })(["width:100%;height:28px;position:relative;"]);
14
14
  const StyledPopperWrapper = /*#__PURE__*/styled__default["default"].div.withConfig({
15
15
  componentId: "sc-xupfk9-1"
16
16
  })(["background:#fff;overflow:auto;position:relative;"]);
17
17
 
18
- exports.StyledContainerWithPopper = StyledContainerWithPopper;
18
+ exports.StyledContainer = StyledContainer;
19
19
  exports.StyledPopperWrapper = StyledPopperWrapper;
@@ -35,7 +35,7 @@ const useKeyboardNavigation = () => {
35
35
 
36
36
  if (e.key === 'Enter' && showPopover) {
37
37
  e.preventDefault();
38
- onSelect(currentItem === null || currentItem === void 0 ? void 0 : currentItem.label, e);
38
+ onSelect(currentItem?.label, e);
39
39
  setShowPopover(false);
40
40
  } // =============================================================================
41
41
  // ARROWS UP AND DOWN
@@ -68,7 +68,7 @@ const useKeyboardNavigation = () => {
68
68
  if (e.key === 'Escape') {
69
69
  setShowPopover(false);
70
70
  }
71
- }, [currentItem === null || currentItem === void 0 ? void 0 : currentItem.label, currentItemIndex, onSelect, options, scrollOptionIntoView, setCurrentOption, setShowPopover, showPopover]);
71
+ }, [currentItem?.label, currentItemIndex, onSelect, options, scrollOptionIntoView, setCurrentOption, setShowPopover, showPopover]);
72
72
  return {
73
73
  onInputKeyDown
74
74
  };
@@ -17,7 +17,8 @@ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
17
17
  const MenuList = () => {
18
18
  const {
19
19
  props: {
20
- options
20
+ options,
21
+ id
21
22
  },
22
23
  referenceElement,
23
24
  inputRef,
@@ -29,15 +30,14 @@ const MenuList = () => {
29
30
  } = React.useContext(AutocompleteCTX.AutocompleteContext);
30
31
  const ItemRenderer = useItemRenderer.useItemRenderer();
31
32
  const handleOnFocus = React.useCallback(() => {
32
- var _inputRef$current;
33
-
34
- (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
33
+ inputRef.current?.focus();
35
34
  }, [inputRef]);
35
+ const idList = React.useMemo(() => `${id ? `${id}-` : ''}listbox`, [id]);
36
36
  return /*#__PURE__*/_jsx__default["default"](styled.StyledListWrapper, {
37
37
  tabIndex: -1,
38
38
  onMouseDown: e => e.preventDefault(),
39
- minWidth: referenceElement === null || referenceElement === void 0 ? void 0 : referenceElement.offsetWidth,
40
- id: "autocomplete-listbox",
39
+ minWidth: referenceElement?.offsetWidth,
40
+ id: idList,
41
41
  role: "listbox"
42
42
  }, void 0, options.length > 0 && /*#__PURE__*/jsxRuntime.jsx(styled.StyledVirtualListWrapper, {
43
43
  tabIndex: -1,
@@ -14,7 +14,7 @@ const StyledListWrapper = /*#__PURE__*/styled__default["default"].div.withConfig
14
14
  let {
15
15
  minWidth
16
16
  } = _ref;
17
- return minWidth ? "".concat(minWidth, "px") : '100%';
17
+ return minWidth ? `${minWidth}px` : '100%';
18
18
  });
19
19
  const StyledList = /*#__PURE__*/styled__default["default"].ul.withConfig({
20
20
  componentId: "sc-qt1kwv-1"
@@ -25,7 +25,7 @@ const StyledVirtualListWrapper = /*#__PURE__*/styled__default["default"].div.wit
25
25
  let {
26
26
  maxHeight
27
27
  } = _ref2;
28
- return "".concat(!maxHeight ? '400' : maxHeight, "px");
28
+ return `${!maxHeight ? '400' : maxHeight}px`;
29
29
  });
30
30
 
31
31
  exports.StyledList = StyledList;
@@ -51,7 +51,7 @@ const useItemRenderer = () => {
51
51
  left: 0,
52
52
  width: '100%'
53
53
  },
54
- key: "".concat(option.dsId),
54
+ key: `${option.dsId}`,
55
55
  innerRef: vItem.measureRef
56
56
  };
57
57
 
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+
@@ -13,7 +13,7 @@ const isSelectedValueMultiple = value => Array.isArray(value);
13
13
  const findInCircularList = function (list, from, criteria) {
14
14
  let step = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
15
15
 
16
- for (let i = (from + step + list.length) % list.length; i !== from; i = (i + step + list.length) % list.length) {
16
+ for (let i = (from + step + list.length) % list.length; i !== from && from > -1; i = (i + step + list.length) % list.length) {
17
17
  if (criteria(list[i])) return i;
18
18
  }
19
19
 
@@ -86,7 +86,7 @@ const DSControlledCheckbox = props => {
86
86
  "aria-controls": ariaControls || legacyAriaControls,
87
87
  disabled: disabled,
88
88
  readOnly: readOnly,
89
- onClick: onChange,
89
+ onClick: !disabled && onChange,
90
90
  "aria-checked": checked
91
91
  }, restGlobals), {}, {
92
92
  tabIndex: 0
@@ -101,15 +101,20 @@ const DSControlledCheckbox = props => {
101
101
  disabled: disabled,
102
102
  readOnly: readOnly,
103
103
  onChange: onChange
104
- }, restGlobals))), label && /*#__PURE__*/_jsx__default["default"](styles.StyledLabel, {
104
+ }, restGlobals))), label && /*#__PURE__*/jsxRuntime.jsx(styles.StyledLabel, _objectSpread(_objectSpread({
105
105
  htmlFor: id,
106
106
  disabled: disabled,
107
107
  readOnly: readOnly,
108
108
  checked: checked,
109
+ disabled: disabled,
109
110
  "data-testid": "ds-checkbox-label",
110
111
  wrapLabel: wrapLabel
111
- }, void 0, wrapLabel ? label : /*#__PURE__*/_jsx__default["default"](dsTruncatedTooltipText.SimpleTruncatedTooltipText, {
112
- value: label
112
+ }, !disabled && (ariaControls || legacyAriaControls) ? {
113
+ onClick: onChange
114
+ } : {}), {}, {
115
+ children: wrapLabel ? /*#__PURE__*/_jsx__default["default"](styles.StyledWrapLabel, {}, void 0, label) : /*#__PURE__*/_jsx__default["default"](dsTruncatedTooltipText.SimpleTruncatedTooltipText, {
116
+ value: label
117
+ })
113
118
  }))]
114
119
  }));
115
120
  };
@@ -2,21 +2,24 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/es.error.cause.js');
5
6
  var dsPropsHelpers = require('@elliemae/ds-props-helpers');
6
7
 
7
8
  const throwError = message => {
8
- throw new Error("DSControlledCheckbox:: ".concat(message, "\n "));
9
+ throw new Error(`DSControlledCheckbox:: ${message}
10
+ `);
9
11
  };
10
12
 
11
13
  const useValidateProps = (props, propTypes) => {
12
14
  dsPropsHelpers.useValidateTypescriptPropTypes(props, propTypes);
13
15
 
14
16
  if (typeof props.label === 'undefined' && typeof props['aria-label'] === 'undefined') {
15
- throwError("Please provide a label or ariaLabel property to use this component.");
17
+ throwError(`Please provide a label or ariaLabel property to use this component.`);
16
18
  }
17
19
 
18
20
  if (props.checked === 'mixed' && typeof props['aria-controls'] === 'undefined') {
19
- throwError("Please provide an ariaControls property to use a checkbox mixed state. \n This property must be a string containing all the ids that this mixed checkbox is controlling.");
21
+ throwError(`Please provide an ariaControls property to use a checkbox mixed state.
22
+ This property must be a string containing all the ids that this mixed checkbox is controlling.`);
20
23
  }
21
24
  };
22
25
 
@@ -26,7 +26,8 @@ const defaultProps = {
26
26
  const propTypes = _objectSpread(_objectSpread({}, dsPropsHelpers.globalAttributesPropTypes), {}, {
27
27
  label: dsPropsHelpers.PropTypes.string.description('Checkbox Label property. This label is also going to be used as an aria-label for screen readers.'),
28
28
  hasError: dsPropsHelpers.PropTypes.bool.description('Whether the checkbox has error or not.'),
29
- innerRef: dsPropsHelpers.PropTypes.oneOfType([dsPropsHelpers.PropTypes.func, dsPropsHelpers.PropTypes.object]).description('Checkbox input ref.')
29
+ innerRef: dsPropsHelpers.PropTypes.oneOfType([dsPropsHelpers.PropTypes.func, dsPropsHelpers.PropTypes.object]).description('Checkbox input ref.'),
30
+ wrapLabel: dsPropsHelpers.PropTypes.bool.description('Whether to wrap or truncate the label')
30
31
  });
31
32
 
32
33
  exports.defaultProps = defaultProps;
@@ -2,48 +2,54 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
6
5
  var dsSystem = require('@elliemae/ds-system');
7
6
  var styleHelpers = require('./utils/styleHelpers.js');
8
7
  var theming = require('./exported-related/theming.js');
9
8
 
10
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
-
12
- var _taggedTemplateLiteral__default = /*#__PURE__*/_interopDefaultLegacy(_taggedTemplateLiteral);
13
-
14
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
15
9
  const StyledContainer = dsSystem.styled('div', {
16
10
  name: theming.DSCheckboxName,
17
11
  slot: theming.DSCheckboxSlots.CONTAINER
18
- })(_templateObject || (_templateObject = _taggedTemplateLiteral__default["default"](["\n display: inline-grid;\n grid-template-rows: min-content;\n grid-template-columns: ", " auto;\n align-items: center;\n"])), _ref => {
12
+ })`
13
+ display: inline-grid;
14
+ grid-template-rows: min-content;
15
+ grid-template-columns: ${_ref => {
19
16
  let {
20
17
  theme
21
18
  } = _ref;
22
19
  return theme.space.xs;
23
- });
24
- const StyledCheckBox = dsSystem.styled('span')(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral__default["default"](["\n width: ", ";\n height: ", ";\n border: 1px solid ", ";\n border-radius: 2px;\n position: relative;\n background: ", ";\n ", "\n &:focus-within {\n ", ";\n &:hover {\n ", "\n }\n }\n &:hover {\n background: ", ";\n ", ";\n }\n"])), _ref2 => {
20
+ }} auto;
21
+ align-items: center;
22
+ `;
23
+ const StyledCheckBox = dsSystem.styled('span')`
24
+ width: ${_ref2 => {
25
25
  let {
26
26
  theme
27
27
  } = _ref2;
28
28
  return theme.space.xs;
29
- }, _ref3 => {
29
+ }};
30
+ height: ${_ref3 => {
30
31
  let {
31
32
  theme
32
33
  } = _ref3;
33
34
  return theme.space.xs;
34
- }, _ref4 => {
35
+ }};
36
+ border: 1px solid ${_ref4 => {
35
37
  let {
36
38
  theme,
37
39
  hasError
38
40
  } = _ref4;
39
41
  return hasError ? theme.colors.danger[900] : theme.colors.neutral[400];
40
- }, _ref5 => {
42
+ }};
43
+ border-radius: 2px;
44
+ position: relative;
45
+ background: ${_ref5 => {
41
46
  let {
42
47
  theme,
43
48
  disabled
44
49
  } = _ref5;
45
50
  return styleHelpers.handleBackgroundColor(theme, disabled);
46
- }, _ref6 => {
51
+ }};
52
+ ${_ref6 => {
47
53
  let {
48
54
  theme,
49
55
  checked,
@@ -52,14 +58,18 @@ const StyledCheckBox = dsSystem.styled('span')(_templateObject2 || (_templateObj
52
58
  hasError
53
59
  } = _ref6;
54
60
  return styleHelpers.handleCheckmark(theme, checked, disabled, readOnly, hasError);
55
- }, _ref7 => {
61
+ }}
62
+ &:focus-within {
63
+ ${_ref7 => {
56
64
  let {
57
65
  theme,
58
66
  hasError,
59
67
  disabled
60
68
  } = _ref7;
61
- return !disabled && !hasError ? "border: 1px solid ".concat(theme.colors.brand[700], "; outline : 1px solid ").concat(theme.colors.brand[700], " ") : undefined;
62
- }, _ref8 => {
69
+ return !disabled && !hasError ? `border: 1px solid ${theme.colors.brand[700]}; outline : 1px solid ${theme.colors.brand[700]} ` : undefined;
70
+ }};
71
+ &:hover {
72
+ ${_ref8 => {
63
73
  let {
64
74
  theme,
65
75
  checked,
@@ -68,52 +78,103 @@ const StyledCheckBox = dsSystem.styled('span')(_templateObject2 || (_templateObj
68
78
  hasError
69
79
  } = _ref8;
70
80
  return styleHelpers.handleCheckmark(theme, checked, disabled, readOnly, hasError, true);
71
- }, _ref9 => {
81
+ }}
82
+ }
83
+ }
84
+ &:hover {
85
+ background: ${_ref9 => {
72
86
  let {
73
87
  theme,
74
88
  checked,
75
89
  disabled
76
90
  } = _ref9;
77
91
  return !disabled && (checked === 'mixed' || checked) ? theme.colors.brand[200] : undefined;
78
- }, _ref10 => {
92
+ }};
93
+ ${_ref10 => {
79
94
  let {
80
95
  theme,
81
96
  hasError,
82
97
  disabled,
83
98
  readOnly
84
99
  } = _ref10;
85
- return !hasError && !disabled && !readOnly ? " border: 1px solid ".concat(theme.colors.brand[600]) : undefined;
86
- });
87
- const checkboxStyles = dsSystem.css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral__default["default"](["\n &:hover {\n cursor: pointer;\n }\n &:disabled {\n cursor: not-allowed;\n }\n width: 100%;\n height: 100%;\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n"])));
100
+ return !hasError && !disabled && !readOnly ? ` border: 1px solid ${theme.colors.brand[600]}` : undefined;
101
+ }};
102
+ }
103
+ `;
104
+ const checkboxStyles = dsSystem.css`
105
+ &:hover {
106
+ cursor: pointer;
107
+ }
108
+ width: 100%;
109
+ height: 100%;
110
+ position: absolute;
111
+ top: 0;
112
+ left: 0;
113
+ opacity: 0;
114
+ `;
88
115
  const StyledInput = dsSystem.styled('input', {
89
116
  name: theming.DSCheckboxName,
90
117
  slot: theming.DSCheckboxSlots.INPUT
91
- })(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral__default["default"](["\n ", "\n"])), checkboxStyles);
118
+ })`
119
+ ${checkboxStyles}
120
+ &:disabled {
121
+ cursor: not-allowed;
122
+ }
123
+ `;
92
124
  const StyledInputMixed = dsSystem.styled('div', {
93
125
  name: theming.DSCheckboxName,
94
126
  slot: theming.DSCheckboxSlots.INPUT
95
- })(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral__default["default"](["\n ", "\n"])), checkboxStyles);
127
+ })`
128
+ ${checkboxStyles}
129
+ ${_ref11 => {
130
+ let {
131
+ disabled
132
+ } = _ref11;
133
+ return disabled ? `&:hover {
134
+ cursor: not-allowed;
135
+ }` : '';
136
+ }}
137
+ `;
96
138
  const StyledLabel = dsSystem.styled('label', {
97
139
  name: theming.DSCheckboxName,
98
140
  slot: theming.DSCheckboxSlots.LABEL
99
- })(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral__default["default"](["\n &:hover {\n cursor: pointer;\n }\n ", ";\n\n color: ", ";\n font-size: 13px;\n line-height: 13px;\n display: inherit;\n"])), _ref11 => {
141
+ })`
142
+ ${_ref12 => {
100
143
  let {
101
144
  wrapLabel,
102
145
  theme
103
- } = _ref11;
104
- return wrapLabel ? 'padding: 8px' : "padding-left: ".concat(theme.space.xxs);
105
- }, _ref12 => {
146
+ } = _ref12;
147
+ return wrapLabel ? 'padding: 8px 0px 8px 8px;' : `padding-left: ${theme.space.xxs}`;
148
+ }};
149
+
150
+ color: ${_ref13 => {
106
151
  let {
107
152
  theme,
108
153
  disabled,
109
- readOnly,
110
- checked
111
- } = _ref12;
112
- return disabled && checked !== true || readOnly ? theme.colors.neutral[500] : theme.colors.neutral[800];
113
- });
154
+ readOnly
155
+ } = _ref13;
156
+ return disabled || readOnly ? theme.colors.neutral[500] : theme.colors.neutral[800];
157
+ }};
158
+ font-size: 13px;
159
+ line-height: 13px;
160
+ display: inherit;
161
+
162
+ ${_ref14 => {
163
+ let {
164
+ disabled
165
+ } = _ref14;
166
+ return disabled ? `&:hover {
167
+ cursor: not-allowed;
168
+ }` : `&:hover {
169
+ cursor: pointer;
170
+ }`;
171
+ }}
172
+ `;
173
+ const StyledWrapLabel = dsSystem.styled('span')``;
114
174
 
115
175
  exports.StyledCheckBox = StyledCheckBox;
116
176
  exports.StyledContainer = StyledContainer;
117
177
  exports.StyledInput = StyledInput;
118
178
  exports.StyledInputMixed = StyledInputMixed;
119
179
  exports.StyledLabel = StyledLabel;
180
+ exports.StyledWrapLabel = StyledWrapLabel;
@@ -26,11 +26,29 @@ const handleCheckmark = function (theme, checked, disabled, readOnly, hasError)
26
26
  let isHovering = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
27
27
 
28
28
  if (checked === 'mixed') {
29
- return "&:before {\n position: absolute;\n content: '';\n top: 6px;\n left: 3px;\n background: ".concat(handleCheckMarkColor(theme, checked, isHovering, disabled, readOnly, hasError), ";\n width: ").concat(theme.space.xxs, ";\n height: 2px;\n }");
29
+ return `&:before {
30
+ position: absolute;
31
+ content: '';
32
+ top: 6px;
33
+ left: 3px;
34
+ background: ${handleCheckMarkColor(theme, checked, isHovering, disabled, readOnly, hasError)};
35
+ width: ${theme.space.xxs};
36
+ height: 2px;
37
+ }`;
30
38
  }
31
39
 
32
40
  if (checked) {
33
- return "&:before {\n position: absolute;\n content: '';\n top: 3px;\n left: 2px;\n border-left: 2px solid ".concat(handleCheckMarkColor(theme, checked, isHovering, disabled, readOnly, hasError), ";\n border-bottom: 2px solid ").concat(handleCheckMarkColor(theme, checked, isHovering, disabled, readOnly, hasError), ";\n height: 5px;\n width: 10px;\n transform: rotate(-45deg);\n }");
41
+ return `&:before {
42
+ position: absolute;
43
+ content: '';
44
+ top: 3px;
45
+ left: 2px;
46
+ border-left: 2px solid ${handleCheckMarkColor(theme, checked, isHovering, disabled, readOnly, hasError)};
47
+ border-bottom: 2px solid ${handleCheckMarkColor(theme, checked, isHovering, disabled, readOnly, hasError)};
48
+ height: 5px;
49
+ width: 10px;
50
+ transform: rotate(-45deg);
51
+ }`;
34
52
  }
35
53
 
36
54
  return '';
@@ -16,12 +16,14 @@ const defaultProps = {
16
16
  useMask: noop,
17
17
  innerRef: /*#__PURE__*/React.createRef(),
18
18
  startPlacementPreference: 'bottom-start',
19
- placementOrderPreference: ['bottom-start', 'bottom-end'] // override in useCombobox to avoid ref duplications when more than one cb is used
19
+ placementOrderPreference: ['bottom-start', 'bottom-end'],
20
+ noOptionsMessage: 'No Matches Found',
21
+ filteredOptions: [] // override in useCombobox to avoid ref duplications when more than one cb is used
20
22
 
21
23
  };
22
24
  const defaultContext = {
23
25
  props: defaultProps,
24
- showPopover: false,
26
+ menuState: false,
25
27
  hasFocus: false,
26
28
  referenceElement: null,
27
29
  inputValue: '',
@@ -40,7 +42,8 @@ const defaultContext = {
40
42
  setInputValue: noop,
41
43
  setReferenceElement: noop,
42
44
  setFocusOptionIdx: noop,
43
- setShowSelectedOptions: noop
45
+ setShowSelectedOptions: noop,
46
+ setMenuState: noop
44
47
  };
45
48
  /** Context for cross component communication */
46
49