@elliemae/ds-form 3.16.0 → 3.16.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 (544) hide show
  1. package/dist/cjs/Checkbox/index.js +4 -0
  2. package/dist/cjs/Checkbox/index.js.map +1 -1
  3. package/dist/cjs/CheckboxGroup/DSCheckboxGroup.js +8 -4
  4. package/dist/cjs/CheckboxGroup/DSCheckboxGroup.js.map +2 -2
  5. package/dist/cjs/CheckboxGroup/defaultProps.js +4 -0
  6. package/dist/cjs/CheckboxGroup/defaultProps.js.map +1 -1
  7. package/dist/cjs/CheckboxGroup/index.js +5 -1
  8. package/dist/cjs/CheckboxGroup/index.js.map +2 -2
  9. package/dist/cjs/CheckboxGroup/props.js +23 -1
  10. package/dist/cjs/CheckboxGroup/props.js.map +2 -2
  11. package/dist/cjs/ComboBox/index.js +4 -0
  12. package/dist/cjs/ComboBox/index.js.map +1 -1
  13. package/dist/cjs/ComboBoxFreeSolo/ComboBoxFreeSolo.js +52 -5
  14. package/dist/cjs/ComboBoxFreeSolo/ComboBoxFreeSolo.js.map +2 -2
  15. package/dist/cjs/ComboBoxFreeSolo/components/MultiValueLabel.js +4 -0
  16. package/dist/cjs/ComboBoxFreeSolo/components/MultiValueLabel.js.map +1 -1
  17. package/dist/cjs/ComboBoxFreeSolo/components/MultiValueRemove.js +4 -0
  18. package/dist/cjs/ComboBoxFreeSolo/components/MultiValueRemove.js.map +1 -1
  19. package/dist/cjs/ComboBoxFreeSolo/components/SingleValue.js +6 -2
  20. package/dist/cjs/ComboBoxFreeSolo/components/SingleValue.js.map +2 -2
  21. package/dist/cjs/ComboBoxFreeSolo/components/SingleValueRemove.js +4 -0
  22. package/dist/cjs/ComboBoxFreeSolo/components/SingleValueRemove.js.map +1 -1
  23. package/dist/cjs/ComboBoxFreeSolo/index.js +5 -1
  24. package/dist/cjs/ComboBoxFreeSolo/index.js.map +2 -2
  25. package/dist/cjs/DateInput/DSDateInput.js +9 -4
  26. package/dist/cjs/DateInput/DSDateInput.js.map +2 -2
  27. package/dist/cjs/DateInput/components/DateInputImpl.js +6 -1
  28. package/dist/cjs/DateInput/components/DateInputImpl.js.map +2 -2
  29. package/dist/cjs/DateInput/components/DateInputs.js +8 -1
  30. package/dist/cjs/DateInput/components/DateInputs.js.map +2 -2
  31. package/dist/cjs/DateInput/components/utils.js +5 -1
  32. package/dist/cjs/DateInput/components/utils.js.map +1 -1
  33. package/dist/cjs/DateInput/defaultProps.js +5 -1
  34. package/dist/cjs/DateInput/defaultProps.js.map +1 -1
  35. package/dist/cjs/DateInput/index.js +5 -1
  36. package/dist/cjs/DateInput/index.js.map +2 -2
  37. package/dist/cjs/DateInput/props.js +46 -0
  38. package/dist/cjs/DateInput/props.js.map +1 -1
  39. package/dist/cjs/DateInputV2/components/DSDateInput.js +7 -3
  40. package/dist/cjs/DateInputV2/components/DSDateInput.js.map +2 -2
  41. package/dist/cjs/DateInputV2/components/DateInputs.js +9 -4
  42. package/dist/cjs/DateInputV2/components/DateInputs.js.map +2 -2
  43. package/dist/cjs/DateInputV2/components/helpers.js +5 -1
  44. package/dist/cjs/DateInputV2/components/helpers.js.map +2 -2
  45. package/dist/cjs/DateInputV2/components/props.js +34 -0
  46. package/dist/cjs/DateInputV2/components/props.js.map +1 -1
  47. package/dist/cjs/DateInputV2/components/propsTypes.js +4 -0
  48. package/dist/cjs/DateInputV2/components/propsTypes.js.map +1 -1
  49. package/dist/cjs/DateInputV2/components/styled.js +4 -0
  50. package/dist/cjs/DateInputV2/components/styled.js.map +1 -1
  51. package/dist/cjs/DateInputV2/components/utils.js +5 -1
  52. package/dist/cjs/DateInputV2/components/utils.js.map +1 -1
  53. package/dist/cjs/DateInputV2/index.js +6 -2
  54. package/dist/cjs/DateInputV2/index.js.map +2 -2
  55. package/dist/cjs/ExpandableInput/DSExpandableInput.js +5 -1
  56. package/dist/cjs/ExpandableInput/DSExpandableInput.js.map +2 -2
  57. package/dist/cjs/ExpandableInput/ExpandableInputImpl.js +5 -1
  58. package/dist/cjs/ExpandableInput/ExpandableInputImpl.js.map +2 -2
  59. package/dist/cjs/ExpandableInput/index.js +5 -1
  60. package/dist/cjs/ExpandableInput/index.js.map +2 -2
  61. package/dist/cjs/FloatingLabelInput/DSFloatingLabelInput.js +70 -3
  62. package/dist/cjs/FloatingLabelInput/DSFloatingLabelInput.js.map +2 -2
  63. package/dist/cjs/FloatingLabelInput/FloatingLabelInputImpl.js +6 -2
  64. package/dist/cjs/FloatingLabelInput/FloatingLabelInputImpl.js.map +2 -2
  65. package/dist/cjs/FloatingLabelInput/getSvgPath.js +7 -1
  66. package/dist/cjs/FloatingLabelInput/getSvgPath.js.map +1 -1
  67. package/dist/cjs/FloatingLabelInput/index.js +5 -1
  68. package/dist/cjs/FloatingLabelInput/index.js.map +2 -2
  69. package/dist/cjs/FormItem/DSFormItemLayout.js +13 -7
  70. package/dist/cjs/FormItem/DSFormItemLayout.js.map +2 -2
  71. package/dist/cjs/FormItem/Error/DSError.js +6 -0
  72. package/dist/cjs/FormItem/Error/DSError.js.map +1 -1
  73. package/dist/cjs/FormItem/Feedback.js +4 -0
  74. package/dist/cjs/FormItem/Feedback.js.map +1 -1
  75. package/dist/cjs/FormItem/Label/DSLabel.js +5 -1
  76. package/dist/cjs/FormItem/Label/DSLabel.js.map +2 -2
  77. package/dist/cjs/FormItem/Suffix/Suffix.js +4 -0
  78. package/dist/cjs/FormItem/Suffix/Suffix.js.map +1 -1
  79. package/dist/cjs/FormItem/ValidationFieldWrapper.js +5 -0
  80. package/dist/cjs/FormItem/ValidationFieldWrapper.js.map +1 -1
  81. package/dist/cjs/FormItem/defaultProps.js +8 -4
  82. package/dist/cjs/FormItem/defaultProps.js.map +2 -2
  83. package/dist/cjs/FormItem/index.js +6 -2
  84. package/dist/cjs/FormItem/index.js.map +2 -2
  85. package/dist/cjs/FormItem/props.js +45 -1
  86. package/dist/cjs/FormItem/props.js.map +2 -2
  87. package/dist/cjs/FormItem/variants.js +4 -0
  88. package/dist/cjs/FormItem/variants.js.map +1 -1
  89. package/dist/cjs/Input/DSInput.js +4 -0
  90. package/dist/cjs/Input/DSInput.js.map +1 -1
  91. package/dist/cjs/Input/InputAddonWrapper.js +4 -0
  92. package/dist/cjs/Input/InputAddonWrapper.js.map +1 -1
  93. package/dist/cjs/Input/InputImpl.js +4 -0
  94. package/dist/cjs/Input/InputImpl.js.map +1 -1
  95. package/dist/cjs/Input/index.js +4 -0
  96. package/dist/cjs/Input/index.js.map +1 -1
  97. package/dist/cjs/InputGroup/AddonWrapper.js +4 -0
  98. package/dist/cjs/InputGroup/AddonWrapper.js.map +1 -1
  99. package/dist/cjs/InputGroup/DSInputGroup.js +8 -3
  100. package/dist/cjs/InputGroup/DSInputGroup.js.map +2 -2
  101. package/dist/cjs/InputGroup/defaultProps.js +4 -0
  102. package/dist/cjs/InputGroup/defaultProps.js.map +1 -1
  103. package/dist/cjs/InputGroup/index.js +5 -1
  104. package/dist/cjs/InputGroup/index.js.map +2 -2
  105. package/dist/cjs/InputGroup/props.js +19 -0
  106. package/dist/cjs/InputGroup/props.js.map +1 -1
  107. package/dist/cjs/InputMask/DSInputMask.js +10 -6
  108. package/dist/cjs/InputMask/DSInputMask.js.map +2 -2
  109. package/dist/cjs/InputMask/DSInputMaskDeprecated.js +13 -2
  110. package/dist/cjs/InputMask/DSInputMaskDeprecated.js.map +2 -2
  111. package/dist/cjs/InputMask/InputMaskContext.js +4 -0
  112. package/dist/cjs/InputMask/InputMaskContext.js.map +2 -2
  113. package/dist/cjs/InputMask/MaskPipes.js +5 -1
  114. package/dist/cjs/InputMask/MaskPipes.js.map +2 -2
  115. package/dist/cjs/InputMask/MaskTypes.js +4 -0
  116. package/dist/cjs/InputMask/MaskTypes.js.map +1 -1
  117. package/dist/cjs/InputMask/addons/AutoCorrectedDatePipe.js +4 -0
  118. package/dist/cjs/InputMask/addons/AutoCorrectedDatePipe.js.map +1 -1
  119. package/dist/cjs/InputMask/defaultProps.js +5 -1
  120. package/dist/cjs/InputMask/defaultProps.js.map +2 -2
  121. package/dist/cjs/InputMask/index.js +5 -1
  122. package/dist/cjs/InputMask/index.js.map +2 -2
  123. package/dist/cjs/InputMask/mask_types/DateInputMask.js +6 -2
  124. package/dist/cjs/InputMask/mask_types/DateInputMask.js.map +2 -2
  125. package/dist/cjs/InputMask/mask_types/DateTimeInputMask.js +6 -2
  126. package/dist/cjs/InputMask/mask_types/DateTimeInputMask.js.map +2 -2
  127. package/dist/cjs/InputMask/mask_types/DictionaryInputMask.js +6 -2
  128. package/dist/cjs/InputMask/mask_types/DictionaryInputMask.js.map +2 -2
  129. package/dist/cjs/InputMask/mask_types/NumberInputMask.js +6 -2
  130. package/dist/cjs/InputMask/mask_types/NumberInputMask.js.map +2 -2
  131. package/dist/cjs/InputMask/mask_types/PhoneInputMask.js +6 -2
  132. package/dist/cjs/InputMask/mask_types/PhoneInputMask.js.map +2 -2
  133. package/dist/cjs/InputMask/mask_types/PhoneInternationalInputMask.js +6 -2
  134. package/dist/cjs/InputMask/mask_types/PhoneInternationalInputMask.js.map +2 -2
  135. package/dist/cjs/InputMask/mask_types/SsnInputMask.js +6 -2
  136. package/dist/cjs/InputMask/mask_types/SsnInputMask.js.map +2 -2
  137. package/dist/cjs/InputMask/mask_types/UsZipCodeInputMask.js +6 -2
  138. package/dist/cjs/InputMask/mask_types/UsZipCodeInputMask.js.map +2 -2
  139. package/dist/cjs/InputMask/mask_types/ZipCodeSearchInputMask.js +6 -2
  140. package/dist/cjs/InputMask/mask_types/ZipCodeSearchInputMask.js.map +2 -2
  141. package/dist/cjs/InputMask/mask_types/index.js +13 -9
  142. package/dist/cjs/InputMask/mask_types/index.js.map +2 -2
  143. package/dist/cjs/InputMask/props.js +84 -0
  144. package/dist/cjs/InputMask/props.js.map +1 -1
  145. package/dist/cjs/InputMask/types/index.js +4 -0
  146. package/dist/cjs/InputMask/types/index.js.map +1 -1
  147. package/dist/cjs/InputMask/utils/setCaretPosition.js +4 -0
  148. package/dist/cjs/InputMask/utils/setCaretPosition.js.map +1 -1
  149. package/dist/cjs/InputProtected/DSInputProtected.js +9 -5
  150. package/dist/cjs/InputProtected/DSInputProtected.js.map +2 -2
  151. package/dist/cjs/InputProtected/defaultProps.js +5 -1
  152. package/dist/cjs/InputProtected/defaultProps.js.map +2 -2
  153. package/dist/cjs/InputProtected/index.js +6 -2
  154. package/dist/cjs/InputProtected/index.js.map +2 -2
  155. package/dist/cjs/InputProtected/options.js +4 -0
  156. package/dist/cjs/InputProtected/options.js.map +1 -1
  157. package/dist/cjs/InputProtected/props.js +9 -1
  158. package/dist/cjs/InputProtected/props.js.map +2 -2
  159. package/dist/cjs/LargeInputText/DSLargeInputText.js +6 -2
  160. package/dist/cjs/LargeInputText/DSLargeInputText.js.map +2 -2
  161. package/dist/cjs/LargeInputText/defaultProps.js +4 -0
  162. package/dist/cjs/LargeInputText/defaultProps.js.map +1 -1
  163. package/dist/cjs/LargeInputText/index.js +5 -1
  164. package/dist/cjs/LargeInputText/index.js.map +2 -2
  165. package/dist/cjs/LargeInputText/props.js +70 -0
  166. package/dist/cjs/LargeInputText/props.js.map +1 -1
  167. package/dist/cjs/MenuItem/components/MenuItem/index.js +4 -0
  168. package/dist/cjs/MenuItem/components/MenuItem/index.js.map +1 -1
  169. package/dist/cjs/MenuItem/components/MenuItem/styled.js +4 -0
  170. package/dist/cjs/MenuItem/components/MenuItem/styled.js.map +1 -1
  171. package/dist/cjs/MenuItem/components/MultiMenuItem/MultiMenuItem.js +4 -0
  172. package/dist/cjs/MenuItem/components/MultiMenuItem/MultiMenuItem.js.map +1 -1
  173. package/dist/cjs/MenuItem/components/MultiMenuItem/styled.js +4 -0
  174. package/dist/cjs/MenuItem/components/MultiMenuItem/styled.js.map +1 -1
  175. package/dist/cjs/MenuItem/components/Section/index.js +4 -0
  176. package/dist/cjs/MenuItem/components/Section/index.js.map +1 -1
  177. package/dist/cjs/MenuItem/components/Section/props.js +4 -0
  178. package/dist/cjs/MenuItem/components/Section/props.js.map +1 -1
  179. package/dist/cjs/MenuItem/components/Section/styled.js +4 -0
  180. package/dist/cjs/MenuItem/components/Section/styled.js.map +1 -1
  181. package/dist/cjs/MenuItem/components/Separator/index.js +4 -0
  182. package/dist/cjs/MenuItem/components/Separator/index.js.map +1 -1
  183. package/dist/cjs/MenuItem/components/Separator/styled.js +4 -0
  184. package/dist/cjs/MenuItem/components/Separator/styled.js.map +1 -1
  185. package/dist/cjs/MenuItem/components/SingleMenuItem/SingleMenuItem.js +4 -0
  186. package/dist/cjs/MenuItem/components/SingleMenuItem/SingleMenuItem.js.map +1 -1
  187. package/dist/cjs/MenuItem/components/SubmenuItem/index.js +4 -0
  188. package/dist/cjs/MenuItem/components/SubmenuItem/index.js.map +1 -1
  189. package/dist/cjs/MenuItem/components/SubmenuItem/styled.js +4 -0
  190. package/dist/cjs/MenuItem/components/SubmenuItem/styled.js.map +1 -1
  191. package/dist/cjs/MenuItem/components/index.js +4 -0
  192. package/dist/cjs/MenuItem/components/index.js.map +1 -1
  193. package/dist/cjs/MenuItem/components/styled.js +4 -0
  194. package/dist/cjs/MenuItem/components/styled.js.map +1 -1
  195. package/dist/cjs/MenuItem/index.js +4 -0
  196. package/dist/cjs/MenuItem/index.js.map +1 -1
  197. package/dist/cjs/MenuItem/props.js +4 -0
  198. package/dist/cjs/MenuItem/props.js.map +1 -1
  199. package/dist/cjs/Radio/Circle.js +4 -0
  200. package/dist/cjs/Radio/Circle.js.map +1 -1
  201. package/dist/cjs/Radio/DSRadio.js +35 -1
  202. package/dist/cjs/Radio/DSRadio.js.map +2 -2
  203. package/dist/cjs/Radio/index.js +5 -1
  204. package/dist/cjs/Radio/index.js.map +2 -2
  205. package/dist/cjs/RadioGroup/DSRadioGroup.js +8 -4
  206. package/dist/cjs/RadioGroup/DSRadioGroup.js.map +2 -2
  207. package/dist/cjs/RadioGroup/defaultProps.js +4 -0
  208. package/dist/cjs/RadioGroup/defaultProps.js.map +1 -1
  209. package/dist/cjs/RadioGroup/index.js +5 -1
  210. package/dist/cjs/RadioGroup/index.js.map +2 -2
  211. package/dist/cjs/RadioGroup/props.js +20 -0
  212. package/dist/cjs/RadioGroup/props.js.map +1 -1
  213. package/dist/cjs/RequiredMark/RequiredMark.js +4 -0
  214. package/dist/cjs/RequiredMark/RequiredMark.js.map +1 -1
  215. package/dist/cjs/RequiredMark/index.js +5 -1
  216. package/dist/cjs/RequiredMark/index.js.map +2 -2
  217. package/dist/cjs/SearchBox/index.js +4 -0
  218. package/dist/cjs/SearchBox/index.js.map +1 -1
  219. package/dist/cjs/TextBox/index.js +4 -0
  220. package/dist/cjs/TextBox/index.js.map +1 -1
  221. package/dist/cjs/TimeInput/DSTimeInput.js +29 -2
  222. package/dist/cjs/TimeInput/DSTimeInput.js.map +2 -2
  223. package/dist/cjs/TimeInput/TimeInputImpl.js +32 -1
  224. package/dist/cjs/TimeInput/TimeInputImpl.js.map +2 -2
  225. package/dist/cjs/TimeInput/TimeInputs.js +6 -1
  226. package/dist/cjs/TimeInput/TimeInputs.js.map +2 -2
  227. package/dist/cjs/TimeInput/index.js +5 -1
  228. package/dist/cjs/TimeInput/index.js.map +2 -2
  229. package/dist/cjs/TimeInput/utils.js +4 -0
  230. package/dist/cjs/TimeInput/utils.js.map +1 -1
  231. package/dist/cjs/Toggle/DSToggle.js +38 -1
  232. package/dist/cjs/Toggle/DSToggle.js.map +2 -2
  233. package/dist/cjs/Toggle/DSToggleImpl.js +40 -3
  234. package/dist/cjs/Toggle/DSToggleImpl.js.map +2 -2
  235. package/dist/cjs/Toggle/DSToggleRender.js +4 -0
  236. package/dist/cjs/Toggle/DSToggleRender.js.map +1 -1
  237. package/dist/cjs/Toggle/index.js +5 -1
  238. package/dist/cjs/Toggle/index.js.map +2 -2
  239. package/dist/cjs/Toggle/props.js +37 -0
  240. package/dist/cjs/Toggle/props.js.map +1 -1
  241. package/dist/cjs/Toggle/toggleHelper.js +4 -0
  242. package/dist/cjs/Toggle/toggleHelper.js.map +1 -1
  243. package/dist/cjs/index.js +25 -21
  244. package/dist/cjs/index.js.map +2 -2
  245. package/dist/cjs/package.json +7 -0
  246. package/dist/esm/CheckboxGroup/DSCheckboxGroup.js +4 -4
  247. package/dist/esm/CheckboxGroup/DSCheckboxGroup.js.map +2 -2
  248. package/dist/esm/CheckboxGroup/index.js +1 -1
  249. package/dist/esm/CheckboxGroup/index.js.map +1 -1
  250. package/dist/esm/CheckboxGroup/props.js +19 -1
  251. package/dist/esm/CheckboxGroup/props.js.map +2 -2
  252. package/dist/esm/ComboBoxFreeSolo/ComboBoxFreeSolo.js +48 -5
  253. package/dist/esm/ComboBoxFreeSolo/ComboBoxFreeSolo.js.map +2 -2
  254. package/dist/esm/ComboBoxFreeSolo/components/MultiValueLabel.js.map +1 -1
  255. package/dist/esm/ComboBoxFreeSolo/components/SingleValue.js +2 -2
  256. package/dist/esm/ComboBoxFreeSolo/components/SingleValue.js.map +1 -1
  257. package/dist/esm/ComboBoxFreeSolo/index.js +1 -1
  258. package/dist/esm/ComboBoxFreeSolo/index.js.map +1 -1
  259. package/dist/esm/DateInput/DSDateInput.js +5 -4
  260. package/dist/esm/DateInput/DSDateInput.js.map +2 -2
  261. package/dist/esm/DateInput/components/DateInputImpl.js +2 -1
  262. package/dist/esm/DateInput/components/DateInputImpl.js.map +2 -2
  263. package/dist/esm/DateInput/components/DateInputs.js +4 -1
  264. package/dist/esm/DateInput/components/DateInputs.js.map +2 -2
  265. package/dist/esm/DateInput/components/utils.js +1 -1
  266. package/dist/esm/DateInput/components/utils.js.map +1 -1
  267. package/dist/esm/DateInput/defaultProps.js +1 -1
  268. package/dist/esm/DateInput/defaultProps.js.map +1 -1
  269. package/dist/esm/DateInput/index.js +1 -1
  270. package/dist/esm/DateInput/index.js.map +1 -1
  271. package/dist/esm/DateInput/props.js +42 -0
  272. package/dist/esm/DateInput/props.js.map +1 -1
  273. package/dist/esm/DateInputV2/components/DSDateInput.js +3 -3
  274. package/dist/esm/DateInputV2/components/DSDateInput.js.map +1 -1
  275. package/dist/esm/DateInputV2/components/DateInputs.js +5 -4
  276. package/dist/esm/DateInputV2/components/DateInputs.js.map +2 -2
  277. package/dist/esm/DateInputV2/components/helpers.js +1 -1
  278. package/dist/esm/DateInputV2/components/helpers.js.map +1 -1
  279. package/dist/esm/DateInputV2/components/props.js +30 -0
  280. package/dist/esm/DateInputV2/components/props.js.map +1 -1
  281. package/dist/esm/DateInputV2/components/styled.js.map +1 -1
  282. package/dist/esm/DateInputV2/components/utils.js +1 -1
  283. package/dist/esm/DateInputV2/components/utils.js.map +1 -1
  284. package/dist/esm/DateInputV2/index.js +2 -2
  285. package/dist/esm/DateInputV2/index.js.map +1 -1
  286. package/dist/esm/ExpandableInput/DSExpandableInput.js +1 -1
  287. package/dist/esm/ExpandableInput/DSExpandableInput.js.map +1 -1
  288. package/dist/esm/ExpandableInput/ExpandableInputImpl.js +1 -1
  289. package/dist/esm/ExpandableInput/ExpandableInputImpl.js.map +1 -1
  290. package/dist/esm/ExpandableInput/index.js +1 -1
  291. package/dist/esm/ExpandableInput/index.js.map +1 -1
  292. package/dist/esm/FloatingLabelInput/DSFloatingLabelInput.js +66 -3
  293. package/dist/esm/FloatingLabelInput/DSFloatingLabelInput.js.map +2 -2
  294. package/dist/esm/FloatingLabelInput/FloatingLabelInputImpl.js +2 -2
  295. package/dist/esm/FloatingLabelInput/FloatingLabelInputImpl.js.map +1 -1
  296. package/dist/esm/FloatingLabelInput/getSvgPath.js +3 -1
  297. package/dist/esm/FloatingLabelInput/getSvgPath.js.map +1 -1
  298. package/dist/esm/FloatingLabelInput/index.js +1 -1
  299. package/dist/esm/FloatingLabelInput/index.js.map +1 -1
  300. package/dist/esm/FormItem/DSFormItemLayout.js +9 -7
  301. package/dist/esm/FormItem/DSFormItemLayout.js.map +2 -2
  302. package/dist/esm/FormItem/Error/DSError.js +2 -0
  303. package/dist/esm/FormItem/Error/DSError.js.map +1 -1
  304. package/dist/esm/FormItem/Label/DSLabel.js +1 -1
  305. package/dist/esm/FormItem/Label/DSLabel.js.map +1 -1
  306. package/dist/esm/FormItem/ValidationFieldWrapper.js +1 -0
  307. package/dist/esm/FormItem/ValidationFieldWrapper.js.map +1 -1
  308. package/dist/esm/FormItem/defaultProps.js +4 -4
  309. package/dist/esm/FormItem/defaultProps.js.map +1 -1
  310. package/dist/esm/FormItem/index.js +2 -2
  311. package/dist/esm/FormItem/index.js.map +1 -1
  312. package/dist/esm/FormItem/props.js +41 -1
  313. package/dist/esm/FormItem/props.js.map +2 -2
  314. package/dist/esm/InputGroup/DSInputGroup.js +4 -3
  315. package/dist/esm/InputGroup/DSInputGroup.js.map +2 -2
  316. package/dist/esm/InputGroup/index.js +1 -1
  317. package/dist/esm/InputGroup/index.js.map +1 -1
  318. package/dist/esm/InputGroup/props.js +15 -0
  319. package/dist/esm/InputGroup/props.js.map +1 -1
  320. package/dist/esm/InputMask/DSInputMask.js +6 -6
  321. package/dist/esm/InputMask/DSInputMask.js.map +2 -2
  322. package/dist/esm/InputMask/DSInputMaskDeprecated.js +9 -2
  323. package/dist/esm/InputMask/DSInputMaskDeprecated.js.map +2 -2
  324. package/dist/esm/InputMask/InputMaskContext.js.map +1 -1
  325. package/dist/esm/InputMask/MaskPipes.js +1 -1
  326. package/dist/esm/InputMask/MaskPipes.js.map +1 -1
  327. package/dist/esm/InputMask/addons/AutoCorrectedDatePipe.js.map +1 -1
  328. package/dist/esm/InputMask/defaultProps.js +1 -1
  329. package/dist/esm/InputMask/defaultProps.js.map +1 -1
  330. package/dist/esm/InputMask/index.js +1 -1
  331. package/dist/esm/InputMask/index.js.map +1 -1
  332. package/dist/esm/InputMask/mask_types/DateInputMask.js +2 -2
  333. package/dist/esm/InputMask/mask_types/DateInputMask.js.map +2 -2
  334. package/dist/esm/InputMask/mask_types/DateTimeInputMask.js +2 -2
  335. package/dist/esm/InputMask/mask_types/DateTimeInputMask.js.map +2 -2
  336. package/dist/esm/InputMask/mask_types/DictionaryInputMask.js +2 -2
  337. package/dist/esm/InputMask/mask_types/DictionaryInputMask.js.map +2 -2
  338. package/dist/esm/InputMask/mask_types/NumberInputMask.js +2 -2
  339. package/dist/esm/InputMask/mask_types/NumberInputMask.js.map +2 -2
  340. package/dist/esm/InputMask/mask_types/PhoneInputMask.js +2 -2
  341. package/dist/esm/InputMask/mask_types/PhoneInputMask.js.map +2 -2
  342. package/dist/esm/InputMask/mask_types/PhoneInternationalInputMask.js +2 -2
  343. package/dist/esm/InputMask/mask_types/PhoneInternationalInputMask.js.map +2 -2
  344. package/dist/esm/InputMask/mask_types/SsnInputMask.js +2 -2
  345. package/dist/esm/InputMask/mask_types/SsnInputMask.js.map +2 -2
  346. package/dist/esm/InputMask/mask_types/UsZipCodeInputMask.js +2 -2
  347. package/dist/esm/InputMask/mask_types/UsZipCodeInputMask.js.map +2 -2
  348. package/dist/esm/InputMask/mask_types/ZipCodeSearchInputMask.js +2 -2
  349. package/dist/esm/InputMask/mask_types/ZipCodeSearchInputMask.js.map +2 -2
  350. package/dist/esm/InputMask/mask_types/index.js +9 -9
  351. package/dist/esm/InputMask/mask_types/index.js.map +2 -2
  352. package/dist/esm/InputMask/props.js +80 -0
  353. package/dist/esm/InputMask/props.js.map +1 -1
  354. package/dist/esm/InputProtected/DSInputProtected.js +5 -5
  355. package/dist/esm/InputProtected/DSInputProtected.js.map +2 -2
  356. package/dist/esm/InputProtected/defaultProps.js +1 -1
  357. package/dist/esm/InputProtected/defaultProps.js.map +1 -1
  358. package/dist/esm/InputProtected/index.js +2 -2
  359. package/dist/esm/InputProtected/index.js.map +1 -1
  360. package/dist/esm/InputProtected/props.js +5 -1
  361. package/dist/esm/InputProtected/props.js.map +2 -2
  362. package/dist/esm/LargeInputText/DSLargeInputText.js +2 -2
  363. package/dist/esm/LargeInputText/DSLargeInputText.js.map +1 -1
  364. package/dist/esm/LargeInputText/index.js +1 -1
  365. package/dist/esm/LargeInputText/index.js.map +1 -1
  366. package/dist/esm/LargeInputText/props.js +66 -0
  367. package/dist/esm/LargeInputText/props.js.map +1 -1
  368. package/dist/esm/Radio/Circle.js.map +1 -1
  369. package/dist/esm/Radio/DSRadio.js +31 -1
  370. package/dist/esm/Radio/DSRadio.js.map +2 -2
  371. package/dist/esm/Radio/index.js +1 -1
  372. package/dist/esm/Radio/index.js.map +1 -1
  373. package/dist/esm/RadioGroup/DSRadioGroup.js +4 -4
  374. package/dist/esm/RadioGroup/DSRadioGroup.js.map +2 -2
  375. package/dist/esm/RadioGroup/index.js +1 -1
  376. package/dist/esm/RadioGroup/index.js.map +1 -1
  377. package/dist/esm/RadioGroup/props.js +16 -0
  378. package/dist/esm/RadioGroup/props.js.map +1 -1
  379. package/dist/esm/RequiredMark/index.js +1 -1
  380. package/dist/esm/RequiredMark/index.js.map +1 -1
  381. package/dist/esm/TimeInput/DSTimeInput.js +25 -2
  382. package/dist/esm/TimeInput/DSTimeInput.js.map +2 -2
  383. package/dist/esm/TimeInput/TimeInputImpl.js +28 -1
  384. package/dist/esm/TimeInput/TimeInputImpl.js.map +2 -2
  385. package/dist/esm/TimeInput/TimeInputs.js +2 -1
  386. package/dist/esm/TimeInput/TimeInputs.js.map +2 -2
  387. package/dist/esm/TimeInput/index.js +1 -1
  388. package/dist/esm/TimeInput/index.js.map +1 -1
  389. package/dist/esm/Toggle/DSToggle.js +34 -1
  390. package/dist/esm/Toggle/DSToggle.js.map +2 -2
  391. package/dist/esm/Toggle/DSToggleImpl.js +36 -3
  392. package/dist/esm/Toggle/DSToggleImpl.js.map +2 -2
  393. package/dist/esm/Toggle/index.js +1 -1
  394. package/dist/esm/Toggle/index.js.map +1 -1
  395. package/dist/esm/Toggle/props.js +33 -0
  396. package/dist/esm/Toggle/props.js.map +1 -1
  397. package/dist/esm/index.js +21 -21
  398. package/dist/esm/index.js.map +1 -1
  399. package/dist/esm/package.json +7 -0
  400. package/package.json +18 -18
  401. package/dist/types/Checkbox/index.d.ts +0 -1
  402. package/dist/types/CheckboxGroup/DSCheckboxGroup.d.ts +0 -46
  403. package/dist/types/CheckboxGroup/defaultProps.d.ts +0 -14
  404. package/dist/types/CheckboxGroup/index.d.ts +0 -1
  405. package/dist/types/CheckboxGroup/props.d.ts +0 -26
  406. package/dist/types/CheckboxGroup/tests/DSCheckboxGroup.events.test.d.ts +0 -1
  407. package/dist/types/ComboBox/index.d.ts +0 -1
  408. package/dist/types/ComboBoxFreeSolo/ComboBoxFreeSolo.d.ts +0 -78
  409. package/dist/types/ComboBoxFreeSolo/components/MultiValueLabel.d.ts +0 -5
  410. package/dist/types/ComboBoxFreeSolo/components/MultiValueRemove.d.ts +0 -5
  411. package/dist/types/ComboBoxFreeSolo/components/SingleValue.d.ts +0 -2
  412. package/dist/types/ComboBoxFreeSolo/components/SingleValueRemove.d.ts +0 -5
  413. package/dist/types/ComboBoxFreeSolo/index.d.ts +0 -1
  414. package/dist/types/DateInput/DSDateInput.d.ts +0 -62
  415. package/dist/types/DateInput/components/DateInputImpl.d.ts +0 -40
  416. package/dist/types/DateInput/components/DateInputs.d.ts +0 -40
  417. package/dist/types/DateInput/components/utils.d.ts +0 -40
  418. package/dist/types/DateInput/defaultProps.d.ts +0 -18
  419. package/dist/types/DateInput/index.d.ts +0 -1
  420. package/dist/types/DateInput/props.d.ts +0 -60
  421. package/dist/types/DateInput/tests/DSDateInput.events.test.d.ts +0 -1
  422. package/dist/types/DateInputV2/components/DSDateInput.d.ts +0 -54
  423. package/dist/types/DateInputV2/components/DateInputs.d.ts +0 -32
  424. package/dist/types/DateInputV2/components/helpers.d.ts +0 -1
  425. package/dist/types/DateInputV2/components/props.d.ts +0 -53
  426. package/dist/types/DateInputV2/components/propsTypes.d.ts +0 -21
  427. package/dist/types/DateInputV2/components/styled.d.ts +0 -5
  428. package/dist/types/DateInputV2/components/utils.d.ts +0 -42
  429. package/dist/types/DateInputV2/index.d.ts +0 -2
  430. package/dist/types/DateInputV2/tests/DateInput.test.d.ts +0 -1
  431. package/dist/types/ExpandableInput/DSExpandableInput.d.ts +0 -15
  432. package/dist/types/ExpandableInput/ExpandableInputImpl.d.ts +0 -7
  433. package/dist/types/ExpandableInput/index.d.ts +0 -1
  434. package/dist/types/FloatingLabelInput/DSFloatingLabelInput.d.ts +0 -47
  435. package/dist/types/FloatingLabelInput/FloatingLabelInputImpl.d.ts +0 -27
  436. package/dist/types/FloatingLabelInput/getSvgPath.d.ts +0 -10
  437. package/dist/types/FloatingLabelInput/index.d.ts +0 -1
  438. package/dist/types/FormItem/DSFormItemLayout.d.ts +0 -180
  439. package/dist/types/FormItem/Error/DSError.d.ts +0 -19
  440. package/dist/types/FormItem/Feedback.d.ts +0 -6
  441. package/dist/types/FormItem/Label/DSLabel.d.ts +0 -23
  442. package/dist/types/FormItem/Suffix/Suffix.d.ts +0 -4
  443. package/dist/types/FormItem/ValidationFieldWrapper.d.ts +0 -19
  444. package/dist/types/FormItem/defaultProps.d.ts +0 -51
  445. package/dist/types/FormItem/index.d.ts +0 -2
  446. package/dist/types/FormItem/props.d.ts +0 -80
  447. package/dist/types/FormItem/tests/DSFormItem.events.test.d.ts +0 -1
  448. package/dist/types/FormItem/variants.d.ts +0 -8
  449. package/dist/types/Input/DSInput.d.ts +0 -0
  450. package/dist/types/Input/InputAddonWrapper.d.ts +0 -0
  451. package/dist/types/Input/InputImpl.d.ts +0 -0
  452. package/dist/types/Input/index.d.ts +0 -1
  453. package/dist/types/Input/tests/Input.test.d.ts +0 -0
  454. package/dist/types/InputGroup/AddonWrapper.d.ts +0 -8
  455. package/dist/types/InputGroup/DSInputGroup.d.ts +0 -40
  456. package/dist/types/InputGroup/defaultProps.d.ts +0 -8
  457. package/dist/types/InputGroup/index.d.ts +0 -1
  458. package/dist/types/InputGroup/props.d.ts +0 -24
  459. package/dist/types/InputGroup/tests/DSInputGroup.events.test.d.ts +0 -1
  460. package/dist/types/InputMask/DSInputMask.d.ts +0 -85
  461. package/dist/types/InputMask/DSInputMaskDeprecated.d.ts +0 -18
  462. package/dist/types/InputMask/InputMaskContext.d.ts +0 -18
  463. package/dist/types/InputMask/MaskPipes.d.ts +0 -18
  464. package/dist/types/InputMask/MaskTypes.d.ts +0 -15
  465. package/dist/types/InputMask/addons/AutoCorrectedDatePipe.d.ts +0 -8
  466. package/dist/types/InputMask/defaultProps.d.ts +0 -28
  467. package/dist/types/InputMask/index.d.ts +0 -1
  468. package/dist/types/InputMask/mask_types/DateInputMask.d.ts +0 -36
  469. package/dist/types/InputMask/mask_types/DateTimeInputMask.d.ts +0 -36
  470. package/dist/types/InputMask/mask_types/DictionaryInputMask.d.ts +0 -39
  471. package/dist/types/InputMask/mask_types/NumberInputMask.d.ts +0 -48
  472. package/dist/types/InputMask/mask_types/PhoneInputMask.d.ts +0 -36
  473. package/dist/types/InputMask/mask_types/PhoneInternationalInputMask.d.ts +0 -36
  474. package/dist/types/InputMask/mask_types/SsnInputMask.d.ts +0 -36
  475. package/dist/types/InputMask/mask_types/UsZipCodeInputMask.d.ts +0 -36
  476. package/dist/types/InputMask/mask_types/ZipCodeSearchInputMask.d.ts +0 -36
  477. package/dist/types/InputMask/mask_types/index.d.ts +0 -41
  478. package/dist/types/InputMask/props.d.ts +0 -112
  479. package/dist/types/InputMask/tests/DSInputMask.test.d.ts +0 -1
  480. package/dist/types/InputMask/tests/NumberInputMask.test.d.ts +0 -1
  481. package/dist/types/InputMask/tests/events/DateInputMask.events.test.d.ts +0 -1
  482. package/dist/types/InputMask/tests/events/DateTimeInputMask.events.test.d.ts +0 -1
  483. package/dist/types/InputMask/tests/events/NumberInputMask.events.test.d.ts +0 -1
  484. package/dist/types/InputMask/tests/events/PercentInputMask.events.test.d.ts +0 -1
  485. package/dist/types/InputMask/tests/events/PhoneInputMask.events.test.d.ts +0 -1
  486. package/dist/types/InputMask/tests/events/PhoneInternationalInputMask.events.test.d.ts +0 -1
  487. package/dist/types/InputMask/tests/events/SsnInputMask.events.test.d.ts +0 -1
  488. package/dist/types/InputMask/tests/events/UsZipCodeInputMask.events.test.d.ts +0 -1
  489. package/dist/types/InputMask/tests/events/ZipCodeSearchInputMask.events.test.d.ts +0 -1
  490. package/dist/types/InputMask/types/index.d.ts +0 -5
  491. package/dist/types/InputMask/utils/setCaretPosition.d.ts +0 -3
  492. package/dist/types/InputProtected/DSInputProtected.d.ts +0 -41
  493. package/dist/types/InputProtected/defaultProps.d.ts +0 -4
  494. package/dist/types/InputProtected/index.d.ts +0 -2
  495. package/dist/types/InputProtected/options.d.ts +0 -8
  496. package/dist/types/InputProtected/props.d.ts +0 -14
  497. package/dist/types/InputProtected/tests/DSInputProtected.events.test.d.ts +0 -1
  498. package/dist/types/InputProtected/tests/DSInputProtected.test.d.ts +0 -1
  499. package/dist/types/LargeInputText/DSLargeInputText.d.ts +0 -127
  500. package/dist/types/LargeInputText/defaultProps.d.ts +0 -31
  501. package/dist/types/LargeInputText/index.d.ts +0 -1
  502. package/dist/types/LargeInputText/props.d.ts +0 -95
  503. package/dist/types/LargeInputText/tests/DSLargeInputText.events.test.d.ts +0 -1
  504. package/dist/types/LargeInputText/tests/DSLargeInputText.test.d.ts +0 -1
  505. package/dist/types/MenuItem/components/MenuItem/index.d.ts +0 -0
  506. package/dist/types/MenuItem/components/MenuItem/styled.d.ts +0 -0
  507. package/dist/types/MenuItem/components/MultiMenuItem/MultiMenuItem.d.ts +0 -0
  508. package/dist/types/MenuItem/components/MultiMenuItem/styled.d.ts +0 -0
  509. package/dist/types/MenuItem/components/Section/index.d.ts +0 -0
  510. package/dist/types/MenuItem/components/Section/props.d.ts +0 -0
  511. package/dist/types/MenuItem/components/Section/styled.d.ts +0 -0
  512. package/dist/types/MenuItem/components/Separator/index.d.ts +0 -0
  513. package/dist/types/MenuItem/components/Separator/styled.d.ts +0 -0
  514. package/dist/types/MenuItem/components/SingleMenuItem/SingleMenuItem.d.ts +0 -0
  515. package/dist/types/MenuItem/components/SubmenuItem/index.d.ts +0 -0
  516. package/dist/types/MenuItem/components/SubmenuItem/styled.d.ts +0 -0
  517. package/dist/types/MenuItem/components/index.d.ts +0 -0
  518. package/dist/types/MenuItem/components/styled.d.ts +0 -0
  519. package/dist/types/MenuItem/index.d.ts +0 -0
  520. package/dist/types/MenuItem/props.d.ts +0 -0
  521. package/dist/types/Radio/Circle.d.ts +0 -8
  522. package/dist/types/Radio/DSRadio.d.ts +0 -87
  523. package/dist/types/Radio/index.d.ts +0 -1
  524. package/dist/types/RadioGroup/DSRadioGroup.d.ts +0 -46
  525. package/dist/types/RadioGroup/defaultProps.d.ts +0 -12
  526. package/dist/types/RadioGroup/index.d.ts +0 -1
  527. package/dist/types/RadioGroup/props.d.ts +0 -25
  528. package/dist/types/RadioGroup/tests/DSRadioGroup.events.test.d.ts +0 -1
  529. package/dist/types/RequiredMark/RequiredMark.d.ts +0 -6
  530. package/dist/types/RequiredMark/index.d.ts +0 -1
  531. package/dist/types/SearchBox/index.d.ts +0 -1
  532. package/dist/types/TextBox/index.d.ts +0 -1
  533. package/dist/types/TimeInput/DSTimeInput.d.ts +0 -71
  534. package/dist/types/TimeInput/TimeInputImpl.d.ts +0 -55
  535. package/dist/types/TimeInput/TimeInputs.d.ts +0 -17
  536. package/dist/types/TimeInput/index.d.ts +0 -1
  537. package/dist/types/TimeInput/utils.d.ts +0 -39
  538. package/dist/types/Toggle/DSToggle.d.ts +0 -86
  539. package/dist/types/Toggle/DSToggleImpl.d.ts +0 -61
  540. package/dist/types/Toggle/DSToggleRender.d.ts +0 -32
  541. package/dist/types/Toggle/index.d.ts +0 -1
  542. package/dist/types/Toggle/props.d.ts +0 -47
  543. package/dist/types/Toggle/toggleHelper.d.ts +0 -24
  544. package/dist/types/index.d.ts +0 -21
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/InputMask/mask_types/NumberInputMask.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\n/* eslint-disable complexity */\n\nimport React, { useCallback, useLayoutEffect, useRef, useState } from 'react';\nimport { PropTypes } from '@elliemae/ds-props-helpers';\nimport { DSTextBox } from '../../TextBox';\nimport { setCaretPosition } from '../utils/setCaretPosition';\n\n// http://stackoverflow.com/a/10899795/604296\nconst addThousandsSeparator = (n, thousandsSeparatorSymbol) =>\n n.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparatorSymbol);\n\nconst conformValue = (\n prevRawValue,\n prevCursorPos,\n lastkeycode,\n {\n prefix,\n suffix,\n includeThousandsSeparator,\n thousandsSeparatorSymbol,\n allowDecimal,\n decimalSymbol,\n decimalLimit,\n requireDecimal,\n allowNegative,\n allowLeadingZeroes,\n integerLimit,\n shouldCompleteDecimals,\n },\n) => {\n const prefixIndex = prevRawValue.indexOf(prefix);\n const suffixIndex = prevRawValue.lastIndexOf(suffix);\n const negativeIndex = prevRawValue.indexOf('-');\n\n const cursorPos = prevCursorPos - (prefixIndex === -1 ? 0 : prefixIndex + prefix.length);\n\n const rawValue = prevRawValue.substring(\n prefixIndex === -1 ? 0 : prefixIndex + prefix.length,\n suffixIndex === -1 ? prevRawValue.length : suffixIndex,\n );\n\n const filteredRawValue = rawValue\n .split('')\n .filter((char) => (char >= '0' && char <= '9') || char === decimalSymbol || char === '-');\n\n let isNegative = allowNegative && negativeIndex !== -1 && (prefixIndex === -1 || negativeIndex < prefixIndex);\n\n let integer = '';\n let decimal = '';\n let foundDecimalSymbol = false;\n\n const integerFits = () => integerLimit === null || integer.length < integerLimit;\n const decimalFits = () => decimalLimit === null || decimal.length < decimalLimit;\n\n filteredRawValue.forEach((char) => {\n if (allowDecimal && !foundDecimalSymbol && char === decimalSymbol) {\n foundDecimalSymbol = true;\n } else if (allowNegative && !integer.length && !foundDecimalSymbol && char === '-') {\n isNegative = true;\n } else if (char >= '0' && char <= '9') {\n if (!foundDecimalSymbol && integerFits()) {\n integer += char;\n } else if (foundDecimalSymbol && decimalFits()) {\n decimal += char;\n }\n }\n });\n\n if (requireDecimal) foundDecimalSymbol = true;\n if (!requireDecimal && !decimal?.length && lastkeycode === 8) {\n foundDecimalSymbol = false;\n }\n if (!integer && !decimal) foundDecimalSymbol = false;\n\n if (foundDecimalSymbol && !integer && decimal) {\n integer = '0';\n }\n\n if (!allowLeadingZeroes) {\n while (integer.length > 1 && integer[0] === '0') integer = integer.substring(1);\n }\n\n let nextMaskedValue = includeThousandsSeparator ? addThousandsSeparator(integer, thousandsSeparatorSymbol) : integer;\n nextMaskedValue += foundDecimalSymbol ? decimalSymbol : '';\n\n if (shouldCompleteDecimals) while (decimal.length !== decimalLimit) decimal += '0';\n\n nextMaskedValue += decimal;\n\n let maskedPos = 0;\n for (let i = 0; i < cursorPos; i += 1) {\n if (nextMaskedValue[maskedPos] === thousandsSeparatorSymbol) maskedPos += 1;\n if (nextMaskedValue[maskedPos] === rawValue[i]) maskedPos += 1;\n }\n if (nextMaskedValue.length || isNegative) {\n nextMaskedValue = prefix + nextMaskedValue;\n maskedPos += prefix.length;\n\n if (isNegative) {\n if (lastkeycode !== 8 || nextMaskedValue !== prefix) nextMaskedValue = `-${nextMaskedValue}`;\n maskedPos += 1;\n }\n\n nextMaskedValue += suffix;\n }\n\n if (lastkeycode !== 8 && maskedPos < nextMaskedValue.length) {\n if (nextMaskedValue[maskedPos] === decimalSymbol && integer.length === integerLimit) {\n maskedPos += 1;\n } else if (nextMaskedValue[maskedPos] === thousandsSeparatorSymbol) {\n maskedPos += 1;\n }\n }\n\n return {\n nextMaskedValue,\n maskedPos: Math.min(maskedPos, nextMaskedValue.length - suffix.length),\n };\n};\n\nconst NumberInputMask = ({\n focus,\n setFocus,\n setRawMask,\n cursorPosition,\n setCursorPosition,\n lastkey,\n setLastkey,\n setRawValue,\n allowDecimal,\n allowLeadingZeroes,\n allowNegative,\n autoFocus,\n className,\n clearable = false,\n decimalLimit,\n decimalSymbol,\n disabled,\n fluidWidth,\n hasError,\n includeThousandsSeparator,\n innerRef,\n integerLimit,\n leftComponent,\n maxLength,\n minLength,\n name,\n onBlur,\n onChange,\n onClick,\n onFocus,\n onKeyDown,\n onKeyUp,\n onPaste,\n placeholder,\n prefix,\n readOnly,\n requireDecimal,\n rightComponent,\n style,\n suffix,\n thousandsSeparatorSymbol,\n type,\n value,\n ...rest\n}) => {\n const inputRef = useRef();\n const [maskedValue, setMaskedValue] = useState(value);\n\n const conform = useCallback(\n ({ rawValue, cursorPos, lastkeycode, shouldUpdateCursorPos = true, shouldCompleteDecimals = false }) => {\n const { nextMaskedValue, maskedPos } = conformValue(rawValue, cursorPos, lastkeycode, {\n prefix,\n suffix,\n includeThousandsSeparator,\n thousandsSeparatorSymbol,\n allowDecimal,\n decimalSymbol,\n decimalLimit,\n requireDecimal,\n allowNegative,\n allowLeadingZeroes,\n integerLimit,\n shouldCompleteDecimals,\n });\n const event = {\n target: {\n value: nextMaskedValue,\n originalValue: rawValue,\n },\n };\n if (onChange && nextMaskedValue !== maskedValue) onChange(event);\n\n setMaskedValue(nextMaskedValue);\n setRawValue(nextMaskedValue);\n\n if (shouldUpdateCursorPos) setCursorPosition({ current: maskedPos });\n },\n [maskedValue, onChange],\n );\n\n const handleOnChange = useCallback(\n (e) => {\n const { value: rawValue, selectionEnd } = e.target;\n setRawMask(rawValue);\n setRawValue(rawValue);\n setCursorPosition({ current: selectionEnd });\n setFocus(true);\n },\n [setRawMask, setRawValue, setCursorPosition, setFocus, lastkey.code],\n );\n\n useLayoutEffect(() => {\n if (focus) setCaretPosition(inputRef.current, cursorPosition.current);\n }, [focus, cursorPosition]);\n\n useLayoutEffect(() => {\n // if the value changes, then re-conform the mask\n conform({\n rawValue: value,\n cursorPos: cursorPosition.current,\n lastkeycode: lastkey.code,\n shouldUpdateCursorPos: focus,\n });\n }, [focus, value, cursorPosition.current]);\n\n const handleKeyDown = useCallback(\n (e) => {\n e.stopPropagation();\n setLastkey({ key: e.key, code: e.keyCode });\n onKeyDown(e);\n },\n [onKeyDown],\n );\n\n const handleBlur = useCallback(\n (e) => {\n setFocus(false);\n onBlur(e);\n if (requireDecimal && maskedValue !== '') {\n conform({\n rawValue: maskedValue,\n cursorPos: 0,\n lastkey: 0,\n shouldUpdateCursorPos: 0,\n shouldCompleteDecimals: true,\n });\n }\n },\n [maskedValue, requireDecimal, suffix, decimalLimit, onBlur],\n );\n\n return (\n <DSTextBox\n {...rest}\n className={className}\n clearable={clearable}\n disabled={disabled}\n fluidWidth={fluidWidth}\n hasError={hasError}\n innerRef={(ref) => {\n inputRef.current = ref;\n if (innerRef) innerRef(ref);\n }}\n isActive={focus}\n leftComponent={leftComponent}\n maxLength={maxLength}\n minLength={minLength}\n name={name}\n onBlur={handleBlur}\n onChange={handleOnChange}\n onClick={onClick}\n onFocus={onFocus}\n onKeyDown={handleKeyDown}\n onKeyUp={onKeyUp}\n onPaste={onPaste}\n placeholder={placeholder}\n readOnly={readOnly}\n rightComponent={rightComponent}\n style={style}\n type={type}\n value={maskedValue}\n />\n );\n};\n\nexport { NumberInputMask };\nexport default NumberInputMask;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\n/* eslint-disable max-statements */\n/* eslint-disable max-lines */\n/* eslint-disable complexity */\n\nimport React, { useCallback, useLayoutEffect, useRef, useState } from 'react';\nimport { PropTypes } from '@elliemae/ds-props-helpers';\nimport { DSTextBox } from '../../TextBox/index.js';\nimport { setCaretPosition } from '../utils/setCaretPosition.js';\n\n// http://stackoverflow.com/a/10899795/604296\nconst addThousandsSeparator = (n, thousandsSeparatorSymbol) =>\n n.replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousandsSeparatorSymbol);\n\nconst conformValue = (\n prevRawValue,\n prevCursorPos,\n lastkeycode,\n {\n prefix,\n suffix,\n includeThousandsSeparator,\n thousandsSeparatorSymbol,\n allowDecimal,\n decimalSymbol,\n decimalLimit,\n requireDecimal,\n allowNegative,\n allowLeadingZeroes,\n integerLimit,\n shouldCompleteDecimals,\n },\n) => {\n const prefixIndex = prevRawValue.indexOf(prefix);\n const suffixIndex = prevRawValue.lastIndexOf(suffix);\n const negativeIndex = prevRawValue.indexOf('-');\n\n const cursorPos = prevCursorPos - (prefixIndex === -1 ? 0 : prefixIndex + prefix.length);\n\n const rawValue = prevRawValue.substring(\n prefixIndex === -1 ? 0 : prefixIndex + prefix.length,\n suffixIndex === -1 ? prevRawValue.length : suffixIndex,\n );\n\n const filteredRawValue = rawValue\n .split('')\n .filter((char) => (char >= '0' && char <= '9') || char === decimalSymbol || char === '-');\n\n let isNegative = allowNegative && negativeIndex !== -1 && (prefixIndex === -1 || negativeIndex < prefixIndex);\n\n let integer = '';\n let decimal = '';\n let foundDecimalSymbol = false;\n\n const integerFits = () => integerLimit === null || integer.length < integerLimit;\n const decimalFits = () => decimalLimit === null || decimal.length < decimalLimit;\n\n filteredRawValue.forEach((char) => {\n if (allowDecimal && !foundDecimalSymbol && char === decimalSymbol) {\n foundDecimalSymbol = true;\n } else if (allowNegative && !integer.length && !foundDecimalSymbol && char === '-') {\n isNegative = true;\n } else if (char >= '0' && char <= '9') {\n if (!foundDecimalSymbol && integerFits()) {\n integer += char;\n } else if (foundDecimalSymbol && decimalFits()) {\n decimal += char;\n }\n }\n });\n\n if (requireDecimal) foundDecimalSymbol = true;\n if (!requireDecimal && !decimal?.length && lastkeycode === 8) {\n foundDecimalSymbol = false;\n }\n if (!integer && !decimal) foundDecimalSymbol = false;\n\n if (foundDecimalSymbol && !integer && decimal) {\n integer = '0';\n }\n\n if (!allowLeadingZeroes) {\n while (integer.length > 1 && integer[0] === '0') integer = integer.substring(1);\n }\n\n let nextMaskedValue = includeThousandsSeparator ? addThousandsSeparator(integer, thousandsSeparatorSymbol) : integer;\n nextMaskedValue += foundDecimalSymbol ? decimalSymbol : '';\n\n if (shouldCompleteDecimals) while (decimal.length !== decimalLimit) decimal += '0';\n\n nextMaskedValue += decimal;\n\n let maskedPos = 0;\n for (let i = 0; i < cursorPos; i += 1) {\n if (nextMaskedValue[maskedPos] === thousandsSeparatorSymbol) maskedPos += 1;\n if (nextMaskedValue[maskedPos] === rawValue[i]) maskedPos += 1;\n }\n if (nextMaskedValue.length || isNegative) {\n nextMaskedValue = prefix + nextMaskedValue;\n maskedPos += prefix.length;\n\n if (isNegative) {\n if (lastkeycode !== 8 || nextMaskedValue !== prefix) nextMaskedValue = `-${nextMaskedValue}`;\n maskedPos += 1;\n }\n\n nextMaskedValue += suffix;\n }\n\n if (lastkeycode !== 8 && maskedPos < nextMaskedValue.length) {\n if (nextMaskedValue[maskedPos] === decimalSymbol && integer.length === integerLimit) {\n maskedPos += 1;\n } else if (nextMaskedValue[maskedPos] === thousandsSeparatorSymbol) {\n maskedPos += 1;\n }\n }\n\n return {\n nextMaskedValue,\n maskedPos: Math.min(maskedPos, nextMaskedValue.length - suffix.length),\n };\n};\n\nconst NumberInputMask = ({\n focus,\n setFocus,\n setRawMask,\n cursorPosition,\n setCursorPosition,\n lastkey,\n setLastkey,\n setRawValue,\n allowDecimal,\n allowLeadingZeroes,\n allowNegative,\n autoFocus,\n className,\n clearable = false,\n decimalLimit,\n decimalSymbol,\n disabled,\n fluidWidth,\n hasError,\n includeThousandsSeparator,\n innerRef,\n integerLimit,\n leftComponent,\n maxLength,\n minLength,\n name,\n onBlur,\n onChange,\n onClick,\n onFocus,\n onKeyDown,\n onKeyUp,\n onPaste,\n placeholder,\n prefix,\n readOnly,\n requireDecimal,\n rightComponent,\n style,\n suffix,\n thousandsSeparatorSymbol,\n type,\n value,\n ...rest\n}) => {\n const inputRef = useRef();\n const [maskedValue, setMaskedValue] = useState(value);\n\n const conform = useCallback(\n ({ rawValue, cursorPos, lastkeycode, shouldUpdateCursorPos = true, shouldCompleteDecimals = false }) => {\n const { nextMaskedValue, maskedPos } = conformValue(rawValue, cursorPos, lastkeycode, {\n prefix,\n suffix,\n includeThousandsSeparator,\n thousandsSeparatorSymbol,\n allowDecimal,\n decimalSymbol,\n decimalLimit,\n requireDecimal,\n allowNegative,\n allowLeadingZeroes,\n integerLimit,\n shouldCompleteDecimals,\n });\n const event = {\n target: {\n value: nextMaskedValue,\n originalValue: rawValue,\n },\n };\n if (onChange && nextMaskedValue !== maskedValue) onChange(event);\n\n setMaskedValue(nextMaskedValue);\n setRawValue(nextMaskedValue);\n\n if (shouldUpdateCursorPos) setCursorPosition({ current: maskedPos });\n },\n [maskedValue, onChange],\n );\n\n const handleOnChange = useCallback(\n (e) => {\n const { value: rawValue, selectionEnd } = e.target;\n setRawMask(rawValue);\n setRawValue(rawValue);\n setCursorPosition({ current: selectionEnd });\n setFocus(true);\n },\n [setRawMask, setRawValue, setCursorPosition, setFocus, lastkey.code],\n );\n\n useLayoutEffect(() => {\n if (focus) setCaretPosition(inputRef.current, cursorPosition.current);\n }, [focus, cursorPosition]);\n\n useLayoutEffect(() => {\n // if the value changes, then re-conform the mask\n conform({\n rawValue: value,\n cursorPos: cursorPosition.current,\n lastkeycode: lastkey.code,\n shouldUpdateCursorPos: focus,\n });\n }, [focus, value, cursorPosition.current]);\n\n const handleKeyDown = useCallback(\n (e) => {\n e.stopPropagation();\n setLastkey({ key: e.key, code: e.keyCode });\n onKeyDown(e);\n },\n [onKeyDown],\n );\n\n const handleBlur = useCallback(\n (e) => {\n setFocus(false);\n onBlur(e);\n if (requireDecimal && maskedValue !== '') {\n conform({\n rawValue: maskedValue,\n cursorPos: 0,\n lastkey: 0,\n shouldUpdateCursorPos: 0,\n shouldCompleteDecimals: true,\n });\n }\n },\n [maskedValue, requireDecimal, suffix, decimalLimit, onBlur],\n );\n\n return (\n <DSTextBox\n {...rest}\n className={className}\n clearable={clearable}\n disabled={disabled}\n fluidWidth={fluidWidth}\n hasError={hasError}\n innerRef={(ref) => {\n inputRef.current = ref;\n if (innerRef) innerRef(ref);\n }}\n isActive={focus}\n leftComponent={leftComponent}\n maxLength={maxLength}\n minLength={minLength}\n name={name}\n onBlur={handleBlur}\n onChange={handleOnChange}\n onClick={onClick}\n onFocus={onFocus}\n onKeyDown={handleKeyDown}\n onKeyUp={onKeyUp}\n onPaste={onPaste}\n placeholder={placeholder}\n readOnly={readOnly}\n rightComponent={rightComponent}\n style={style}\n type={type}\n value={maskedValue}\n />\n );\n};\n\nexport { NumberInputMask };\nexport default NumberInputMask;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,8 +1,8 @@
1
1
  import * as React from "react";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { useCallback, useLayoutEffect, useRef, useState } from "react";
4
- import { DSTextBox } from "../../TextBox";
5
- import { setCaretPosition } from "../utils/setCaretPosition";
4
+ import { DSTextBox } from "../../TextBox/index.js";
5
+ import { setCaretPosition } from "../utils/setCaretPosition.js";
6
6
  const conformValue = (rawValue, cursorPos, lastkeycode) => {
7
7
  let nextMaskedValue = String(rawValue).split("").filter((char) => char >= "0" && char <= "9");
8
8
  while (nextMaskedValue.length && nextMaskedValue[0] === "0")
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/InputMask/mask_types/PhoneInputMask.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useCallback, useLayoutEffect, useRef, useState } from 'react';\nimport { PropTypes } from '@elliemae/ds-props-helpers';\nimport { DSTextBox } from '../../TextBox';\nimport type { TCharsToAdd } from '../types';\nimport { setCaretPosition } from '../utils/setCaretPosition';\n\nconst conformValue = (rawValue, cursorPos, lastkeycode) => {\n let nextMaskedValue = String(rawValue)\n .split('')\n .filter((char) => char >= '0' && char <= '9');\n\n while (nextMaskedValue.length && nextMaskedValue[0] === '0') nextMaskedValue.splice(0, 1);\n\n nextMaskedValue = nextMaskedValue.slice(0, 10);\n\n let maskedPos = 0;\n for (let i = 0; i < cursorPos; i += 1) {\n if (nextMaskedValue[maskedPos] === rawValue[i]) maskedPos += 1;\n }\n\n // list of [string to add, position to add]\n const charactersToAdd: TCharsToAdd = [\n ['(', 0],\n [') ', 4],\n ['-', 9],\n ];\n\n charactersToAdd.forEach(([chars, pos]) => {\n if (nextMaskedValue.length > pos) {\n nextMaskedValue.splice(pos, 0, ...chars);\n if (maskedPos >= pos) maskedPos += chars.length;\n }\n });\n\n if (lastkeycode !== 8 && maskedPos < nextMaskedValue.length) {\n charactersToAdd.forEach(([chars, pos]) => {\n if (maskedPos === pos) maskedPos += chars.length;\n });\n } else if (lastkeycode === 8 && maskedPos) {\n charactersToAdd.forEach(([chars, pos]) => {\n if (maskedPos === pos + 1) maskedPos -= chars.length;\n });\n }\n return { nextMaskedValue: nextMaskedValue.join(''), maskedPos };\n};\n\nconst PhoneInputMask = ({\n focus,\n setFocus,\n setRawMask,\n cursorPosition,\n setCursorPosition,\n lastkey,\n setLastkey,\n setRawValue,\n style,\n disabled,\n className,\n name,\n maxLength,\n minLength,\n fluidWidth,\n placeholder,\n onKeyDown,\n onClick,\n onChange,\n onFocus,\n onBlur,\n onPaste,\n onKeyUp,\n hasError,\n readOnly,\n type,\n innerRef,\n clearable = false,\n leftComponent,\n rightComponent,\n value,\n ...rest\n}) => {\n const inputRef = useRef();\n const [maskedValue, setMaskedValue] = useState(value);\n\n const conform = useCallback(\n ({ rawValue, cursorPos, lastkeycode, shouldUpdateCursorPos = true }) => {\n const { nextMaskedValue, maskedPos } = conformValue(rawValue, cursorPos, lastkeycode);\n const event = {\n target: {\n value: nextMaskedValue,\n originalValue: rawValue,\n },\n };\n if (onChange && nextMaskedValue !== maskedValue) onChange(event);\n\n setMaskedValue(nextMaskedValue);\n setRawValue(nextMaskedValue);\n\n if (shouldUpdateCursorPos) setCursorPosition({ current: maskedPos });\n },\n [maskedValue, onChange],\n );\n\n const handleOnChange = useCallback(\n (e) => {\n const { value: rawValue, selectionEnd } = e.target;\n setRawMask(rawValue);\n setRawValue(rawValue);\n setCursorPosition({ current: selectionEnd });\n setFocus(true);\n },\n [setRawMask, setRawValue, setCursorPosition, setFocus, lastkey.code],\n );\n\n useLayoutEffect(() => {\n if (focus) setCaretPosition(inputRef.current, cursorPosition.current);\n }, [focus, cursorPosition]);\n\n useLayoutEffect(() => {\n // if the value changes, then re-conform the mask\n conform({\n rawValue: value,\n cursorPos: cursorPosition.current,\n lastkeycode: lastkey.code,\n shouldUpdateCursorPos: focus,\n });\n }, [focus, value, cursorPosition.current]);\n\n const handleKeyDown = useCallback(\n (e) => {\n e.stopPropagation();\n setLastkey({ key: e.key, code: e.keyCode });\n onKeyDown(e);\n },\n [onKeyDown],\n );\n\n const handleBlur = useCallback(\n (e) => {\n setFocus(false);\n onBlur(e);\n },\n [onBlur],\n );\n\n return (\n <DSTextBox\n {...rest}\n className={className}\n clearable={clearable}\n disabled={disabled}\n fluidWidth={fluidWidth}\n hasError={hasError}\n innerRef={(ref) => {\n inputRef.current = ref;\n if (innerRef) innerRef(ref);\n }}\n isActive={focus}\n leftComponent={leftComponent}\n maxLength={maxLength}\n minLength={minLength}\n name={name}\n onBlur={handleBlur}\n onChange={handleOnChange}\n onClick={onClick}\n onFocus={onFocus}\n onKeyDown={handleKeyDown}\n onKeyUp={onKeyUp}\n onPaste={onPaste}\n placeholder={placeholder}\n readOnly={readOnly}\n rightComponent={rightComponent}\n style={style}\n type={type}\n value={maskedValue}\n />\n );\n};\n\nexport { PhoneInputMask };\nexport default PhoneInputMask;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useCallback, useLayoutEffect, useRef, useState } from 'react';\nimport { PropTypes } from '@elliemae/ds-props-helpers';\nimport { DSTextBox } from '../../TextBox/index.js';\nimport type { TCharsToAdd } from '../types/index.js';\nimport { setCaretPosition } from '../utils/setCaretPosition.js';\n\nconst conformValue = (rawValue, cursorPos, lastkeycode) => {\n let nextMaskedValue = String(rawValue)\n .split('')\n .filter((char) => char >= '0' && char <= '9');\n\n while (nextMaskedValue.length && nextMaskedValue[0] === '0') nextMaskedValue.splice(0, 1);\n\n nextMaskedValue = nextMaskedValue.slice(0, 10);\n\n let maskedPos = 0;\n for (let i = 0; i < cursorPos; i += 1) {\n if (nextMaskedValue[maskedPos] === rawValue[i]) maskedPos += 1;\n }\n\n // list of [string to add, position to add]\n const charactersToAdd: TCharsToAdd = [\n ['(', 0],\n [') ', 4],\n ['-', 9],\n ];\n\n charactersToAdd.forEach(([chars, pos]) => {\n if (nextMaskedValue.length > pos) {\n nextMaskedValue.splice(pos, 0, ...chars);\n if (maskedPos >= pos) maskedPos += chars.length;\n }\n });\n\n if (lastkeycode !== 8 && maskedPos < nextMaskedValue.length) {\n charactersToAdd.forEach(([chars, pos]) => {\n if (maskedPos === pos) maskedPos += chars.length;\n });\n } else if (lastkeycode === 8 && maskedPos) {\n charactersToAdd.forEach(([chars, pos]) => {\n if (maskedPos === pos + 1) maskedPos -= chars.length;\n });\n }\n return { nextMaskedValue: nextMaskedValue.join(''), maskedPos };\n};\n\nconst PhoneInputMask = ({\n focus,\n setFocus,\n setRawMask,\n cursorPosition,\n setCursorPosition,\n lastkey,\n setLastkey,\n setRawValue,\n style,\n disabled,\n className,\n name,\n maxLength,\n minLength,\n fluidWidth,\n placeholder,\n onKeyDown,\n onClick,\n onChange,\n onFocus,\n onBlur,\n onPaste,\n onKeyUp,\n hasError,\n readOnly,\n type,\n innerRef,\n clearable = false,\n leftComponent,\n rightComponent,\n value,\n ...rest\n}) => {\n const inputRef = useRef();\n const [maskedValue, setMaskedValue] = useState(value);\n\n const conform = useCallback(\n ({ rawValue, cursorPos, lastkeycode, shouldUpdateCursorPos = true }) => {\n const { nextMaskedValue, maskedPos } = conformValue(rawValue, cursorPos, lastkeycode);\n const event = {\n target: {\n value: nextMaskedValue,\n originalValue: rawValue,\n },\n };\n if (onChange && nextMaskedValue !== maskedValue) onChange(event);\n\n setMaskedValue(nextMaskedValue);\n setRawValue(nextMaskedValue);\n\n if (shouldUpdateCursorPos) setCursorPosition({ current: maskedPos });\n },\n [maskedValue, onChange],\n );\n\n const handleOnChange = useCallback(\n (e) => {\n const { value: rawValue, selectionEnd } = e.target;\n setRawMask(rawValue);\n setRawValue(rawValue);\n setCursorPosition({ current: selectionEnd });\n setFocus(true);\n },\n [setRawMask, setRawValue, setCursorPosition, setFocus, lastkey.code],\n );\n\n useLayoutEffect(() => {\n if (focus) setCaretPosition(inputRef.current, cursorPosition.current);\n }, [focus, cursorPosition]);\n\n useLayoutEffect(() => {\n // if the value changes, then re-conform the mask\n conform({\n rawValue: value,\n cursorPos: cursorPosition.current,\n lastkeycode: lastkey.code,\n shouldUpdateCursorPos: focus,\n });\n }, [focus, value, cursorPosition.current]);\n\n const handleKeyDown = useCallback(\n (e) => {\n e.stopPropagation();\n setLastkey({ key: e.key, code: e.keyCode });\n onKeyDown(e);\n },\n [onKeyDown],\n );\n\n const handleBlur = useCallback(\n (e) => {\n setFocus(false);\n onBlur(e);\n },\n [onBlur],\n );\n\n return (\n <DSTextBox\n {...rest}\n className={className}\n clearable={clearable}\n disabled={disabled}\n fluidWidth={fluidWidth}\n hasError={hasError}\n innerRef={(ref) => {\n inputRef.current = ref;\n if (innerRef) innerRef(ref);\n }}\n isActive={focus}\n leftComponent={leftComponent}\n maxLength={maxLength}\n minLength={minLength}\n name={name}\n onBlur={handleBlur}\n onChange={handleOnChange}\n onClick={onClick}\n onFocus={onFocus}\n onKeyDown={handleKeyDown}\n onKeyUp={onKeyUp}\n onPaste={onPaste}\n placeholder={placeholder}\n readOnly={readOnly}\n rightComponent={rightComponent}\n style={style}\n type={type}\n value={maskedValue}\n />\n );\n};\n\nexport { PhoneInputMask };\nexport default PhoneInputMask;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACmJnB;AAjJJ,SAAgB,aAAa,iBAAiB,QAAQ,gBAAgB;AAEtE,SAAS,iBAAiB;AAE1B,SAAS,wBAAwB;AAEjC,MAAM,eAAe,CAAC,UAAU,WAAW,gBAAgB;AACzD,MAAI,kBAAkB,OAAO,QAAQ,EAClC,MAAM,EAAE,EACR,OAAO,CAAC,SAAS,QAAQ,OAAO,QAAQ,GAAG;AAE9C,SAAO,gBAAgB,UAAU,gBAAgB,CAAC,MAAM;AAAK,oBAAgB,OAAO,GAAG,CAAC;AAExF,oBAAkB,gBAAgB,MAAM,GAAG,EAAE;AAE7C,MAAI,YAAY;AAChB,WAAS,IAAI,GAAG,IAAI,WAAW,KAAK,GAAG;AACrC,QAAI,gBAAgB,SAAS,MAAM,SAAS,CAAC;AAAG,mBAAa;AAAA,EAC/D;AAGA,QAAM,kBAA+B;AAAA,IACnC,CAAC,KAAK,CAAC;AAAA,IACP,CAAC,MAAM,CAAC;AAAA,IACR,CAAC,KAAK,CAAC;AAAA,EACT;AAEA,kBAAgB,QAAQ,CAAC,CAAC,OAAO,GAAG,MAAM;AACxC,QAAI,gBAAgB,SAAS,KAAK;AAChC,sBAAgB,OAAO,KAAK,GAAG,GAAG,KAAK;AACvC,UAAI,aAAa;AAAK,qBAAa,MAAM;AAAA,IAC3C;AAAA,EACF,CAAC;AAED,MAAI,gBAAgB,KAAK,YAAY,gBAAgB,QAAQ;AAC3D,oBAAgB,QAAQ,CAAC,CAAC,OAAO,GAAG,MAAM;AACxC,UAAI,cAAc;AAAK,qBAAa,MAAM;AAAA,IAC5C,CAAC;AAAA,EACH,WAAW,gBAAgB,KAAK,WAAW;AACzC,oBAAgB,QAAQ,CAAC,CAAC,OAAO,GAAG,MAAM;AACxC,UAAI,cAAc,MAAM;AAAG,qBAAa,MAAM;AAAA,IAChD,CAAC;AAAA,EACH;AACA,SAAO,EAAE,iBAAiB,gBAAgB,KAAK,EAAE,GAAG,UAAU;AAChE;AAEA,MAAM,iBAAiB,CAAC;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,WAAW,OAAO;AACxB,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,KAAK;AAEpD,QAAM,UAAU;AAAA,IACd,CAAC,EAAE,UAAU,WAAW,aAAa,wBAAwB,KAAK,MAAM;AACtE,YAAM,EAAE,iBAAiB,UAAU,IAAI,aAAa,UAAU,WAAW,WAAW;AACpF,YAAM,QAAQ;AAAA,QACZ,QAAQ;AAAA,UACN,OAAO;AAAA,UACP,eAAe;AAAA,QACjB;AAAA,MACF;AACA,UAAI,YAAY,oBAAoB;AAAa,iBAAS,KAAK;AAE/D,qBAAe,eAAe;AAC9B,kBAAY,eAAe;AAE3B,UAAI;AAAuB,0BAAkB,EAAE,SAAS,UAAU,CAAC;AAAA,IACrE;AAAA,IACA,CAAC,aAAa,QAAQ;AAAA,EACxB;AAEA,QAAM,iBAAiB;AAAA,IACrB,CAAC,MAAM;AACL,YAAM,EAAE,OAAO,UAAU,aAAa,IAAI,EAAE;AAC5C,iBAAW,QAAQ;AACnB,kBAAY,QAAQ;AACpB,wBAAkB,EAAE,SAAS,aAAa,CAAC;AAC3C,eAAS,IAAI;AAAA,IACf;AAAA,IACA,CAAC,YAAY,aAAa,mBAAmB,UAAU,QAAQ,IAAI;AAAA,EACrE;AAEA,kBAAgB,MAAM;AACpB,QAAI;AAAO,uBAAiB,SAAS,SAAS,eAAe,OAAO;AAAA,EACtE,GAAG,CAAC,OAAO,cAAc,CAAC;AAE1B,kBAAgB,MAAM;AAEpB,YAAQ;AAAA,MACN,UAAU;AAAA,MACV,WAAW,eAAe;AAAA,MAC1B,aAAa,QAAQ;AAAA,MACrB,uBAAuB;AAAA,IACzB,CAAC;AAAA,EACH,GAAG,CAAC,OAAO,OAAO,eAAe,OAAO,CAAC;AAEzC,QAAM,gBAAgB;AAAA,IACpB,CAAC,MAAM;AACL,QAAE,gBAAgB;AAClB,iBAAW,EAAE,KAAK,EAAE,KAAK,MAAM,EAAE,QAAQ,CAAC;AAC1C,gBAAU,CAAC;AAAA,IACb;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AAEA,QAAM,aAAa;AAAA,IACjB,CAAC,MAAM;AACL,eAAS,KAAK;AACd,aAAO,CAAC;AAAA,IACV;AAAA,IACA,CAAC,MAAM;AAAA,EACT;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,UAAU,CAAC,QAAQ;AACjB,iBAAS,UAAU;AACnB,YAAI;AAAU,mBAAS,GAAG;AAAA,MAC5B;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,MACR,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA;AAAA,EACT;AAEJ;AAGA,IAAO,yBAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,8 +1,8 @@
1
1
  import * as React from "react";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { useCallback, useLayoutEffect, useRef, useState } from "react";
4
- import { DSTextBox } from "../../TextBox";
5
- import { setCaretPosition } from "../utils/setCaretPosition";
4
+ import { DSTextBox } from "../../TextBox/index.js";
5
+ import { setCaretPosition } from "../utils/setCaretPosition.js";
6
6
  const conformValue = (rawValue, cursorPos, lastkeycode) => {
7
7
  let nextMaskedValue = rawValue.split("+1").slice(-1)[0].split("").filter((char) => char >= "0" && char <= "9");
8
8
  while (nextMaskedValue.length && nextMaskedValue[0] === "0")
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/InputMask/mask_types/PhoneInternationalInputMask.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useCallback, useLayoutEffect, useRef, useState } from 'react';\nimport { PropTypes } from '@elliemae/ds-props-helpers';\nimport { DSTextBox } from '../../TextBox';\nimport type { TCharsToAdd } from '../types';\nimport { setCaretPosition } from '../utils/setCaretPosition';\n\nconst conformValue = (rawValue, cursorPos, lastkeycode) => {\n let nextMaskedValue = rawValue\n .split('+1')\n .slice(-1)[0]\n .split('')\n .filter((char) => char >= '0' && char <= '9');\n\n while (nextMaskedValue.length && nextMaskedValue[0] === '0') nextMaskedValue.splice(0, 1);\n\n nextMaskedValue = nextMaskedValue.slice(0, 10);\n\n let maskedPos = 0;\n for (let i = 0; i < cursorPos; i += 1) {\n if (nextMaskedValue[maskedPos] === rawValue[i]) maskedPos += 1;\n }\n\n // list of [string to add, position to add]\n const charactersToAdd: TCharsToAdd = [\n ['+1 (', 0],\n [') ', 7],\n ['-', 12],\n ];\n\n charactersToAdd.forEach(([chars, pos]) => {\n if (nextMaskedValue.length > pos) {\n nextMaskedValue.splice(pos, 0, ...chars);\n if (maskedPos >= pos) maskedPos += chars.length;\n }\n });\n\n if (lastkeycode !== 8 && maskedPos < nextMaskedValue.length) {\n charactersToAdd.forEach(([chars, pos]) => {\n if (maskedPos === pos) maskedPos += chars.length;\n });\n } else if (lastkeycode === 8 && maskedPos) {\n charactersToAdd.forEach(([chars, pos]) => {\n if (maskedPos === pos + 1) maskedPos -= chars.length;\n });\n }\n return { nextMaskedValue: nextMaskedValue.join(''), maskedPos };\n};\n\nconst PhoneInternationalInputMask = ({\n focus,\n setFocus,\n setRawMask,\n cursorPosition,\n setCursorPosition,\n lastkey,\n setLastkey,\n setRawValue,\n style,\n disabled,\n className,\n name,\n maxLength,\n minLength,\n fluidWidth,\n placeholder,\n onKeyDown,\n onClick,\n onChange,\n onFocus,\n onBlur,\n onPaste,\n onKeyUp,\n hasError,\n readOnly,\n type,\n innerRef,\n clearable = false,\n leftComponent,\n rightComponent,\n value,\n ...rest\n}) => {\n const inputRef = useRef();\n const [maskedValue, setMaskedValue] = useState(value);\n\n const conform = useCallback(\n ({ rawValue, cursorPos, lastkeycode, shouldUpdateCursorPos = true }) => {\n const { nextMaskedValue, maskedPos } = conformValue(rawValue, cursorPos, lastkeycode);\n const event = {\n target: {\n value: nextMaskedValue,\n originalValue: rawValue,\n },\n };\n if (onChange && nextMaskedValue !== maskedValue) onChange(event);\n\n setMaskedValue(nextMaskedValue);\n setRawValue(nextMaskedValue);\n\n if (shouldUpdateCursorPos) setCursorPosition({ current: maskedPos });\n },\n [maskedValue, onChange],\n );\n\n const handleOnChange = useCallback(\n (e) => {\n const { value: rawValue, selectionEnd } = e.target;\n setRawMask(rawValue);\n setRawValue(rawValue);\n setCursorPosition({ current: selectionEnd });\n setFocus(true);\n },\n [setRawMask, setRawValue, setCursorPosition, setFocus, lastkey.code],\n );\n\n useLayoutEffect(() => {\n if (focus) setCaretPosition(inputRef.current, cursorPosition.current);\n }, [focus, cursorPosition]);\n\n useLayoutEffect(() => {\n // if the value changes, then re-conform the mask\n conform({\n rawValue: value,\n cursorPos: cursorPosition.current,\n lastkeycode: lastkey.code,\n shouldUpdateCursorPos: focus,\n });\n }, [focus, value, cursorPosition.current]);\n\n const handleKeyDown = useCallback(\n (e) => {\n e.stopPropagation();\n setLastkey({ key: e.key, code: e.keyCode });\n onKeyDown(e);\n },\n [onKeyDown],\n );\n\n const handleBlur = useCallback(\n (e) => {\n setFocus(false);\n onBlur(e);\n },\n [onBlur],\n );\n\n return (\n <DSTextBox\n {...rest}\n className={className}\n clearable={clearable}\n disabled={disabled}\n fluidWidth={fluidWidth}\n hasError={hasError}\n innerRef={(ref) => {\n inputRef.current = ref;\n if (innerRef) innerRef(ref);\n }}\n isActive={focus}\n leftComponent={leftComponent}\n maxLength={maxLength}\n minLength={minLength}\n name={name}\n onBlur={handleBlur}\n onChange={handleOnChange}\n onClick={onClick}\n onFocus={onFocus}\n onKeyDown={handleKeyDown}\n onKeyUp={onKeyUp}\n onPaste={onPaste}\n placeholder={placeholder}\n readOnly={readOnly}\n rightComponent={rightComponent}\n style={style}\n type={type}\n value={maskedValue}\n />\n );\n};\n\nexport { PhoneInternationalInputMask };\nexport default PhoneInternationalInputMask;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useCallback, useLayoutEffect, useRef, useState } from 'react';\nimport { PropTypes } from '@elliemae/ds-props-helpers';\nimport { DSTextBox } from '../../TextBox/index.js';\nimport type { TCharsToAdd } from '../types/index.js';\nimport { setCaretPosition } from '../utils/setCaretPosition.js';\n\nconst conformValue = (rawValue, cursorPos, lastkeycode) => {\n let nextMaskedValue = rawValue\n .split('+1')\n .slice(-1)[0]\n .split('')\n .filter((char) => char >= '0' && char <= '9');\n\n while (nextMaskedValue.length && nextMaskedValue[0] === '0') nextMaskedValue.splice(0, 1);\n\n nextMaskedValue = nextMaskedValue.slice(0, 10);\n\n let maskedPos = 0;\n for (let i = 0; i < cursorPos; i += 1) {\n if (nextMaskedValue[maskedPos] === rawValue[i]) maskedPos += 1;\n }\n\n // list of [string to add, position to add]\n const charactersToAdd: TCharsToAdd = [\n ['+1 (', 0],\n [') ', 7],\n ['-', 12],\n ];\n\n charactersToAdd.forEach(([chars, pos]) => {\n if (nextMaskedValue.length > pos) {\n nextMaskedValue.splice(pos, 0, ...chars);\n if (maskedPos >= pos) maskedPos += chars.length;\n }\n });\n\n if (lastkeycode !== 8 && maskedPos < nextMaskedValue.length) {\n charactersToAdd.forEach(([chars, pos]) => {\n if (maskedPos === pos) maskedPos += chars.length;\n });\n } else if (lastkeycode === 8 && maskedPos) {\n charactersToAdd.forEach(([chars, pos]) => {\n if (maskedPos === pos + 1) maskedPos -= chars.length;\n });\n }\n return { nextMaskedValue: nextMaskedValue.join(''), maskedPos };\n};\n\nconst PhoneInternationalInputMask = ({\n focus,\n setFocus,\n setRawMask,\n cursorPosition,\n setCursorPosition,\n lastkey,\n setLastkey,\n setRawValue,\n style,\n disabled,\n className,\n name,\n maxLength,\n minLength,\n fluidWidth,\n placeholder,\n onKeyDown,\n onClick,\n onChange,\n onFocus,\n onBlur,\n onPaste,\n onKeyUp,\n hasError,\n readOnly,\n type,\n innerRef,\n clearable = false,\n leftComponent,\n rightComponent,\n value,\n ...rest\n}) => {\n const inputRef = useRef();\n const [maskedValue, setMaskedValue] = useState(value);\n\n const conform = useCallback(\n ({ rawValue, cursorPos, lastkeycode, shouldUpdateCursorPos = true }) => {\n const { nextMaskedValue, maskedPos } = conformValue(rawValue, cursorPos, lastkeycode);\n const event = {\n target: {\n value: nextMaskedValue,\n originalValue: rawValue,\n },\n };\n if (onChange && nextMaskedValue !== maskedValue) onChange(event);\n\n setMaskedValue(nextMaskedValue);\n setRawValue(nextMaskedValue);\n\n if (shouldUpdateCursorPos) setCursorPosition({ current: maskedPos });\n },\n [maskedValue, onChange],\n );\n\n const handleOnChange = useCallback(\n (e) => {\n const { value: rawValue, selectionEnd } = e.target;\n setRawMask(rawValue);\n setRawValue(rawValue);\n setCursorPosition({ current: selectionEnd });\n setFocus(true);\n },\n [setRawMask, setRawValue, setCursorPosition, setFocus, lastkey.code],\n );\n\n useLayoutEffect(() => {\n if (focus) setCaretPosition(inputRef.current, cursorPosition.current);\n }, [focus, cursorPosition]);\n\n useLayoutEffect(() => {\n // if the value changes, then re-conform the mask\n conform({\n rawValue: value,\n cursorPos: cursorPosition.current,\n lastkeycode: lastkey.code,\n shouldUpdateCursorPos: focus,\n });\n }, [focus, value, cursorPosition.current]);\n\n const handleKeyDown = useCallback(\n (e) => {\n e.stopPropagation();\n setLastkey({ key: e.key, code: e.keyCode });\n onKeyDown(e);\n },\n [onKeyDown],\n );\n\n const handleBlur = useCallback(\n (e) => {\n setFocus(false);\n onBlur(e);\n },\n [onBlur],\n );\n\n return (\n <DSTextBox\n {...rest}\n className={className}\n clearable={clearable}\n disabled={disabled}\n fluidWidth={fluidWidth}\n hasError={hasError}\n innerRef={(ref) => {\n inputRef.current = ref;\n if (innerRef) innerRef(ref);\n }}\n isActive={focus}\n leftComponent={leftComponent}\n maxLength={maxLength}\n minLength={minLength}\n name={name}\n onBlur={handleBlur}\n onChange={handleOnChange}\n onClick={onClick}\n onFocus={onFocus}\n onKeyDown={handleKeyDown}\n onKeyUp={onKeyUp}\n onPaste={onPaste}\n placeholder={placeholder}\n readOnly={readOnly}\n rightComponent={rightComponent}\n style={style}\n type={type}\n value={maskedValue}\n />\n );\n};\n\nexport { PhoneInternationalInputMask };\nexport default PhoneInternationalInputMask;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACqJnB;AAnJJ,SAAgB,aAAa,iBAAiB,QAAQ,gBAAgB;AAEtE,SAAS,iBAAiB;AAE1B,SAAS,wBAAwB;AAEjC,MAAM,eAAe,CAAC,UAAU,WAAW,gBAAgB;AACzD,MAAI,kBAAkB,SACnB,MAAM,IAAI,EACV,MAAM,EAAE,EAAE,CAAC,EACX,MAAM,EAAE,EACR,OAAO,CAAC,SAAS,QAAQ,OAAO,QAAQ,GAAG;AAE9C,SAAO,gBAAgB,UAAU,gBAAgB,CAAC,MAAM;AAAK,oBAAgB,OAAO,GAAG,CAAC;AAExF,oBAAkB,gBAAgB,MAAM,GAAG,EAAE;AAE7C,MAAI,YAAY;AAChB,WAAS,IAAI,GAAG,IAAI,WAAW,KAAK,GAAG;AACrC,QAAI,gBAAgB,SAAS,MAAM,SAAS,CAAC;AAAG,mBAAa;AAAA,EAC/D;AAGA,QAAM,kBAA+B;AAAA,IACnC,CAAC,QAAQ,CAAC;AAAA,IACV,CAAC,MAAM,CAAC;AAAA,IACR,CAAC,KAAK,EAAE;AAAA,EACV;AAEA,kBAAgB,QAAQ,CAAC,CAAC,OAAO,GAAG,MAAM;AACxC,QAAI,gBAAgB,SAAS,KAAK;AAChC,sBAAgB,OAAO,KAAK,GAAG,GAAG,KAAK;AACvC,UAAI,aAAa;AAAK,qBAAa,MAAM;AAAA,IAC3C;AAAA,EACF,CAAC;AAED,MAAI,gBAAgB,KAAK,YAAY,gBAAgB,QAAQ;AAC3D,oBAAgB,QAAQ,CAAC,CAAC,OAAO,GAAG,MAAM;AACxC,UAAI,cAAc;AAAK,qBAAa,MAAM;AAAA,IAC5C,CAAC;AAAA,EACH,WAAW,gBAAgB,KAAK,WAAW;AACzC,oBAAgB,QAAQ,CAAC,CAAC,OAAO,GAAG,MAAM;AACxC,UAAI,cAAc,MAAM;AAAG,qBAAa,MAAM;AAAA,IAChD,CAAC;AAAA,EACH;AACA,SAAO,EAAE,iBAAiB,gBAAgB,KAAK,EAAE,GAAG,UAAU;AAChE;AAEA,MAAM,8BAA8B,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,WAAW,OAAO;AACxB,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,KAAK;AAEpD,QAAM,UAAU;AAAA,IACd,CAAC,EAAE,UAAU,WAAW,aAAa,wBAAwB,KAAK,MAAM;AACtE,YAAM,EAAE,iBAAiB,UAAU,IAAI,aAAa,UAAU,WAAW,WAAW;AACpF,YAAM,QAAQ;AAAA,QACZ,QAAQ;AAAA,UACN,OAAO;AAAA,UACP,eAAe;AAAA,QACjB;AAAA,MACF;AACA,UAAI,YAAY,oBAAoB;AAAa,iBAAS,KAAK;AAE/D,qBAAe,eAAe;AAC9B,kBAAY,eAAe;AAE3B,UAAI;AAAuB,0BAAkB,EAAE,SAAS,UAAU,CAAC;AAAA,IACrE;AAAA,IACA,CAAC,aAAa,QAAQ;AAAA,EACxB;AAEA,QAAM,iBAAiB;AAAA,IACrB,CAAC,MAAM;AACL,YAAM,EAAE,OAAO,UAAU,aAAa,IAAI,EAAE;AAC5C,iBAAW,QAAQ;AACnB,kBAAY,QAAQ;AACpB,wBAAkB,EAAE,SAAS,aAAa,CAAC;AAC3C,eAAS,IAAI;AAAA,IACf;AAAA,IACA,CAAC,YAAY,aAAa,mBAAmB,UAAU,QAAQ,IAAI;AAAA,EACrE;AAEA,kBAAgB,MAAM;AACpB,QAAI;AAAO,uBAAiB,SAAS,SAAS,eAAe,OAAO;AAAA,EACtE,GAAG,CAAC,OAAO,cAAc,CAAC;AAE1B,kBAAgB,MAAM;AAEpB,YAAQ;AAAA,MACN,UAAU;AAAA,MACV,WAAW,eAAe;AAAA,MAC1B,aAAa,QAAQ;AAAA,MACrB,uBAAuB;AAAA,IACzB,CAAC;AAAA,EACH,GAAG,CAAC,OAAO,OAAO,eAAe,OAAO,CAAC;AAEzC,QAAM,gBAAgB;AAAA,IACpB,CAAC,MAAM;AACL,QAAE,gBAAgB;AAClB,iBAAW,EAAE,KAAK,EAAE,KAAK,MAAM,EAAE,QAAQ,CAAC;AAC1C,gBAAU,CAAC;AAAA,IACb;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AAEA,QAAM,aAAa;AAAA,IACjB,CAAC,MAAM;AACL,eAAS,KAAK;AACd,aAAO,CAAC;AAAA,IACV;AAAA,IACA,CAAC,MAAM;AAAA,EACT;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,UAAU,CAAC,QAAQ;AACjB,iBAAS,UAAU;AACnB,YAAI;AAAU,mBAAS,GAAG;AAAA,MAC5B;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,MACR,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA;AAAA,EACT;AAEJ;AAGA,IAAO,sCAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,8 +1,8 @@
1
1
  import * as React from "react";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { useCallback, useLayoutEffect, useRef, useState } from "react";
4
- import { DSTextBox } from "../../TextBox";
5
- import { setCaretPosition } from "../utils/setCaretPosition";
4
+ import { DSTextBox } from "../../TextBox/index.js";
5
+ import { setCaretPosition } from "../utils/setCaretPosition.js";
6
6
  const conformValue = (rawValue, cursorPos, lastkeycode) => {
7
7
  const nextMaskedValue = rawValue.split("").filter((char) => char >= "0" && char <= "9").slice(0, 9);
8
8
  let maskedPos = 0;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/InputMask/mask_types/SsnInputMask.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useCallback, useLayoutEffect, useRef, useState } from 'react';\nimport { PropTypes } from '@elliemae/ds-props-helpers';\nimport { DSTextBox } from '../../TextBox';\nimport type { TCharsToAdd } from '../types';\nimport { setCaretPosition } from '../utils/setCaretPosition';\n\nconst conformValue = (rawValue, cursorPos, lastkeycode) => {\n const nextMaskedValue = rawValue\n .split('')\n .filter((char) => char >= '0' && char <= '9')\n .slice(0, 9);\n\n let maskedPos = 0;\n for (let i = 0; i < cursorPos; i += 1) {\n if (nextMaskedValue[maskedPos] === rawValue[i]) maskedPos += 1;\n }\n\n // list of [string to add, position to add]\n const charactersToAdd: TCharsToAdd = [\n ['-', 3],\n ['-', 6],\n ];\n\n charactersToAdd.forEach(([chars, pos]) => {\n if (nextMaskedValue.length > pos) {\n nextMaskedValue.splice(pos, 0, ...chars);\n if (maskedPos >= pos) maskedPos += chars.length;\n }\n });\n\n if (lastkeycode !== 8 && maskedPos < nextMaskedValue.length) {\n charactersToAdd.forEach(([chars, pos]) => {\n if (maskedPos === pos) maskedPos += chars.length;\n });\n } else if (lastkeycode === 8 && maskedPos) {\n charactersToAdd.forEach(([chars, pos]) => {\n if (maskedPos === pos + 1) maskedPos -= chars.length;\n });\n }\n return { nextMaskedValue: nextMaskedValue.join(''), maskedPos };\n};\n\nconst SsnInputMask = ({\n focus,\n setFocus,\n setRawMask,\n cursorPosition,\n setCursorPosition,\n lastkey,\n setLastkey,\n setRawValue,\n style,\n disabled,\n className,\n name,\n maxLength,\n minLength,\n fluidWidth,\n placeholder,\n onKeyDown,\n onClick,\n onChange,\n onFocus,\n onBlur,\n onPaste,\n onKeyUp,\n hasError,\n readOnly,\n type,\n innerRef,\n clearable = false,\n leftComponent,\n rightComponent,\n value,\n ...rest\n}) => {\n const inputRef = useRef();\n const [maskedValue, setMaskedValue] = useState(value);\n\n const conform = useCallback(\n ({ rawValue, cursorPos, lastkeycode, shouldUpdateCursorPos = true }) => {\n const { nextMaskedValue, maskedPos } = conformValue(rawValue, cursorPos, lastkeycode);\n const event = {\n target: {\n value: nextMaskedValue,\n originalValue: rawValue,\n },\n };\n if (onChange && nextMaskedValue !== maskedValue) onChange(event);\n\n setMaskedValue(nextMaskedValue);\n setRawValue(nextMaskedValue);\n\n if (shouldUpdateCursorPos) setCursorPosition({ current: maskedPos });\n },\n [maskedValue, onChange],\n );\n\n const handleOnChange = useCallback(\n (e) => {\n const { value: rawValue, selectionEnd } = e.target;\n setRawMask(rawValue);\n setRawValue(rawValue);\n setCursorPosition({ current: selectionEnd });\n setFocus(true);\n },\n [setRawMask, setRawValue, setCursorPosition, setFocus, lastkey.code],\n );\n\n useLayoutEffect(() => {\n if (focus) setCaretPosition(inputRef.current, cursorPosition.current);\n }, [focus, cursorPosition]);\n\n useLayoutEffect(() => {\n // if the value changes, then re-conform the mask\n conform({\n rawValue: value,\n cursorPos: cursorPosition.current,\n lastkeycode: lastkey.code,\n shouldUpdateCursorPos: focus,\n });\n }, [focus, value, cursorPosition.current]);\n\n const handleKeyDown = useCallback(\n (e) => {\n e.stopPropagation();\n setLastkey({ key: e.key, code: e.keyCode });\n onKeyDown(e);\n },\n [onKeyDown],\n );\n\n const handleBlur = useCallback(\n (e) => {\n setFocus(false);\n onBlur(e);\n },\n [onBlur],\n );\n\n return (\n <DSTextBox\n {...rest}\n className={className}\n clearable={clearable}\n disabled={disabled}\n fluidWidth={fluidWidth}\n hasError={hasError}\n innerRef={(ref) => {\n inputRef.current = ref;\n if (innerRef) innerRef(ref);\n }}\n isActive={focus}\n leftComponent={leftComponent}\n maxLength={maxLength}\n minLength={minLength}\n name={name}\n onBlur={handleBlur}\n onChange={handleOnChange}\n onClick={onClick}\n onFocus={onFocus}\n onKeyDown={handleKeyDown}\n onKeyUp={onKeyUp}\n onPaste={onPaste}\n placeholder={placeholder}\n readOnly={readOnly}\n rightComponent={rightComponent}\n style={style}\n type={type}\n value={maskedValue}\n />\n );\n};\n\nexport { SsnInputMask };\nexport default SsnInputMask;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useCallback, useLayoutEffect, useRef, useState } from 'react';\nimport { PropTypes } from '@elliemae/ds-props-helpers';\nimport { DSTextBox } from '../../TextBox/index.js';\nimport type { TCharsToAdd } from '../types/index.js';\nimport { setCaretPosition } from '../utils/setCaretPosition.js';\n\nconst conformValue = (rawValue, cursorPos, lastkeycode) => {\n const nextMaskedValue = rawValue\n .split('')\n .filter((char) => char >= '0' && char <= '9')\n .slice(0, 9);\n\n let maskedPos = 0;\n for (let i = 0; i < cursorPos; i += 1) {\n if (nextMaskedValue[maskedPos] === rawValue[i]) maskedPos += 1;\n }\n\n // list of [string to add, position to add]\n const charactersToAdd: TCharsToAdd = [\n ['-', 3],\n ['-', 6],\n ];\n\n charactersToAdd.forEach(([chars, pos]) => {\n if (nextMaskedValue.length > pos) {\n nextMaskedValue.splice(pos, 0, ...chars);\n if (maskedPos >= pos) maskedPos += chars.length;\n }\n });\n\n if (lastkeycode !== 8 && maskedPos < nextMaskedValue.length) {\n charactersToAdd.forEach(([chars, pos]) => {\n if (maskedPos === pos) maskedPos += chars.length;\n });\n } else if (lastkeycode === 8 && maskedPos) {\n charactersToAdd.forEach(([chars, pos]) => {\n if (maskedPos === pos + 1) maskedPos -= chars.length;\n });\n }\n return { nextMaskedValue: nextMaskedValue.join(''), maskedPos };\n};\n\nconst SsnInputMask = ({\n focus,\n setFocus,\n setRawMask,\n cursorPosition,\n setCursorPosition,\n lastkey,\n setLastkey,\n setRawValue,\n style,\n disabled,\n className,\n name,\n maxLength,\n minLength,\n fluidWidth,\n placeholder,\n onKeyDown,\n onClick,\n onChange,\n onFocus,\n onBlur,\n onPaste,\n onKeyUp,\n hasError,\n readOnly,\n type,\n innerRef,\n clearable = false,\n leftComponent,\n rightComponent,\n value,\n ...rest\n}) => {\n const inputRef = useRef();\n const [maskedValue, setMaskedValue] = useState(value);\n\n const conform = useCallback(\n ({ rawValue, cursorPos, lastkeycode, shouldUpdateCursorPos = true }) => {\n const { nextMaskedValue, maskedPos } = conformValue(rawValue, cursorPos, lastkeycode);\n const event = {\n target: {\n value: nextMaskedValue,\n originalValue: rawValue,\n },\n };\n if (onChange && nextMaskedValue !== maskedValue) onChange(event);\n\n setMaskedValue(nextMaskedValue);\n setRawValue(nextMaskedValue);\n\n if (shouldUpdateCursorPos) setCursorPosition({ current: maskedPos });\n },\n [maskedValue, onChange],\n );\n\n const handleOnChange = useCallback(\n (e) => {\n const { value: rawValue, selectionEnd } = e.target;\n setRawMask(rawValue);\n setRawValue(rawValue);\n setCursorPosition({ current: selectionEnd });\n setFocus(true);\n },\n [setRawMask, setRawValue, setCursorPosition, setFocus, lastkey.code],\n );\n\n useLayoutEffect(() => {\n if (focus) setCaretPosition(inputRef.current, cursorPosition.current);\n }, [focus, cursorPosition]);\n\n useLayoutEffect(() => {\n // if the value changes, then re-conform the mask\n conform({\n rawValue: value,\n cursorPos: cursorPosition.current,\n lastkeycode: lastkey.code,\n shouldUpdateCursorPos: focus,\n });\n }, [focus, value, cursorPosition.current]);\n\n const handleKeyDown = useCallback(\n (e) => {\n e.stopPropagation();\n setLastkey({ key: e.key, code: e.keyCode });\n onKeyDown(e);\n },\n [onKeyDown],\n );\n\n const handleBlur = useCallback(\n (e) => {\n setFocus(false);\n onBlur(e);\n },\n [onBlur],\n );\n\n return (\n <DSTextBox\n {...rest}\n className={className}\n clearable={clearable}\n disabled={disabled}\n fluidWidth={fluidWidth}\n hasError={hasError}\n innerRef={(ref) => {\n inputRef.current = ref;\n if (innerRef) innerRef(ref);\n }}\n isActive={focus}\n leftComponent={leftComponent}\n maxLength={maxLength}\n minLength={minLength}\n name={name}\n onBlur={handleBlur}\n onChange={handleOnChange}\n onClick={onClick}\n onFocus={onFocus}\n onKeyDown={handleKeyDown}\n onKeyUp={onKeyUp}\n onPaste={onPaste}\n placeholder={placeholder}\n readOnly={readOnly}\n rightComponent={rightComponent}\n style={style}\n type={type}\n value={maskedValue}\n />\n );\n};\n\nexport { SsnInputMask };\nexport default SsnInputMask;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,8 +1,8 @@
1
1
  import * as React from "react";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { useCallback, useLayoutEffect, useRef, useState } from "react";
4
- import { DSTextBox } from "../../TextBox";
5
- import { setCaretPosition } from "../utils/setCaretPosition";
4
+ import { DSTextBox } from "../../TextBox/index.js";
5
+ import { setCaretPosition } from "../utils/setCaretPosition.js";
6
6
  const conformValue = (rawValue, cursorPos) => {
7
7
  const nextMaskedValue = rawValue.split("").filter((char) => char >= "0" && char <= "9").slice(0, 5);
8
8
  let maskedPos = 0;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/InputMask/mask_types/UsZipCodeInputMask.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useCallback, useLayoutEffect, useRef, useState } from 'react';\nimport { PropTypes } from '@elliemae/ds-props-helpers';\nimport { DSTextBox } from '../../TextBox';\nimport { setCaretPosition } from '../utils/setCaretPosition';\n\nconst conformValue = (rawValue: string, cursorPos: number) => {\n const nextMaskedValue = rawValue\n .split('')\n .filter((char) => char >= '0' && char <= '9')\n .slice(0, 5);\n\n let maskedPos = 0;\n for (let i = 0; i < cursorPos; i += 1) {\n if (nextMaskedValue[maskedPos] === rawValue[i]) maskedPos += 1;\n }\n return { nextMaskedValue: nextMaskedValue.join(''), maskedPos };\n};\n\nconst UsZipCodeInputMask = ({\n focus,\n setFocus,\n setRawMask,\n cursorPosition,\n setCursorPosition,\n lastkey,\n setLastkey,\n setRawValue,\n style,\n disabled,\n className,\n name,\n maxLength,\n minLength,\n fluidWidth,\n placeholder,\n onKeyDown,\n onClick,\n onChange,\n onFocus,\n onBlur,\n onPaste,\n onKeyUp,\n hasError,\n readOnly,\n type,\n innerRef,\n clearable = false,\n leftComponent,\n rightComponent,\n value,\n ...rest\n}) => {\n const inputRef = useRef();\n const [maskedValue, setMaskedValue] = useState(value);\n\n const conform = useCallback(\n ({ rawValue, cursorPos, lastkeycode, shouldUpdateCursorPos = true }) => {\n const { nextMaskedValue, maskedPos } = conformValue(rawValue, cursorPos);\n const event = {\n target: {\n value: nextMaskedValue,\n originalValue: rawValue,\n },\n };\n if (onChange && nextMaskedValue !== maskedValue) onChange(event);\n\n setMaskedValue(nextMaskedValue);\n setRawValue(nextMaskedValue);\n\n if (shouldUpdateCursorPos) setCursorPosition({ current: maskedPos });\n },\n [maskedValue, onChange],\n );\n\n const handleOnChange = useCallback(\n (e) => {\n const { value: rawValue, selectionEnd } = e.target;\n setRawMask(rawValue);\n setRawValue(rawValue);\n setCursorPosition({ current: selectionEnd });\n setFocus(true);\n },\n [setRawMask, setRawValue, setCursorPosition, setFocus, lastkey.code],\n );\n\n useLayoutEffect(() => {\n if (focus) setCaretPosition(inputRef.current, cursorPosition.current);\n }, [focus, cursorPosition]);\n\n useLayoutEffect(() => {\n // if the value changes, then re-conform the mask\n conform({\n rawValue: value,\n cursorPos: cursorPosition.current,\n lastkeycode: lastkey.code,\n shouldUpdateCursorPos: focus,\n });\n }, [focus, value, cursorPosition.current]);\n\n const handleKeyDown = useCallback(\n (e) => {\n e.stopPropagation();\n setLastkey({ key: e.key, code: e.keyCode });\n onKeyDown(e);\n },\n [onKeyDown],\n );\n\n const handleBlur = useCallback(\n (e) => {\n setFocus(false);\n onBlur(e);\n },\n [onBlur],\n );\n\n return (\n <DSTextBox\n {...rest}\n className={className}\n clearable={clearable}\n disabled={disabled}\n fluidWidth={fluidWidth}\n hasError={hasError}\n innerRef={(ref) => {\n inputRef.current = ref;\n if (innerRef) innerRef(ref);\n }}\n isActive={focus}\n leftComponent={leftComponent}\n maxLength={maxLength}\n minLength={minLength}\n name={name}\n onBlur={handleBlur}\n onChange={handleOnChange}\n onClick={onClick}\n onFocus={onFocus}\n onKeyDown={handleKeyDown}\n onKeyUp={onKeyUp}\n onPaste={onPaste}\n placeholder={placeholder}\n readOnly={readOnly}\n rightComponent={rightComponent}\n style={style}\n type={type}\n value={maskedValue}\n />\n );\n};\n\nexport { UsZipCodeInputMask };\nexport default UsZipCodeInputMask;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useCallback, useLayoutEffect, useRef, useState } from 'react';\nimport { PropTypes } from '@elliemae/ds-props-helpers';\nimport { DSTextBox } from '../../TextBox/index.js';\nimport { setCaretPosition } from '../utils/setCaretPosition.js';\n\nconst conformValue = (rawValue: string, cursorPos: number) => {\n const nextMaskedValue = rawValue\n .split('')\n .filter((char) => char >= '0' && char <= '9')\n .slice(0, 5);\n\n let maskedPos = 0;\n for (let i = 0; i < cursorPos; i += 1) {\n if (nextMaskedValue[maskedPos] === rawValue[i]) maskedPos += 1;\n }\n return { nextMaskedValue: nextMaskedValue.join(''), maskedPos };\n};\n\nconst UsZipCodeInputMask = ({\n focus,\n setFocus,\n setRawMask,\n cursorPosition,\n setCursorPosition,\n lastkey,\n setLastkey,\n setRawValue,\n style,\n disabled,\n className,\n name,\n maxLength,\n minLength,\n fluidWidth,\n placeholder,\n onKeyDown,\n onClick,\n onChange,\n onFocus,\n onBlur,\n onPaste,\n onKeyUp,\n hasError,\n readOnly,\n type,\n innerRef,\n clearable = false,\n leftComponent,\n rightComponent,\n value,\n ...rest\n}) => {\n const inputRef = useRef();\n const [maskedValue, setMaskedValue] = useState(value);\n\n const conform = useCallback(\n ({ rawValue, cursorPos, lastkeycode, shouldUpdateCursorPos = true }) => {\n const { nextMaskedValue, maskedPos } = conformValue(rawValue, cursorPos);\n const event = {\n target: {\n value: nextMaskedValue,\n originalValue: rawValue,\n },\n };\n if (onChange && nextMaskedValue !== maskedValue) onChange(event);\n\n setMaskedValue(nextMaskedValue);\n setRawValue(nextMaskedValue);\n\n if (shouldUpdateCursorPos) setCursorPosition({ current: maskedPos });\n },\n [maskedValue, onChange],\n );\n\n const handleOnChange = useCallback(\n (e) => {\n const { value: rawValue, selectionEnd } = e.target;\n setRawMask(rawValue);\n setRawValue(rawValue);\n setCursorPosition({ current: selectionEnd });\n setFocus(true);\n },\n [setRawMask, setRawValue, setCursorPosition, setFocus, lastkey.code],\n );\n\n useLayoutEffect(() => {\n if (focus) setCaretPosition(inputRef.current, cursorPosition.current);\n }, [focus, cursorPosition]);\n\n useLayoutEffect(() => {\n // if the value changes, then re-conform the mask\n conform({\n rawValue: value,\n cursorPos: cursorPosition.current,\n lastkeycode: lastkey.code,\n shouldUpdateCursorPos: focus,\n });\n }, [focus, value, cursorPosition.current]);\n\n const handleKeyDown = useCallback(\n (e) => {\n e.stopPropagation();\n setLastkey({ key: e.key, code: e.keyCode });\n onKeyDown(e);\n },\n [onKeyDown],\n );\n\n const handleBlur = useCallback(\n (e) => {\n setFocus(false);\n onBlur(e);\n },\n [onBlur],\n );\n\n return (\n <DSTextBox\n {...rest}\n className={className}\n clearable={clearable}\n disabled={disabled}\n fluidWidth={fluidWidth}\n hasError={hasError}\n innerRef={(ref) => {\n inputRef.current = ref;\n if (innerRef) innerRef(ref);\n }}\n isActive={focus}\n leftComponent={leftComponent}\n maxLength={maxLength}\n minLength={minLength}\n name={name}\n onBlur={handleBlur}\n onChange={handleOnChange}\n onClick={onClick}\n onFocus={onFocus}\n onKeyDown={handleKeyDown}\n onKeyUp={onKeyUp}\n onPaste={onPaste}\n placeholder={placeholder}\n readOnly={readOnly}\n rightComponent={rightComponent}\n style={style}\n type={type}\n value={maskedValue}\n />\n );\n};\n\nexport { UsZipCodeInputMask };\nexport default UsZipCodeInputMask;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,8 +1,8 @@
1
1
  import * as React from "react";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  import { useCallback, useLayoutEffect, useRef, useState } from "react";
4
- import { DSTextBox } from "../../TextBox";
5
- import { setCaretPosition } from "../utils/setCaretPosition";
4
+ import { DSTextBox } from "../../TextBox/index.js";
5
+ import { setCaretPosition } from "../utils/setCaretPosition.js";
6
6
  const conformValue = (rawValue, cursorPos, lastkeycode) => {
7
7
  const nextMaskedValue = rawValue.split("").filter((char) => char >= "0" && char <= "9").slice(0, 9);
8
8
  let maskedPos = 0;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/InputMask/mask_types/ZipCodeSearchInputMask.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useCallback, useLayoutEffect, useRef, useState } from 'react';\nimport { PropTypes } from '@elliemae/ds-props-helpers';\nimport { DSTextBox } from '../../TextBox';\nimport type { TCharsToAdd } from '../types';\nimport { setCaretPosition } from '../utils/setCaretPosition';\n\nconst conformValue = (rawValue, cursorPos, lastkeycode) => {\n const nextMaskedValue = rawValue\n .split('')\n .filter((char) => char >= '0' && char <= '9')\n .slice(0, 9);\n\n let maskedPos = 0;\n for (let i = 0; i < cursorPos; i += 1) {\n if (nextMaskedValue[maskedPos] === rawValue[i]) maskedPos += 1;\n }\n\n // list of [string to add, position to add]\n const charactersToAdd: TCharsToAdd = [['-', 5]];\n\n charactersToAdd.forEach(([chars, pos]) => {\n if (nextMaskedValue.length > pos) {\n nextMaskedValue.splice(pos, 0, chars);\n if (maskedPos >= pos) maskedPos += chars.length;\n }\n });\n\n if (lastkeycode !== 8 && maskedPos < nextMaskedValue.length) {\n charactersToAdd.forEach(([chars, pos]) => {\n if (maskedPos === pos) maskedPos += chars.length;\n });\n } else if (lastkeycode === 8 && maskedPos) {\n charactersToAdd.forEach(([chars, pos]) => {\n if (maskedPos === pos + 1) maskedPos -= chars.length;\n });\n }\n return { nextMaskedValue: nextMaskedValue.join(''), maskedPos };\n};\n\nconst ZipCodeSearchInputMask = ({\n focus,\n setFocus,\n setRawMask,\n cursorPosition,\n setCursorPosition,\n lastkey,\n setLastkey,\n setRawValue,\n style,\n disabled,\n className,\n name,\n maxLength,\n minLength,\n fluidWidth,\n placeholder,\n onKeyDown,\n onClick,\n onChange,\n onFocus,\n onBlur,\n onPaste,\n onKeyUp,\n hasError,\n readOnly,\n type,\n innerRef,\n clearable = false,\n leftComponent,\n rightComponent,\n value,\n ...rest\n}) => {\n const inputRef = useRef();\n const [maskedValue, setMaskedValue] = useState(value);\n\n const conform = useCallback(\n ({ rawValue, cursorPos, lastkeycode, shouldUpdateCursorPos = true }) => {\n const { nextMaskedValue, maskedPos } = conformValue(rawValue, cursorPos, lastkeycode);\n const event = {\n target: {\n value: nextMaskedValue,\n originalValue: rawValue,\n },\n };\n if (onChange && nextMaskedValue !== maskedValue) onChange(event);\n\n setMaskedValue(nextMaskedValue);\n setRawValue(nextMaskedValue);\n\n if (shouldUpdateCursorPos) setCursorPosition({ current: maskedPos });\n },\n [maskedValue, onChange],\n );\n\n const handleOnChange = useCallback(\n (e) => {\n const { value: rawValue, selectionEnd } = e.target;\n setRawMask(rawValue);\n setRawValue(rawValue);\n setCursorPosition({ current: selectionEnd });\n setFocus(true);\n },\n [setRawMask, setRawValue, setCursorPosition, setFocus, lastkey.code],\n );\n\n useLayoutEffect(() => {\n if (focus) setCaretPosition(inputRef.current, cursorPosition.current);\n }, [focus, cursorPosition]);\n\n useLayoutEffect(() => {\n // if the value changes, then re-conform the mask\n conform({\n rawValue: value,\n cursorPos: cursorPosition.current,\n lastkeycode: lastkey.code,\n shouldUpdateCursorPos: focus,\n });\n }, [focus, value, cursorPosition.current]);\n\n const handleKeyDown = useCallback(\n (e) => {\n e.stopPropagation();\n setLastkey({ key: e.key, code: e.keyCode });\n onKeyDown(e);\n },\n [onKeyDown],\n );\n\n const handleBlur = useCallback(\n (e) => {\n setFocus(false);\n onBlur(e);\n },\n [onBlur],\n );\n\n return (\n <DSTextBox\n {...rest}\n className={className}\n clearable={clearable}\n disabled={disabled}\n fluidWidth={fluidWidth}\n hasError={hasError}\n innerRef={(ref) => {\n inputRef.current = ref;\n if (innerRef && typeof innerRef === 'function') innerRef(ref);\n }}\n isActive={focus}\n leftComponent={leftComponent}\n maxLength={maxLength}\n minLength={minLength}\n name={name}\n onBlur={handleBlur}\n onChange={handleOnChange}\n onClick={onClick}\n onFocus={onFocus}\n onKeyDown={handleKeyDown}\n onKeyUp={onKeyUp}\n onPaste={onPaste}\n placeholder={placeholder}\n readOnly={readOnly}\n rightComponent={rightComponent}\n style={style}\n type={type}\n value={maskedValue}\n />\n );\n};\n\nexport { ZipCodeSearchInputMask };\nexport default ZipCodeSearchInputMask;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;AC4InB;AA1IJ,SAAgB,aAAa,iBAAiB,QAAQ,gBAAgB;AAEtE,SAAS,iBAAiB;AAE1B,SAAS,wBAAwB;AAEjC,MAAM,eAAe,CAAC,UAAU,WAAW,gBAAgB;AACzD,QAAM,kBAAkB,SACrB,MAAM,EAAE,EACR,OAAO,CAAC,SAAS,QAAQ,OAAO,QAAQ,GAAG,EAC3C,MAAM,GAAG,CAAC;AAEb,MAAI,YAAY;AAChB,WAAS,IAAI,GAAG,IAAI,WAAW,KAAK,GAAG;AACrC,QAAI,gBAAgB,eAAe,SAAS;AAAI,mBAAa;AAAA,EAC/D;AAGA,QAAM,kBAA+B,CAAC,CAAC,KAAK,CAAC,CAAC;AAE9C,kBAAgB,QAAQ,CAAC,CAAC,OAAO,GAAG,MAAM;AACxC,QAAI,gBAAgB,SAAS,KAAK;AAChC,sBAAgB,OAAO,KAAK,GAAG,KAAK;AACpC,UAAI,aAAa;AAAK,qBAAa,MAAM;AAAA,IAC3C;AAAA,EACF,CAAC;AAED,MAAI,gBAAgB,KAAK,YAAY,gBAAgB,QAAQ;AAC3D,oBAAgB,QAAQ,CAAC,CAAC,OAAO,GAAG,MAAM;AACxC,UAAI,cAAc;AAAK,qBAAa,MAAM;AAAA,IAC5C,CAAC;AAAA,EACH,WAAW,gBAAgB,KAAK,WAAW;AACzC,oBAAgB,QAAQ,CAAC,CAAC,OAAO,GAAG,MAAM;AACxC,UAAI,cAAc,MAAM;AAAG,qBAAa,MAAM;AAAA,IAChD,CAAC;AAAA,EACH;AACA,SAAO,EAAE,iBAAiB,gBAAgB,KAAK,EAAE,GAAG,UAAU;AAChE;AAEA,MAAM,yBAAyB,CAAC;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,KACG;AACL,MAAM;AACJ,QAAM,WAAW,OAAO;AACxB,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,KAAK;AAEpD,QAAM,UAAU;AAAA,IACd,CAAC,EAAE,UAAU,WAAW,aAAa,wBAAwB,KAAK,MAAM;AACtE,YAAM,EAAE,iBAAiB,UAAU,IAAI,aAAa,UAAU,WAAW,WAAW;AACpF,YAAM,QAAQ;AAAA,QACZ,QAAQ;AAAA,UACN,OAAO;AAAA,UACP,eAAe;AAAA,QACjB;AAAA,MACF;AACA,UAAI,YAAY,oBAAoB;AAAa,iBAAS,KAAK;AAE/D,qBAAe,eAAe;AAC9B,kBAAY,eAAe;AAE3B,UAAI;AAAuB,0BAAkB,EAAE,SAAS,UAAU,CAAC;AAAA,IACrE;AAAA,IACA,CAAC,aAAa,QAAQ;AAAA,EACxB;AAEA,QAAM,iBAAiB;AAAA,IACrB,CAAC,MAAM;AACL,YAAM,EAAE,OAAO,UAAU,aAAa,IAAI,EAAE;AAC5C,iBAAW,QAAQ;AACnB,kBAAY,QAAQ;AACpB,wBAAkB,EAAE,SAAS,aAAa,CAAC;AAC3C,eAAS,IAAI;AAAA,IACf;AAAA,IACA,CAAC,YAAY,aAAa,mBAAmB,UAAU,QAAQ,IAAI;AAAA,EACrE;AAEA,kBAAgB,MAAM;AACpB,QAAI;AAAO,uBAAiB,SAAS,SAAS,eAAe,OAAO;AAAA,EACtE,GAAG,CAAC,OAAO,cAAc,CAAC;AAE1B,kBAAgB,MAAM;AAEpB,YAAQ;AAAA,MACN,UAAU;AAAA,MACV,WAAW,eAAe;AAAA,MAC1B,aAAa,QAAQ;AAAA,MACrB,uBAAuB;AAAA,IACzB,CAAC;AAAA,EACH,GAAG,CAAC,OAAO,OAAO,eAAe,OAAO,CAAC;AAEzC,QAAM,gBAAgB;AAAA,IACpB,CAAC,MAAM;AACL,QAAE,gBAAgB;AAClB,iBAAW,EAAE,KAAK,EAAE,KAAK,MAAM,EAAE,QAAQ,CAAC;AAC1C,gBAAU,CAAC;AAAA,IACb;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AAEA,QAAM,aAAa;AAAA,IACjB,CAAC,MAAM;AACL,eAAS,KAAK;AACd,aAAO,CAAC;AAAA,IACV;AAAA,IACA,CAAC,MAAM;AAAA,EACT;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,UAAU,CAAC,QAAQ;AACjB,iBAAS,UAAU;AACnB,YAAI,YAAY,OAAO,aAAa;AAAY,mBAAS,GAAG;AAAA,MAC9D;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,MACR,UAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO;AAAA;AAAA,EACT;AAEJ;AAGA,IAAO,iCAAQ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable complexity */\nimport React, { useCallback, useLayoutEffect, useRef, useState } from 'react';\nimport { PropTypes } from '@elliemae/ds-props-helpers';\nimport { DSTextBox } from '../../TextBox/index.js';\nimport type { TCharsToAdd } from '../types/index.js';\nimport { setCaretPosition } from '../utils/setCaretPosition.js';\n\nconst conformValue = (rawValue, cursorPos, lastkeycode) => {\n const nextMaskedValue = rawValue\n .split('')\n .filter((char) => char >= '0' && char <= '9')\n .slice(0, 9);\n\n let maskedPos = 0;\n for (let i = 0; i < cursorPos; i += 1) {\n if (nextMaskedValue[maskedPos] === rawValue[i]) maskedPos += 1;\n }\n\n // list of [string to add, position to add]\n const charactersToAdd: TCharsToAdd = [['-', 5]];\n\n charactersToAdd.forEach(([chars, pos]) => {\n if (nextMaskedValue.length > pos) {\n nextMaskedValue.splice(pos, 0, chars);\n if (maskedPos >= pos) maskedPos += chars.length;\n }\n });\n\n if (lastkeycode !== 8 && maskedPos < nextMaskedValue.length) {\n charactersToAdd.forEach(([chars, pos]) => {\n if (maskedPos === pos) maskedPos += chars.length;\n });\n } else if (lastkeycode === 8 && maskedPos) {\n charactersToAdd.forEach(([chars, pos]) => {\n if (maskedPos === pos + 1) maskedPos -= chars.length;\n });\n }\n return { nextMaskedValue: nextMaskedValue.join(''), maskedPos };\n};\n\nconst ZipCodeSearchInputMask = ({\n focus,\n setFocus,\n setRawMask,\n cursorPosition,\n setCursorPosition,\n lastkey,\n setLastkey,\n setRawValue,\n style,\n disabled,\n className,\n name,\n maxLength,\n minLength,\n fluidWidth,\n placeholder,\n onKeyDown,\n onClick,\n onChange,\n onFocus,\n onBlur,\n onPaste,\n onKeyUp,\n hasError,\n readOnly,\n type,\n innerRef,\n clearable = false,\n leftComponent,\n rightComponent,\n value,\n ...rest\n}) => {\n const inputRef = useRef();\n const [maskedValue, setMaskedValue] = useState(value);\n\n const conform = useCallback(\n ({ rawValue, cursorPos, lastkeycode, shouldUpdateCursorPos = true }) => {\n const { nextMaskedValue, maskedPos } = conformValue(rawValue, cursorPos, lastkeycode);\n const event = {\n target: {\n value: nextMaskedValue,\n originalValue: rawValue,\n },\n };\n if (onChange && nextMaskedValue !== maskedValue) onChange(event);\n\n setMaskedValue(nextMaskedValue);\n setRawValue(nextMaskedValue);\n\n if (shouldUpdateCursorPos) setCursorPosition({ current: maskedPos });\n },\n [maskedValue, onChange],\n );\n\n const handleOnChange = useCallback(\n (e) => {\n const { value: rawValue, selectionEnd } = e.target;\n setRawMask(rawValue);\n setRawValue(rawValue);\n setCursorPosition({ current: selectionEnd });\n setFocus(true);\n },\n [setRawMask, setRawValue, setCursorPosition, setFocus, lastkey.code],\n );\n\n useLayoutEffect(() => {\n if (focus) setCaretPosition(inputRef.current, cursorPosition.current);\n }, [focus, cursorPosition]);\n\n useLayoutEffect(() => {\n // if the value changes, then re-conform the mask\n conform({\n rawValue: value,\n cursorPos: cursorPosition.current,\n lastkeycode: lastkey.code,\n shouldUpdateCursorPos: focus,\n });\n }, [focus, value, cursorPosition.current]);\n\n const handleKeyDown = useCallback(\n (e) => {\n e.stopPropagation();\n setLastkey({ key: e.key, code: e.keyCode });\n onKeyDown(e);\n },\n [onKeyDown],\n );\n\n const handleBlur = useCallback(\n (e) => {\n setFocus(false);\n onBlur(e);\n },\n [onBlur],\n );\n\n return (\n <DSTextBox\n {...rest}\n className={className}\n clearable={clearable}\n disabled={disabled}\n fluidWidth={fluidWidth}\n hasError={hasError}\n innerRef={(ref) => {\n inputRef.current = ref;\n if (innerRef && typeof innerRef === 'function') innerRef(ref);\n }}\n isActive={focus}\n leftComponent={leftComponent}\n maxLength={maxLength}\n minLength={minLength}\n name={name}\n onBlur={handleBlur}\n onChange={handleOnChange}\n onClick={onClick}\n onFocus={onFocus}\n onKeyDown={handleKeyDown}\n onKeyUp={onKeyUp}\n onPaste={onPaste}\n placeholder={placeholder}\n readOnly={readOnly}\n rightComponent={rightComponent}\n style={style}\n type={type}\n value={maskedValue}\n />\n );\n};\n\nexport { ZipCodeSearchInputMask };\nexport default ZipCodeSearchInputMask;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,14 +1,14 @@
1
1
  import * as React from "react";
2
2
  import { jsx } from "react/jsx-runtime";
3
- import { DateInputMask } from "./DateInputMask";
4
- import { DateTimeInputMask } from "./DateTimeInputMask";
5
- import { DictionaryInputMask } from "./DictionaryInputMask";
6
- import { NumberInputMask } from "./NumberInputMask";
7
- import { PhoneInputMask } from "./PhoneInputMask";
8
- import { PhoneInternationalInputMask } from "./PhoneInternationalInputMask";
9
- import { SsnInputMask } from "./SsnInputMask";
10
- import { UsZipCodeInputMask } from "./UsZipCodeInputMask";
11
- import { ZipCodeSearchInputMask } from "./ZipCodeSearchInputMask";
3
+ import { DateInputMask } from "./DateInputMask.js";
4
+ import { DateTimeInputMask } from "./DateTimeInputMask.js";
5
+ import { DictionaryInputMask } from "./DictionaryInputMask.js";
6
+ import { NumberInputMask } from "./NumberInputMask.js";
7
+ import { PhoneInputMask } from "./PhoneInputMask.js";
8
+ import { PhoneInternationalInputMask } from "./PhoneInternationalInputMask.js";
9
+ import { SsnInputMask } from "./SsnInputMask.js";
10
+ import { UsZipCodeInputMask } from "./UsZipCodeInputMask.js";
11
+ import { ZipCodeSearchInputMask } from "./ZipCodeSearchInputMask.js";
12
12
  const dollarSign = "$";
13
13
  const percentSign = "%";
14
14
  const emptyString = "";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/InputMask/mask_types/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { DateInputMask } from './DateInputMask';\nimport { DateTimeInputMask } from './DateTimeInputMask';\nimport { DictionaryInputMask } from './DictionaryInputMask';\nimport { NumberInputMask } from './NumberInputMask';\nimport { PhoneInputMask } from './PhoneInputMask';\nimport { PhoneInternationalInputMask } from './PhoneInternationalInputMask';\nimport { SsnInputMask } from './SsnInputMask';\nimport { UsZipCodeInputMask } from './UsZipCodeInputMask';\nimport { ZipCodeSearchInputMask } from './ZipCodeSearchInputMask';\n\nconst dollarSign = '$';\nconst percentSign = '%';\nconst emptyString = '';\nconst comma = ',';\nconst period = '.';\n\nexport const OutOfTheBoxMaskTypes = {\n 'ds-mask-date': (props) => <DateInputMask {...props} />,\n 'ds-mask-date-time': (props) => <DateTimeInputMask {...props} />,\n 'ds-mask-dictionary': ({ ignoreCase = true, ...rest }) => <DictionaryInputMask ignoreCase={ignoreCase} {...rest} />,\n 'ds-mask-number': ({\n prefix = dollarSign,\n suffix = emptyString,\n includeThousandsSeparator = true,\n thousandsSeparatorSymbol = comma,\n allowDecimal = false,\n decimalSymbol = period,\n decimalLimit = 2,\n requireDecimal = false,\n allowNegative = false,\n allowLeadingZeroes = false,\n integerLimit = null,\n ...rest\n }) => (\n <NumberInputMask\n prefix={prefix}\n suffix={suffix}\n includeThousandsSeparator={includeThousandsSeparator}\n thousandsSeparatorSymbol={thousandsSeparatorSymbol}\n allowDecimal={allowDecimal}\n decimalSymbol={decimalSymbol}\n decimalLimit={decimalLimit}\n requireDecimal={requireDecimal}\n allowNegative={allowNegative}\n allowLeadingZeroes={allowLeadingZeroes}\n integerLimit={integerLimit}\n {...rest}\n />\n ),\n 'ds-mask-percent': ({\n prefix = emptyString,\n suffix = percentSign,\n includeThousandsSeparator = true,\n thousandsSeparatorSymbol = comma,\n allowDecimal = false,\n decimalSymbol = period,\n decimalLimit = 2,\n requireDecimal = false,\n allowNegative = false,\n allowLeadingZeroes = false,\n integerLimit = null,\n ...rest\n }) => (\n <NumberInputMask\n prefix={prefix}\n suffix={suffix}\n includeThousandsSeparator={includeThousandsSeparator}\n thousandsSeparatorSymbol={thousandsSeparatorSymbol}\n allowDecimal={allowDecimal}\n decimalSymbol={decimalSymbol}\n decimalLimit={decimalLimit}\n requireDecimal={requireDecimal}\n allowNegative={allowNegative}\n allowLeadingZeroes={allowLeadingZeroes}\n integerLimit={integerLimit}\n {...rest}\n />\n ),\n 'ds-mask-phone': (props) => <PhoneInputMask {...props} />,\n 'ds-mask-phone-international': (props) => <PhoneInternationalInputMask {...props} />,\n 'ds-mask-ssn': (props) => <SsnInputMask {...props} />,\n 'ds-mask-us-zip-code': (props) => <UsZipCodeInputMask {...props} />,\n 'ds-mask-zip-code-search': (props) => <ZipCodeSearchInputMask {...props} />,\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACkBM;AAjB7B,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAClC,SAAS,2BAA2B;AACpC,SAAS,uBAAuB;AAChC,SAAS,sBAAsB;AAC/B,SAAS,mCAAmC;AAC5C,SAAS,oBAAoB;AAC7B,SAAS,0BAA0B;AACnC,SAAS,8BAA8B;AAEvC,MAAM,aAAa;AACnB,MAAM,cAAc;AACpB,MAAM,cAAc;AACpB,MAAM,QAAQ;AACd,MAAM,SAAS;AAER,MAAM,uBAAuB;AAAA,EAClC,gBAAgB,CAAC,UAAU,oBAAC,iBAAe,GAAG,OAAO;AAAA,EACrD,qBAAqB,CAAC,UAAU,oBAAC,qBAAmB,GAAG,OAAO;AAAA,EAC9D,sBAAsB,CAAC,EAAE,aAAa,SAAS,KAAK,MAAM,oBAAC,uBAAoB,YAAyB,GAAG,MAAM;AAAA,EACjH,kBAAkB,CAAC;AAAA,IACjB,SAAS;AAAA,IACT,SAAS;AAAA,IACT,4BAA4B;AAAA,IAC5B,2BAA2B;AAAA,IAC3B,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,eAAe;AAAA,OACZ;AAAA,EACL,MACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAAA,EAEF,mBAAmB,CAAC;AAAA,IAClB,SAAS;AAAA,IACT,SAAS;AAAA,IACT,4BAA4B;AAAA,IAC5B,2BAA2B;AAAA,IAC3B,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,eAAe;AAAA,OACZ;AAAA,EACL,MACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAAA,EAEF,iBAAiB,CAAC,UAAU,oBAAC,kBAAgB,GAAG,OAAO;AAAA,EACvD,+BAA+B,CAAC,UAAU,oBAAC,+BAA6B,GAAG,OAAO;AAAA,EAClF,eAAe,CAAC,UAAU,oBAAC,gBAAc,GAAG,OAAO;AAAA,EACnD,uBAAuB,CAAC,UAAU,oBAAC,sBAAoB,GAAG,OAAO;AAAA,EACjE,2BAA2B,CAAC,UAAU,oBAAC,0BAAwB,GAAG,OAAO;AAC3E;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { DateInputMask } from './DateInputMask.js';\nimport { DateTimeInputMask } from './DateTimeInputMask.js';\nimport { DictionaryInputMask } from './DictionaryInputMask.js';\nimport { NumberInputMask } from './NumberInputMask.js';\nimport { PhoneInputMask } from './PhoneInputMask.js';\nimport { PhoneInternationalInputMask } from './PhoneInternationalInputMask.js';\nimport { SsnInputMask } from './SsnInputMask.js';\nimport { UsZipCodeInputMask } from './UsZipCodeInputMask.js';\nimport { ZipCodeSearchInputMask } from './ZipCodeSearchInputMask.js';\n\nconst dollarSign = '$';\nconst percentSign = '%';\nconst emptyString = '';\nconst comma = ',';\nconst period = '.';\n\nexport const OutOfTheBoxMaskTypes = {\n 'ds-mask-date': (props) => <DateInputMask {...props} />,\n 'ds-mask-date-time': (props) => <DateTimeInputMask {...props} />,\n 'ds-mask-dictionary': ({ ignoreCase = true, ...rest }) => <DictionaryInputMask ignoreCase={ignoreCase} {...rest} />,\n 'ds-mask-number': ({\n prefix = dollarSign,\n suffix = emptyString,\n includeThousandsSeparator = true,\n thousandsSeparatorSymbol = comma,\n allowDecimal = false,\n decimalSymbol = period,\n decimalLimit = 2,\n requireDecimal = false,\n allowNegative = false,\n allowLeadingZeroes = false,\n integerLimit = null,\n ...rest\n }) => (\n <NumberInputMask\n prefix={prefix}\n suffix={suffix}\n includeThousandsSeparator={includeThousandsSeparator}\n thousandsSeparatorSymbol={thousandsSeparatorSymbol}\n allowDecimal={allowDecimal}\n decimalSymbol={decimalSymbol}\n decimalLimit={decimalLimit}\n requireDecimal={requireDecimal}\n allowNegative={allowNegative}\n allowLeadingZeroes={allowLeadingZeroes}\n integerLimit={integerLimit}\n {...rest}\n />\n ),\n 'ds-mask-percent': ({\n prefix = emptyString,\n suffix = percentSign,\n includeThousandsSeparator = true,\n thousandsSeparatorSymbol = comma,\n allowDecimal = false,\n decimalSymbol = period,\n decimalLimit = 2,\n requireDecimal = false,\n allowNegative = false,\n allowLeadingZeroes = false,\n integerLimit = null,\n ...rest\n }) => (\n <NumberInputMask\n prefix={prefix}\n suffix={suffix}\n includeThousandsSeparator={includeThousandsSeparator}\n thousandsSeparatorSymbol={thousandsSeparatorSymbol}\n allowDecimal={allowDecimal}\n decimalSymbol={decimalSymbol}\n decimalLimit={decimalLimit}\n requireDecimal={requireDecimal}\n allowNegative={allowNegative}\n allowLeadingZeroes={allowLeadingZeroes}\n integerLimit={integerLimit}\n {...rest}\n />\n ),\n 'ds-mask-phone': (props) => <PhoneInputMask {...props} />,\n 'ds-mask-phone-international': (props) => <PhoneInternationalInputMask {...props} />,\n 'ds-mask-ssn': (props) => <SsnInputMask {...props} />,\n 'ds-mask-us-zip-code': (props) => <UsZipCodeInputMask {...props} />,\n 'ds-mask-zip-code-search': (props) => <ZipCodeSearchInputMask {...props} />,\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACkBM;AAjB7B,SAAS,qBAAqB;AAC9B,SAAS,yBAAyB;AAClC,SAAS,2BAA2B;AACpC,SAAS,uBAAuB;AAChC,SAAS,sBAAsB;AAC/B,SAAS,mCAAmC;AAC5C,SAAS,oBAAoB;AAC7B,SAAS,0BAA0B;AACnC,SAAS,8BAA8B;AAEvC,MAAM,aAAa;AACnB,MAAM,cAAc;AACpB,MAAM,cAAc;AACpB,MAAM,QAAQ;AACd,MAAM,SAAS;AAER,MAAM,uBAAuB;AAAA,EAClC,gBAAgB,CAAC,UAAU,oBAAC,iBAAe,GAAG,OAAO;AAAA,EACrD,qBAAqB,CAAC,UAAU,oBAAC,qBAAmB,GAAG,OAAO;AAAA,EAC9D,sBAAsB,CAAC,EAAE,aAAa,MAAM,GAAG,KAAK,MAAM,oBAAC,uBAAoB,YAAyB,GAAG,MAAM;AAAA,EACjH,kBAAkB,CAAC;AAAA,IACjB,SAAS;AAAA,IACT,SAAS;AAAA,IACT,4BAA4B;AAAA,IAC5B,2BAA2B;AAAA,IAC3B,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,eAAe;AAAA,IACf,GAAG;AAAA,EACL,MACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAAA,EAEF,mBAAmB,CAAC;AAAA,IAClB,SAAS;AAAA,IACT,SAAS;AAAA,IACT,4BAA4B;AAAA,IAC5B,2BAA2B;AAAA,IAC3B,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,eAAe;AAAA,IACf,GAAG;AAAA,EACL,MACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAAA,EAEF,iBAAiB,CAAC,UAAU,oBAAC,kBAAgB,GAAG,OAAO;AAAA,EACvD,+BAA+B,CAAC,UAAU,oBAAC,+BAA6B,GAAG,OAAO;AAAA,EAClF,eAAe,CAAC,UAAU,oBAAC,gBAAc,GAAG,OAAO;AAAA,EACnD,uBAAuB,CAAC,UAAU,oBAAC,sBAAoB,GAAG,OAAO;AAAA,EACjE,2BAA2B,CAAC,UAAU,oBAAC,0BAAwB,GAAG,OAAO;AAC3E;",
6
6
  "names": []
7
7
  }
@@ -1,41 +1,121 @@
1
1
  import * as React from "react";
2
2
  import { PropTypes } from "@elliemae/ds-props-helpers";
3
3
  const inputProps = {
4
+ /** Should component focus automatically */
4
5
  autoFocus: PropTypes.bool.description("Should component focus automatically"),
6
+ /**
7
+ * Set style for the input mask
8
+ */
5
9
  style: PropTypes.object.description("Set style for the input mask"),
10
+ /**
11
+ * Whether the input mask is disabled or not
12
+ */
6
13
  disabled: PropTypes.bool.description("Whether the input mask is disabled or not"),
14
+ /** disableTooltip */
7
15
  disableTooltip: PropTypes.bool.description("Whether to show a tooltip or not when text does not fit").defaultValue(true),
16
+ /** css class */
8
17
  className: PropTypes.string.description("css class"),
18
+ /** html name prop for form */
9
19
  name: PropTypes.string.description("html name prop for form"),
20
+ /**
21
+ * Max length for the input mask
22
+ */
10
23
  maxLength: PropTypes.number.description("Max length for the input mask"),
24
+ /**
25
+ * Min length for the input mask
26
+ */
11
27
  minLength: PropTypes.number.description("Min length for the input mask"),
28
+ /**
29
+ * Whether to make the content of the input mask fit the container or not
30
+ */
12
31
  fluidWidth: PropTypes.bool.description("Whether to make the content of the input mask fit the container or not"),
32
+ /** isShowElipsisActive */
13
33
  isShowElipsisActive: PropTypes.bool.description("Wheter to enable the ellipsis and tooltip functionality or not").defaultValue(true),
34
+ /**
35
+ * Component that works as placeholder
36
+ */
14
37
  placeholder: PropTypes.node.description("Component that works as placeholder"),
38
+ /**
39
+ * Allows a function that is triggered once a key is being pressed
40
+ */
15
41
  onKeyDown: PropTypes.func.description("Allows a function that is triggered once a key is being pressed"),
42
+ /**
43
+ * Allows a function that is triggered once the input mask is clicked
44
+ */
16
45
  onClick: PropTypes.func.description("Allows a function that is triggered once the input mask is clicked"),
46
+ /**
47
+ * Allows a function that is triggered once the input mask changes
48
+ */
17
49
  onChange: PropTypes.func.description("Allows a function that is triggered once the input mask changes"),
50
+ /**
51
+ * Allows a function that is triggered once the input mask is focused
52
+ */
18
53
  onFocus: PropTypes.func.description("Allows a function that is triggered once the input mask is focused"),
54
+ /**
55
+ * Allows a function that is triggered once the input mask loses focus
56
+ */
19
57
  onBlur: PropTypes.func.description("Allows a function that is triggered once the input mask loses focus"),
58
+ /**
59
+ * Allows a function that is triggered once the input mask is pasted
60
+ */
20
61
  onPaste: PropTypes.func.description("Allows a function that is triggered once the input mask is pasted"),
62
+ /**
63
+ * Allows a function that is triggered once in the input mask a keyboard key is released
64
+ */
21
65
  onKeyUp: PropTypes.func.description(
22
66
  "Allows a function that is triggered once in the input mask a keyboard key is released"
23
67
  ),
68
+ /**
69
+ * Default value once the component is initialized
70
+ */
24
71
  value: PropTypes.string.description("Default value once the component is initialized"),
72
+ /**
73
+ * Whether the input mask has error or not
74
+ */
25
75
  hasError: PropTypes.bool.description("Whether the input mask has error or not"),
76
+ /**
77
+ * Whether the input mask is read only or not
78
+ */
26
79
  readOnly: PropTypes.bool.description("Whether the input mask is read only or not"),
27
80
  innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ current: PropTypes.any })]).description(
28
81
  "Whether the input mask is read only or not"
29
82
  ),
83
+ /**
84
+ * Type of input. Ex: 'text'
85
+ */
30
86
  type: PropTypes.string.description("Type of input. Ex: 'text'"),
87
+ /**
88
+ * Whether the input mask is clearable or not
89
+ */
31
90
  clearable: PropTypes.bool.description("Whether the input mask is clearable or not"),
91
+ /**
92
+ * Component to be added at the right side of the input
93
+ */
32
94
  leftComponent: PropTypes.node.description("Component to be added at the right side of the input"),
95
+ /**
96
+ * Component to be added at the right side of the input
97
+ */
33
98
  rightComponent: PropTypes.node.description("Component to be added at the right side of the input"),
99
+ /**
100
+ * Mask that has to match with the input information entered
101
+ * ['DATE', 'PHONE', 'PHONE_INTENATIONAL', 'SSN', 'US_ZIP_CODE', 'NUMBER', 'PERCENT']
102
+ */
34
103
  mask: PropTypes.oneOfType([PropTypes.array, PropTypes.string, PropTypes.func, PropTypes.object]).description(
35
104
  "Mask that has to match with the input information entered. ['DATE', 'PHONE', 'PHONE_INTENATIONAL', 'SSN', 'US_ZIP_CODE', 'NUMBER', 'PERCENT', 'ZIP_CODE_SEARCH']"
36
105
  ),
106
+ /**
107
+ Expects pipe functions. i.e. autoCorrectedDatePipe
108
+ link a docu de text-mask
109
+ */
37
110
  pipe: PropTypes.func.description("Expects pipe functions. i.e. autoCorrectedDatePipe"),
111
+ /**
112
+ * Put a sufix after the input mask
113
+ */
38
114
  useSubfix: PropTypes.string.description("Put a sufix after the input mask"),
115
+ /**
116
+ * The placeholder character represents the fillable spot in the mask.
117
+ * The default placeholder character is underscore, _
118
+ */
39
119
  placeholderChar: PropTypes.string.description(
40
120
  `The placeholder character represents the fillable spot in the mask.
41
121
  The default placeholder character is underscore, _.`
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/InputMask/props.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { PropTypes } from '@elliemae/ds-props-helpers';\n\nexport const inputProps = {\n /** Should component focus automatically */\n autoFocus: PropTypes.bool.description('Should component focus automatically'),\n /**\n * Set style for the input mask\n */\n style: PropTypes.object.description('Set style for the input mask'),\n /**\n * Whether the input mask is disabled or not\n */\n disabled: PropTypes.bool.description('Whether the input mask is disabled or not'),\n /** disableTooltip */\n disableTooltip: PropTypes.bool\n .description('Whether to show a tooltip or not when text does not fit')\n .defaultValue(true),\n /** css class */\n className: PropTypes.string.description('css class'),\n /** html name prop for form */\n name: PropTypes.string.description('html name prop for form'),\n /**\n * Max length for the input mask\n */\n maxLength: PropTypes.number.description('Max length for the input mask'),\n /**\n * Min length for the input mask\n */\n minLength: PropTypes.number.description('Min length for the input mask'),\n /**\n * Whether to make the content of the input mask fit the container or not\n */\n fluidWidth: PropTypes.bool.description('Whether to make the content of the input mask fit the container or not'),\n /** isShowElipsisActive */\n isShowElipsisActive: PropTypes.bool\n .description('Wheter to enable the ellipsis and tooltip functionality or not')\n .defaultValue(true),\n /**\n * Component that works as placeholder\n */\n placeholder: PropTypes.node.description('Component that works as placeholder'),\n /**\n * Allows a function that is triggered once a key is being pressed\n */\n onKeyDown: PropTypes.func.description('Allows a function that is triggered once a key is being pressed'),\n /**\n * Allows a function that is triggered once the input mask is clicked\n */\n onClick: PropTypes.func.description('Allows a function that is triggered once the input mask is clicked'),\n /**\n * Allows a function that is triggered once the input mask changes\n */\n onChange: PropTypes.func.description('Allows a function that is triggered once the input mask changes'),\n /**\n * Allows a function that is triggered once the input mask is focused\n */\n onFocus: PropTypes.func.description('Allows a function that is triggered once the input mask is focused'),\n /**\n * Allows a function that is triggered once the input mask loses focus\n */\n onBlur: PropTypes.func.description('Allows a function that is triggered once the input mask loses focus'),\n /**\n * Allows a function that is triggered once the input mask is pasted\n */\n onPaste: PropTypes.func.description('Allows a function that is triggered once the input mask is pasted'),\n /**\n * Allows a function that is triggered once in the input mask a keyboard key is released\n */\n onKeyUp: PropTypes.func.description(\n 'Allows a function that is triggered once in the input mask a keyboard key is released',\n ),\n /**\n * Default value once the component is initialized\n */\n value: PropTypes.string.description('Default value once the component is initialized'),\n /**\n * Whether the input mask has error or not\n */\n hasError: PropTypes.bool.description('Whether the input mask has error or not'),\n /**\n * Whether the input mask is read only or not\n */\n readOnly: PropTypes.bool.description('Whether the input mask is read only or not'),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ current: PropTypes.any })]).description(\n 'Whether the input mask is read only or not',\n ),\n /**\n * Type of input. Ex: 'text'\n */\n type: PropTypes.string.description(\"Type of input. Ex: 'text'\"),\n /**\n * Whether the input mask is clearable or not\n */\n clearable: PropTypes.bool.description('Whether the input mask is clearable or not'),\n /**\n * Component to be added at the right side of the input\n */\n leftComponent: PropTypes.node.description('Component to be added at the right side of the input'),\n /**\n * Component to be added at the right side of the input\n */\n rightComponent: PropTypes.node.description('Component to be added at the right side of the input'),\n /**\n * Mask that has to match with the input information entered\n * ['DATE', 'PHONE', 'PHONE_INTENATIONAL', 'SSN', 'US_ZIP_CODE', 'NUMBER', 'PERCENT']\n */\n mask: PropTypes.oneOfType([PropTypes.array, PropTypes.string, PropTypes.func, PropTypes.object]).description(\n \"Mask that has to match with the input information entered. ['DATE', 'PHONE', 'PHONE_INTENATIONAL', 'SSN', 'US_ZIP_CODE', 'NUMBER', 'PERCENT', 'ZIP_CODE_SEARCH']\",\n ),\n /**\n Expects pipe functions. i.e. autoCorrectedDatePipe\n link a docu de text-mask\n */\n pipe: PropTypes.func.description('Expects pipe functions. i.e. autoCorrectedDatePipe'),\n /**\n * Put a sufix after the input mask\n */\n useSubfix: PropTypes.string.description('Put a sufix after the input mask'),\n /**\n * The placeholder character represents the fillable spot in the mask.\n * The default placeholder character is underscore, _\n */\n placeholderChar: PropTypes.string\n .description(\n `The placeholder character represents the fillable spot in the mask.\n The default placeholder character is underscore, _.`,\n )\n .defaultValue('_'),\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,iBAAiB;AAEnB,MAAM,aAAa;AAAA,EAExB,WAAW,UAAU,KAAK,YAAY,sCAAsC;AAAA,EAI5E,OAAO,UAAU,OAAO,YAAY,8BAA8B;AAAA,EAIlE,UAAU,UAAU,KAAK,YAAY,2CAA2C;AAAA,EAEhF,gBAAgB,UAAU,KACvB,YAAY,yDAAyD,EACrE,aAAa,IAAI;AAAA,EAEpB,WAAW,UAAU,OAAO,YAAY,WAAW;AAAA,EAEnD,MAAM,UAAU,OAAO,YAAY,yBAAyB;AAAA,EAI5D,WAAW,UAAU,OAAO,YAAY,+BAA+B;AAAA,EAIvE,WAAW,UAAU,OAAO,YAAY,+BAA+B;AAAA,EAIvE,YAAY,UAAU,KAAK,YAAY,wEAAwE;AAAA,EAE/G,qBAAqB,UAAU,KAC5B,YAAY,gEAAgE,EAC5E,aAAa,IAAI;AAAA,EAIpB,aAAa,UAAU,KAAK,YAAY,qCAAqC;AAAA,EAI7E,WAAW,UAAU,KAAK,YAAY,iEAAiE;AAAA,EAIvG,SAAS,UAAU,KAAK,YAAY,oEAAoE;AAAA,EAIxG,UAAU,UAAU,KAAK,YAAY,iEAAiE;AAAA,EAItG,SAAS,UAAU,KAAK,YAAY,oEAAoE;AAAA,EAIxG,QAAQ,UAAU,KAAK,YAAY,qEAAqE;AAAA,EAIxG,SAAS,UAAU,KAAK,YAAY,mEAAmE;AAAA,EAIvG,SAAS,UAAU,KAAK;AAAA,IACtB;AAAA,EACF;AAAA,EAIA,OAAO,UAAU,OAAO,YAAY,iDAAiD;AAAA,EAIrF,UAAU,UAAU,KAAK,YAAY,yCAAyC;AAAA,EAI9E,UAAU,UAAU,KAAK,YAAY,4CAA4C;AAAA,EACjF,UAAU,UAAU,UAAU,CAAC,UAAU,MAAM,UAAU,MAAM,EAAE,SAAS,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE;AAAA,IAC3F;AAAA,EACF;AAAA,EAIA,MAAM,UAAU,OAAO,YAAY,2BAA2B;AAAA,EAI9D,WAAW,UAAU,KAAK,YAAY,4CAA4C;AAAA,EAIlF,eAAe,UAAU,KAAK,YAAY,sDAAsD;AAAA,EAIhG,gBAAgB,UAAU,KAAK,YAAY,sDAAsD;AAAA,EAKjG,MAAM,UAAU,UAAU,CAAC,UAAU,OAAO,UAAU,QAAQ,UAAU,MAAM,UAAU,MAAM,CAAC,EAAE;AAAA,IAC/F;AAAA,EACF;AAAA,EAKA,MAAM,UAAU,KAAK,YAAY,oDAAoD;AAAA,EAIrF,WAAW,UAAU,OAAO,YAAY,kCAAkC;AAAA,EAK1E,iBAAiB,UAAU,OACxB;AAAA,IACC;AAAA;AAAA,EAEF,EACC,aAAa,GAAG;AACrB;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,iBAAiB;AAEnB,MAAM,aAAa;AAAA;AAAA,EAExB,WAAW,UAAU,KAAK,YAAY,sCAAsC;AAAA;AAAA;AAAA;AAAA,EAI5E,OAAO,UAAU,OAAO,YAAY,8BAA8B;AAAA;AAAA;AAAA;AAAA,EAIlE,UAAU,UAAU,KAAK,YAAY,2CAA2C;AAAA;AAAA,EAEhF,gBAAgB,UAAU,KACvB,YAAY,yDAAyD,EACrE,aAAa,IAAI;AAAA;AAAA,EAEpB,WAAW,UAAU,OAAO,YAAY,WAAW;AAAA;AAAA,EAEnD,MAAM,UAAU,OAAO,YAAY,yBAAyB;AAAA;AAAA;AAAA;AAAA,EAI5D,WAAW,UAAU,OAAO,YAAY,+BAA+B;AAAA;AAAA;AAAA;AAAA,EAIvE,WAAW,UAAU,OAAO,YAAY,+BAA+B;AAAA;AAAA;AAAA;AAAA,EAIvE,YAAY,UAAU,KAAK,YAAY,wEAAwE;AAAA;AAAA,EAE/G,qBAAqB,UAAU,KAC5B,YAAY,gEAAgE,EAC5E,aAAa,IAAI;AAAA;AAAA;AAAA;AAAA,EAIpB,aAAa,UAAU,KAAK,YAAY,qCAAqC;AAAA;AAAA;AAAA;AAAA,EAI7E,WAAW,UAAU,KAAK,YAAY,iEAAiE;AAAA;AAAA;AAAA;AAAA,EAIvG,SAAS,UAAU,KAAK,YAAY,oEAAoE;AAAA;AAAA;AAAA;AAAA,EAIxG,UAAU,UAAU,KAAK,YAAY,iEAAiE;AAAA;AAAA;AAAA;AAAA,EAItG,SAAS,UAAU,KAAK,YAAY,oEAAoE;AAAA;AAAA;AAAA;AAAA,EAIxG,QAAQ,UAAU,KAAK,YAAY,qEAAqE;AAAA;AAAA;AAAA;AAAA,EAIxG,SAAS,UAAU,KAAK,YAAY,mEAAmE;AAAA;AAAA;AAAA;AAAA,EAIvG,SAAS,UAAU,KAAK;AAAA,IACtB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAIA,OAAO,UAAU,OAAO,YAAY,iDAAiD;AAAA;AAAA;AAAA;AAAA,EAIrF,UAAU,UAAU,KAAK,YAAY,yCAAyC;AAAA;AAAA;AAAA;AAAA,EAI9E,UAAU,UAAU,KAAK,YAAY,4CAA4C;AAAA,EACjF,UAAU,UAAU,UAAU,CAAC,UAAU,MAAM,UAAU,MAAM,EAAE,SAAS,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE;AAAA,IAC3F;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAIA,MAAM,UAAU,OAAO,YAAY,2BAA2B;AAAA;AAAA;AAAA;AAAA,EAI9D,WAAW,UAAU,KAAK,YAAY,4CAA4C;AAAA;AAAA;AAAA;AAAA,EAIlF,eAAe,UAAU,KAAK,YAAY,sDAAsD;AAAA;AAAA;AAAA;AAAA,EAIhG,gBAAgB,UAAU,KAAK,YAAY,sDAAsD;AAAA;AAAA;AAAA;AAAA;AAAA,EAKjG,MAAM,UAAU,UAAU,CAAC,UAAU,OAAO,UAAU,QAAQ,UAAU,MAAM,UAAU,MAAM,CAAC,EAAE;AAAA,IAC/F;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,UAAU,KAAK,YAAY,oDAAoD;AAAA;AAAA;AAAA;AAAA,EAIrF,WAAW,UAAU,OAAO,YAAY,kCAAkC;AAAA;AAAA;AAAA;AAAA;AAAA,EAK1E,iBAAiB,UAAU,OACxB;AAAA,IACC;AAAA;AAAA,EAEF,EACC,aAAa,GAAG;AACrB;",
6
6
  "names": []
7
7
  }
@@ -5,11 +5,11 @@ import { useDeprecateComponent } from "@elliemae/ds-utilities";
5
5
  import { describe } from "@elliemae/ds-props-helpers";
6
6
  import { LockUnlocked, LockLocked, VisibleView, InvisibleHide } from "@elliemae/ds-icons";
7
7
  import { DSButton } from "@elliemae/ds-button";
8
- import { DSInputGroup } from "../InputGroup";
9
- import { DSInputMask } from "../InputMask";
10
- import { inputProtectedProps } from "./props";
11
- import { defaultProps } from "./defaultProps";
12
- import { LEFT_ADDON_OPTIONS, RIGHT_ADDON_OPTIONS } from "./options";
8
+ import { DSInputGroup } from "../InputGroup/index.js";
9
+ import { DSInputMask } from "../InputMask/index.js";
10
+ import { inputProtectedProps } from "./props.js";
11
+ import { defaultProps } from "./defaultProps.js";
12
+ import { LEFT_ADDON_OPTIONS, RIGHT_ADDON_OPTIONS } from "./options.js";
13
13
  const ADDON_ICON_OPTIONS = {
14
14
  LockUnlocked: /* @__PURE__ */ jsx(LockUnlocked, {}),
15
15
  LockLocked: /* @__PURE__ */ jsx(LockLocked, {}),