@skbkontur/react-ui 6.1.4-ff219.0 → 6.2.0-beta.0

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 (274) hide show
  1. package/components/Autocomplete/Autocomplete.js +2 -3
  2. package/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/components/FxInput/FxInput.js +2 -2
  4. package/components/FxInput/FxInput.js.map +1 -1
  5. package/components/Group/Group.js +3 -2
  6. package/components/Group/Group.js.map +1 -1
  7. package/components/Input/Input.d.ts +1 -1
  8. package/components/Input/Input.js.map +1 -1
  9. package/components/MaskedInput/MaskedInput.d.ts +0 -2
  10. package/components/MaskedInput/MaskedInput.js +0 -6
  11. package/components/MaskedInput/MaskedInput.js.map +1 -1
  12. package/components/TimePicker/TimeClockIcon.d.ts +3 -0
  13. package/components/TimePicker/TimeClockIcon.js +11 -0
  14. package/components/TimePicker/TimeClockIcon.js.map +1 -0
  15. package/components/TimePicker/TimePicker.d.ts +79 -0
  16. package/components/TimePicker/TimePicker.js +513 -0
  17. package/components/TimePicker/TimePicker.js.map +1 -0
  18. package/components/TimePicker/TimePicker.styles.d.ts +11 -0
  19. package/components/TimePicker/TimePicker.styles.js +36 -0
  20. package/components/TimePicker/TimePicker.styles.js.map +1 -0
  21. package/components/TimePicker/TimePickerItems.d.ts +17 -0
  22. package/components/TimePicker/TimePickerItems.js +80 -0
  23. package/components/TimePicker/TimePickerItems.js.map +1 -0
  24. package/components/TimePicker/TimePickerMobilePopup.d.ts +38 -0
  25. package/components/TimePicker/TimePickerMobilePopup.js +21 -0
  26. package/components/TimePicker/TimePickerMobilePopup.js.map +1 -0
  27. package/components/TimePicker/TimePickerPopup.d.ts +20 -0
  28. package/components/TimePicker/TimePickerPopup.js +18 -0
  29. package/components/TimePicker/TimePickerPopup.js.map +1 -0
  30. package/components/TimePicker/helpers/TimePicker.constants.d.ts +22 -0
  31. package/components/TimePicker/helpers/TimePicker.constants.js +31 -0
  32. package/components/TimePicker/helpers/TimePicker.constants.js.map +1 -0
  33. package/components/TimePicker/helpers/TimePicker.editing.d.ts +23 -0
  34. package/components/TimePicker/helpers/TimePicker.editing.js +101 -0
  35. package/components/TimePicker/helpers/TimePicker.editing.js.map +1 -0
  36. package/components/TimePicker/helpers/TimePicker.layout.d.ts +6 -0
  37. package/components/TimePicker/helpers/TimePicker.layout.js +49 -0
  38. package/components/TimePicker/helpers/TimePicker.layout.js.map +1 -0
  39. package/components/TimePicker/helpers/TimePicker.selection.d.ts +5 -0
  40. package/components/TimePicker/helpers/TimePicker.selection.js +23 -0
  41. package/components/TimePicker/helpers/TimePicker.selection.js.map +1 -0
  42. package/components/TimePicker/helpers/TimePicker.shared.d.ts +47 -0
  43. package/components/TimePicker/helpers/TimePicker.shared.js +70 -0
  44. package/components/TimePicker/helpers/TimePicker.shared.js.map +1 -0
  45. package/components/TimePicker/helpers/TimePicker.value.d.ts +30 -0
  46. package/components/TimePicker/helpers/TimePicker.value.js +96 -0
  47. package/components/TimePicker/helpers/TimePicker.value.js.map +1 -0
  48. package/components/TimePicker/helpers/scrollSelectedItemIntoView.d.ts +4 -0
  49. package/components/TimePicker/helpers/scrollSelectedItemIntoView.js +24 -0
  50. package/components/TimePicker/helpers/scrollSelectedItemIntoView.js.map +1 -0
  51. package/components/TimePicker/helpers/validateTimePicker.d.ts +8 -0
  52. package/components/TimePicker/helpers/validateTimePicker.js +16 -0
  53. package/components/TimePicker/helpers/validateTimePicker.js.map +1 -0
  54. package/components/TimePicker/hooks/useTimePickerDropdown.d.ts +17 -0
  55. package/components/TimePicker/hooks/useTimePickerDropdown.js +62 -0
  56. package/components/TimePicker/hooks/useTimePickerDropdown.js.map +1 -0
  57. package/components/TimePicker/hooks/useTimePickerSelection.d.ts +18 -0
  58. package/components/TimePicker/hooks/useTimePickerSelection.js +66 -0
  59. package/components/TimePicker/hooks/useTimePickerSelection.js.map +1 -0
  60. package/components/TimePicker/hooks/useTimePickerValue.d.ts +18 -0
  61. package/components/TimePicker/hooks/useTimePickerValue.js +59 -0
  62. package/components/TimePicker/hooks/useTimePickerValue.js.map +1 -0
  63. package/components/TimePicker/index.d.ts +2 -0
  64. package/components/TimePicker/index.js +2 -0
  65. package/components/TimePicker/index.js.map +1 -0
  66. package/components/TimePicker/locale/index.d.ts +4 -0
  67. package/components/TimePicker/locale/index.js +9 -0
  68. package/components/TimePicker/locale/index.js.map +1 -0
  69. package/components/TimePicker/locale/locales/en.d.ts +2 -0
  70. package/components/TimePicker/locale/locales/en.js +5 -0
  71. package/components/TimePicker/locale/locales/en.js.map +1 -0
  72. package/components/TimePicker/locale/locales/ru.d.ts +2 -0
  73. package/components/TimePicker/locale/locales/ru.js +5 -0
  74. package/components/TimePicker/locale/locales/ru.js.map +1 -0
  75. package/components/TimePicker/locale/types.d.ts +4 -0
  76. package/components/TimePicker/locale/types.js.map +1 -0
  77. package/index.d.ts +1 -1
  78. package/index.js +1 -1
  79. package/index.js.map +1 -1
  80. package/internal/CustomComboBox/ComboBoxView.js +2 -2
  81. package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  82. package/internal/NativeTimeInput/NativeTimeInput.d.ts +16 -0
  83. package/internal/NativeTimeInput/NativeTimeInput.js +25 -0
  84. package/internal/NativeTimeInput/NativeTimeInput.js.map +1 -0
  85. package/internal/NativeTimeInput/NativeTimeInput.styles.d.ts +3 -0
  86. package/internal/NativeTimeInput/NativeTimeInput.styles.js +15 -0
  87. package/internal/NativeTimeInput/NativeTimeInput.styles.js.map +1 -0
  88. package/internal/NativeTimeInput/NativeTimeInput.utils.d.ts +7 -0
  89. package/internal/NativeTimeInput/NativeTimeInput.utils.js +28 -0
  90. package/internal/NativeTimeInput/NativeTimeInput.utils.js.map +1 -0
  91. package/internal/NativeTimeInput/index.d.ts +1 -0
  92. package/internal/NativeTimeInput/index.js +2 -0
  93. package/internal/NativeTimeInput/index.js.map +1 -0
  94. package/internal/TimeInput/TimeFragments.d.ts +15 -0
  95. package/internal/TimeInput/TimeFragments.js +72 -0
  96. package/internal/TimeInput/TimeFragments.js.map +1 -0
  97. package/internal/TimeInput/TimeFragments.styles.d.ts +12 -0
  98. package/internal/TimeInput/TimeFragments.styles.js +43 -0
  99. package/internal/TimeInput/TimeFragments.styles.js.map +1 -0
  100. package/internal/TimeInput/TimeInput.d.ts +22 -0
  101. package/internal/TimeInput/TimeInput.js +103 -0
  102. package/internal/TimeInput/TimeInput.js.map +1 -0
  103. package/{components/MaskedInputV2/MaskedInputV2.styles.d.ts → internal/TimeInput/TimeInput.styles.d.ts} +3 -4
  104. package/internal/TimeInput/TimeInput.styles.js +21 -0
  105. package/internal/TimeInput/TimeInput.styles.js.map +1 -0
  106. package/internal/TimeInput/index.d.ts +1 -0
  107. package/internal/TimeInput/index.js +2 -0
  108. package/internal/TimeInput/index.js.map +1 -0
  109. package/internal/icons2022/TimeClockIcon/TimeClockIcon16Light.d.ts +2 -0
  110. package/internal/icons2022/TimeClockIcon/TimeClockIcon16Light.js +20 -0
  111. package/internal/icons2022/TimeClockIcon/TimeClockIcon16Light.js.map +1 -0
  112. package/internal/icons2022/TimeClockIcon/TimeClockIcon20Light.d.ts +2 -0
  113. package/internal/icons2022/TimeClockIcon/TimeClockIcon20Light.js +20 -0
  114. package/internal/icons2022/TimeClockIcon/TimeClockIcon20Light.js.map +1 -0
  115. package/internal/icons2022/TimeClockIcon/TimeClockIcon24Regular.d.ts +2 -0
  116. package/internal/icons2022/TimeClockIcon/TimeClockIcon24Regular.js +20 -0
  117. package/internal/icons2022/TimeClockIcon/TimeClockIcon24Regular.js.map +1 -0
  118. package/internal/themes/BasicTheme.d.ts +34 -0
  119. package/internal/themes/BasicTheme.js +96 -0
  120. package/internal/themes/BasicTheme.js.map +1 -1
  121. package/lib/events/keyboard/KeyboardEventCodes.d.ts +0 -2
  122. package/lib/events/keyboard/KeyboardEventCodes.js +0 -2
  123. package/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  124. package/lib/events/keyboard/KeyboardMapKeys.js +0 -2
  125. package/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  126. package/lib/events/keyboard/identifiers.d.ts +0 -2
  127. package/lib/events/keyboard/identifiers.js +0 -6
  128. package/lib/events/keyboard/identifiers.js.map +1 -1
  129. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +0 -2
  130. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +0 -1
  131. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  132. package/lib/locale/types.d.ts +2 -0
  133. package/lib/locale/types.js.map +1 -1
  134. package/lib/utils.d.ts +2 -0
  135. package/lib/utils.js +1 -0
  136. package/lib/utils.js.map +1 -1
  137. package/package.json +9 -4
  138. package/components/MaskedInputV2/MaskedInputV2.d.ts +0 -57
  139. package/components/MaskedInputV2/MaskedInputV2.helpers.d.ts +0 -9
  140. package/components/MaskedInputV2/MaskedInputV2.helpers.js +0 -17
  141. package/components/MaskedInputV2/MaskedInputV2.helpers.js.map +0 -1
  142. package/components/MaskedInputV2/MaskedInputV2.js +0 -234
  143. package/components/MaskedInputV2/MaskedInputV2.js.map +0 -1
  144. package/components/MaskedInputV2/MaskedInputV2.styles.js +0 -19
  145. package/components/MaskedInputV2/MaskedInputV2.styles.js.map +0 -1
  146. package/components/MaskedInputV2/index.d.ts +0 -1
  147. package/components/MaskedInputV2/index.js +0 -2
  148. package/components/MaskedInputV2/index.js.map +0 -1
  149. package/components/MaskedInputV2/internal/MaskOverlay.d.ts +0 -19
  150. package/components/MaskedInputV2/internal/MaskOverlay.js +0 -54
  151. package/components/MaskedInputV2/internal/MaskOverlay.js.map +0 -1
  152. package/components/MaskedInputV2/internal/MaskedCore.d.ts +0 -8
  153. package/components/MaskedInputV2/internal/MaskedCore.js +0 -101
  154. package/components/MaskedInputV2/internal/MaskedCore.js.map +0 -1
  155. package/components/MaskedInputV2/internal/MaskedCore.types.d.ts +0 -30
  156. package/components/MaskedInputV2/internal/MaskedCore.types.js +0 -2
  157. package/components/MaskedInputV2/internal/MaskedCore.types.js.map +0 -1
  158. package/components/MaskedInputV2/internal/MaskedInternal.styles.d.ts +0 -15
  159. package/components/MaskedInputV2/internal/MaskedInternal.styles.js +0 -34
  160. package/components/MaskedInputV2/internal/MaskedInternal.styles.js.map +0 -1
  161. package/components/MaskedInputV2/internal/buildSlotMap.d.ts +0 -11
  162. package/components/MaskedInputV2/internal/buildSlotMap.js +0 -37
  163. package/components/MaskedInputV2/internal/buildSlotMap.js.map +0 -1
  164. package/components/MaskedInputV2/internal/extractRaw.d.ts +0 -10
  165. package/components/MaskedInputV2/internal/extractRaw.js +0 -16
  166. package/components/MaskedInputV2/internal/extractRaw.js.map +0 -1
  167. package/components/MaskedInputV2/internal/findNearestRawLeft.d.ts +0 -10
  168. package/components/MaskedInputV2/internal/findNearestRawLeft.js +0 -18
  169. package/components/MaskedInputV2/internal/findNearestRawLeft.js.map +0 -1
  170. package/components/MaskedInputV2/internal/helpers.d.ts +0 -5
  171. package/components/MaskedInputV2/internal/helpers.js +0 -6
  172. package/components/MaskedInputV2/internal/helpers.js.map +0 -1
  173. package/components/MaskedInputV2/internal/maskedCoreClipboard.d.ts +0 -25
  174. package/components/MaskedInputV2/internal/maskedCoreClipboard.js +0 -30
  175. package/components/MaskedInputV2/internal/maskedCoreClipboard.js.map +0 -1
  176. package/components/MaskedInputV2/internal/maskedCoreDeletion.d.ts +0 -28
  177. package/components/MaskedInputV2/internal/maskedCoreDeletion.js +0 -70
  178. package/components/MaskedInputV2/internal/maskedCoreDeletion.js.map +0 -1
  179. package/components/MaskedInputV2/internal/maskedCoreInputChange.d.ts +0 -35
  180. package/components/MaskedInputV2/internal/maskedCoreInputChange.js +0 -31
  181. package/components/MaskedInputV2/internal/maskedCoreInputChange.js.map +0 -1
  182. package/components/MaskedInputV2/internal/maskedCoreNavigation.d.ts +0 -13
  183. package/components/MaskedInputV2/internal/maskedCoreNavigation.js +0 -79
  184. package/components/MaskedInputV2/internal/maskedCoreNavigation.js.map +0 -1
  185. package/components/MaskedInputV2/internal/stripMaskChars.d.ts +0 -11
  186. package/components/MaskedInputV2/internal/stripMaskChars.js +0 -20
  187. package/components/MaskedInputV2/internal/stripMaskChars.js.map +0 -1
  188. package/components/MaskedInputV2/internal/types.d.ts +0 -74
  189. package/components/MaskedInputV2/internal/types.js.map +0 -1
  190. package/components/MaskedInputV2/internal/useMaskEngine.d.ts +0 -42
  191. package/components/MaskedInputV2/internal/useMaskEngine.js +0 -82
  192. package/components/MaskedInputV2/internal/useMaskEngine.js.map +0 -1
  193. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.d.ts +0 -28
  194. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.js +0 -190
  195. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.js.map +0 -1
  196. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.d.ts +0 -16
  197. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.js +0 -59
  198. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.js.map +0 -1
  199. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.d.ts +0 -20
  200. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.js +0 -106
  201. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.js.map +0 -1
  202. package/components/MaskedInputV2/react-imask/imask/controls/input-history.d.ts +0 -17
  203. package/components/MaskedInputV2/react-imask/imask/controls/input-history.js +0 -49
  204. package/components/MaskedInputV2/react-imask/imask/controls/input-history.js.map +0 -1
  205. package/components/MaskedInputV2/react-imask/imask/controls/input.d.ts +0 -95
  206. package/components/MaskedInputV2/react-imask/imask/controls/input.js +0 -420
  207. package/components/MaskedInputV2/react-imask/imask/controls/input.js.map +0 -1
  208. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.d.ts +0 -30
  209. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.js +0 -59
  210. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.js.map +0 -1
  211. package/components/MaskedInputV2/react-imask/imask/core/action-details.d.ts +0 -30
  212. package/components/MaskedInputV2/react-imask/imask/core/action-details.js +0 -100
  213. package/components/MaskedInputV2/react-imask/imask/core/action-details.js.map +0 -1
  214. package/components/MaskedInputV2/react-imask/imask/core/change-details.d.ts +0 -20
  215. package/components/MaskedInputV2/react-imask/imask/core/change-details.js +0 -46
  216. package/components/MaskedInputV2/react-imask/imask/core/change-details.js.map +0 -1
  217. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.d.ts +0 -21
  218. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.js +0 -52
  219. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.js.map +0 -1
  220. package/components/MaskedInputV2/react-imask/imask/core/holder.d.ts +0 -34
  221. package/components/MaskedInputV2/react-imask/imask/core/holder.js +0 -38
  222. package/components/MaskedInputV2/react-imask/imask/core/holder.js.map +0 -1
  223. package/components/MaskedInputV2/react-imask/imask/core/tail-details.d.ts +0 -20
  224. package/components/MaskedInputV2/react-imask/imask/core/tail-details.js +0 -2
  225. package/components/MaskedInputV2/react-imask/imask/core/tail-details.js.map +0 -1
  226. package/components/MaskedInputV2/react-imask/imask/core/utils.d.ts +0 -24
  227. package/components/MaskedInputV2/react-imask/imask/core/utils.js +0 -100
  228. package/components/MaskedInputV2/react-imask/imask/core/utils.js.map +0 -1
  229. package/components/MaskedInputV2/react-imask/imask/imask.d.ts +0 -5
  230. package/components/MaskedInputV2/react-imask/imask/imask.js +0 -7
  231. package/components/MaskedInputV2/react-imask/imask/imask.js.map +0 -1
  232. package/components/MaskedInputV2/react-imask/imask/index.d.ts +0 -17
  233. package/components/MaskedInputV2/react-imask/imask/index.js +0 -16
  234. package/components/MaskedInputV2/react-imask/imask/index.js.map +0 -1
  235. package/components/MaskedInputV2/react-imask/imask/masked/base.d.ts +0 -114
  236. package/components/MaskedInputV2/react-imask/imask/masked/base.js +0 -411
  237. package/components/MaskedInputV2/react-imask/imask/masked/base.js.map +0 -1
  238. package/components/MaskedInputV2/react-imask/imask/masked/factory.d.ts +0 -62
  239. package/components/MaskedInputV2/react-imask/imask/masked/factory.js +0 -96
  240. package/components/MaskedInputV2/react-imask/imask/masked/factory.js.map +0 -1
  241. package/components/MaskedInputV2/react-imask/imask/masked/pattern.d.ts +0 -101
  242. package/components/MaskedInputV2/react-imask/imask/masked/pattern.js +0 -543
  243. package/components/MaskedInputV2/react-imask/imask/masked/pattern.js.map +0 -1
  244. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.d.ts +0 -30
  245. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.js +0 -2
  246. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.js.map +0 -1
  247. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.d.ts +0 -21
  248. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.js +0 -180
  249. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.js.map +0 -1
  250. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.d.ts +0 -31
  251. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.js +0 -163
  252. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.js.map +0 -1
  253. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.d.ts +0 -42
  254. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.js +0 -158
  255. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.js.map +0 -1
  256. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.d.ts +0 -56
  257. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.js +0 -185
  258. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.js.map +0 -1
  259. package/components/MaskedInputV2/react-imask/imask/masked/regexp.d.ts +0 -17
  260. package/components/MaskedInputV2/react-imask/imask/masked/regexp.js +0 -36
  261. package/components/MaskedInputV2/react-imask/imask/masked/regexp.js.map +0 -1
  262. package/components/MaskedInputV2/react-imask/index.d.ts +0 -3
  263. package/components/MaskedInputV2/react-imask/index.js +0 -4
  264. package/components/MaskedInputV2/react-imask/index.js.map +0 -1
  265. package/components/MaskedInputV2/react-imask/input.d.ts +0 -8
  266. package/components/MaskedInputV2/react-imask/input.js +0 -35
  267. package/components/MaskedInputV2/react-imask/input.js.map +0 -1
  268. package/components/MaskedInputV2/react-imask/mixin.d.ts +0 -31
  269. package/components/MaskedInputV2/react-imask/mixin.js +0 -246
  270. package/components/MaskedInputV2/react-imask/mixin.js.map +0 -1
  271. package/internal/FeaturedMaskedInput/FeaturedMaskedInput.d.ts +0 -4
  272. package/internal/FeaturedMaskedInput/FeaturedMaskedInput.js +0 -24
  273. package/internal/FeaturedMaskedInput/FeaturedMaskedInput.js.map +0 -1
  274. /package/components/{MaskedInputV2/internal → TimePicker/locale}/types.js +0 -0
@@ -1,246 +0,0 @@
1
- var __extends = (this && this.__extends) || (function () {
2
- var extendStatics = function (d, b) {
3
- extendStatics = Object.setPrototypeOf ||
4
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6
- return extendStatics(d, b);
7
- };
8
- return function (d, b) {
9
- if (typeof b !== "function" && b !== null)
10
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11
- extendStatics(d, b);
12
- function __() { this.constructor = d; }
13
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
14
- };
15
- })();
16
- var __assign = (this && this.__assign) || function () {
17
- __assign = Object.assign || function(t) {
18
- for (var s, i = 1, n = arguments.length; i < n; i++) {
19
- s = arguments[i];
20
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
21
- t[p] = s[p];
22
- }
23
- return t;
24
- };
25
- return __assign.apply(this, arguments);
26
- };
27
- var __rest = (this && this.__rest) || function (s, e) {
28
- var t = {};
29
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
30
- t[p] = s[p];
31
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
32
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
33
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
34
- t[p[i]] = s[p[i]];
35
- }
36
- return t;
37
- };
38
- import React from 'react';
39
- import { IMask } from './imask/core/holder.js';
40
- var MASK_PROPS_NAMES = [
41
- // common
42
- 'mask',
43
- 'unmask',
44
- 'prepare',
45
- 'prepareChar',
46
- 'validate',
47
- 'commit',
48
- 'overwrite',
49
- 'eager',
50
- 'skipInvalid',
51
- 'autofix',
52
- // events
53
- 'onAccept',
54
- 'onComplete',
55
- // pattern
56
- 'placeholderChar',
57
- 'displayChar',
58
- 'lazy',
59
- 'definitions',
60
- 'blocks',
61
- // ref
62
- 'inputRef',
63
- ];
64
- var NON_MASK_OPTIONS_NAMES = ['value', 'unmask', 'onAccept', 'onComplete', 'inputRef'];
65
- var MASK_OPTIONS_NAMES = MASK_PROPS_NAMES.filter(function (pName) { return NON_MASK_OPTIONS_NAMES.indexOf(pName) < 0; });
66
- export function IMaskMixin(ComposedComponent) {
67
- var MaskedComponent = /** @class */ (function (_super) {
68
- __extends(class_1, _super);
69
- function class_1(props) {
70
- var _this = _super.call(this, props) || this;
71
- _this._inputRef = _this._inputRef.bind(_this);
72
- _this.prevMaskProp = props.mask;
73
- _this.prevUnmaskProp = props.unmask;
74
- return _this;
75
- }
76
- class_1.prototype.componentDidMount = function () {
77
- if (!this.props.mask) {
78
- return;
79
- }
80
- this.initMask();
81
- };
82
- class_1.prototype.componentDidUpdate = function () {
83
- var _a, _b, _c, _d;
84
- var props = this.props;
85
- var maskOptions = this._extractMaskOptionsFromProps(props);
86
- if (maskOptions.mask) {
87
- if (this.maskRef) {
88
- var maskPropChanged = this.prevMaskProp !== props.mask || this.prevUnmaskProp !== props.unmask;
89
- var elementAsUnknown = this.element;
90
- var isNativeInputField = elementAsUnknown instanceof HTMLInputElement || elementAsUnknown instanceof HTMLTextAreaElement;
91
- var shouldKeepSelection = maskPropChanged && isNativeInputField && document.activeElement === this.element;
92
- var prevSelection_1 = shouldKeepSelection
93
- ? {
94
- start: (_a = this.element.selectionStart) !== null && _a !== void 0 ? _a : 0,
95
- end: (_b = this.element.selectionEnd) !== null && _b !== void 0 ? _b : 0,
96
- direction: (_c = this.element.selectionDirection) !== null && _c !== void 0 ? _c : 'none',
97
- }
98
- : null;
99
- this.maskRef.updateOptions(maskOptions);
100
- if ('value' in props && props.value !== undefined) {
101
- var nextValue = props.value;
102
- if (this.maskValue !== nextValue) {
103
- this.maskValue = nextValue;
104
- }
105
- }
106
- if (prevSelection_1 && isNativeInputField) {
107
- var inputElement_1 = this.element;
108
- var restoreSelection = function () {
109
- if (!inputElement_1.isConnected) {
110
- return;
111
- }
112
- var valueLength = inputElement_1.value.length;
113
- var nextStart = Math.min(prevSelection_1.start, valueLength);
114
- var nextEnd = Math.min(prevSelection_1.end, valueLength);
115
- inputElement_1.setSelectionRange(nextStart, nextEnd, prevSelection_1.direction);
116
- };
117
- restoreSelection();
118
- setTimeout(restoreSelection, 0);
119
- }
120
- }
121
- else {
122
- this.initMask(maskOptions);
123
- }
124
- }
125
- else {
126
- this.destroyMask();
127
- if ('value' in props && props.value !== undefined) {
128
- if (((_d = this.element) === null || _d === void 0 ? void 0 : _d.isContentEditable) &&
129
- this.element.tagName !== 'INPUT' &&
130
- this.element.tagName !== 'TEXTAREA') {
131
- this.element.textContent = props.value;
132
- }
133
- else {
134
- this.element.value = props.value;
135
- }
136
- }
137
- }
138
- // Keep prev props in sync for next update
139
- this.prevMaskProp = this.props.mask;
140
- this.prevUnmaskProp = this.props.unmask;
141
- };
142
- class_1.prototype.componentWillUnmount = function () {
143
- this.destroyMask();
144
- };
145
- class_1.prototype._inputRef = function (el) {
146
- this.element = el;
147
- if (this.props.inputRef) {
148
- if (Object.prototype.hasOwnProperty.call(this.props.inputRef, 'current')) {
149
- this.props.inputRef.current = el;
150
- }
151
- else {
152
- this.props.inputRef(el);
153
- }
154
- }
155
- };
156
- class_1.prototype.initMask = function (maskOptions) {
157
- if (maskOptions === void 0) { maskOptions = this._extractMaskOptionsFromProps(this.props); }
158
- // eslint-disable-next-line new-cap
159
- this.maskRef = IMask(this.element, maskOptions)
160
- .on('accept', this._onAccept.bind(this))
161
- .on('complete', this._onComplete.bind(this));
162
- if ('value' in this.props && this.props.value !== undefined) {
163
- this.maskValue = this.props.value;
164
- }
165
- };
166
- class_1.prototype.destroyMask = function () {
167
- if (this.maskRef) {
168
- this.maskRef.destroy();
169
- delete this.maskRef;
170
- }
171
- };
172
- class_1.prototype._extractMaskOptionsFromProps = function (props) {
173
- var cloneProps = __rest(props, []);
174
- // keep only mask options
175
- Object.keys(cloneProps)
176
- .filter(function (prop) { return MASK_OPTIONS_NAMES.indexOf(prop) < 0; })
177
- .forEach(function (nonMaskProp) {
178
- delete cloneProps[nonMaskProp];
179
- });
180
- return cloneProps;
181
- };
182
- class_1.prototype._extractNonMaskProps = function (props) {
183
- var cloneProps = __rest(props, []);
184
- MASK_PROPS_NAMES.forEach(function (maskProp) {
185
- delete cloneProps[maskProp];
186
- });
187
- if (!('defaultValue' in cloneProps)) {
188
- cloneProps.defaultValue = props.mask ? '' : cloneProps.value;
189
- }
190
- delete cloneProps.value;
191
- return cloneProps;
192
- };
193
- Object.defineProperty(class_1.prototype, "maskValue", {
194
- get: function () {
195
- if (!this.maskRef) {
196
- return '';
197
- }
198
- if (this.props.unmask === 'typed') {
199
- return this.maskRef.typedValue;
200
- }
201
- if (this.props.unmask) {
202
- return this.maskRef.unmaskedValue;
203
- }
204
- return this.maskRef.value;
205
- },
206
- set: function (value) {
207
- if (!this.maskRef) {
208
- return;
209
- }
210
- // eslint-disable-next-line no-param-reassign, eqeqeq
211
- value = (value == null && this.props.unmask !== 'typed' ? '' : value);
212
- if (this.props.unmask === 'typed') {
213
- this.maskRef.typedValue = value;
214
- }
215
- else if (this.props.unmask) {
216
- this.maskRef.unmaskedValue = value;
217
- }
218
- else {
219
- this.maskRef.value = value;
220
- }
221
- },
222
- enumerable: false,
223
- configurable: true
224
- });
225
- class_1.prototype._onAccept = function (e) {
226
- if (this.props.onAccept && this.maskRef) {
227
- this.props.onAccept(this.maskValue, this.maskRef, e);
228
- }
229
- };
230
- class_1.prototype._onComplete = function (e) {
231
- if (this.props.onComplete && this.maskRef) {
232
- this.props.onComplete(this.maskValue, this.maskRef, e);
233
- }
234
- };
235
- class_1.prototype.render = function () {
236
- return React.createElement(ComposedComponent, __assign(__assign({}, this._extractNonMaskProps(this.props)), { inputRef: this._inputRef }));
237
- };
238
- return class_1;
239
- }(React.Component));
240
- var nestedComponentName = ComposedComponent.displayName || ComposedComponent.name || 'Component';
241
- MaskedComponent.displayName = "IMask(".concat(nestedComponentName, ")");
242
- return React.forwardRef(function (props, ref) {
243
- return React.createElement(MaskedComponent, __assign(__assign({}, props), { ref: ref }));
244
- });
245
- }
246
- //# sourceMappingURL=mixin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mixin.js","sourceRoot":"","sources":["mixin.ts"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { IMask } from './imask/core/holder.js';\nimport { type InputMask, type InputMaskElement, type FactoryOpts, type UpdateOpts } from './imask/index.js';\nimport { type MaskedPatternOptions } from './imask/masked/pattern.js';\n\ntype AnyProps = Record<string, unknown>;\n\nexport type Falsy = false | 0 | '' | null | undefined;\n\n// Плоский (не union) тип для публичного API — устраняет union-распределение в JSX.\n// Опирается только на MaskedPatternOptions, т.к. проект использует исключительно строковые маски.\nexport type ReactMaskOpts = MaskedPatternOptions & { unmask?: 'typed' | boolean };\n\nexport type UnmaskValue<Opts extends ReactMaskOpts> = Opts['unmask'] extends 'typed'\n ? InputMask<Opts>['typedValue']\n : Opts['unmask'] extends Falsy\n ? InputMask<Opts>['value']\n : InputMask<Opts>['unmaskedValue'];\n\nexport type ExtractReactMaskOpts<\n MaskElement extends InputMaskElement,\n Props extends IMaskInputProps<MaskElement>,\n> = Extract<Props, ReactMaskOpts>;\n\nexport interface ReactMaskProps<\n MaskElement extends InputMaskElement,\n Props extends IMaskInputProps<MaskElement> = AnyProps,\n> {\n onAccept?: (\n value: UnmaskValue<ExtractReactMaskOpts<MaskElement, Props>>,\n maskRef: InputMask<ExtractMaskOpts<MaskElement, Props>>,\n e?: InputEvent,\n ) => void;\n onComplete?: (\n value: UnmaskValue<ExtractReactMaskOpts<MaskElement, Props>>,\n maskRef: InputMask<ExtractMaskOpts<MaskElement, Props>>,\n e?: InputEvent,\n ) => void;\n unmask?: ExtractReactMaskOpts<MaskElement, Props>['unmask'];\n value?: UnmaskValue<ExtractReactMaskOpts<MaskElement, Props>>;\n inputRef?: React.Ref<MaskElement>;\n ref?: React.Ref<React.ComponentType<Props>>;\n}\n\nconst MASK_PROPS_NAMES = [\n // common\n 'mask',\n 'unmask',\n 'prepare',\n 'prepareChar',\n 'validate',\n 'commit',\n 'overwrite',\n 'eager',\n 'skipInvalid',\n 'autofix',\n\n // events\n 'onAccept',\n 'onComplete',\n\n // pattern\n 'placeholderChar',\n 'displayChar',\n 'lazy',\n 'definitions',\n 'blocks',\n\n // ref\n 'inputRef',\n] as const;\nconst NON_MASK_OPTIONS_NAMES = ['value', 'unmask', 'onAccept', 'onComplete', 'inputRef'] as const;\n\nexport type ReactElementProps<MaskElement extends InputMaskElement> = Omit<\n React.HTMLProps<MaskElement>,\n (typeof MASK_PROPS_NAMES)[number] | 'value' | (typeof NON_MASK_OPTIONS_NAMES)[number] | 'ref'\n>;\n\ntype NonMaskProps<MaskElement extends InputMaskElement, Props extends IMaskMixinProps<MaskElement> = AnyProps> = Omit<\n Props,\n keyof FactoryOpts\n>;\n\nexport type ReactMixinComponent<\n MaskElement extends InputMaskElement,\n Props extends IMaskMixinProps<MaskElement> = AnyProps,\n> = React.ComponentType<\n ReactElementProps<MaskElement> & { inputRef: React.Ref<MaskElement> } & NonMaskProps<MaskElement, Props>\n>;\n\nexport type MaskPropsKeys = Exclude<(typeof MASK_PROPS_NAMES)[number], (typeof NON_MASK_OPTIONS_NAMES)[number]>;\nconst MASK_OPTIONS_NAMES = MASK_PROPS_NAMES.filter(\n (pName) => NON_MASK_OPTIONS_NAMES.indexOf(pName as (typeof NON_MASK_OPTIONS_NAMES)[number]) < 0,\n) as MaskPropsKeys[];\n\nexport type ExtractMaskOpts<MaskElement extends InputMaskElement, Props extends IMaskInputProps<MaskElement>> = Extract<\n Props,\n FactoryOpts\n>;\n\nexport type IMaskMixinProps<MaskElement extends InputMaskElement> = Omit<ReactMaskProps<MaskElement>, 'ref'> &\n MaskedPatternOptions;\n\nexport type IMaskInputProps<MaskElement extends InputMaskElement> = ReactElementProps<MaskElement> &\n IMaskMixinProps<MaskElement>;\n\nexport function IMaskMixin<MaskElement extends InputMaskElement, Props extends IMaskInputProps<MaskElement> = AnyProps>(\n ComposedComponent: ReactMixinComponent<MaskElement, Props>,\n): React.ComponentType<Props> {\n const MaskedComponent = class extends React.Component<Props> {\n static displayName: string;\n\n element!: MaskElement;\n maskRef?: InputMask<ExtractMaskOpts<MaskElement, Props>>;\n private prevMaskProp?: unknown;\n private prevUnmaskProp?: unknown;\n\n constructor(props: Props) {\n super(props);\n this._inputRef = this._inputRef.bind(this);\n this.prevMaskProp = props.mask;\n this.prevUnmaskProp = props.unmask;\n }\n\n componentDidMount() {\n if (!this.props.mask) {\n return;\n }\n\n this.initMask();\n }\n\n componentDidUpdate() {\n const props = this.props;\n const maskOptions = this._extractMaskOptionsFromProps(props);\n if (maskOptions.mask) {\n if (this.maskRef) {\n const maskPropChanged = this.prevMaskProp !== props.mask || this.prevUnmaskProp !== props.unmask;\n const elementAsUnknown = this.element as unknown;\n const isNativeInputField =\n elementAsUnknown instanceof HTMLInputElement || elementAsUnknown instanceof HTMLTextAreaElement;\n const shouldKeepSelection = maskPropChanged && isNativeInputField && document.activeElement === this.element;\n const prevSelection = shouldKeepSelection\n ? {\n start: (this.element as HTMLInputElement | HTMLTextAreaElement).selectionStart ?? 0,\n end: (this.element as HTMLInputElement | HTMLTextAreaElement).selectionEnd ?? 0,\n direction: (this.element as HTMLInputElement | HTMLTextAreaElement).selectionDirection ?? 'none',\n }\n : null;\n\n this.maskRef.updateOptions(maskOptions as unknown as UpdateOpts<ExtractMaskOpts<MaskElement, Props>>);\n if ('value' in props && props.value !== undefined) {\n const nextValue = props.value as UnmaskValue<ExtractReactMaskOpts<MaskElement, Props>>;\n if (this.maskValue !== nextValue) {\n this.maskValue = nextValue;\n }\n }\n\n if (prevSelection && isNativeInputField) {\n const inputElement = this.element as HTMLInputElement | HTMLTextAreaElement;\n const restoreSelection = () => {\n if (!inputElement.isConnected) {\n return;\n }\n const valueLength = inputElement.value.length;\n const nextStart = Math.min(prevSelection.start, valueLength);\n const nextEnd = Math.min(prevSelection.end, valueLength);\n inputElement.setSelectionRange(nextStart, nextEnd, prevSelection.direction);\n };\n restoreSelection();\n setTimeout(restoreSelection, 0);\n }\n } else {\n this.initMask(maskOptions);\n }\n } else {\n this.destroyMask();\n if ('value' in props && props.value !== undefined) {\n if (\n (this.element as HTMLElement)?.isContentEditable &&\n (this.element as HTMLElement).tagName !== 'INPUT' &&\n (this.element as HTMLElement).tagName !== 'TEXTAREA'\n ) {\n (this.element as HTMLElement).textContent = props.value;\n } else {\n (this.element as HTMLInputElement).value = props.value;\n }\n }\n }\n\n // Keep prev props in sync for next update\n this.prevMaskProp = (this.props as Props).mask;\n this.prevUnmaskProp = (this.props as Props).unmask;\n }\n\n componentWillUnmount() {\n this.destroyMask();\n }\n\n _inputRef(el: MaskElement) {\n this.element = el;\n if (this.props.inputRef) {\n if (Object.prototype.hasOwnProperty.call(this.props.inputRef, 'current')) {\n (this.props.inputRef as React.MutableRefObject<MaskElement>).current = el;\n } else {\n (this.props.inputRef as React.RefCallback<MaskElement>)(el);\n }\n }\n }\n\n initMask(maskOptions: ExtractMaskOpts<MaskElement, Props> = this._extractMaskOptionsFromProps(this.props)) {\n // eslint-disable-next-line new-cap\n this.maskRef = IMask(this.element, maskOptions)\n .on('accept', this._onAccept.bind(this))\n .on('complete', this._onComplete.bind(this));\n\n if ('value' in this.props && this.props.value !== undefined) {\n this.maskValue = this.props.value;\n }\n }\n\n destroyMask() {\n if (this.maskRef) {\n this.maskRef.destroy();\n delete this.maskRef;\n }\n }\n\n _extractMaskOptionsFromProps(props: Readonly<Props>): ExtractMaskOpts<MaskElement, Props> {\n const { ...cloneProps }: Readonly<Props> = props;\n\n // keep only mask options\n (Object.keys(cloneProps) as Array<keyof Props>)\n .filter((prop) => MASK_OPTIONS_NAMES.indexOf(prop as MaskPropsKeys) < 0)\n .forEach((nonMaskProp) => {\n delete cloneProps[nonMaskProp];\n });\n\n return cloneProps as ExtractMaskOpts<MaskElement, Props>;\n }\n\n _extractNonMaskProps(props: Readonly<Props>): NonMaskProps<MaskElement, Props> {\n const { ...cloneProps } = props as Props;\n\n (MASK_PROPS_NAMES as unknown as Array<keyof Props>).forEach((maskProp) => {\n delete cloneProps[maskProp];\n });\n if (!('defaultValue' in cloneProps)) {\n cloneProps.defaultValue = props.mask ? '' : cloneProps.value;\n }\n delete cloneProps.value;\n\n return cloneProps as NonMaskProps<MaskElement, Props>;\n }\n\n get maskValue(): UnmaskValue<ExtractReactMaskOpts<MaskElement, Props>> {\n if (!this.maskRef) {\n return '' as UnmaskValue<ExtractReactMaskOpts<MaskElement, Props>>;\n }\n\n if (this.props.unmask === 'typed') {\n return this.maskRef.typedValue;\n }\n if (this.props.unmask) {\n return this.maskRef.unmaskedValue;\n }\n return this.maskRef.value;\n }\n\n set maskValue(value: UnmaskValue<ExtractReactMaskOpts<MaskElement, Props>>) {\n if (!this.maskRef) {\n return;\n }\n\n // eslint-disable-next-line no-param-reassign, eqeqeq\n value = (value == null && this.props.unmask !== 'typed' ? '' : value) as UnmaskValue<\n ExtractReactMaskOpts<MaskElement, Props>\n >;\n if (this.props.unmask === 'typed') {\n this.maskRef.typedValue = value;\n } else if (this.props.unmask) {\n this.maskRef.unmaskedValue = value;\n } else {\n this.maskRef.value = value;\n }\n }\n\n _onAccept(e?: InputEvent) {\n if (this.props.onAccept && this.maskRef) {\n this.props.onAccept(this.maskValue, this.maskRef, e);\n }\n }\n\n _onComplete(e?: InputEvent) {\n if (this.props.onComplete && this.maskRef) {\n this.props.onComplete(this.maskValue, this.maskRef, e);\n }\n }\n\n render() {\n return React.createElement(ComposedComponent, {\n ...this._extractNonMaskProps(this.props),\n inputRef: this._inputRef,\n });\n }\n };\n\n const nestedComponentName = ComposedComponent.displayName || ComposedComponent.name || 'Component';\n MaskedComponent.displayName = `IMask(${nestedComponentName})`;\n\n return React.forwardRef<InstanceType<typeof MaskedComponent>, Props>((props, ref) =>\n React.createElement(MaskedComponent, { ...(props as Props), ref }),\n ) as unknown as React.ComponentType<Props>;\n}\n"]}
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import type { Input } from '../../components/Input/index.js';
3
- import { type MaskedInputProps } from '../../components/MaskedInput/index.js';
4
- export declare const FeaturedMaskedInput: React.ForwardRefExoticComponent<MaskedInputProps & React.RefAttributes<Input>>;
@@ -1,24 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import React, { useContext } from 'react';
13
- import { MaskedInput } from '../../components/MaskedInput/index.js';
14
- import { MaskedInputV2 } from '../../components/MaskedInputV2/index.js';
15
- import { ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext/index.js';
16
- export var FeaturedMaskedInput = React.forwardRef(function FeaturedMaskedInput(props, ref) {
17
- var useMaskedInputV2 = useContext(ReactUIFeatureFlagsContext).useMaskedInputV2;
18
- if (useMaskedInputV2) {
19
- return React.createElement(MaskedInputV2, __assign({ ref: ref }, props));
20
- }
21
- return React.createElement(MaskedInput, __assign({ ref: ref }, props));
22
- });
23
- FeaturedMaskedInput.displayName = 'FeaturedMaskedInput';
24
- //# sourceMappingURL=FeaturedMaskedInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FeaturedMaskedInput.js","sourceRoot":"","sources":["FeaturedMaskedInput.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAI1C,OAAO,EAAE,WAAW,EAAyB,MAAM,uCAAuC,CAAC;AAC3F,OAAO,EAAE,aAAa,EAA2B,MAAM,yCAAyC,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AAEpF,MAAM,CAAC,IAAM,mBAAmB,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,mBAAmB,CAC9E,KAAuB,EACvB,GAAsB;IAEd,IAAA,gBAAgB,GAAK,UAAU,CAAC,0BAA0B,CAAC,iBAA3C,CAA4C;IAEpE,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,oBAAC,aAAa,aAAC,GAAG,EAAE,GAAG,IAAO,KAA4B,EAAI,CAAC;IACxE,CAAC;IAED,OAAO,oBAAC,WAAW,aAAC,GAAG,EAAE,GAAG,IAAM,KAAK,EAAI,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,mBAAmB,CAAC,WAAW,GAAG,qBAAqB,CAAC","sourcesContent":["import React, { useContext } from 'react';\nimport type { Ref } from 'react';\n\nimport type { Input } from '../../components/Input/index.js';\nimport { MaskedInput, type MaskedInputProps } from '../../components/MaskedInput/index.js';\nimport { MaskedInputV2, type MaskedInputV2Props } from '../../components/MaskedInputV2/index.js';\nimport { ReactUIFeatureFlagsContext } from '../../lib/featureFlagsContext/index.js';\n\nexport const FeaturedMaskedInput = React.forwardRef(function FeaturedMaskedInput(\n props: MaskedInputProps,\n ref: Ref<Input | null>,\n) {\n const { useMaskedInputV2 } = useContext(ReactUIFeatureFlagsContext);\n\n if (useMaskedInputV2) {\n return <MaskedInputV2 ref={ref} {...(props as MaskedInputV2Props)} />;\n }\n\n return <MaskedInput ref={ref} {...props} />;\n});\n\nFeaturedMaskedInput.displayName = 'FeaturedMaskedInput';\n"]}