@elliemae/ds-controlled-form 2.4.1-rc.2 → 2.4.1-rc.6

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 (199) hide show
  1. package/cjs/autocomplete/Autocomplete.js +4 -5
  2. package/cjs/autocomplete/AutocompleteCTX.js +3 -14
  3. package/cjs/autocomplete/AutocompleteDataTestids.js +1 -7
  4. package/cjs/autocomplete/config/useAutocomplete.js +23 -10
  5. package/cjs/autocomplete/parts/container/Container.js +36 -20
  6. package/cjs/autocomplete/parts/container/styled.js +1 -5
  7. package/cjs/autocomplete/parts/{controls → container}/useKeyboardNavigation.js +8 -24
  8. package/cjs/autocomplete/parts/menu-list/MenuList.js +17 -50
  9. package/cjs/autocomplete/parts/menu-list/styled.js +9 -10
  10. package/cjs/autocomplete/parts/menu-list/useItemRenderer.js +38 -44
  11. package/cjs/autocomplete/react-desc-prop-types.js +4 -8
  12. package/cjs/autocomplete/utils/listHelper.js +8 -16
  13. package/cjs/checkbox/react-desc-prop-types.js +1 -0
  14. package/cjs/combobox/ComboBox.js +1 -0
  15. package/cjs/combobox/config/useComboBox.js +8 -2
  16. package/cjs/combobox/config/useCorrectOptions.js +14 -42
  17. package/cjs/combobox/index.js +1 -0
  18. package/cjs/combobox/parts/A11yFocusedOption.js +3 -3
  19. package/cjs/combobox/parts/controls/Controls.js +4 -2
  20. package/cjs/combobox/parts/controls-input/ControlsInput.js +2 -0
  21. package/cjs/combobox/parts/controls-input/styled.js +1 -1
  22. package/cjs/combobox/parts/controls-input/useControlsInput.js +6 -6
  23. package/cjs/combobox/parts/controls-input/useKeyboardNavigation.js +30 -26
  24. package/cjs/combobox/parts/controls-input/useMaskedOnChange.js +7 -5
  25. package/cjs/combobox/parts/dropdown-indicator/DropdownIndicator.js +6 -4
  26. package/cjs/combobox/parts/header-list/useHeaderListHandlers.js +4 -4
  27. package/cjs/combobox/parts/menu-list/MenuList.js +13 -7
  28. package/cjs/combobox/parts/menu-list/styled.js +16 -5
  29. package/cjs/combobox/parts/menu-list/useItemRenderer.js +8 -8
  30. package/cjs/combobox/parts/menu-list/useMenuListSetFocusOption.js +6 -6
  31. package/cjs/combobox/react-desc-prop-types.js +2 -1
  32. package/cjs/combobox/utils/listHelper.js +40 -11
  33. package/cjs/index.js +20 -3
  34. package/cjs/large-text-input/DSControlledLargeTextInput.js +83 -0
  35. package/cjs/large-text-input/exported-related/data-test-ids.js +11 -0
  36. package/cjs/large-text-input/exported-related/index.js +12 -0
  37. package/cjs/large-text-input/exported-related/theming.js +13 -0
  38. package/cjs/large-text-input/index.js +15 -0
  39. package/cjs/large-text-input/react-desc-prop-types.js +45 -0
  40. package/cjs/large-text-input/styles.js +40 -0
  41. package/cjs/mask-hook/hooks/index.js +11 -3
  42. package/cjs/mask-hook/hooks/useNumberMask.js +7 -0
  43. package/cjs/mask-hook/hooks/usePhoneMask.js +7 -0
  44. package/cjs/mask-hook/hooks/useRegExpMask.js +122 -0
  45. package/cjs/mask-hook/hooks/useSSNMask.js +7 -0
  46. package/cjs/mask-hook/hooks/{useZipCode.js → useZipCodeMask.js} +12 -5
  47. package/cjs/mask-hook/index.js +11 -3
  48. package/cjs/mask-hook/react-desc-prop-types.js +9 -0
  49. package/cjs/mask-hook/utils/addSpecialCharacters.js +3 -4
  50. package/cjs/mask-hook/utils/flatStringArray.js +18 -0
  51. package/cjs/mask-hook/utils/index.js +2 -0
  52. package/esm/autocomplete/Autocomplete.js +2 -3
  53. package/esm/autocomplete/AutocompleteCTX.js +3 -14
  54. package/esm/autocomplete/AutocompleteDataTestids.js +1 -7
  55. package/esm/autocomplete/config/useAutocomplete.js +27 -14
  56. package/esm/autocomplete/parts/container/Container.js +38 -23
  57. package/esm/autocomplete/parts/container/styled.js +2 -5
  58. package/esm/autocomplete/parts/{controls → container}/useKeyboardNavigation.js +8 -24
  59. package/esm/autocomplete/parts/menu-list/MenuList.js +19 -52
  60. package/esm/autocomplete/parts/menu-list/styled.js +9 -10
  61. package/esm/autocomplete/parts/menu-list/useItemRenderer.js +39 -45
  62. package/esm/autocomplete/react-desc-prop-types.js +5 -8
  63. package/esm/autocomplete/utils/listHelper.js +8 -16
  64. package/esm/checkbox/react-desc-prop-types.js +1 -0
  65. package/esm/combobox/ComboBox.js +1 -1
  66. package/esm/combobox/config/useComboBox.js +8 -2
  67. package/esm/combobox/config/useCorrectOptions.js +15 -43
  68. package/esm/combobox/index.js +1 -1
  69. package/esm/combobox/parts/A11yFocusedOption.js +3 -3
  70. package/esm/combobox/parts/controls/Controls.js +4 -2
  71. package/esm/combobox/parts/controls-input/ControlsInput.js +2 -0
  72. package/esm/combobox/parts/controls-input/styled.js +1 -1
  73. package/esm/combobox/parts/controls-input/useControlsInput.js +6 -6
  74. package/esm/combobox/parts/controls-input/useKeyboardNavigation.js +30 -26
  75. package/esm/combobox/parts/controls-input/useMaskedOnChange.js +7 -5
  76. package/esm/combobox/parts/dropdown-indicator/DropdownIndicator.js +2 -2
  77. package/esm/combobox/parts/header-list/useHeaderListHandlers.js +4 -4
  78. package/esm/combobox/parts/menu-list/MenuList.js +13 -7
  79. package/esm/combobox/parts/menu-list/styled.js +16 -5
  80. package/esm/combobox/parts/menu-list/useItemRenderer.js +8 -8
  81. package/esm/combobox/parts/menu-list/useMenuListSetFocusOption.js +6 -6
  82. package/esm/combobox/react-desc-prop-types.js +2 -1
  83. package/esm/combobox/utils/listHelper.js +38 -12
  84. package/esm/index.js +9 -5
  85. package/esm/large-text-input/DSControlledLargeTextInput.js +72 -0
  86. package/esm/large-text-input/exported-related/data-test-ids.js +7 -0
  87. package/esm/large-text-input/exported-related/index.js +2 -0
  88. package/esm/large-text-input/exported-related/theming.js +8 -0
  89. package/esm/large-text-input/index.js +3 -0
  90. package/esm/large-text-input/react-desc-prop-types.js +36 -0
  91. package/esm/large-text-input/styles.js +30 -0
  92. package/esm/mask-hook/hooks/index.js +5 -4
  93. package/esm/mask-hook/hooks/useNumberMask.js +7 -1
  94. package/esm/mask-hook/hooks/usePhoneMask.js +7 -1
  95. package/esm/mask-hook/hooks/useRegExpMask.js +116 -0
  96. package/esm/mask-hook/hooks/useSSNMask.js +7 -1
  97. package/esm/mask-hook/hooks/{useZipCode.js → useZipCodeMask.js} +11 -5
  98. package/esm/mask-hook/index.js +5 -4
  99. package/esm/mask-hook/react-desc-prop-types.js +8 -1
  100. package/esm/mask-hook/utils/addSpecialCharacters.js +3 -4
  101. package/esm/mask-hook/utils/flatStringArray.js +14 -0
  102. package/esm/mask-hook/utils/index.js +1 -0
  103. package/package.json +60 -88
  104. package/types/autocomplete/Autocomplete.d.ts +4 -61
  105. package/types/autocomplete/AutocompleteCTX.d.ts +4 -3
  106. package/types/autocomplete/AutocompleteDataTestids.d.ts +1 -7
  107. package/types/autocomplete/config/useAutocomplete.d.ts +3 -2
  108. package/types/autocomplete/parts/container/Container.d.ts +1 -2
  109. package/types/autocomplete/parts/container/styled.d.ts +0 -1
  110. package/types/autocomplete/parts/{controls → container}/useKeyboardNavigation.d.ts +0 -0
  111. package/types/autocomplete/parts/menu-list/MenuList.d.ts +1 -2
  112. package/types/autocomplete/parts/menu-list/styled.d.ts +1 -4
  113. package/types/autocomplete/parts/menu-list/useItemRenderer.d.ts +2 -3
  114. package/types/autocomplete/react-desc-prop-types.d.ts +8 -18
  115. package/types/autocomplete/sharedTypes.d.ts +1 -3
  116. package/types/autocomplete/tests/general.test.d.ts +1 -0
  117. package/types/autocomplete/tests/utils.d.ts +5 -0
  118. package/types/autocomplete/utils/listHelper.d.ts +2 -2
  119. package/types/checkbox/ControlledCheckbox.d.ts +1 -1
  120. package/types/checkbox/react-desc-prop-types.d.ts +366 -1
  121. package/types/combobox/ComboBox.d.ts +2 -2
  122. package/types/combobox/parts/dropdown-indicator/DropdownIndicator.d.ts +1 -0
  123. package/types/combobox/react-desc-prop-types.d.ts +381 -3
  124. package/types/combobox/utils/listHelper.d.ts +4 -1
  125. package/types/index.d.ts +1 -0
  126. package/types/large-text-input/DSControlledLargeTextInput.d.ts +5 -0
  127. package/types/large-text-input/exported-related/data-test-ids.d.ts +5 -0
  128. package/types/large-text-input/exported-related/index.d.ts +2 -0
  129. package/types/large-text-input/exported-related/theming.d.ts +6 -0
  130. package/types/large-text-input/index.d.ts +2 -0
  131. package/types/large-text-input/react-desc-prop-types.d.ts +447 -0
  132. package/types/large-text-input/styles.d.ts +3 -0
  133. package/types/large-text-input/tests/DSControlledLargeTextInput.test.d.ts +1 -0
  134. package/types/mask-hook/hooks/index.d.ts +2 -1
  135. package/types/mask-hook/hooks/useNumberMask.d.ts +2 -1
  136. package/types/mask-hook/hooks/usePhoneMask.d.ts +2 -1
  137. package/types/mask-hook/hooks/useRegExpMask.d.ts +4 -0
  138. package/types/mask-hook/hooks/useSSNMask.d.ts +2 -1
  139. package/types/mask-hook/hooks/useZipCodeMask.d.ts +4 -0
  140. package/types/mask-hook/react-desc-prop-types.d.ts +6 -1
  141. package/types/mask-hook/tests/useRegExpMask.test.d.ts +1 -0
  142. package/types/mask-hook/utils/flatStringArray.d.ts +1 -0
  143. package/types/mask-hook/utils/index.d.ts +1 -0
  144. package/types/text-input/DSInputText.d.ts +1 -1
  145. package/types/text-input/config/useInputText.d.ts +110 -110
  146. package/cjs/autocomplete/config/constants.js +0 -14
  147. package/cjs/autocomplete/config/useGetPropsWithDefault.js +0 -11
  148. package/cjs/autocomplete/index.d.js +0 -2
  149. package/cjs/autocomplete/parts/a11y-messages/MultiAllyMessages.js +0 -33
  150. package/cjs/autocomplete/parts/a11y-messages/SingleAllyMessages.js +0 -28
  151. package/cjs/autocomplete/parts/a11y-messages/index.js +0 -11
  152. package/cjs/autocomplete/parts/a11y-messages/styled.js +0 -15
  153. package/cjs/autocomplete/parts/controls/Controls.js +0 -63
  154. package/cjs/autocomplete/parts/controls/index.js +0 -9
  155. package/cjs/autocomplete/parts/controls/styled.js +0 -44
  156. package/cjs/autocomplete/parts/controls/useControlsInput.js +0 -44
  157. package/cjs/autocomplete/parts/controls/useMaskedOnChange.js +0 -28
  158. package/cjs/autocomplete/parts/menu-list/useMenuList.js +0 -69
  159. package/cjs/autocomplete/propTypes.js +0 -25
  160. package/cjs/autocomplete/utils/hooks/useKeyboardNavigation.js +0 -97
  161. package/cjs/autocomplete/utils/hooks/useOnElementResize.js +0 -37
  162. package/cjs/text-input/exported-related/name.js +0 -7
  163. package/cjs/text-input/exported-related/slots.js +0 -11
  164. package/esm/autocomplete/config/constants.js +0 -10
  165. package/esm/autocomplete/config/useGetPropsWithDefault.js +0 -7
  166. package/esm/autocomplete/index.d.js +0 -1
  167. package/esm/autocomplete/parts/a11y-messages/MultiAllyMessages.js +0 -25
  168. package/esm/autocomplete/parts/a11y-messages/SingleAllyMessages.js +0 -20
  169. package/esm/autocomplete/parts/a11y-messages/index.js +0 -2
  170. package/esm/autocomplete/parts/a11y-messages/styled.js +0 -7
  171. package/esm/autocomplete/parts/controls/Controls.js +0 -55
  172. package/esm/autocomplete/parts/controls/index.js +0 -1
  173. package/esm/autocomplete/parts/controls/styled.js +0 -32
  174. package/esm/autocomplete/parts/controls/useControlsInput.js +0 -40
  175. package/esm/autocomplete/parts/controls/useMaskedOnChange.js +0 -24
  176. package/esm/autocomplete/parts/menu-list/useMenuList.js +0 -65
  177. package/esm/autocomplete/propTypes.js +0 -21
  178. package/esm/autocomplete/utils/hooks/useKeyboardNavigation.js +0 -93
  179. package/esm/autocomplete/utils/hooks/useOnElementResize.js +0 -33
  180. package/esm/text-input/exported-related/name.js +0 -3
  181. package/esm/text-input/exported-related/slots.js +0 -7
  182. package/types/autocomplete/config/constants.d.ts +0 -8
  183. package/types/autocomplete/config/useGetPropsWithDefault.d.ts +0 -2
  184. package/types/autocomplete/parts/a11y-messages/MultiAllyMessages.d.ts +0 -3
  185. package/types/autocomplete/parts/a11y-messages/SingleAllyMessages.d.ts +0 -3
  186. package/types/autocomplete/parts/a11y-messages/index.d.ts +0 -2
  187. package/types/autocomplete/parts/a11y-messages/styled.d.ts +0 -1
  188. package/types/autocomplete/parts/controls/Controls.d.ts +0 -3
  189. package/types/autocomplete/parts/controls/index.d.ts +0 -1
  190. package/types/autocomplete/parts/controls/styled.d.ts +0 -8
  191. package/types/autocomplete/parts/controls/useControlsInput.d.ts +0 -9
  192. package/types/autocomplete/parts/controls/useMaskedOnChange.d.ts +0 -2
  193. package/types/autocomplete/parts/menu-list/useMenuList.d.ts +0 -2
  194. package/types/autocomplete/propTypes.d.ts +0 -51
  195. package/types/autocomplete/utils/hooks/useKeyboardNavigation.d.ts +0 -4
  196. package/types/autocomplete/utils/hooks/useOnElementResize.d.ts +0 -3
  197. package/types/mask-hook/hooks/useZipCode.d.ts +0 -3
  198. package/types/text-input/exported-related/name.d.ts +0 -1
  199. package/types/text-input/exported-related/slots.d.ts +0 -5
@@ -34,12 +34,12 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
34
34
  const useItemRenderer = () => {
35
35
  const {
36
36
  props: {
37
- options,
37
+ filteredOptions,
38
38
  onCreate,
39
39
  onChange,
40
40
  selectedValues,
41
41
  onFilter,
42
- innerRef
42
+ allOptions
43
43
  },
44
44
  setShowPopover,
45
45
  inputValue,
@@ -54,11 +54,11 @@ const useItemRenderer = () => {
54
54
  if (inputValue) {
55
55
  onCreate(inputValue);
56
56
  setInputValue('');
57
- onFilter('');
57
+ onFilter(allOptions, inputValue);
58
58
  }
59
59
  } else if (option.type === constants.MENU_OPTION_TYPES.OPTION) {
60
60
  if (!option.disabled) {
61
- if (onFilter) onFilter('');
61
+ if (onFilter) onFilter(allOptions, inputValue);
62
62
  setInputValue('');
63
63
 
64
64
  if (!multiple) {
@@ -72,7 +72,7 @@ const useItemRenderer = () => {
72
72
 
73
73
  e.stopPropagation();
74
74
  e.preventDefault();
75
- }, [onFilter, selectedValues, onChange, setShowPopover, multiple, innerRef]); // prevent blur from controls input
75
+ }, [onFilter, selectedValues, onChange, setShowPopover, multiple]); // prevent blur from controls input
76
76
 
77
77
  const handleOnMouseDown = React.useCallback(e => {
78
78
  e.preventDefault();
@@ -83,7 +83,7 @@ const useItemRenderer = () => {
83
83
  }
84
84
 
85
85
  return virtualListHelpers.virtualItems.map(vItem => {
86
- const option = options[vItem.index];
86
+ const option = filteredOptions[vItem.index];
87
87
  const generalProps = {
88
88
  wrapperStyles: {
89
89
  position: 'absolute',
@@ -133,7 +133,7 @@ const useItemRenderer = () => {
133
133
  height: "16px",
134
134
  gutter: "xxs",
135
135
  alignItems: "center"
136
- }, void 0, _StyledCreatableLabel || (_StyledCreatableLabel = /*#__PURE__*/_jsx__default["default"](styled.StyledCreatableLabel, {}, void 0, "Add:")), /*#__PURE__*/_jsx__default["default"]("span", {}, void 0, label));
136
+ }, void 0, _StyledCreatableLabel || (_StyledCreatableLabel = /*#__PURE__*/_jsx__default["default"](styled.StyledCreatableLabel, {}, void 0, "Add:")), /*#__PURE__*/_jsx__default["default"]("span", {}, void 0, "\"".concat(label, "\"")));
137
137
  },
138
138
  label: option.label,
139
139
  onClick: e => handleClick(option, e)
@@ -142,7 +142,7 @@ const useItemRenderer = () => {
142
142
 
143
143
  return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {});
144
144
  });
145
- }, [options, focusOptionIdx, selectedValues, innerRef, virtualListHelpers === null || virtualListHelpers === void 0 ? void 0 : virtualListHelpers.virtualItems]);
145
+ }, [filteredOptions, focusOptionIdx, selectedValues, virtualListHelpers]);
146
146
  };
147
147
 
148
148
  exports.useItemRenderer = useItemRenderer;
@@ -10,7 +10,7 @@ const useMenuListSetFocusOption = () => {
10
10
  const {
11
11
  props: {
12
12
  selectedValues,
13
- options
13
+ filteredOptions
14
14
  },
15
15
  setFocusOptionIdx,
16
16
  hasFocus,
@@ -19,16 +19,16 @@ const useMenuListSetFocusOption = () => {
19
19
  scrollOptionIntoView
20
20
  } = React.useContext(ComboBoxCTX.ComboBoxContext);
21
21
  const getFirstOption = React.useCallback(() => {
22
- for (let i = 0; i < options.length; i += 1) if (!['section', 'separator'].includes(options[i].type) && !options[i].disabled) {
23
- setFocusOptionIdx(options[i].dsId);
22
+ for (let i = 0; i < filteredOptions.length; i += 1) if (!['section', 'separator'].includes(filteredOptions[i].type) && !filteredOptions[i].disabled) {
23
+ setFocusOptionIdx(filteredOptions[i].dsId);
24
24
  break;
25
25
  }
26
- }, [options, setFocusOptionIdx]);
26
+ }, [filteredOptions, setFocusOptionIdx]);
27
27
  React.useEffect(() => {
28
28
  scrollOptionIntoView(focusOptionIdx); // eslint-disable-next-line react-hooks/exhaustive-deps
29
29
  }, [focusOptionIdx]);
30
30
  React.useEffect(() => {
31
- if (options.length === 0) {
31
+ if (filteredOptions.length === 0) {
32
32
  setFocusOptionIdx('');
33
33
  }
34
34
 
@@ -45,7 +45,7 @@ const useMenuListSetFocusOption = () => {
45
45
  }
46
46
 
47
47
  if (hasFocus) getFirstOption();
48
- }, [getFirstOption, inputValue, selectedValues, hasFocus, setFocusOptionIdx, options.length]);
48
+ }, [getFirstOption, inputValue, selectedValues, hasFocus, setFocusOptionIdx, filteredOptions.length]);
49
49
  };
50
50
 
51
51
  exports.useMenuListSetFocusOption = useMenuListSetFocusOption;
@@ -20,7 +20,8 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
20
20
  function noop() {}
21
21
  const ComboboxPropTypes = _objectSpread(_objectSpread({}, dsPropsHelpers.globalAttributesPropTypes), {}, {
22
22
  placeholder: dsPropsHelpers.PropTypes.string.description("input's placeholder value").defaultValue(''),
23
- options: dsPropsHelpers.PropTypes.oneOfType([dsPropsHelpers.PropTypes.array, dsPropsHelpers.PropTypes.object]).isRequired.description('List of options').defaultValue([]),
23
+ allOptions: dsPropsHelpers.PropTypes.oneOfType([dsPropsHelpers.PropTypes.array, dsPropsHelpers.PropTypes.object]).isRequired.description('List of original options').defaultValue([]),
24
+ filteredOptions: dsPropsHelpers.PropTypes.oneOfType([dsPropsHelpers.PropTypes.array, dsPropsHelpers.PropTypes.object]).description('List of filtered options to show in the menu based on the current internal input filter value').defaultValue([]),
24
25
  selectedValues: dsPropsHelpers.PropTypes.oneOfType([dsPropsHelpers.PropTypes.arrayOf(dsPropsHelpers.PropTypes.object), dsPropsHelpers.PropTypes.object]).isRequired.description('Array of option or single option selected'),
25
26
  disabled: dsPropsHelpers.PropTypes.bool.description('wheter or not the input is disabled').defaultValue('false'),
26
27
  autoFocus: dsPropsHelpers.PropTypes.bool.description('Whether the combo box uses auto focus or not').defaultValue('false'),
@@ -10,6 +10,8 @@ require('core-js/modules/esnext.iterator.some.js');
10
10
  require('core-js/modules/esnext.async-iterator.find.js');
11
11
  require('core-js/modules/esnext.iterator.find.js');
12
12
  require('core-js/modules/web.dom-collections.iterator.js');
13
+ require('core-js/modules/esnext.async-iterator.for-each.js');
14
+ require('core-js/modules/esnext.iterator.for-each.js');
13
15
  var constants = require('../constants.js');
14
16
 
15
17
  const getSelectableOptions = options => options.filter(option => option.type === constants.MENU_OPTION_TYPES.OPTION && !option.disabled);
@@ -34,15 +36,17 @@ const findInCircularList = function (list, from, criteria) {
34
36
 
35
37
  return from; // return same item
36
38
  };
39
+ const getLastValueSelected = selectedValues => {
40
+ if (Array.isArray(selectedValues)) {
41
+ return selectedValues[selectedValues.length - 1];
42
+ }
43
+
44
+ return selectedValues;
45
+ };
37
46
  const getFirstOption = (options, selectedValues, inputValue) => {
38
47
  if (!inputValue) {
39
- if (Array.isArray(selectedValues) && selectedValues.length > 0) {
40
- return selectedValues[selectedValues.length - 1].dsId;
41
- }
42
-
43
- if (selectedValues !== null && selectedValues !== void 0 && selectedValues.dsId) {
44
- return selectedValues.dsId;
45
- }
48
+ const lastValue = getLastValueSelected(selectedValues);
49
+ if (lastValue) return lastValue.dsId;
46
50
  }
47
51
 
48
52
  for (let i = 0; i < options.length; i += 1) if (!['section', 'separator'].includes(options[i].type) && !options[i].disabled) {
@@ -68,15 +72,39 @@ const getSuggestedValueOnChange = (selectedOption, selectedValues) => {
68
72
 
69
73
  return selectedOption;
70
74
  };
71
- const getLastValueSelected = selectedValues => {
72
- if (Array.isArray(selectedValues)) {
73
- return selectedValues[selectedValues.length - 1];
75
+ const filterOptions = (inputValue, options) => options.filter(option => option.type === constants.MENU_OPTION_TYPES.OPTION && option.label.toLowerCase().includes(inputValue.toLowerCase()));
76
+ const selectedValuesWithSections = (optionsToParse, multiSelectedValue) => {
77
+ var _items2;
78
+
79
+ const items = [];
80
+ if (optionsToParse) optionsToParse.forEach(option => {
81
+ // const isSelectedValue = multiSelectedValue.find((item) => item?.dsId === option.dsId);
82
+ if (option.type === constants.MENU_OPTION_TYPES.OPTION && isSelected(multiSelectedValue, option)) {
83
+ items.push(option);
84
+ }
85
+
86
+ if (option.type === constants.MENU_OPTION_TYPES.SECTION) {
87
+ var _items;
88
+
89
+ if (((_items = items[items.length - 1]) === null || _items === void 0 ? void 0 : _items.type) === constants.MENU_OPTION_TYPES.SECTION) {
90
+ items[items.length - 1] = option;
91
+ } else {
92
+ items.push(option);
93
+ }
94
+ }
95
+ });
96
+
97
+ if (((_items2 = items[items.length - 1]) === null || _items2 === void 0 ? void 0 : _items2.type) === constants.MENU_OPTION_TYPES.SECTION) {
98
+ items.pop();
74
99
  }
75
100
 
76
- return selectedValues;
101
+ return items;
77
102
  };
103
+ const getFilteredOptionsSelected = (filteredOption, selectedValues) => filteredOption.filter(option => option.type === constants.MENU_OPTION_TYPES.OPTION && isSelected(selectedValues, option));
78
104
 
105
+ exports.filterOptions = filterOptions;
79
106
  exports.findInCircularList = findInCircularList;
107
+ exports.getFilteredOptionsSelected = getFilteredOptionsSelected;
80
108
  exports.getFirstOption = getFirstOption;
81
109
  exports.getLastValueSelected = getLastValueSelected;
82
110
  exports.getOptions = getOptions;
@@ -85,3 +113,4 @@ exports.getSuggestedValueOnChange = getSuggestedValueOnChange;
85
113
  exports.isSelected = isSelected;
86
114
  exports.isSelectedValueEmpty = isSelectedValueEmpty;
87
115
  exports.isSelectedValueMultiple = isSelectedValueMultiple;
116
+ exports.selectedValuesWithSections = selectedValuesWithSections;
package/cjs/index.js CHANGED
@@ -18,11 +18,15 @@ var timeHelpers = require('./date-time-picker/utils/timeHelpers.js');
18
18
  var usePhoneMask = require('./mask-hook/hooks/usePhoneMask.js');
19
19
  var useNumberMask = require('./mask-hook/hooks/useNumberMask.js');
20
20
  var useSSNMask = require('./mask-hook/hooks/useSSNMask.js');
21
- var useZipCode = require('./mask-hook/hooks/useZipCode.js');
21
+ var useRegExpMask = require('./mask-hook/hooks/useRegExpMask.js');
22
+ var useZipCodeMask = require('./mask-hook/hooks/useZipCodeMask.js');
22
23
  var DSInputText = require('./text-input/DSInputText.js');
23
24
  var dataTestIds = require('./text-input/exported-related/data-test-ids.js');
24
25
  var theming = require('./text-input/exported-related/theming.js');
25
26
  var ControlledToggle = require('./toggle/ControlledToggle.js');
27
+ var DSControlledLargeTextInput = require('./large-text-input/DSControlledLargeTextInput.js');
28
+ var dataTestIds$1 = require('./large-text-input/exported-related/data-test-ids.js');
29
+ var theming$1 = require('./large-text-input/exported-related/theming.js');
26
30
 
27
31
 
28
32
 
@@ -31,6 +35,7 @@ exports.DSAutocompleteWithSchema = Autocomplete.DSAutocompleteWithSchema;
31
35
  exports.DSControlledCheckbox = ControlledCheckbox.DSControlledCheckbox;
32
36
  exports.DSControlledCheckboxWithSchema = ControlledCheckbox.DSControlledCheckboxWithSchema;
33
37
  exports.DSComboBox = ComboBox.DSComboBox;
38
+ exports.DSComboBoxV3 = ComboBox.DSComboBox;
34
39
  exports.DSComboBoxWithSchema = ComboBox.DSComboBoxWithSchema;
35
40
  exports.DSControlledDateRangePicker = ControlledDateRangePicker.DSControlledDateRangePicker;
36
41
  exports.DSControlledDateRangePickerWithSchema = ControlledDateRangePicker.DSControlledDateRangePickerWithSchema;
@@ -49,13 +54,20 @@ exports.getDayFromDateString = dateHelpers.getDayFromDateString;
49
54
  exports.getValidationDateStringMetaInfo = dateHelpers.getValidationDateStringMetaInfo;
50
55
  exports.getValidationTimeStringMetaInfo = timeHelpers.getValidationTimeStringMetaInfo;
51
56
  exports.UsePhoneMaskWithSchema = usePhoneMask.UsePhoneMaskWithSchema;
57
+ exports.getPhoneMaskedValue = usePhoneMask.getPhoneMaskedValue;
52
58
  exports.usePhoneMask = usePhoneMask.usePhoneMask;
53
59
  exports.UseNumberMaskWithSchema = useNumberMask.UseNumberMaskWithSchema;
60
+ exports.getNumberMaskedValue = useNumberMask.getNumberMaskedValue;
54
61
  exports.useNumberMask = useNumberMask.useNumberMask;
55
62
  exports.UseSSNMaskWithSchema = useSSNMask.UseSSNMaskWithSchema;
63
+ exports.getSSNMaskedValue = useSSNMask.getSSNMaskedValue;
56
64
  exports.useSSNMask = useSSNMask.useSSNMask;
57
- exports.UseZipCodeMaskWithSchema = useZipCode.UseZipCodeMaskWithSchema;
58
- exports.useZipCode = useZipCode.useZipCode;
65
+ exports.UseRegExpMaskWithSchema = useRegExpMask.UseRegExpMaskWithSchema;
66
+ exports.isRegExp = useRegExpMask.isRegExp;
67
+ exports.useRegExpMask = useRegExpMask.useRegExpMask;
68
+ exports.UseZipCodeMaskWithSchema = useZipCodeMask.UseZipCodeMaskWithSchema;
69
+ exports.getUseZipMaskedValue = useZipCodeMask.getUseZipMaskedValue;
70
+ exports.useZipCodeMask = useZipCodeMask.useZipCodeMask;
59
71
  exports.DSInputText = DSInputText.DSInputText;
60
72
  exports.DSInputTextWithSchema = DSInputText.DSInputTextWithSchema;
61
73
  exports.DSInputTextDataTestIds = dataTestIds.DSInputTextDataTestIds;
@@ -63,3 +75,8 @@ exports.DSInputTextName = theming.DSInputTextName;
63
75
  exports.DSInputTextSlots = theming.DSInputTextSlots;
64
76
  exports.DSControlledToggle = ControlledToggle.DSControlledToggle;
65
77
  exports.DSControlledToggleWithSchema = ControlledToggle.DSControlledToggleWithSchema;
78
+ exports.DSControlledLargeTextInput = DSControlledLargeTextInput.DSControlledLargeTextInput;
79
+ exports.DSControlledLargeTextInputWithSchema = DSControlledLargeTextInput.DSControlledLargeTextInputWithSchema;
80
+ exports.DSControlledLargetTextInputDatatestids = dataTestIds$1.DSControlledLargetTextInputDatatestids;
81
+ exports.DSControlledLargeTextInputName = theming$1.DSControlledLargeTextInputName;
82
+ exports.DSControlledLargeTextInputSlots = theming$1.DSControlledLargeTextInputSlots;
@@ -0,0 +1,83 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
10
+ var _jsx = require('@babel/runtime/helpers/jsx');
11
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
12
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
13
+ var React = require('react');
14
+ var dsPropsHelpers = require('@elliemae/ds-props-helpers');
15
+ var reactDescPropTypes = require('./react-desc-prop-types.js');
16
+ var styles = require('./styles.js');
17
+ var dataTestIds = require('./exported-related/data-test-ids.js');
18
+ var jsxRuntime = require('react/jsx-runtime');
19
+
20
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
21
+
22
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
23
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
24
+ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
25
+
26
+ const _excluded = ["maxLength", "value", "onChange", "innerRef", "resizable", "name", "id", "withoutCharacterCounter", "hasError"],
27
+ _excluded2 = ["className"];
28
+
29
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
30
+
31
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
32
+
33
+ const DSControlledLargeTextInput = props => {
34
+ dsPropsHelpers.useValidateTypescriptPropTypes(props, reactDescPropTypes.propTypes);
35
+ const propsWithDefault = dsPropsHelpers.useMemoMergePropsWithDefault(props, reactDescPropTypes.defaultProps);
36
+
37
+ const {
38
+ maxLength,
39
+ value,
40
+ onChange,
41
+ innerRef,
42
+ resizable,
43
+ name,
44
+ id,
45
+ withoutCharacterCounter,
46
+ hasError
47
+ } = propsWithDefault,
48
+ otherProps = _objectWithoutProperties__default["default"](propsWithDefault, _excluded);
49
+
50
+ const _useGetGlobalAttribut = dsPropsHelpers.useGetGlobalAttributes(otherProps),
51
+ {
52
+ className
53
+ } = _useGetGlobalAttribut,
54
+ globalAttributes = _objectWithoutProperties__default["default"](_useGetGlobalAttribut, _excluded2);
55
+
56
+ const xstyledProps = dsPropsHelpers.useGetXstyledProps(otherProps);
57
+ const handleOnChange = React.useCallback(e => onChange(e.target.value, e), [onChange]);
58
+ return /*#__PURE__*/jsxRuntime.jsxs(styles.StyledContainer, _objectSpread(_objectSpread({
59
+ className: className,
60
+ "data-testid": dataTestIds.DSControlledLargetTextInputDatatestids.CONTAINER
61
+ }, xstyledProps), {}, {
62
+ children: [/*#__PURE__*/jsxRuntime.jsx(styles.StyledTextArea, _objectSpread({
63
+ ref: innerRef,
64
+ maxLength: maxLength,
65
+ "aria-multiline": true,
66
+ value: value,
67
+ onChange: handleOnChange,
68
+ resizable: resizable,
69
+ name: name,
70
+ id: id,
71
+ "data-testid": dataTestIds.DSControlledLargetTextInputDatatestids.INPUT,
72
+ hasError: hasError
73
+ }, globalAttributes)), maxLength && !withoutCharacterCounter && /*#__PURE__*/_jsx__default["default"](styles.StyledCharCounter, {
74
+ "data-testid": dataTestIds.DSControlledLargetTextInputDatatestids.CHAR_COUNTER
75
+ }, void 0, "".concat(value.length, "/").concat(maxLength))]
76
+ }));
77
+ };
78
+
79
+ const DSControlledLargeTextInputWithSchema = dsPropsHelpers.describe(DSControlledLargeTextInput);
80
+ DSControlledLargeTextInputWithSchema.propTypes = reactDescPropTypes.propTypes;
81
+
82
+ exports.DSControlledLargeTextInput = DSControlledLargeTextInput;
83
+ exports.DSControlledLargeTextInputWithSchema = DSControlledLargeTextInputWithSchema;
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const DSControlledLargetTextInputDatatestids = {
6
+ CONTAINER: 'ds-controlled-large-text-input-container',
7
+ CHAR_COUNTER: 'ds-controlled-large-text-input-char-counter',
8
+ INPUT: 'ds-controlled-large-text-input'
9
+ };
10
+
11
+ exports.DSControlledLargetTextInputDatatestids = DSControlledLargetTextInputDatatestids;
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var dataTestIds = require('./data-test-ids.js');
6
+ var theming = require('./theming.js');
7
+
8
+
9
+
10
+ exports.DSControlledLargetTextInputDatatestids = dataTestIds.DSControlledLargetTextInputDatatestids;
11
+ exports.DSControlledLargeTextInputName = theming.DSControlledLargeTextInputName;
12
+ exports.DSControlledLargeTextInputSlots = theming.DSControlledLargeTextInputSlots;
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const DSControlledLargeTextInputName = 'ds-controlled-large-text-input';
6
+ const DSControlledLargeTextInputSlots = {
7
+ CONTAINER: 'root',
8
+ INPUT: 'input',
9
+ CHAR_COUNTER: 'char-counter'
10
+ };
11
+
12
+ exports.DSControlledLargeTextInputName = DSControlledLargeTextInputName;
13
+ exports.DSControlledLargeTextInputSlots = DSControlledLargeTextInputSlots;
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var DSControlledLargeTextInput = require('./DSControlledLargeTextInput.js');
6
+ var dataTestIds = require('./exported-related/data-test-ids.js');
7
+ var theming = require('./exported-related/theming.js');
8
+
9
+
10
+
11
+ exports.DSControlledLargeTextInput = DSControlledLargeTextInput.DSControlledLargeTextInput;
12
+ exports.DSControlledLargeTextInputWithSchema = DSControlledLargeTextInput.DSControlledLargeTextInputWithSchema;
13
+ exports.DSControlledLargetTextInputDatatestids = dataTestIds.DSControlledLargetTextInputDatatestids;
14
+ exports.DSControlledLargeTextInputName = theming.DSControlledLargeTextInputName;
15
+ exports.DSControlledLargeTextInputSlots = theming.DSControlledLargeTextInputSlots;
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
10
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
11
+ var dsPropsHelpers = require('@elliemae/ds-props-helpers');
12
+
13
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
+
15
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
16
+
17
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
18
+
19
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20
+
21
+ const noop = () => {};
22
+
23
+ const defaultProps = {
24
+ value: '',
25
+ onChange: noop,
26
+ withoutCharacterCounter: false,
27
+ resizable: false,
28
+ hasError: false
29
+ };
30
+ const propTypes = _objectSpread(_objectSpread(_objectSpread({}, dsPropsHelpers.globalAttributesPropTypes), dsPropsHelpers.xstyledPropTypes), {}, {
31
+ value: dsPropsHelpers.PropTypes.string.description('Text are value.').defaultValue(''),
32
+ onChange: dsPropsHelpers.PropTypes.func.description('OnChange cb.').defaultValue('() => {}'),
33
+ resizable: dsPropsHelpers.PropTypes.bool.description('Enables to resize the component.').defaultValue(false),
34
+ rows: dsPropsHelpers.PropTypes.string.description('Sets the number of lines for the default height. Once lines are reached, scroll behavior enables.'),
35
+ withoutCharacterCounter: dsPropsHelpers.PropTypes.bool.description('Removes the character counter.').defaultValue(false),
36
+ id: dsPropsHelpers.PropTypes.string.description('Unique id.'),
37
+ innerRef: dsPropsHelpers.PropTypes.oneOfType([dsPropsHelpers.PropTypes.object, dsPropsHelpers.PropTypes.func]).description('Inner ref to the input.'),
38
+ maxLength: dsPropsHelpers.PropTypes.string.description('Max characters allowed.'),
39
+ disabled: dsPropsHelpers.PropTypes.bool.description('Set disabled state.'),
40
+ readOnly: dsPropsHelpers.PropTypes.bool.description('Set readonly state.'),
41
+ hasError: dsPropsHelpers.PropTypes.bool.description('Set error state.').defaultValue(false)
42
+ });
43
+
44
+ exports.defaultProps = defaultProps;
45
+ exports.propTypes = propTypes;
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _taggedTemplateLiteral = require('@babel/runtime/helpers/taggedTemplateLiteral');
6
+ var dsSystem = require('@elliemae/ds-system');
7
+ var styledComponents = require('@xstyled/styled-components');
8
+ var theming = require('./exported-related/theming.js');
9
+
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;
15
+ const StyledContainer = dsSystem.styled('div', {
16
+ name: theming.DSControlledLargeTextInputName,
17
+ slot: theming.DSControlledLargeTextInputSlots.CONTAINER
18
+ })(_templateObject || (_templateObject = _taggedTemplateLiteral__default["default"](["\n display: grid;\n grid-gap: 4px;\n grid-template-rows: auto auto;\n grid-template-columns: fit-content;\n ", "\n ", "\n ", "\n"])), styledComponents.layout, styledComponents.space, styledComponents.sizing);
19
+ const StyledCharCounter = dsSystem.styled('span', {
20
+ name: theming.DSControlledLargeTextInputName,
21
+ slot: theming.DSControlledLargeTextInputSlots.CHAR_COUNTER
22
+ })(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral__default["default"](["\n justify-self: flex-end;\n"])));
23
+ const StyledTextArea = dsSystem.styled('textarea', {
24
+ name: theming.DSControlledLargeTextInputName,
25
+ slot: theming.DSControlledLargeTextInputSlots.INPUT
26
+ })(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral__default["default"](["\n width: 100%;\n ", "\n &:disabled {\n &:hover {\n cursor: not-allowed;\n }\n }\n\n ", "\n"])), _ref => {
27
+ let {
28
+ resizable
29
+ } = _ref;
30
+ return resizable ? "" : "resize: none;";
31
+ }, _ref2 => {
32
+ let {
33
+ hasError
34
+ } = _ref2;
35
+ return hasError ? "border: 1px solid red;" : "";
36
+ });
37
+
38
+ exports.StyledCharCounter = StyledCharCounter;
39
+ exports.StyledContainer = StyledContainer;
40
+ exports.StyledTextArea = StyledTextArea;
@@ -5,15 +5,23 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var usePhoneMask = require('./usePhoneMask.js');
6
6
  var useNumberMask = require('./useNumberMask.js');
7
7
  var useSSNMask = require('./useSSNMask.js');
8
- var useZipCode = require('./useZipCode.js');
8
+ var useRegExpMask = require('./useRegExpMask.js');
9
+ var useZipCodeMask = require('./useZipCodeMask.js');
9
10
 
10
11
 
11
12
 
12
13
  exports.UsePhoneMaskWithSchema = usePhoneMask.UsePhoneMaskWithSchema;
14
+ exports.getPhoneMaskedValue = usePhoneMask.getPhoneMaskedValue;
13
15
  exports.usePhoneMask = usePhoneMask.usePhoneMask;
14
16
  exports.UseNumberMaskWithSchema = useNumberMask.UseNumberMaskWithSchema;
17
+ exports.getNumberMaskedValue = useNumberMask.getNumberMaskedValue;
15
18
  exports.useNumberMask = useNumberMask.useNumberMask;
16
19
  exports.UseSSNMaskWithSchema = useSSNMask.UseSSNMaskWithSchema;
20
+ exports.getSSNMaskedValue = useSSNMask.getSSNMaskedValue;
17
21
  exports.useSSNMask = useSSNMask.useSSNMask;
18
- exports.UseZipCodeMaskWithSchema = useZipCode.UseZipCodeMaskWithSchema;
19
- exports.useZipCode = useZipCode.useZipCode;
22
+ exports.UseRegExpMaskWithSchema = useRegExpMask.UseRegExpMaskWithSchema;
23
+ exports.isRegExp = useRegExpMask.isRegExp;
24
+ exports.useRegExpMask = useRegExpMask.useRegExpMask;
25
+ exports.UseZipCodeMaskWithSchema = useZipCodeMask.UseZipCodeMaskWithSchema;
26
+ exports.getUseZipMaskedValue = useZipCodeMask.getUseZipMaskedValue;
27
+ exports.useZipCodeMask = useZipCodeMask.useZipCodeMask;
@@ -14,6 +14,8 @@ var dsUtilities = require('@elliemae/ds-utilities');
14
14
  require('core-js/modules/esnext.async-iterator.for-each.js');
15
15
  require('core-js/modules/esnext.iterator.for-each.js');
16
16
  var setCursorPosition = require('../utils/setCursorPosition.js');
17
+ require('core-js/modules/esnext.async-iterator.reduce.js');
18
+ require('core-js/modules/esnext.iterator.reduce.js');
17
19
  var reactDescPropTypes = require('../react-desc-prop-types.js');
18
20
 
19
21
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -164,8 +166,13 @@ const useNumberMask = props => {
164
166
  onBlur
165
167
  };
166
168
  };
169
+ const getNumberMaskedValue = (value, opts) => {
170
+ const [maskedValue] = conformValue(value, value.length - 1, '', opts);
171
+ return maskedValue;
172
+ };
167
173
  const UseNumberMaskWithSchema = dsPropsHelpers.describe(useNumberMask);
168
174
  UseNumberMaskWithSchema.propTypes = reactDescPropTypes.DSMaskNumberHookPropsTypes;
169
175
 
170
176
  exports.UseNumberMaskWithSchema = UseNumberMaskWithSchema;
177
+ exports.getNumberMaskedValue = getNumberMaskedValue;
171
178
  exports.useNumberMask = useNumberMask;
@@ -13,6 +13,8 @@ var dsUtilities = require('@elliemae/ds-utilities');
13
13
  var addSpecialCharacters = require('../utils/addSpecialCharacters.js');
14
14
  var getPartialMaskedPos = require('../utils/getPartialMaskedPos.js');
15
15
  var setCursorPosition = require('../utils/setCursorPosition.js');
16
+ require('core-js/modules/esnext.async-iterator.reduce.js');
17
+ require('core-js/modules/esnext.iterator.reduce.js');
16
18
  var reactDescPropTypes = require('../react-desc-prop-types.js');
17
19
 
18
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -86,8 +88,13 @@ const usePhoneMask = props => {
86
88
  onChange
87
89
  };
88
90
  };
91
+ const getPhoneMaskedValue = (value, opts) => {
92
+ const [maskedValue] = conformValue(value, value.length - 1, '', opts);
93
+ return maskedValue;
94
+ };
89
95
  const UsePhoneMaskWithSchema = dsPropsHelpers.describe(usePhoneMask);
90
96
  UsePhoneMaskWithSchema.propTypes = reactDescPropTypes.DSMaskPhoneHookPropsTypes;
91
97
 
92
98
  exports.UsePhoneMaskWithSchema = UsePhoneMaskWithSchema;
99
+ exports.getPhoneMaskedValue = getPhoneMaskedValue;
93
100
  exports.usePhoneMask = usePhoneMask;