@skbkontur/react-ui 0.0.0-a8f1c3e7a1 → 0.0.0-ab4ec97409

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 (705) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/README.md +7 -7
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +6 -23
  4. package/cjs/components/Autocomplete/Autocomplete.js +49 -46
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +2 -0
  7. package/cjs/components/Button/Button.js +29 -1
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.styles.d.ts +6 -0
  10. package/cjs/components/Button/Button.styles.js +107 -75
  11. package/cjs/components/Button/Button.styles.js.map +1 -1
  12. package/cjs/components/Calendar/Calendar.d.ts +2 -0
  13. package/cjs/components/Calendar/Calendar.js +1 -0
  14. package/cjs/components/Calendar/Calendar.js.map +1 -1
  15. package/cjs/components/Center/Center.d.ts +2 -0
  16. package/cjs/components/Center/Center.js +1 -0
  17. package/cjs/components/Center/Center.js.map +1 -1
  18. package/cjs/components/Checkbox/Checkbox.d.ts +2 -12
  19. package/cjs/components/Checkbox/Checkbox.js +2 -14
  20. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  21. package/cjs/components/ComboBox/ComboBox.d.ts +11 -1
  22. package/cjs/components/ComboBox/ComboBox.js +21 -1
  23. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  24. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  25. package/cjs/components/CurrencyInput/CurrencyInput.js +5 -28
  26. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  27. package/cjs/components/CurrencyInput/constants.js +1 -2
  28. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  29. package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -28
  30. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  31. package/cjs/components/DateInput/DateInput.d.ts +2 -0
  32. package/cjs/components/DateInput/DateInput.js +1 -0
  33. package/cjs/components/DateInput/DateInput.js.map +1 -1
  34. package/cjs/components/DatePicker/DatePicker.d.ts +6 -33
  35. package/cjs/components/DatePicker/DatePicker.js +6 -60
  36. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  37. package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
  38. package/cjs/components/Dropdown/Dropdown.js +2 -82
  39. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  40. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  41. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -0
  42. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  43. package/cjs/components/FxInput/FxInput.d.ts +2 -5
  44. package/cjs/components/FxInput/FxInput.js +2 -7
  45. package/cjs/components/FxInput/FxInput.js.map +1 -1
  46. package/cjs/components/Gapped/Gapped.d.ts +2 -15
  47. package/cjs/components/Gapped/Gapped.js +1 -24
  48. package/cjs/components/Gapped/Gapped.js.map +1 -1
  49. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  50. package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
  51. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  52. package/cjs/components/Group/Group.d.ts +5 -4
  53. package/cjs/components/Group/Group.js +91 -40
  54. package/cjs/components/Group/Group.js.map +1 -1
  55. package/cjs/components/Group/Group.styles.d.ts +1 -0
  56. package/cjs/components/Group/Group.styles.js +12 -6
  57. package/cjs/components/Group/Group.styles.js.map +1 -1
  58. package/cjs/components/Hint/Hint.d.ts +2 -0
  59. package/cjs/components/Hint/Hint.js +1 -0
  60. package/cjs/components/Hint/Hint.js.map +1 -1
  61. package/cjs/components/Input/Input.d.ts +2 -0
  62. package/cjs/components/Input/Input.js +1 -0
  63. package/cjs/components/Input/Input.js.map +1 -1
  64. package/cjs/components/Kebab/Kebab.d.ts +2 -1
  65. package/cjs/components/Kebab/Kebab.js +2 -26
  66. package/cjs/components/Kebab/Kebab.js.map +1 -1
  67. package/cjs/components/Link/Link.d.ts +2 -0
  68. package/cjs/components/Link/Link.js +1 -0
  69. package/cjs/components/Link/Link.js.map +1 -1
  70. package/cjs/components/Loader/Loader.d.ts +6 -36
  71. package/cjs/components/Loader/Loader.js +3 -57
  72. package/cjs/components/Loader/Loader.js.map +1 -1
  73. package/cjs/components/MaskedInput/MaskedInput.d.ts +9 -0
  74. package/cjs/components/MaskedInput/MaskedInput.js +40 -3
  75. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  76. package/cjs/components/MenuItem/MenuItem.d.ts +2 -12
  77. package/cjs/components/MenuItem/MenuItem.js +2 -22
  78. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  79. package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
  80. package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
  81. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
  82. package/cjs/components/MiniModal/MiniModalBody.js +17 -2
  83. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
  84. package/cjs/components/Modal/Modal.styles.d.ts +1 -0
  85. package/cjs/components/Modal/Modal.styles.js +36 -28
  86. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  87. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  88. package/cjs/components/Modal/ModalBody.js +1 -0
  89. package/cjs/components/Modal/ModalBody.js.map +1 -1
  90. package/cjs/components/Modal/ModalHeader.d.ts +5 -0
  91. package/cjs/components/Modal/ModalHeader.js +8 -1
  92. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  93. package/cjs/components/Paging/DotsIcon.d.ts +3 -0
  94. package/cjs/components/Paging/DotsIcon.js +13 -0
  95. package/cjs/components/Paging/DotsIcon.js.map +1 -0
  96. package/cjs/components/Paging/ForwardIcon.d.ts +3 -0
  97. package/cjs/components/Paging/ForwardIcon.js +13 -1
  98. package/cjs/components/Paging/ForwardIcon.js.map +1 -1
  99. package/cjs/components/Paging/NavigationHelper.d.ts +3 -2
  100. package/cjs/components/Paging/NavigationHelper.js +8 -6
  101. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  102. package/cjs/components/Paging/Paging.d.ts +13 -2
  103. package/cjs/components/Paging/Paging.js +120 -50
  104. package/cjs/components/Paging/Paging.js.map +1 -1
  105. package/cjs/components/Paging/Paging.styles.d.ts +24 -1
  106. package/cjs/components/Paging/Paging.styles.js +151 -22
  107. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  108. package/cjs/components/Paging/PagingHelper.d.ts +1 -1
  109. package/cjs/components/Paging/PagingHelper.js +18 -11
  110. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  111. package/cjs/components/PasswordInput/PasswordInput.d.ts +2 -7
  112. package/cjs/components/PasswordInput/PasswordInput.js +2 -11
  113. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  114. package/cjs/components/Radio/Radio.d.ts +2 -0
  115. package/cjs/components/Radio/Radio.js +1 -0
  116. package/cjs/components/Radio/Radio.js.map +1 -1
  117. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -0
  118. package/cjs/components/RadioGroup/RadioGroup.js +1 -0
  119. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  120. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  121. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -11
  122. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  123. package/cjs/components/Select/Select.d.ts +2 -0
  124. package/cjs/components/Select/Select.js +2 -1
  125. package/cjs/components/Select/Select.js.map +1 -1
  126. package/cjs/components/SidePage/SidePage.styles.d.ts +3 -1
  127. package/cjs/components/SidePage/SidePage.styles.js +52 -38
  128. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  129. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  130. package/cjs/components/SidePage/SidePageBody.js +1 -0
  131. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  132. package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
  133. package/cjs/components/SidePage/SidePageContainer.js +1 -0
  134. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  135. package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
  136. package/cjs/components/SidePage/SidePageFooter.js +1 -0
  137. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  138. package/cjs/components/SidePage/SidePageHeader.d.ts +12 -2
  139. package/cjs/components/SidePage/SidePageHeader.js +60 -19
  140. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  141. package/cjs/components/Spinner/Spinner.d.ts +2 -18
  142. package/cjs/components/Spinner/Spinner.js +2 -32
  143. package/cjs/components/Spinner/Spinner.js.map +1 -1
  144. package/cjs/components/Sticky/Sticky.d.ts +2 -13
  145. package/cjs/components/Sticky/Sticky.js +2 -22
  146. package/cjs/components/Sticky/Sticky.js.map +1 -1
  147. package/cjs/components/Switcher/Switcher.d.ts +6 -21
  148. package/cjs/components/Switcher/Switcher.js +11 -20
  149. package/cjs/components/Switcher/Switcher.js.map +1 -1
  150. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
  151. package/cjs/components/Switcher/Switcher.styles.js +17 -9
  152. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  153. package/cjs/components/Tabs/Indicator.d.ts +2 -0
  154. package/cjs/components/Tabs/Indicator.js +1 -0
  155. package/cjs/components/Tabs/Indicator.js.map +1 -1
  156. package/cjs/components/Tabs/Tab.d.ts +2 -0
  157. package/cjs/components/Tabs/Tab.js +1 -0
  158. package/cjs/components/Tabs/Tab.js.map +1 -1
  159. package/cjs/components/Tabs/Tabs.d.ts +2 -0
  160. package/cjs/components/Tabs/Tabs.js +1 -0
  161. package/cjs/components/Tabs/Tabs.js.map +1 -1
  162. package/cjs/components/Textarea/Textarea.d.ts +2 -44
  163. package/cjs/components/Textarea/Textarea.js +2 -56
  164. package/cjs/components/Textarea/Textarea.js.map +1 -1
  165. package/cjs/components/Textarea/TextareaCounter.js +2 -13
  166. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  167. package/cjs/components/Toast/Toast.d.ts +2 -0
  168. package/cjs/components/Toast/Toast.js +1 -0
  169. package/cjs/components/Toast/Toast.js.map +1 -1
  170. package/cjs/components/Toast/ToastView.d.ts +2 -14
  171. package/cjs/components/Toast/ToastView.js +3 -22
  172. package/cjs/components/Toast/ToastView.js.map +1 -1
  173. package/cjs/components/Toggle/Toggle.d.ts +2 -10
  174. package/cjs/components/Toggle/Toggle.js +1 -11
  175. package/cjs/components/Toggle/Toggle.js.map +1 -1
  176. package/cjs/components/Token/Token.d.ts +2 -0
  177. package/cjs/components/Token/Token.js +1 -0
  178. package/cjs/components/Token/Token.js.map +1 -1
  179. package/cjs/components/TokenInput/TokenInput.d.ts +2 -0
  180. package/cjs/components/TokenInput/TokenInput.js +1 -0
  181. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  182. package/cjs/components/Tooltip/Tooltip.d.ts +14 -9
  183. package/cjs/components/Tooltip/Tooltip.js +101 -17
  184. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  185. package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
  186. package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
  187. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  188. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  189. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -0
  190. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  191. package/cjs/index.d.ts +1 -0
  192. package/cjs/index.js.map +1 -1
  193. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  194. package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
  195. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  196. package/cjs/internal/ComponentTable.js +2 -3
  197. package/cjs/internal/ComponentTable.js.map +1 -1
  198. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +5 -1
  199. package/cjs/internal/CustomComboBox/ComboBoxView.js +27 -1
  200. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  201. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +9 -2
  202. package/cjs/internal/CustomComboBox/CustomComboBox.js +23 -10
  203. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  204. package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
  205. package/cjs/internal/DateSelect/DateSelect.js +1 -18
  206. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  207. package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
  208. package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
  209. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  210. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
  211. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  212. package/cjs/internal/InputLikeText/InputLikeText.d.ts +2 -0
  213. package/cjs/internal/InputLikeText/InputLikeText.js +1 -0
  214. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  215. package/cjs/internal/Menu/Menu.d.ts +2 -0
  216. package/cjs/internal/Menu/Menu.js +1 -0
  217. package/cjs/internal/Menu/Menu.js.map +1 -1
  218. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
  219. package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
  220. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  221. package/cjs/internal/Popup/Popup.d.ts +41 -59
  222. package/cjs/internal/Popup/Popup.js +36 -79
  223. package/cjs/internal/Popup/Popup.js.map +1 -1
  224. package/cjs/internal/Popup/PopupPin.d.ts +23 -33
  225. package/cjs/internal/Popup/PopupPin.js +2 -35
  226. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  227. package/cjs/internal/Popup/PopupPinNew.d.ts +31 -0
  228. package/cjs/internal/Popup/PopupPinNew.js +180 -0
  229. package/cjs/internal/Popup/PopupPinNew.js.map +1 -0
  230. package/cjs/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  231. package/cjs/internal/Popup/PopupPinNew.styles.js +33 -0
  232. package/cjs/internal/Popup/PopupPinNew.styles.js.map +1 -0
  233. package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
  234. package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
  235. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  236. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  237. package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
  238. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  239. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
  240. package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
  241. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  242. package/cjs/internal/ThemePlayground/Playground.js +1 -1
  243. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  244. package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
  245. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  246. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
  247. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  248. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  249. package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
  250. package/cjs/internal/ZIndex/ZIndex.js +5 -1
  251. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  252. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  253. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
  254. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
  255. package/cjs/internal/themes/BasicTheme.d.ts +112 -20
  256. package/cjs/internal/themes/BasicTheme.js +149 -18
  257. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  258. package/cjs/internal/themes/DarkTheme5_2.js +1 -1
  259. package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
  260. package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
  261. package/cjs/internal/themes/DarkTheme5_3.js +13 -0
  262. package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
  263. package/cjs/internal/themes/DarkTheme5_4.d.ts +1 -0
  264. package/cjs/internal/themes/DarkTheme5_4.js +10 -0
  265. package/cjs/internal/themes/DarkTheme5_4.js.map +1 -0
  266. package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
  267. package/cjs/internal/themes/LightTheme5_3.js +13 -0
  268. package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
  269. package/cjs/internal/themes/LightTheme5_4.d.ts +1 -0
  270. package/cjs/internal/themes/LightTheme5_4.js +10 -0
  271. package/cjs/internal/themes/LightTheme5_4.js.map +1 -0
  272. package/cjs/lib/delay.mts +3 -0
  273. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
  274. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
  275. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +11 -1
  276. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  277. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  278. package/cjs/lib/forwardRefAndName.js +0 -1
  279. package/cjs/lib/forwardRefAndName.js.map +1 -1
  280. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  281. package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
  282. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  283. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  284. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  285. package/cjs/lib/theming/themes/DarkTheme.d.ts +2 -0
  286. package/cjs/lib/theming/themes/DarkTheme.js +6 -2
  287. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  288. package/cjs/lib/theming/themes/LightTheme.d.ts +2 -0
  289. package/cjs/lib/theming/themes/LightTheme.js +6 -2
  290. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  291. package/cjs/lib/utils.d.ts +4 -0
  292. package/cjs/lib/utils.js +5 -1
  293. package/cjs/lib/utils.js.map +1 -1
  294. package/components/Autocomplete/Autocomplete/Autocomplete.js +49 -45
  295. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  296. package/components/Autocomplete/Autocomplete.d.ts +6 -23
  297. package/components/Button/Button/Button.js +26 -5
  298. package/components/Button/Button/Button.js.map +1 -1
  299. package/components/Button/Button.d.ts +2 -0
  300. package/components/Button/Button.styles/Button.styles.js +78 -60
  301. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  302. package/components/Button/Button.styles.d.ts +6 -0
  303. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  304. package/components/Calendar/Calendar.d.ts +2 -0
  305. package/components/Center/Center/Center.js.map +1 -1
  306. package/components/Center/Center.d.ts +2 -0
  307. package/components/Checkbox/Checkbox/Checkbox.js +0 -11
  308. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  309. package/components/Checkbox/Checkbox.d.ts +2 -12
  310. package/components/ComboBox/ComboBox/ComboBox.js +8 -0
  311. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  312. package/components/ComboBox/ComboBox.d.ts +11 -1
  313. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +12 -36
  314. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  315. package/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  316. package/components/CurrencyInput/constants/constants.js +0 -1
  317. package/components/CurrencyInput/constants/constants.js.map +1 -1
  318. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
  319. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  320. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  321. package/components/DateInput/DateInput.d.ts +2 -0
  322. package/components/DatePicker/DatePicker/DatePicker.js +1 -32
  323. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  324. package/components/DatePicker/DatePicker.d.ts +6 -33
  325. package/components/Dropdown/Dropdown/Dropdown.js +1 -47
  326. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  327. package/components/Dropdown/Dropdown.d.ts +2 -47
  328. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  329. package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  330. package/components/FxInput/FxInput/FxInput.js +1 -5
  331. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  332. package/components/FxInput/FxInput.d.ts +2 -5
  333. package/components/Gapped/Gapped/Gapped.js +1 -15
  334. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  335. package/components/Gapped/Gapped.d.ts +2 -15
  336. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  337. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  338. package/components/Group/Group/Group.js +64 -28
  339. package/components/Group/Group/Group.js.map +1 -1
  340. package/components/Group/Group.d.ts +5 -4
  341. package/components/Group/Group.styles/Group.styles.js +9 -6
  342. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  343. package/components/Group/Group.styles.d.ts +1 -0
  344. package/components/Hint/Hint/Hint.js.map +1 -1
  345. package/components/Hint/Hint.d.ts +2 -0
  346. package/components/Input/Input/Input.js.map +1 -1
  347. package/components/Input/Input.d.ts +2 -0
  348. package/components/Kebab/Kebab/Kebab.js +2 -20
  349. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  350. package/components/Kebab/Kebab.d.ts +2 -1
  351. package/components/Link/Link/Link.js.map +1 -1
  352. package/components/Link/Link.d.ts +2 -0
  353. package/components/Loader/Loader/Loader.js +0 -33
  354. package/components/Loader/Loader/Loader.js.map +1 -1
  355. package/components/Loader/Loader.d.ts +6 -36
  356. package/components/MaskedInput/MaskedInput/MaskedInput.js +25 -1
  357. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  358. package/components/MaskedInput/MaskedInput.d.ts +9 -0
  359. package/components/MenuItem/MenuItem/MenuItem.js +1 -12
  360. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  361. package/components/MenuItem/MenuItem.d.ts +2 -12
  362. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
  363. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
  364. package/components/MiniModal/MiniModal.styles.d.ts +1 -0
  365. package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
  366. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
  367. package/components/Modal/Modal.styles/Modal.styles.js +31 -28
  368. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  369. package/components/Modal/Modal.styles.d.ts +1 -0
  370. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  371. package/components/Modal/ModalBody.d.ts +2 -0
  372. package/components/Modal/ModalHeader/ModalHeader.js +3 -1
  373. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  374. package/components/Modal/ModalHeader.d.ts +5 -0
  375. package/components/Paging/DotsIcon/DotsIcon.js +14 -0
  376. package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
  377. package/components/Paging/DotsIcon/package.json +6 -0
  378. package/components/Paging/DotsIcon.d.ts +3 -0
  379. package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
  380. package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
  381. package/components/Paging/ForwardIcon.d.ts +3 -0
  382. package/components/Paging/NavigationHelper/NavigationHelper.js +9 -8
  383. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  384. package/components/Paging/NavigationHelper.d.ts +3 -2
  385. package/components/Paging/Paging/Paging.js +96 -47
  386. package/components/Paging/Paging/Paging.js.map +1 -1
  387. package/components/Paging/Paging.d.ts +13 -2
  388. package/components/Paging/Paging.styles/Paging.styles.js +77 -16
  389. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  390. package/components/Paging/Paging.styles.d.ts +24 -1
  391. package/components/Paging/PagingHelper/PagingHelper.js +16 -8
  392. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  393. package/components/Paging/PagingHelper.d.ts +1 -1
  394. package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -7
  395. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  396. package/components/PasswordInput/PasswordInput.d.ts +2 -7
  397. package/components/Radio/Radio/Radio.js.map +1 -1
  398. package/components/Radio/Radio.d.ts +2 -0
  399. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  400. package/components/RadioGroup/RadioGroup.d.ts +2 -0
  401. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
  402. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  403. package/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  404. package/components/Select/Select/Select.js +2 -2
  405. package/components/Select/Select/Select.js.map +1 -1
  406. package/components/Select/Select.d.ts +2 -0
  407. package/components/SidePage/SidePage.styles/SidePage.styles.js +41 -35
  408. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  409. package/components/SidePage/SidePage.styles.d.ts +3 -1
  410. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  411. package/components/SidePage/SidePageBody.d.ts +2 -0
  412. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  413. package/components/SidePage/SidePageContainer.d.ts +2 -0
  414. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  415. package/components/SidePage/SidePageFooter.d.ts +2 -0
  416. package/components/SidePage/SidePageHeader/SidePageHeader.js +61 -39
  417. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  418. package/components/SidePage/SidePageHeader.d.ts +12 -2
  419. package/components/Spinner/Spinner/Spinner.js +1 -18
  420. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  421. package/components/Spinner/Spinner.d.ts +2 -18
  422. package/components/Sticky/Sticky/Sticky.js +1 -13
  423. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  424. package/components/Sticky/Sticky.d.ts +2 -13
  425. package/components/Switcher/Switcher/Switcher.js +19 -16
  426. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  427. package/components/Switcher/Switcher.d.ts +6 -21
  428. package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
  429. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  430. package/components/Switcher/Switcher.styles.d.ts +1 -0
  431. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  432. package/components/Tabs/Indicator.d.ts +2 -0
  433. package/components/Tabs/Tab/Tab.js.map +1 -1
  434. package/components/Tabs/Tab.d.ts +2 -0
  435. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  436. package/components/Tabs/Tabs.d.ts +2 -0
  437. package/components/Textarea/Textarea/Textarea.js +1 -44
  438. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  439. package/components/Textarea/Textarea.d.ts +2 -44
  440. package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
  441. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  442. package/components/Toast/Toast/Toast.js.map +1 -1
  443. package/components/Toast/Toast.d.ts +2 -0
  444. package/components/Toast/ToastView/ToastView.js +3 -17
  445. package/components/Toast/ToastView/ToastView.js.map +1 -1
  446. package/components/Toast/ToastView.d.ts +2 -14
  447. package/components/Toggle/Toggle/Toggle.js +1 -10
  448. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  449. package/components/Toggle/Toggle.d.ts +2 -10
  450. package/components/Token/Token/Token.js.map +1 -1
  451. package/components/Token/Token.d.ts +2 -0
  452. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  453. package/components/TokenInput/TokenInput.d.ts +2 -0
  454. package/components/Tooltip/Tooltip/Tooltip.js +74 -24
  455. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  456. package/components/Tooltip/Tooltip.d.ts +14 -9
  457. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
  458. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  459. package/components/Tooltip/Tooltip.styles.d.ts +7 -1
  460. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  461. package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  462. package/index.d.ts +1 -0
  463. package/index.js +1 -0
  464. package/index.js.map +1 -1
  465. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  466. package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  467. package/internal/ComponentTable/ComponentTable.js +0 -2
  468. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  469. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +35 -12
  470. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  471. package/internal/CustomComboBox/ComboBoxView.d.ts +5 -1
  472. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +17 -8
  473. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  474. package/internal/CustomComboBox/CustomComboBox.d.ts +9 -2
  475. package/internal/DateSelect/DateSelect/DateSelect.js +1 -10
  476. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  477. package/internal/DateSelect/DateSelect.d.ts +0 -10
  478. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  479. package/internal/FocusTrap/FocusTrap.d.ts +2 -0
  480. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  481. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  482. package/internal/InputLikeText/InputLikeText.d.ts +2 -0
  483. package/internal/Menu/Menu/Menu.js.map +1 -1
  484. package/internal/Menu/Menu.d.ts +2 -0
  485. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  486. package/internal/MobilePopup/MobilePopup.d.ts +2 -0
  487. package/internal/Popup/Popup/Popup.js +14 -64
  488. package/internal/Popup/Popup/Popup.js.map +1 -1
  489. package/internal/Popup/Popup.d.ts +41 -59
  490. package/internal/Popup/PopupPin/PopupPin.js +1 -34
  491. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  492. package/internal/Popup/PopupPin.d.ts +23 -33
  493. package/internal/Popup/PopupPinNew/PopupPinNew.js +146 -0
  494. package/internal/Popup/PopupPinNew/PopupPinNew.js.map +1 -0
  495. package/internal/Popup/PopupPinNew/package.json +6 -0
  496. package/internal/Popup/PopupPinNew.d.ts +31 -0
  497. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js +20 -0
  498. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js.map +1 -0
  499. package/internal/Popup/PopupPinNew.styles/package.json +6 -0
  500. package/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  501. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  502. package/internal/PopupMenu/PopupMenu.d.ts +2 -0
  503. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
  504. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  505. package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  506. package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
  507. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  508. package/internal/RenderLayer/RenderLayer.d.ts +2 -3
  509. package/internal/ThemePlayground/Playground/Playground.js +4 -3
  510. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  511. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
  512. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  513. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
  514. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  515. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  516. package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
  517. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  518. package/internal/ZIndex/ZIndex.d.ts +3 -3
  519. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
  520. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
  521. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
  522. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  523. package/internal/themes/BasicTheme/BasicTheme.js +170 -26
  524. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  525. package/internal/themes/BasicTheme.d.ts +112 -20
  526. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
  527. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
  528. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
  529. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
  530. package/internal/themes/DarkTheme5_3/package.json +6 -0
  531. package/internal/themes/DarkTheme5_3.d.ts +1 -0
  532. package/internal/themes/DarkTheme5_4/DarkTheme5_4.js +15 -0
  533. package/internal/themes/DarkTheme5_4/DarkTheme5_4.js.map +1 -0
  534. package/internal/themes/DarkTheme5_4/package.json +6 -0
  535. package/internal/themes/DarkTheme5_4.d.ts +1 -0
  536. package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
  537. package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
  538. package/internal/themes/LightTheme5_3/package.json +6 -0
  539. package/internal/themes/LightTheme5_3.d.ts +1 -0
  540. package/internal/themes/LightTheme5_4/LightTheme5_4.js +15 -0
  541. package/internal/themes/LightTheme5_4/LightTheme5_4.js.map +1 -0
  542. package/internal/themes/LightTheme5_4/package.json +6 -0
  543. package/internal/themes/LightTheme5_4.d.ts +1 -0
  544. package/lib/delay.d.mts +1 -0
  545. package/lib/delay.mts +3 -0
  546. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
  547. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +6 -1
  548. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  549. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
  550. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  551. package/lib/forwardRefAndName.d.ts +1 -1
  552. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  553. package/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  554. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  555. package/lib/theming/ThemeVersions.d.ts +1 -1
  556. package/lib/theming/themes/DarkTheme/DarkTheme.js +5 -1
  557. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  558. package/lib/theming/themes/DarkTheme.d.ts +2 -0
  559. package/lib/theming/themes/LightTheme/LightTheme.js +5 -1
  560. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  561. package/lib/theming/themes/LightTheme.d.ts +2 -0
  562. package/lib/utils/utils.js +2 -0
  563. package/lib/utils/utils.js.map +1 -1
  564. package/lib/utils.d.ts +4 -0
  565. package/package.json +8 -16
  566. package/cjs/components/Autocomplete/Autocomplete.md +0 -113
  567. package/cjs/components/Button/Button.md +0 -261
  568. package/cjs/components/Calendar/Calendar.md +0 -276
  569. package/cjs/components/Calendar/CalendarDay.md +0 -70
  570. package/cjs/components/Center/Center.md +0 -26
  571. package/cjs/components/Checkbox/Checkbox.md +0 -171
  572. package/cjs/components/ComboBox/ComboBox.md +0 -574
  573. package/cjs/components/CurrencyInput/CurrencyInput.md +0 -39
  574. package/cjs/components/CurrencyLabel/CurrencyLabel.md +0 -29
  575. package/cjs/components/DateInput/DateInput.md +0 -111
  576. package/cjs/components/DatePicker/DatePicker.md +0 -368
  577. package/cjs/components/Dropdown/Dropdown.md +0 -45
  578. package/cjs/components/DropdownMenu/DropdownMenu.md +0 -290
  579. package/cjs/components/FileUploader/FileUploader.md +0 -131
  580. package/cjs/components/FxInput/FxInput.md +0 -31
  581. package/cjs/components/Gapped/Gapped.md +0 -44
  582. package/cjs/components/GlobalLoader/GlobalLoader.md +0 -97
  583. package/cjs/components/Group/Group.md +0 -19
  584. package/cjs/components/Hint/Hint.md +0 -86
  585. package/cjs/components/Input/Input.md +0 -86
  586. package/cjs/components/Kebab/Kebab.md +0 -306
  587. package/cjs/components/Link/Link.md +0 -182
  588. package/cjs/components/Loader/Loader.md +0 -33
  589. package/cjs/components/MaskedInput/MaskedInput.md +0 -114
  590. package/cjs/components/MenuFooter/MenuFooter.md +0 -27
  591. package/cjs/components/MenuHeader/MenuHeader.md +0 -35
  592. package/cjs/components/MenuItem/MenuItem.md +0 -139
  593. package/cjs/components/MenuSeparator/MenuSeparator.md +0 -14
  594. package/cjs/components/MiniModal/MiniModal.md +0 -231
  595. package/cjs/components/Modal/Modal.md +0 -56
  596. package/cjs/components/Paging/Paging.md +0 -57
  597. package/cjs/components/PasswordInput/PasswordInput.md +0 -29
  598. package/cjs/components/Radio/Radio.md +0 -57
  599. package/cjs/components/RadioGroup/RadioGroup.md +0 -44
  600. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  601. package/cjs/components/ScrollContainer/ScrollContainer.md +0 -224
  602. package/cjs/components/Select/Select.md +0 -113
  603. package/cjs/components/SidePage/SidePage.md +0 -65
  604. package/cjs/components/SingleToast/SingleToast.md +0 -36
  605. package/cjs/components/Spinner/Spinner.md +0 -36
  606. package/cjs/components/Sticky/Sticky.md +0 -28
  607. package/cjs/components/Switcher/Switcher.md +0 -111
  608. package/cjs/components/Tabs/Tab.md +0 -73
  609. package/cjs/components/Tabs/Tabs.md +0 -54
  610. package/cjs/components/Textarea/Textarea.md +0 -58
  611. package/cjs/components/Toast/Toast.md +0 -69
  612. package/cjs/components/Toggle/Toggle.md +0 -110
  613. package/cjs/components/Token/Token.md +0 -48
  614. package/cjs/components/TokenInput/TokenInput.md +0 -277
  615. package/cjs/components/Tooltip/Tooltip.md +0 -322
  616. package/cjs/components/TooltipMenu/TooltipMenu.md +0 -241
  617. package/cjs/internal/DataTids/DATATIDS.md +0 -12
  618. package/cjs/internal/DataTids/DataTids.d.ts +0 -12
  619. package/cjs/internal/DataTids/DataTids.js +0 -50
  620. package/cjs/internal/DataTids/DataTids.js.map +0 -1
  621. package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
  622. package/cjs/internal/DataTids/DataTids.styles.js +0 -42
  623. package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
  624. package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
  625. package/cjs/internal/DataTids/componentsDataTids.js +0 -15
  626. package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
  627. package/cjs/internal/ThemePlayground/Playground.md +0 -7
  628. package/cjs/lib/SSRSafe.d.ts +0 -2
  629. package/cjs/lib/SSRSafe.js +0 -5
  630. package/cjs/lib/SSRSafe.js.map +0 -1
  631. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  632. package/cjs/lib/locale/LOCALECONTEXT.md +0 -222
  633. package/cjs/lib/theming/ThemeContext.md +0 -265
  634. package/components/Autocomplete/Autocomplete.md +0 -113
  635. package/components/Button/Button.md +0 -261
  636. package/components/Calendar/Calendar.md +0 -276
  637. package/components/Calendar/CalendarDay.md +0 -70
  638. package/components/Center/Center.md +0 -26
  639. package/components/Checkbox/Checkbox.md +0 -171
  640. package/components/ComboBox/ComboBox.md +0 -574
  641. package/components/CurrencyInput/CurrencyInput.md +0 -39
  642. package/components/CurrencyLabel/CurrencyLabel.md +0 -29
  643. package/components/DateInput/DateInput.md +0 -111
  644. package/components/DatePicker/DatePicker.md +0 -368
  645. package/components/Dropdown/Dropdown.md +0 -45
  646. package/components/DropdownMenu/DropdownMenu.md +0 -290
  647. package/components/FileUploader/FileUploader.md +0 -131
  648. package/components/FxInput/FxInput.md +0 -31
  649. package/components/Gapped/Gapped.md +0 -44
  650. package/components/GlobalLoader/GlobalLoader.md +0 -97
  651. package/components/Group/Group.md +0 -19
  652. package/components/Hint/Hint.md +0 -86
  653. package/components/Input/Input.md +0 -86
  654. package/components/Kebab/Kebab.md +0 -306
  655. package/components/Link/Link.md +0 -182
  656. package/components/Loader/Loader.md +0 -33
  657. package/components/MaskedInput/MaskedInput.md +0 -114
  658. package/components/MenuFooter/MenuFooter.md +0 -27
  659. package/components/MenuHeader/MenuHeader.md +0 -35
  660. package/components/MenuItem/MenuItem.md +0 -139
  661. package/components/MenuSeparator/MenuSeparator.md +0 -14
  662. package/components/MiniModal/MiniModal.md +0 -231
  663. package/components/Modal/Modal.md +0 -56
  664. package/components/Paging/Paging.md +0 -57
  665. package/components/PasswordInput/PasswordInput.md +0 -29
  666. package/components/Radio/Radio.md +0 -57
  667. package/components/RadioGroup/RadioGroup.md +0 -44
  668. package/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  669. package/components/ScrollContainer/ScrollContainer.md +0 -224
  670. package/components/Select/Select.md +0 -113
  671. package/components/SidePage/SidePage.md +0 -65
  672. package/components/SingleToast/SingleToast.md +0 -36
  673. package/components/Spinner/Spinner.md +0 -36
  674. package/components/Sticky/Sticky.md +0 -28
  675. package/components/Switcher/Switcher.md +0 -111
  676. package/components/Tabs/Tab.md +0 -73
  677. package/components/Tabs/Tabs.md +0 -54
  678. package/components/Textarea/Textarea.md +0 -58
  679. package/components/Toast/Toast.md +0 -69
  680. package/components/Toggle/Toggle.md +0 -110
  681. package/components/Token/Token.md +0 -48
  682. package/components/TokenInput/TokenInput.md +0 -277
  683. package/components/Tooltip/Tooltip.md +0 -322
  684. package/components/TooltipMenu/TooltipMenu.md +0 -241
  685. package/internal/DataTids/DATATIDS.md +0 -12
  686. package/internal/DataTids/DataTids/DataTids.js +0 -69
  687. package/internal/DataTids/DataTids/DataTids.js.map +0 -1
  688. package/internal/DataTids/DataTids/package.json +0 -6
  689. package/internal/DataTids/DataTids.d.ts +0 -12
  690. package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -20
  691. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
  692. package/internal/DataTids/DataTids.styles/package.json +0 -6
  693. package/internal/DataTids/DataTids.styles.d.ts +0 -7
  694. package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -12
  695. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
  696. package/internal/DataTids/componentsDataTids/package.json +0 -6
  697. package/internal/DataTids/componentsDataTids.d.ts +0 -5
  698. package/internal/ThemePlayground/Playground.md +0 -7
  699. package/lib/SSRSafe/SSRSafe.js +0 -4
  700. package/lib/SSRSafe/SSRSafe.js.map +0 -1
  701. package/lib/SSRSafe/package.json +0 -6
  702. package/lib/SSRSafe.d.ts +0 -2
  703. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  704. package/lib/locale/LOCALECONTEXT.md +0 -222
  705. package/lib/theming/ThemeContext.md +0 -265
@@ -1 +1 @@
1
- {"version":3,"names":["React","PropTypes","globalObject","keyListener","ThemeContext","isEdge","isIE11","CommonWrapper","cx","rootNode","fixFirefoxModifiedClickOnLabel","createPropsGetter","FocusControlWrapper","styles","globalClasses","CheckedIcon","IndeterminateIcon","CheckboxDataTids","root","Checkbox","_class","_Checkbox","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","focusedByTab","indeterminate","props","initialIndeterminate","isShiftPressed","input","createRef","handleShiftPress","e","key","setState","handleShiftRelease","componentDidMount","_globalObject$documen","_globalObject$documen2","current","document","addEventListener","componentWillUnmount","_globalObject$documen3","_globalObject$documen4","removeEventListener","setIndeterminate","resetIndeterminate","renderMain","_cx","_cx3","_cx4","error","warning","size","onMouseEnter","onMouseLeave","onMouseOver","onValueChange","type","ariaDescribedby","ariaLabel","rest","_objectWithoutPropertiesLoose","_excluded","isIndeterminate","iconClass","icon","checked","iconUnchecked","iconSize","parseInt","getCheckboxBoxSize","IconCheck","createElement","className","IconSquare","rootClass","getRootSizeClassName","theme","rootFallback","rootChecked","rootDisableTextSelect","disabled","Boolean","inputProps","_extends","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","caption","children","_cx2","captionClass","captionIE11","box","getBoxWrapperSizeClassName","boxWrapper","boxChecked","boxFocus","boxError","boxWarning","boxDisabled","onBlurWhenDisabled","resetFocus","requestAnimationFrame","isTabPressed","event","currentTarget","undefined","_inheritsLoose","_proto","prototype","rootLarge","rootMedium","rootSmall","boxWrapperLarge","boxWrapperMedium","boxWrapperSmall","checkboxBoxSizeLarge","checkboxBoxSizeMedium","checkboxBoxSizeSmall","componentDidUpdate","prevProps","render","_this2","Consumer","rootNodeRef","setRootNode","focus","_this$input$current","blur","_this$input$current2","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","bool","func"],"sources":["Checkbox.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { styles, globalClasses } from './Checkbox.styles';\nimport { CheckedIcon } from './CheckedIcon';\nimport { IndeterminateIcon } from './IndeterminateIcon';\n\nexport interface CheckboxProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает размер. */\n size?: SizeProp;\n\n /** Задает HTML-событие `onmouseenter`.\n * @ignore */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Задает HTML-событие `onmouseleave`.\n * @ignore */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Задает HTML-событие `onmouseover`.\n * @ignore */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Задает функцию, вызывающуюся при изменении value. */\n onValueChange?: (value: boolean) => void;\n\n /** Задает HTML-событие `onblur`.\n * @ignore */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n\n /** Устанавливает начальное [неопределенное состояние чекбокса](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate). */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n isShiftPressed: boolean;\n}\n\nexport const CheckboxDataTids = {\n root: 'Checkbox__root',\n} as const;\n\ntype DefaultProps = Required<Pick<CheckboxProps, 'size'>>;\n\n/**\n * `Checkbox` используется для управления параметром с двумя состояниями.\n *\n * Чекбокс не запускает действие немедленно. Как правило, для этого нужно нажать подтверждающую кнопку.\n * Для немедленного включения какого-то режима в интерфейсе лучше подходит Toggle.\n */\n@rootNode\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n public static displayName = 'Checkbox';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n };\n\n private getProps = createPropsGetter(Checkbox.defaultProps);\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getBoxWrapperSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.boxWrapperLarge(this.theme);\n case 'medium':\n return styles.boxWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.boxWrapperSmall(this.theme);\n }\n }\n\n private getCheckboxBoxSize() {\n switch (this.getProps().size) {\n case 'large':\n return this.theme.checkboxBoxSizeLarge;\n case 'medium':\n return this.theme.checkboxBoxSizeMedium;\n case 'small':\n default:\n return this.theme.checkboxBoxSizeSmall;\n }\n }\n\n public static propTypes = {\n checked: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n warning: PropTypes.bool,\n onValueChange: PropTypes.func,\n onBlur: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n };\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n isShiftPressed: false,\n };\n\n private theme!: Theme;\n private input = React.createRef<HTMLInputElement>();\n\n private handleShiftPress = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState(() => ({\n isShiftPressed: true,\n }));\n }\n };\n\n private handleShiftRelease = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState({\n isShiftPressed: false,\n });\n }\n };\n\n public componentDidMount = () => {\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n\n globalObject.document?.addEventListener('keydown', this.handleShiftPress);\n globalObject.document?.addEventListener('keyup', this.handleShiftRelease);\n };\n\n public componentWillUnmount = () => {\n globalObject.document?.removeEventListener('keydown', this.handleShiftPress);\n globalObject.document?.removeEventListener('keyup', this.handleShiftRelease);\n };\n\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Программная установка фокуса чекбоксу.\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программное снятие фокуса с чекбокса.\n * @public\n */\n public blur() {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = () => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = () => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n size,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n type,\n initialIndeterminate,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const iconClass = cx(styles.icon(), !props.checked && !isIndeterminate && styles.iconUnchecked());\n\n const iconSize = parseInt(this.getCheckboxBoxSize());\n const IconCheck = (\n <span className={iconClass}>\n <CheckedIcon size={iconSize} />\n </span>\n );\n const IconSquare = (\n <span className={iconClass}>\n <IndeterminateIcon size={iconSize} />\n </span>\n );\n\n const rootClass = cx(this.getRootSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootFallback()]: isIE11 || isEdge,\n [styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.rootDisableTextSelect()]: this.state.isShiftPressed,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionIE11()]: isIE11 || isEdge,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const box = (\n <div\n className={cx(this.getBoxWrapperSizeClassName(), {\n [styles.boxWrapper(this.theme)]: true,\n })}\n >\n <div\n className={cx(styles.box(this.theme), globalClasses.box, {\n [styles.boxChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxError(this.theme)]: props.error,\n [styles.boxWarning(this.theme)]: props.warning,\n [styles.boxDisabled(this.theme)]: props.disabled,\n })}\n >\n {(isIndeterminate && IconSquare) || IconCheck}\n </div>\n </div>\n );\n\n return (\n <label\n data-tid={CheckboxDataTids.root}\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={fixFirefoxModifiedClickOnLabel(this.input)}\n >\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input {...inputProps} aria-label={ariaLabel} aria-describedby={ariaDescribedby} />\n </FocusControlWrapper>\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private resetFocus = () => this.setState({ focusedByTab: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(e);\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n // support IE11's and old Edge's special behavior\n // https://github.com/jquery/jquery/issues/1698\n if (this.state.indeterminate && (isIE11 || isEdge)) {\n this.resetIndeterminate();\n // simulate correct behavior only if onValueChange is used\n // because we cant simulate real native onChange event\n if (this.props.onValueChange && this.input.current) {\n const checked = !this.input.current.checked;\n\n if (this.props.checked === undefined) {\n // in case of uncontrolled mode\n this.input.current.checked = checked;\n }\n\n this.props.onValueChange(checked);\n }\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","globalObject","keyListener","ThemeContext","isEdge","isIE11","CommonWrapper","cx","rootNode","fixFirefoxModifiedClickOnLabel","createPropsGetter","FocusControlWrapper","styles","globalClasses","CheckedIcon","IndeterminateIcon","CheckboxDataTids","root","Checkbox","_class","_Checkbox","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","focusedByTab","indeterminate","props","initialIndeterminate","isShiftPressed","input","createRef","handleShiftPress","e","key","setState","handleShiftRelease","componentDidMount","_globalObject$documen","_globalObject$documen2","current","document","addEventListener","componentWillUnmount","_globalObject$documen3","_globalObject$documen4","removeEventListener","setIndeterminate","resetIndeterminate","renderMain","_cx","_cx3","_cx4","error","warning","size","onMouseEnter","onMouseLeave","onMouseOver","onValueChange","type","ariaDescribedby","ariaLabel","rest","_objectWithoutPropertiesLoose","_excluded","isIndeterminate","iconClass","icon","checked","iconUnchecked","iconSize","parseInt","getCheckboxBoxSize","IconCheck","createElement","className","IconSquare","rootClass","getRootSizeClassName","theme","rootFallback","rootChecked","rootDisableTextSelect","disabled","Boolean","inputProps","_extends","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","caption","children","_cx2","captionClass","captionIE11","box","getBoxWrapperSizeClassName","boxWrapper","boxChecked","boxFocus","boxError","boxWarning","boxDisabled","onBlurWhenDisabled","resetFocus","requestAnimationFrame","isTabPressed","event","currentTarget","undefined","_inheritsLoose","_proto","prototype","rootLarge","rootMedium","rootSmall","boxWrapperLarge","boxWrapperMedium","boxWrapperSmall","checkboxBoxSizeLarge","checkboxBoxSizeMedium","checkboxBoxSizeSmall","componentDidUpdate","prevProps","render","_this2","Consumer","rootNodeRef","setRootNode","focus","_this$input$current","blur","_this$input$current2","PureComponent","__KONTUR_REACT_UI__","displayName"],"sources":["Checkbox.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport type { Override } from '../../typings/utility-types';\nimport { keyListener } from '../../lib/events/keyListener';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isEdge, isIE11 } from '../../lib/client';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { styles, globalClasses } from './Checkbox.styles';\nimport { CheckedIcon } from './CheckedIcon';\nimport { IndeterminateIcon } from './IndeterminateIcon';\n\nexport interface CheckboxProps\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает размер. */\n size?: SizeProp;\n\n /** Задает HTML-событие `onmouseenter`.\n * @ignore */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Задает HTML-событие `onmouseleave`.\n * @ignore */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Задает HTML-событие `onmouseover`.\n * @ignore */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Задает функцию, вызывающуюся при изменении value. */\n onValueChange?: (value: boolean) => void;\n\n /** Задает HTML-событие `onblur`.\n * @ignore */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n\n /** Устанавливает начальное [неопределенное состояние чекбокса](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate). */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n isShiftPressed: boolean;\n}\n\nexport const CheckboxDataTids = {\n root: 'Checkbox__root',\n} as const;\n\ntype DefaultProps = Required<Pick<CheckboxProps, 'size'>>;\n\n/**\n * `Checkbox` используется для управления параметром с двумя состояниями.\n *\n * Чекбокс не запускает действие немедленно. Как правило, для этого нужно нажать подтверждающую кнопку.\n * Для немедленного включения какого-то режима в интерфейсе лучше подходит Toggle.\n */\n@rootNode\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n public static displayName = 'Checkbox';\n\n public static defaultProps: DefaultProps = {\n size: 'small',\n };\n\n private getProps = createPropsGetter(Checkbox.defaultProps);\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getBoxWrapperSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.boxWrapperLarge(this.theme);\n case 'medium':\n return styles.boxWrapperMedium(this.theme);\n case 'small':\n default:\n return styles.boxWrapperSmall(this.theme);\n }\n }\n\n private getCheckboxBoxSize() {\n switch (this.getProps().size) {\n case 'large':\n return this.theme.checkboxBoxSizeLarge;\n case 'medium':\n return this.theme.checkboxBoxSizeMedium;\n case 'small':\n default:\n return this.theme.checkboxBoxSizeSmall;\n }\n }\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n isShiftPressed: false,\n };\n\n private theme!: Theme;\n private input = React.createRef<HTMLInputElement>();\n\n private handleShiftPress = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState(() => ({\n isShiftPressed: true,\n }));\n }\n };\n\n private handleShiftRelease = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState({\n isShiftPressed: false,\n });\n }\n };\n\n public componentDidMount = () => {\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n\n globalObject.document?.addEventListener('keydown', this.handleShiftPress);\n globalObject.document?.addEventListener('keyup', this.handleShiftRelease);\n };\n\n public componentWillUnmount = () => {\n globalObject.document?.removeEventListener('keydown', this.handleShiftPress);\n globalObject.document?.removeEventListener('keyup', this.handleShiftRelease);\n };\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Программная установка фокуса чекбоксу.\n * @public\n */\n public focus() {\n keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программное снятие фокуса с чекбокса.\n * @public\n */\n public blur() {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = () => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = () => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n size,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n type,\n initialIndeterminate,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const iconClass = cx(styles.icon(), !props.checked && !isIndeterminate && styles.iconUnchecked());\n\n const iconSize = parseInt(this.getCheckboxBoxSize());\n const IconCheck = (\n <span className={iconClass}>\n <CheckedIcon size={iconSize} />\n </span>\n );\n const IconSquare = (\n <span className={iconClass}>\n <IndeterminateIcon size={iconSize} />\n </span>\n );\n\n const rootClass = cx(this.getRootSizeClassName(), {\n [styles.root(this.theme)]: true,\n [styles.rootFallback()]: isIE11 || isEdge,\n [styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.rootDisableTextSelect()]: this.state.isShiftPressed,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = cx({\n [styles.caption(this.theme)]: true,\n [styles.captionIE11()]: isIE11 || isEdge,\n [styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const box = (\n <div\n className={cx(this.getBoxWrapperSizeClassName(), {\n [styles.boxWrapper(this.theme)]: true,\n })}\n >\n <div\n className={cx(styles.box(this.theme), globalClasses.box, {\n [styles.boxChecked(this.theme)]: props.checked || isIndeterminate,\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxError(this.theme)]: props.error,\n [styles.boxWarning(this.theme)]: props.warning,\n [styles.boxDisabled(this.theme)]: props.disabled,\n })}\n >\n {(isIndeterminate && IconSquare) || IconCheck}\n </div>\n </div>\n );\n\n return (\n <label\n data-tid={CheckboxDataTids.root}\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={fixFirefoxModifiedClickOnLabel(this.input)}\n >\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input {...inputProps} aria-label={ariaLabel} aria-describedby={ariaDescribedby} />\n </FocusControlWrapper>\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n globalObject.requestAnimationFrame?.(() => {\n if (keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private resetFocus = () => this.setState({ focusedByTab: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(e);\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n // support IE11's and old Edge's special behavior\n // https://github.com/jquery/jquery/issues/1698\n if (this.state.indeterminate && (isIE11 || isEdge)) {\n this.resetIndeterminate();\n // simulate correct behavior only if onValueChange is used\n // because we cant simulate real native onChange event\n if (this.props.onValueChange && this.input.current) {\n const checked = !this.input.current.checked;\n\n if (this.props.checked === undefined) {\n // in case of uncontrolled mode\n this.input.current.checked = checked;\n }\n\n this.props.onValueChange(checked);\n }\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  import type { AriaAttributes } from 'react';
2
2
  import React from 'react';
3
- import PropTypes from 'prop-types';
4
3
  import type { Override } from '../../typings/utility-types';
5
4
  import type { CommonProps } from '../../internal/CommonWrapper';
5
+ import type { TGetRootNode } from '../../lib/rootNode';
6
6
  import type { SizeProp } from '../../lib/types/props';
7
7
  export interface CheckboxProps extends CommonProps, Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>, Override<React.InputHTMLAttributes<HTMLInputElement>, {
8
8
  /** @ignore */
@@ -54,17 +54,6 @@ export declare class Checkbox extends React.PureComponent<CheckboxProps, Checkbo
54
54
  private getRootSizeClassName;
55
55
  private getBoxWrapperSizeClassName;
56
56
  private getCheckboxBoxSize;
57
- static propTypes: {
58
- checked: PropTypes.Requireable<boolean>;
59
- disabled: PropTypes.Requireable<boolean>;
60
- error: PropTypes.Requireable<boolean>;
61
- warning: PropTypes.Requireable<boolean>;
62
- onValueChange: PropTypes.Requireable<(...args: any[]) => any>;
63
- onBlur: PropTypes.Requireable<(...args: any[]) => any>;
64
- onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
65
- onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
66
- onMouseOver: PropTypes.Requireable<(...args: any[]) => any>;
67
- };
68
57
  state: {
69
58
  focusedByTab: boolean;
70
59
  indeterminate: boolean;
@@ -76,6 +65,7 @@ export declare class Checkbox extends React.PureComponent<CheckboxProps, Checkbo
76
65
  private handleShiftRelease;
77
66
  componentDidMount: () => void;
78
67
  componentWillUnmount: () => void;
68
+ getRootNode: TGetRootNode;
79
69
  private setRootNode;
80
70
  componentDidUpdate(prevProps: CheckboxProps): void;
81
71
  render(): React.JSX.Element;
@@ -94,6 +94,14 @@ export var ComboBox = rootNode(_class = (_ComboBox = /*#__PURE__*/function (_Rea
94
94
  if (this.comboboxElement) {
95
95
  this.comboboxElement.reset();
96
96
  }
97
+ } /**
98
+ * Изменяет значение combobox
99
+ * @public
100
+ */;
101
+ _proto.setValue = function setValue(value) {
102
+ if (this.comboboxElement) {
103
+ this.comboboxElement.changeValue(value);
104
+ }
97
105
  };
98
106
  _proto.render = function render() {
99
107
  return /*#__PURE__*/React.createElement(CustomComboBox, _extends({}, this.getProps(), {
@@ -1 +1 @@
1
- {"version":3,"names":["React","CustomComboBox","rootNode","createPropsGetter","ComboBox","_class","_ComboBox","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","comboboxElement","customComboBoxRef","element","setRootNode","_inheritsLoose","_proto","prototype","focus","opts","blur","search","query","cancelSearch","open","close","selectInputText","reset","render","createElement","_extends","size","props","ref","Component","__KONTUR_REACT_UI__","displayName","itemToValue","item","value","valueToString","label","renderValue","renderItem","menuAlign","searchOnFocus","drawArrow","showClearIcon"],"sources":["ComboBox.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport { CustomComboBox } from '../../internal/CustomComboBox';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { MenuItemState } from '../MenuItem';\nimport type { ShowClearIcon, InputIconType } from '../Input';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\n\nexport interface ComboBoxProps<T>\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n CommonProps {\n /** Показывать иконку очистки значения в непустом поле:\n * - `always` — всегда показывать иконку\n * - `auto` — показывать иконку при hover/focus\n * - `never` — не показывать иконку\n * При одновременной настройке `showClearIcon` и `rightIcon` показывается иконка очистки.\n * @default never */\n showClearIcon?: ShowClearIcon;\n\n /** Задает выравнивание контента. */\n align?: 'left' | 'center' | 'right';\n\n /** Вызывает функцию поиска getItems при фокусе и очистке поля ввода. */\n searchOnFocus?: boolean;\n\n /** Отображает справа иконку в виде стрелки. */\n drawArrow?: boolean;\n\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Убирает обводку. */\n borderless?: boolean;\n\n /** Отключает использование портала для рендеринга меню.\n * См. https://github.com/skbkontur/retail-ui/issues/15 */\n disablePortal?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Добавляет иконку слева.\n При использовании `ReactNode` применяются дефолтные стили для иконки.\n При использовании `() => ReactNode` применяются только стили для позиционирования. */\n leftIcon?: InputIconType;\n\n /** Добавляет иконку справа.\n При использовании `ReactNode` применяются дефолтные стили для иконки.\n При использовании `() => ReactNode` применяются только стили для позиционирования. */\n rightIcon?: InputIconType;\n\n /** Задает функцию поиска элементов, которая должна возвращать Promise с массивом элементов.\n * По умолчанию ожидаются объекты с типом `{ value: string, label: string }`.\n * Элементы могут быть любого типа. В этом случае необходимо определить свойства `itemToValue`, `renderValue`, `renderItem`, `valueToString`. */\n getItems: (query: string) => Promise<Array<ComboBoxExtendedItem<T>>>;\n\n /** Задает функцию сравнения полученных результатов с value. */\n itemToValue?: (item: T) => string | number;\n\n /** Задает максимальную длину инпута. */\n maxLength?: number;\n\n /** Задает текущую позицию выпадающего окна вручную.\n */\n menuPos?: 'top' | 'bottom';\n\n /** Задает выравнивание выпадающего меню. */\n menuAlign?: 'left' | 'right';\n\n /** Задает функцию, которая вызывается при потере комбобоксом фокуса. */\n onBlur?: () => void;\n\n /** Вызывается при изменении `value` */\n onValueChange?: (value: T) => void;\n\n /** Задает функцию, которая вызывается при получении комбобоксом фокуса. */\n onFocus?: () => void;\n\n /** Задает функцию, которая вызывается при изменении текста в поле ввода, если результатом функции будет строка, то она станет следующим состоянием полем ввода. */\n onInputValueChange?: (value: string) => Nullable<string> | void;\n\n /** Задает функцию для обработки ввода строки в инпут и последующей потерей фокуса компонентом.\n * Функция срабатывает с аргументом инпута строки.\n * Если при потере фокуса в выпадающем списке будет только один элемент и результат valueToString с этим элементом будет совпадать со значение в текстовом поле, то сработает onValueChange со значением данного элемента.\n * Сама функция также может вернуть значение, неравное undefined, с которым будет вызван onValueChange. Если возвращаемое значение будет равно null, то сработает очистка текущего значения инпута, а в режиме редактирования токен будет удален. */\n onUnexpectedInput?: (value: string) => void | null | T;\n\n /** Задает текст, который отображается если не введено никакое значение. */\n placeholder?: string;\n\n /** Задает функцию отрисовки элементов результата поиска.\n * Не применяется если элемент является функцией или React-элементом\n * @default item => item.label\n * @param {T} item - элемент из результата поиска.\n * @param {MenuItemState} state? - состояние элемента.\n * @returns {React.ReactNode} React-элемент. */\n renderItem?: (item: T, state?: MenuItemState) => React.ReactNode;\n\n /** Устанавливает компонент, заменяющий собой обёртку элементов результата поиска.\n * По умолчанию все элементы результата поиска оборачиваются в тег <button />.\n * @example\n * itemWrapper={(item) => {\n * if (item.value === 3) {\n * return (props) => {\n * return <a {...props} />\n * }\n * }\n * }}\n */\n itemWrapper?: (item: T) => React.ComponentType;\n\n /** Задает функцию, которая отображает сообщение о пустом результате поиска. При renderAddButton не работает. */\n renderNotFound?: () => React.ReactNode;\n\n /** Задает функцию, которая отображает сообщение об общем количестве элементов.\n * @param {number} found - количество элементов по результатам поиска. Учитывает только компонент MenuItem. Им \"оборачиваются\" элементы, возвращаемые getItems().\n * @param {number} total - количество всех элементов. */\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n\n /** Задает функцию, которая отображает выбранное значение.\n * @default item => item.label */\n renderValue?: (item: T) => React.ReactNode;\n\n /** Задает функцию отрисовки кнопки добавления в выпадающем списке. */\n renderAddButton?: (query?: string) => React.ReactNode;\n\n /** Определяет общее количество элементов. Необходим для работы renderTotalCount. */\n totalCount?: number;\n\n /** Устанавливает выбранное в комбобоксе значение. Тип `value` совпадает с типом элементов в массиве, возвращаемом в `getItems`. */\n value?: Nullable<T>;\n\n /** Задает функцию, которая возвращает строковое представление value. Необходимо при фокусировке. */\n valueToString?: (item: T) => string;\n\n /** Задает размер компонента. */\n size?: SizeProp;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает длину комбобокса. */\n width?: string | number;\n\n /** Задает максимальную высоту меню. */\n maxMenuHeight?: number | string;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: (e: React.MouseEvent) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: (e: React.MouseEvent) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (e: React.MouseEvent) => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n\n /** Задает типы вводимых данных. */\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n}\n\nexport interface ComboBoxItem {\n value: string;\n label: string;\n}\n\nexport type ComboBoxExtendedItem<T> = T | (() => React.ReactElement<T>) | React.ReactElement<T>;\n\ntype DefaultProps<T> = Required<\n Pick<\n ComboBoxProps<T>,\n | 'itemToValue'\n | 'valueToString'\n | 'renderValue'\n | 'renderItem'\n | 'menuAlign'\n | 'searchOnFocus'\n | 'drawArrow'\n | 'showClearIcon'\n >\n>;\n\n/**\n * `ComboBox` — это поле ввода со списком подсказок.\n *\n * `ComboBox` используют:\n * * для выбора значения из справочника.\n * * для добавления своего значения в справочник.\n *\n * `ComboBox` может работать в двух режимах — обычном и в режиме автокомплита.\n * Основное их отличие в том, что в режиме автокомплита список вариантов появляется только после ввода первого символа или изменении уже введенного значения.\n */\n@rootNode\nexport class ComboBox<T = ComboBoxItem> extends React.Component<ComboBoxProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBox';\n public static displayName = 'ComboBox';\n\n public static defaultProps: DefaultProps<any> = {\n itemToValue: (item: ComboBoxItem) => item.value,\n valueToString: (item: ComboBoxItem) => item.label,\n renderValue: (item: ComboBoxItem) => item.label,\n renderItem: (item: ComboBoxItem) => item.label,\n menuAlign: 'left',\n searchOnFocus: true,\n drawArrow: true,\n showClearIcon: 'never',\n };\n\n private getProps = createPropsGetter(ComboBox.defaultProps);\n\n private comboboxElement: Nullable<CustomComboBox<T>> = null;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus(opts?: { withoutOpenDropdown?: boolean }) {\n if (this.comboboxElement) {\n this.comboboxElement.focus(opts);\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.comboboxElement) {\n this.comboboxElement.blur();\n }\n }\n\n /**\n * Открывает выпадающий список и запускает поиск элементов\n *\n * @public\n * @param {string} [query] Текст поиска. По умолчанию берется\n * текст из инпута или результат `valueToString(value)`\n */\n public search(query?: string) {\n if (this.comboboxElement) {\n this.comboboxElement.search(query);\n }\n }\n\n /**\n * @public\n */\n public cancelSearch() {\n if (this.comboboxElement) {\n this.comboboxElement.cancelSearch();\n }\n }\n\n /**\n * @public Открывает выпадающий список\n */\n public open() {\n if (this.comboboxElement) {\n this.comboboxElement.open();\n }\n }\n\n /**\n * @public Закрывает выпадающий список\n */\n public close() {\n if (this.comboboxElement) {\n this.comboboxElement.close();\n }\n }\n\n /**\n * Выделяет текст внутри input\n * @public\n */\n public selectInputText() {\n if (this.comboboxElement) {\n this.comboboxElement.selectInputText();\n }\n }\n\n /**\n * Сбрасывает введенное пользователем значение\n * @public\n */\n public reset() {\n if (this.comboboxElement) {\n this.comboboxElement.reset();\n }\n }\n\n public render() {\n return <CustomComboBox {...this.getProps()} size={this.props.size} ref={this.customComboBoxRef} />;\n }\n\n private customComboBoxRef = (element: Nullable<CustomComboBox<T>>) => {\n this.setRootNode(element);\n this.comboboxElement = element;\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","CustomComboBox","rootNode","createPropsGetter","ComboBox","_class","_ComboBox","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","comboboxElement","customComboBoxRef","element","setRootNode","_inheritsLoose","_proto","prototype","focus","opts","blur","search","query","cancelSearch","open","close","selectInputText","reset","setValue","value","changeValue","render","createElement","_extends","size","props","ref","Component","__KONTUR_REACT_UI__","displayName","itemToValue","item","valueToString","label","renderValue","renderItem","menuAlign","searchOnFocus","drawArrow","showClearIcon"],"sources":["ComboBox.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\n\nimport { CustomComboBox } from '../../internal/CustomComboBox';\nimport type { Nullable } from '../../typings/utility-types';\nimport type { MenuItemState } from '../MenuItem';\nimport type { ShowClearIcon, InputIconType } from '../Input';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport type { SizeProp } from '../../lib/types/props';\nimport type { MaskedInputOnBeforePasteValue, MaskedInputProps } from '../MaskedInput';\n\nexport interface ComboBoxProps<T>\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Pick<HTMLAttributes<HTMLInputElement>, 'onPaste'>,\n Partial<Pick<MaskedInputProps, 'mask' | 'maskChar' | 'formatChars'>>,\n CommonProps {\n /** Показывать иконку очистки значения в непустом поле:\n * - `always` — всегда показывать иконку\n * - `auto` — показывать иконку при hover/focus\n * - `never` — не показывать иконку\n * При одновременной настройке `showClearIcon` и `rightIcon` показывается иконка очистки.\n * @default never */\n showClearIcon?: ShowClearIcon;\n\n /** Задает выравнивание контента. */\n align?: 'left' | 'center' | 'right';\n\n /** Вызывает функцию поиска getItems при фокусе и очистке поля ввода. */\n searchOnFocus?: boolean;\n\n /** Отображает справа иконку в виде стрелки. */\n drawArrow?: boolean;\n\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Убирает обводку. */\n borderless?: boolean;\n\n /** Отключает использование портала для рендеринга меню.\n * См. https://github.com/skbkontur/retail-ui/issues/15 */\n disablePortal?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Добавляет иконку слева.\n При использовании `ReactNode` применяются дефолтные стили для иконки.\n При использовании `() => ReactNode` применяются только стили для позиционирования. */\n leftIcon?: InputIconType;\n\n /** Добавляет иконку справа.\n При использовании `ReactNode` применяются дефолтные стили для иконки.\n При использовании `() => ReactNode` применяются только стили для позиционирования. */\n rightIcon?: InputIconType;\n\n /** Задает функцию поиска элементов, которая должна возвращать Promise с массивом элементов.\n * По умолчанию ожидаются объекты с типом `{ value: string, label: string }`.\n * Элементы могут быть любого типа. В этом случае необходимо определить свойства `itemToValue`, `renderValue`, `renderItem`, `valueToString`. */\n getItems: (query: string) => Promise<Array<ComboBoxExtendedItem<T>>>;\n\n /** Задает функцию сравнения полученных результатов с value. */\n itemToValue?: (item: T) => string | number;\n\n /** Задает максимальную длину инпута. */\n maxLength?: number;\n\n /** Задает текущую позицию выпадающего окна вручную.\n */\n menuPos?: 'top' | 'bottom';\n\n /** Задает выравнивание выпадающего меню. */\n menuAlign?: 'left' | 'right';\n\n /** Задает функцию, которая вызывается при потере комбобоксом фокуса. */\n onBlur?: () => void;\n\n /** Вызывается при изменении `value` */\n onValueChange?: (value: T) => void;\n\n /** Задает функцию, которая вызывается при получении комбобоксом фокуса. */\n onFocus?: () => void;\n\n /** Задает функцию, которая вызывается при изменении текста в поле ввода, если результатом функции будет строка, то она станет следующим состоянием полем ввода. */\n onInputValueChange?: (value: string) => Nullable<string> | void;\n\n /** Задает функцию для обработки ввода строки в инпут и последующей потерей фокуса компонентом.\n * Функция срабатывает с аргументом инпута строки.\n * Если при потере фокуса в выпадающем списке будет только один элемент и результат valueToString с этим элементом будет совпадать со значение в текстовом поле, то сработает onValueChange со значением данного элемента.\n * Сама функция также может вернуть значение, неравное undefined, с которым будет вызван onValueChange. Если возвращаемое значение будет равно null, то сработает очистка текущего значения инпута, а в режиме редактирования токен будет удален. */\n onUnexpectedInput?: (value: string) => void | null | T;\n\n /** Задает текст, который отображается если не введено никакое значение. */\n placeholder?: string;\n\n /** Задает функцию отрисовки элементов результата поиска.\n * Не применяется если элемент является функцией или React-элементом\n * @default item => item.label\n * @param {T} item - элемент из результата поиска.\n * @param {MenuItemState} state? - состояние элемента.\n * @returns {React.ReactNode} React-элемент. */\n renderItem?: (item: T, state?: MenuItemState) => React.ReactNode;\n\n /** Устанавливает компонент, заменяющий собой обёртку элементов результата поиска.\n * По умолчанию все элементы результата поиска оборачиваются в тег <button />.\n * @example\n * itemWrapper={(item) => {\n * if (item.value === 3) {\n * return (props) => {\n * return <a {...props} />\n * }\n * }\n * }}\n */\n itemWrapper?: (item: T) => React.ComponentType;\n\n /** Задает функцию, которая отображает сообщение о пустом результате поиска. При renderAddButton не работает. */\n renderNotFound?: () => React.ReactNode;\n\n /** Задает функцию, которая отображает сообщение об общем количестве элементов.\n * @param {number} found - количество элементов по результатам поиска. Учитывает только компонент MenuItem. Им \"оборачиваются\" элементы, возвращаемые getItems().\n * @param {number} total - количество всех элементов. */\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n\n /** Задает функцию, которая отображает выбранное значение.\n * @default item => item.label */\n renderValue?: (item: T) => React.ReactNode;\n\n /** Задает функцию отрисовки кнопки добавления в выпадающем списке. */\n renderAddButton?: (query?: string) => React.ReactNode;\n\n /** Определяет общее количество элементов. Необходим для работы renderTotalCount. */\n totalCount?: number;\n\n /** Устанавливает выбранное в комбобоксе значение. Тип `value` совпадает с типом элементов в массиве, возвращаемом в `getItems`. */\n value?: Nullable<T>;\n\n /** Задает функцию, которая возвращает строковое представление value. Необходимо при фокусировке. */\n valueToString?: (item: T) => string;\n\n /** Задает размер компонента. */\n size?: SizeProp;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Задает длину комбобокса. */\n width?: string | number;\n\n /** Задает максимальную высоту меню. */\n maxMenuHeight?: number | string;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). См разницу с onMouseOver в [документации](https://learn.javascript.ru/mousemove-mouseover-mouseout-mouseenter-mouseleave) */\n onMouseEnter?: (e: React.MouseEvent) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseover`). */\n onMouseOver?: (e: React.MouseEvent) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (e: React.MouseEvent) => void;\n\n /** Задает функцию, которая вызывается при нажатии кнопки на клавиатуре. */\n onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\n\n /** Задает типы вводимых данных. */\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];\n\n /** Задает функцию, которая вызывается при вставке значения в инпут с маской. */\n maskOnBeforePaste?: MaskedInputOnBeforePasteValue;\n}\n\nexport interface ComboBoxItem {\n value: string;\n label: string;\n}\n\nexport type ComboBoxExtendedItem<T> = T | (() => React.ReactElement<T>) | React.ReactElement<T>;\n\ntype DefaultProps<T> = Required<\n Pick<\n ComboBoxProps<T>,\n | 'itemToValue'\n | 'valueToString'\n | 'renderValue'\n | 'renderItem'\n | 'menuAlign'\n | 'searchOnFocus'\n | 'drawArrow'\n | 'showClearIcon'\n >\n>;\n\n/**\n * `ComboBox` — это поле ввода со списком подсказок.\n *\n * `ComboBox` используют:\n * * для выбора значения из справочника.\n * * для добавления своего значения в справочник.\n *\n * `ComboBox` может работать в двух режимах — обычном и в режиме автокомплита.\n * Основное их отличие в том, что в режиме автокомплита список вариантов появляется только после ввода первого символа или изменении уже введенного значения.\n */\n@rootNode\nexport class ComboBox<T = ComboBoxItem> extends React.Component<ComboBoxProps<T>> {\n public static __KONTUR_REACT_UI__ = 'ComboBox';\n public static displayName = 'ComboBox';\n\n public static defaultProps: DefaultProps<any> = {\n itemToValue: (item: ComboBoxItem) => item.value,\n valueToString: (item: ComboBoxItem) => item.label,\n renderValue: (item: ComboBoxItem) => item.label,\n renderItem: (item: ComboBoxItem) => item.label,\n menuAlign: 'left',\n searchOnFocus: true,\n drawArrow: true,\n showClearIcon: 'never',\n };\n\n private getProps = createPropsGetter(ComboBox.defaultProps);\n\n private comboboxElement: Nullable<CustomComboBox<T>> = null;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n /**\n * @public\n */\n public focus(opts?: { withoutOpenDropdown?: boolean }) {\n if (this.comboboxElement) {\n this.comboboxElement.focus(opts);\n }\n }\n\n /**\n * @public\n */\n public blur() {\n if (this.comboboxElement) {\n this.comboboxElement.blur();\n }\n }\n\n /**\n * Открывает выпадающий список и запускает поиск элементов\n *\n * @public\n * @param {string} [query] Текст поиска. По умолчанию берется\n * текст из инпута или результат `valueToString(value)`\n */\n public search(query?: string) {\n if (this.comboboxElement) {\n this.comboboxElement.search(query);\n }\n }\n\n /**\n * @public\n */\n public cancelSearch() {\n if (this.comboboxElement) {\n this.comboboxElement.cancelSearch();\n }\n }\n\n /**\n * @public Открывает выпадающий список\n */\n public open() {\n if (this.comboboxElement) {\n this.comboboxElement.open();\n }\n }\n\n /**\n * @public Закрывает выпадающий список\n */\n public close() {\n if (this.comboboxElement) {\n this.comboboxElement.close();\n }\n }\n\n /**\n * Выделяет текст внутри input\n * @public\n */\n public selectInputText() {\n if (this.comboboxElement) {\n this.comboboxElement.selectInputText();\n }\n }\n\n /**\n * Сбрасывает введенное пользователем значение\n * @public\n */\n public reset() {\n if (this.comboboxElement) {\n this.comboboxElement.reset();\n }\n }\n\n /**\n * Изменяет значение combobox\n * @public\n */\n public setValue(value: T) {\n if (this.comboboxElement) {\n this.comboboxElement.changeValue(value);\n }\n }\n\n public render() {\n return <CustomComboBox {...this.getProps()} size={this.props.size} ref={this.customComboBoxRef} />;\n }\n\n private customComboBoxRef = (element: Nullable<CustomComboBox<T>>) => {\n this.setRootNode(element);\n this.comboboxElement = element;\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,8 +4,10 @@ import type { Nullable } from '../../typings/utility-types';
4
4
  import type { MenuItemState } from '../MenuItem';
5
5
  import type { ShowClearIcon, InputIconType } from '../Input';
6
6
  import type { CommonProps } from '../../internal/CommonWrapper';
7
+ import type { TGetRootNode } from '../../lib/rootNode';
7
8
  import type { SizeProp } from '../../lib/types/props';
8
- export interface ComboBoxProps<T> extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>, Pick<HTMLAttributes<HTMLElement>, 'id'>, CommonProps {
9
+ import type { MaskedInputOnBeforePasteValue, MaskedInputProps } from '../MaskedInput';
10
+ export interface ComboBoxProps<T> extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>, Pick<HTMLAttributes<HTMLElement>, 'id'>, Pick<HTMLAttributes<HTMLInputElement>, 'onPaste'>, Partial<Pick<MaskedInputProps, 'mask' | 'maskChar' | 'formatChars'>>, CommonProps {
9
11
  /** Показывать иконку очистки значения в непустом поле:
10
12
  * - `always` — всегда показывать иконку
11
13
  * - `auto` — показывать иконку при hover/focus
@@ -120,6 +122,8 @@ export interface ComboBoxProps<T> extends Pick<AriaAttributes, 'aria-describedby
120
122
  onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;
121
123
  /** Задает типы вводимых данных. */
122
124
  inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];
125
+ /** Задает функцию, которая вызывается при вставке значения в инпут с маской. */
126
+ maskOnBeforePaste?: MaskedInputOnBeforePasteValue;
123
127
  }
124
128
  export interface ComboBoxItem {
125
129
  value: string;
@@ -143,6 +147,7 @@ export declare class ComboBox<T = ComboBoxItem> extends React.Component<ComboBox
143
147
  static defaultProps: DefaultProps<any>;
144
148
  private getProps;
145
149
  private comboboxElement;
150
+ getRootNode: TGetRootNode;
146
151
  private setRootNode;
147
152
  /**
148
153
  * @public
@@ -184,6 +189,11 @@ export declare class ComboBox<T = ComboBoxItem> extends React.Component<ComboBox
184
189
  * @public
185
190
  */
186
191
  reset(): void;
192
+ /**
193
+ * Изменяет значение combobox
194
+ * @public
195
+ */
196
+ setValue(value: T): void;
187
197
  render(): React.JSX.Element;
188
198
  private customComboBoxRef;
189
199
  }
@@ -4,7 +4,6 @@ import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
4
4
  var _excluded = ["fractionDigits", "signed", "onSubmit", "integerDigits", "hideTrailingZeros"];
5
5
  var _class, _CurrencyInput;
6
6
  import React from 'react';
7
- import PropTypes from 'prop-types';
8
7
  import warning from 'warning';
9
8
  import debounce from 'lodash.debounce';
10
9
  import { globalObject } from '@skbkontur/global-object';
@@ -34,6 +33,9 @@ export var CurrencyInputDataTids = {
34
33
  *
35
34
  * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).
36
35
  *
36
+ * **Почему 15?** Максимальное безопасное целочисленное значение - 9007199254740991 (16 цифр). Убрав один разряд под знак, мы получим "новое" максимальное безопасное значение - 999999999999999 (15 цифр).
37
+ * При этом десятичный резделитель может находиться в любом месте. Если целая часть равна 0, то она не учитывается. Детали можно почитать здесь - [MDN web docs](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER).
38
+ *
37
39
  * Если `fractionDigits=15`, то в целой части допускается **0**.
38
40
  */
39
41
  export var CurrencyInput = rootNode(_class = (_CurrencyInput = /*#__PURE__*/function (_React$PureComponent) {
@@ -356,20 +358,21 @@ export var CurrencyInput = rootNode(_class = (_CurrencyInput = /*#__PURE__*/func
356
358
  }
357
359
  _inheritsLoose(CurrencyInput, _React$PureComponent);
358
360
  var _proto = CurrencyInput.prototype;
361
+ _proto.validateProps = function validateProps(props) {
362
+ warning(isNumeric(props.value), '[CurrencyInput]: Prop `value` is not a valid number');
363
+ warning(props.maxLength === undefined, "[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'");
364
+ warning((props.integerDigits || 0) + (props.fractionDigits || 0) <= MAX_SAFE_DIGITS, "[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds " + MAX_SAFE_DIGITS + "." + "\nSee CurrencyInput documentation");
365
+ };
359
366
  _proto.componentDidMount = function componentDidMount() {
360
- var _this$props = this.props,
361
- maxLength = _this$props.maxLength,
362
- integerDigits = _this$props.integerDigits;
363
- var fractionDigits = this.getProps().fractionDigits;
364
- warning(maxLength === undefined, "[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'");
365
- warning((integerDigits || 0) + (fractionDigits || 0) <= MAX_SAFE_DIGITS, "[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds " + MAX_SAFE_DIGITS + "." + "\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15");
367
+ this.validateProps(this.getProps());
366
368
  };
367
369
  _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {
368
370
  var _this$getProps = this.getProps(),
369
371
  value = _this$getProps.value,
370
372
  fractionDigits = _this$getProps.fractionDigits,
371
373
  hideTrailingZeros = _this$getProps.hideTrailingZeros;
372
- if (isValidNumber(value) && isNumeric(value) && Number(value) !== CurrencyHelper.parse(prevState.formatted) || prevProps.fractionDigits !== fractionDigits) {
374
+ this.validateProps(this.getProps());
375
+ if (isNumeric(value) && Number(value) !== CurrencyHelper.parse(prevState.formatted) || prevProps.fractionDigits !== fractionDigits) {
373
376
  this.setState(this.getState(value, fractionDigits, hideTrailingZeros));
374
377
  }
375
378
  if (isNonNullable(prevProps.value) && isNullable(value)) {
@@ -409,31 +412,7 @@ export var CurrencyInput = rootNode(_class = (_CurrencyInput = /*#__PURE__*/func
409
412
  });
410
413
  };
411
414
  return CurrencyInput;
412
- }(React.PureComponent), _CurrencyInput.__KONTUR_REACT_UI__ = 'CurrencyInput', _CurrencyInput.displayName = 'CurrencyInput', _CurrencyInput.propTypes = {
413
- align: PropTypes.oneOf(['left', 'center', 'right']),
414
- autoFocus: PropTypes.bool,
415
- borderless: PropTypes.bool,
416
- disabled: PropTypes.bool,
417
- error: PropTypes.bool,
418
- fractionDigits: PropTypes.number,
419
- hideTrailingZeros: PropTypes.bool,
420
- leftIcon: PropTypes.element,
421
- placeholder: PropTypes.string,
422
- signed: PropTypes.bool,
423
- size: PropTypes.oneOf(['small', 'medium', 'large']),
424
- value: function value(props) {
425
- warning(isValidNumber(props.value), '[CurrencyInput]: Prop `value` is not a valid number');
426
- },
427
- warning: PropTypes.bool,
428
- width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
429
- onBlur: PropTypes.func,
430
- onValueChange: PropTypes.func.isRequired,
431
- onFocus: PropTypes.func,
432
- onMouseEnter: PropTypes.func,
433
- onMouseLeave: PropTypes.func,
434
- onMouseOver: PropTypes.func,
435
- onSubmit: PropTypes.func
436
- }, _CurrencyInput.defaultProps = {
415
+ }(React.PureComponent), _CurrencyInput.__KONTUR_REACT_UI__ = 'CurrencyInput', _CurrencyInput.displayName = 'CurrencyInput', _CurrencyInput.defaultProps = {
437
416
  align: 'right',
438
417
  fractionDigits: 2,
439
418
  hideTrailingZeros: false,
@@ -454,9 +433,6 @@ function getInputSelectionFromEvent(input) {
454
433
  function isNumeric(value) {
455
434
  return !isNaN(parseFloat(value)) && isFinite(value);
456
435
  }
457
- function isValidNumber(value) {
458
- return !isNaN(Number(value));
459
- }
460
436
  var getPlaceholder = function getPlaceholder(props) {
461
437
  if (isNullable(props.placeholder)) {
462
438
  return CurrencyHelper.format(0, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","PropTypes","warning","debounce","globalObject","isNonNullable","isNullable","isIE11","Input","CommonWrapper","rootNode","createPropsGetter","isInstanceOf","FocusControlWrapper","MAX_SAFE_DIGITS","SelectionHelper","CurrencyHelper","CurrencyInputHelper","CURRENCY_INPUT_ACTIONS","extractAction","CurrencyInputDataTids","root","CurrencyInput","_class","_CurrencyInput","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","_extends","getState","value","fractionDigits","hideTrailingZeros","focused","tempSelectionForOnChange","fromPosition","renderMain","props","signed","onSubmit","integerDigits","rest","_objectWithoutPropertiesLoose","_excluded","createElement","onBlurWhenDisabled","resetFocus","align","formatted","onBlur","handleBlur","onFocus","handleFocus","onMouseUp","handleMouseUp","onKeyDown","handleKeyDown","onValueChange","handleValueChange","onPaste","handlePaste","onCopy","handleCopy","onCut","handleCut","onMouseEnter","onMouseLeave","onMouseOver","ref","refInput","placeholder","getPlaceholder","focus","input","blur","debouncedSetSelectionFromEvent","setSelectionFromEvent","event","persist","selection","getSelection","target","defaultPrevented","action","Ignore","Unknown","preventDefault","Submit","Backspace","inputValue","moveCursor","end","Delete","start","MoveCursorLeft","MoveCursorRight","Home","setState","End","ExtendSelectionLeft","extendSelection","ExtendSelectionRight","FullSelection","forward","ExtendSelectionToStart","backward","ExtendSelectionToEnd","inputEnd","Comma","scrollInput","_this$input","node","getNode","scrollWidth","clientWidth","PAD","SHIFT","selected","position","direction","charsCount","charWidth","frame","Math","ceil","frameStart","scrollLeft","frameEnd","getInputSelectionFromEvent","step","extended","result","safeInsert","unsigned","parsedValue","parse","blink","getOnChangeDelta","oldValue","substring","substr","delta","data","clipboardData","getData","formatForClipboard","setData","_event$target","selectionStart","selectionEnd","selectionDirection","valueLength","element","_inheritsLoose","_proto","prototype","componentDidMount","_this$props","maxLength","undefined","componentDidUpdate","prevProps","prevState","_this$getProps","isValidNumber","isNumeric","Number","_this$state$selection","setSelectionRange","render","rootNodeRef","setRootNode","format","normilized","normalizeSelection","PureComponent","__KONTUR_REACT_UI__","displayName","propTypes","oneOf","autoFocus","bool","borderless","disabled","error","number","leftIcon","string","size","width","oneOfType","func","isRequired","inputMode","_input$selectionStart","_input$selectionEnd","HTMLInputElement","Error","isNaN","parseFloat","isFinite"],"sources":["CurrencyInput.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\nimport debounce from 'lodash.debounce';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable, isNullable } from '../../lib/utils';\nimport { isIE11 } from '../../lib/client';\nimport type { InputProps } from '../Input';\nimport { Input } from '../Input';\nimport type { Nullable, Override } from '../../typings/utility-types';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { MAX_SAFE_DIGITS } from './constants';\nimport type { Selection, SelectionDirection } from './SelectionHelper';\nimport { SelectionHelper } from './SelectionHelper';\nimport { CurrencyHelper } from './CurrencyHelper';\nimport { CurrencyInputHelper } from './CurrencyInputHelper';\nimport { CURRENCY_INPUT_ACTIONS, extractAction } from './CurrencyInputKeyboardActions';\n\nexport interface CurrencyInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n Omit<InputProps, 'showClearIcon'>,\n {\n /** Задает значение инпута. */\n value?: Nullable<number>;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n\n /** Устанавливает минимальное количество отображаемых знаков после запятой. */\n fractionDigits?: Nullable<number>;\n\n /** Разрешает отрицательные значения. */\n signed?: boolean;\n\n /** Задает допустимое количество цифр целой части. Если передан **0**, или fractionDigits=15, то и в целой части допускается только **0**. */\n integerDigits?: Nullable<number>;\n\n /** Задает функцию, которая вызывается при изменении `value`. */\n onValueChange: (value: Nullable<number>) => void;\n\n /** Задает функцию, которая вызывается при отправке формы. */\n onSubmit?: () => void;\n }\n > {}\n\nexport interface CurrencyInputState {\n formatted: string;\n selection: Selection;\n focused: boolean;\n}\n\nexport const CurrencyInputDataTids = {\n root: 'CurrencyInput__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<CurrencyInputProps, 'align' | 'fractionDigits' | 'hideTrailingZeros' | 'value' | 'inputMode'>\n>;\n\n/**\n * `CurrencyInput` — поле для денежных сумм (и других числовых значений).\n * Принимает любые свойства `Input`.\n *\n * Используйте такое поле, когда нужно вводить значение в рублях, долларах или другой валюте.\n * Оно форматирует введенное значение и помогает пользователю не ошибиться при вводе.\n *\n * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).\n *\n * Если `fractionDigits=15`, то в целой части допускается **0**.\n */\n@rootNode\nexport class CurrencyInput extends React.PureComponent<CurrencyInputProps, CurrencyInputState> {\n public static __KONTUR_REACT_UI__ = 'CurrencyInput';\n public static displayName = 'CurrencyInput';\n\n public static propTypes = {\n align: PropTypes.oneOf(['left', 'center', 'right']),\n autoFocus: PropTypes.bool,\n borderless: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n fractionDigits: PropTypes.number,\n hideTrailingZeros: PropTypes.bool,\n leftIcon: PropTypes.element,\n placeholder: PropTypes.string,\n signed: PropTypes.bool,\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n value: (props: CurrencyInputProps) => {\n warning(isValidNumber(props.value), '[CurrencyInput]: Prop `value` is not a valid number');\n },\n warning: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n onBlur: PropTypes.func,\n onValueChange: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onSubmit: PropTypes.func,\n };\n\n public static defaultProps: DefaultProps = {\n align: 'right',\n fractionDigits: 2,\n hideTrailingZeros: false,\n value: null,\n inputMode: 'decimal',\n };\n\n private getProps = createPropsGetter(CurrencyInput.defaultProps);\n\n public state: CurrencyInputState = {\n ...this.getState(this.getProps().value, this.getProps().fractionDigits, this.getProps().hideTrailingZeros),\n focused: false,\n };\n\n private input: Nullable<Input>;\n private tempSelectionForOnChange: Selection = SelectionHelper.fromPosition(0);\n private setRootNode!: TSetRootNode;\n\n public componentDidMount(): void {\n const { maxLength, integerDigits } = this.props;\n const fractionDigits = this.getProps().fractionDigits;\n warning(\n maxLength === undefined,\n `[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'`,\n );\n warning(\n (integerDigits || 0) + (fractionDigits || 0) <= MAX_SAFE_DIGITS,\n `[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\n `\\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15`,\n );\n }\n\n public componentDidUpdate(prevProps: CurrencyInputProps, prevState: CurrencyInputState) {\n const { value, fractionDigits, hideTrailingZeros } = this.getProps();\n if (\n (isValidNumber(value) && isNumeric(value) && Number(value) !== CurrencyHelper.parse(prevState.formatted)) ||\n prevProps.fractionDigits !== fractionDigits\n ) {\n this.setState(this.getState(value, fractionDigits, hideTrailingZeros));\n }\n if (isNonNullable(prevProps.value) && isNullable(value)) {\n this.setState({ formatted: '' });\n }\n if (this.state.focused && this.input) {\n const { start, end } = this.state.selection;\n\n this.input.setSelectionRange(start, end);\n }\n if (prevState.selection !== this.state.selection) {\n this.scrollInput();\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<CurrencyInputProps>) => {\n const { fractionDigits, signed, onSubmit, integerDigits, hideTrailingZeros, ...rest } = props;\n\n return (\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <Input\n data-tid={CurrencyInputDataTids.root}\n {...rest}\n align={this.getProps().align}\n value={this.state.formatted}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onMouseUp={this.handleMouseUp}\n onKeyDown={this.handleKeyDown}\n onValueChange={this.handleValueChange}\n onPaste={this.handlePaste}\n onCopy={this.handleCopy}\n onCut={this.handleCut}\n aria-label={this.props['aria-label']}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n ref={this.refInput}\n placeholder={this.state.focused ? '' : getPlaceholder(props)}\n />\n </FocusControlWrapper>\n );\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private getState(value: Nullable<number>, fractionDigits: Nullable<number>, hideTrailingZeros: boolean) {\n return {\n formatted: CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros }),\n selection: SelectionHelper.fromPosition(0),\n };\n }\n\n private setSelectionFromEvent(event: React.MouseEvent<HTMLInputElement>) {\n const selection = getInputSelectionFromEvent(event.target);\n const normilized = CurrencyInputHelper.normalizeSelection(this.state.formatted, selection);\n this.setState({ selection: normilized });\n }\n\n // for IE11\n private readonly debouncedSetSelectionFromEvent = debounce(this.setSelectionFromEvent, 300);\n\n private handleMouseUp = (event: React.MouseEvent<HTMLInputElement>) => {\n if (isIE11) {\n event.persist();\n this.debouncedSetSelectionFromEvent(event);\n } else {\n this.setSelectionFromEvent(event);\n }\n };\n\n private handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n this.tempSelectionForOnChange = selection;\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(event);\n if (event.defaultPrevented) {\n return;\n }\n }\n\n const action = extractAction(event);\n\n if (action === CURRENCY_INPUT_ACTIONS.Ignore) {\n return;\n }\n\n if (action !== CURRENCY_INPUT_ACTIONS.Unknown) {\n event.preventDefault();\n }\n\n switch (action) {\n case CURRENCY_INPUT_ACTIONS.Submit: {\n if (this.props.onSubmit) {\n this.props.onSubmit();\n }\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Backspace: {\n this.inputValue(CurrencyInputHelper.moveCursor(this.state.formatted, selection, -1), selection.end, '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Delete: {\n this.inputValue(selection.start, CurrencyInputHelper.moveCursor(this.state.formatted, selection, +1), '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorLeft: {\n this.moveCursor(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorRight: {\n this.moveCursor(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Home: {\n this.setState({ selection: SelectionHelper.fromPosition(0) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.End: {\n const end = this.state.formatted.length;\n this.setState({ selection: SelectionHelper.fromPosition(end) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionLeft: {\n this.extendSelection(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionRight: {\n this.extendSelection(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.FullSelection: {\n this.setState({\n selection: SelectionHelper.forward(0, this.state.formatted.length),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToStart: {\n this.setState({\n selection: SelectionHelper.backward(0, selection.start),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToEnd: {\n const inputEnd = this.state.formatted.length;\n this.setState({\n selection: SelectionHelper.forward(selection.start, inputEnd),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Comma: {\n this.inputValue(selection.start, selection.end, ',');\n return;\n }\n }\n };\n\n private scrollInput = () => {\n const node = this.input?.getNode();\n if (!node || node.scrollWidth === node.clientWidth) {\n return;\n }\n const PAD = 1;\n const SHIFT = 3;\n\n const selection = this.state.selection;\n const selected = selection.start !== selection.end;\n const position = selected && selection.direction === 'forward' ? selection.end : selection.start;\n const charsCount = this.state.formatted.length;\n const charWidth = node.scrollWidth / charsCount;\n const frame = Math.ceil(node.clientWidth / charWidth);\n const frameStart = Math.ceil(node.scrollLeft / charWidth);\n const frameEnd = frameStart + frame;\n\n if (position < frameStart + PAD) {\n node.scrollLeft = (position - SHIFT) * charWidth;\n }\n if (position > frameEnd - PAD) {\n node.scrollLeft = (position - frame + SHIFT) * charWidth;\n }\n };\n\n private getSelection = (input: EventTarget): Selection => {\n const selection = getInputSelectionFromEvent(input);\n return {\n start: selection.start,\n end: selection.end,\n direction: this.state.selection.direction,\n };\n };\n\n private moveCursor = (selection: Selection, step: number) => {\n const position = CurrencyInputHelper.moveCursor(this.state.formatted, selection, step);\n this.setState({ selection: SelectionHelper.fromPosition(position) });\n };\n\n private extendSelection = (selection: Selection, step: number) => {\n const extended = CurrencyInputHelper.extendSelection(this.state.formatted, selection, step);\n this.setState({ selection: extended });\n };\n\n private inputValue = (start: number, end: number, value: string) => {\n const result = CurrencyInputHelper.safeInsert(this.state.formatted, start, end, value, {\n integerDigits: this.props.integerDigits,\n fractionDigits: this.getProps().fractionDigits,\n unsigned: !this.props.signed,\n });\n if (result) {\n const formatted = result.value;\n const selection = SelectionHelper.fromPosition(result.position);\n this.setState({ formatted, selection }, () => {\n const parsedValue = CurrencyHelper.parse(formatted);\n if (this.props.value !== parsedValue) {\n this.props.onValueChange(parsedValue);\n }\n });\n return true;\n }\n\n if (this.input) {\n this.input.blink();\n }\n return false;\n };\n\n private getOnChangeDelta = (value: string) => {\n const selection = this.tempSelectionForOnChange;\n const oldValue = this.state.formatted;\n if (selection.start !== selection.end) {\n return value.substring(selection.start, value.length - (oldValue.length - selection.end));\n } else if (value.length > oldValue.length) {\n return value.substr(selection.start, value.length - oldValue.length);\n }\n return null;\n };\n\n private handleValueChange = (value: string): void => {\n const selection = this.tempSelectionForOnChange;\n const delta = this.getOnChangeDelta(value);\n if (isNonNullable(delta) && !this.inputValue(selection.start, selection.end, delta)) {\n this.setState({ selection });\n }\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const data = event.clipboardData.getData('text');\n const selection = this.getSelection(event.target);\n this.inputValue(selection.start, selection.end, data);\n event.preventDefault();\n };\n\n private handleCopy = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n if (selection.start !== selection.end) {\n const substring = this.state.formatted.substring(selection.start, selection.end);\n const data = CurrencyHelper.formatForClipboard(substring);\n event.clipboardData.setData('text', data);\n }\n event.preventDefault();\n };\n\n private handleCut = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n if (selection.start !== selection.end) {\n const substring = this.state.formatted.substring(selection.start, selection.end);\n const data = CurrencyHelper.formatForClipboard(substring);\n event.clipboardData.setData('text', data);\n this.inputValue(selection.start, selection.end, '');\n }\n event.preventDefault();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n const { selectionStart, selectionEnd, selectionDirection } = event.target;\n const valueLength = event.target.value.length;\n\n const selection = {\n start: selectionStart !== selectionEnd ? selectionStart || 0 : selectionStart || valueLength,\n end: selectionEnd !== selectionStart ? selectionEnd || 0 : selectionEnd || valueLength,\n direction: (selectionDirection as SelectionDirection) || 'none',\n };\n\n this.setState({\n focused: true,\n selection,\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private resetFocus = () => {\n const value = CurrencyHelper.parse(this.state.formatted);\n\n this.setState({\n ...this.getState(value, this.getProps().fractionDigits, this.getProps().hideTrailingZeros),\n focused: false,\n });\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(event);\n };\n\n private refInput = (element: Nullable<Input>) => {\n this.input = element;\n };\n}\n\nfunction getInputSelectionFromEvent(input: EventTarget): Selection {\n if (!isInstanceOf(input, globalObject.HTMLInputElement)) {\n throw new Error('input is not HTMLInputElement');\n }\n\n return {\n start: input.selectionStart ?? 0,\n end: input.selectionEnd ?? 0,\n direction: input.selectionDirection as SelectionDirection,\n };\n}\n\nfunction isNumeric(value: unknown): value is number | string {\n return !isNaN(parseFloat(value as string)) && isFinite(value as number);\n}\n\nfunction isValidNumber(value: unknown): boolean {\n return !isNaN(Number(value));\n}\n\nconst getPlaceholder = (props: CurrencyInputProps) => {\n if (isNullable(props.placeholder)) {\n return CurrencyHelper.format(0, {\n fractionDigits: props.fractionDigits,\n hideTrailingZeros: props.hideTrailingZeros,\n });\n }\n\n return props.placeholder;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","warning","debounce","globalObject","isNonNullable","isNullable","isIE11","Input","CommonWrapper","rootNode","createPropsGetter","isInstanceOf","FocusControlWrapper","MAX_SAFE_DIGITS","SelectionHelper","CurrencyHelper","CurrencyInputHelper","CURRENCY_INPUT_ACTIONS","extractAction","CurrencyInputDataTids","root","CurrencyInput","_class","_CurrencyInput","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","_extends","getState","value","fractionDigits","hideTrailingZeros","focused","tempSelectionForOnChange","fromPosition","renderMain","props","signed","onSubmit","integerDigits","rest","_objectWithoutPropertiesLoose","_excluded","createElement","onBlurWhenDisabled","resetFocus","align","formatted","onBlur","handleBlur","onFocus","handleFocus","onMouseUp","handleMouseUp","onKeyDown","handleKeyDown","onValueChange","handleValueChange","onPaste","handlePaste","onCopy","handleCopy","onCut","handleCut","onMouseEnter","onMouseLeave","onMouseOver","ref","refInput","placeholder","getPlaceholder","focus","input","blur","debouncedSetSelectionFromEvent","setSelectionFromEvent","event","persist","selection","getSelection","target","defaultPrevented","action","Ignore","Unknown","preventDefault","Submit","Backspace","inputValue","moveCursor","end","Delete","start","MoveCursorLeft","MoveCursorRight","Home","setState","End","ExtendSelectionLeft","extendSelection","ExtendSelectionRight","FullSelection","forward","ExtendSelectionToStart","backward","ExtendSelectionToEnd","inputEnd","Comma","scrollInput","_this$input","node","getNode","scrollWidth","clientWidth","PAD","SHIFT","selected","position","direction","charsCount","charWidth","frame","Math","ceil","frameStart","scrollLeft","frameEnd","getInputSelectionFromEvent","step","extended","result","safeInsert","unsigned","parsedValue","parse","blink","getOnChangeDelta","oldValue","substring","substr","delta","data","clipboardData","getData","formatForClipboard","setData","_event$target","selectionStart","selectionEnd","selectionDirection","valueLength","element","_inheritsLoose","_proto","prototype","validateProps","isNumeric","maxLength","undefined","componentDidMount","componentDidUpdate","prevProps","prevState","_this$getProps","Number","_this$state$selection","setSelectionRange","render","rootNodeRef","setRootNode","format","normilized","normalizeSelection","PureComponent","__KONTUR_REACT_UI__","displayName","inputMode","_input$selectionStart","_input$selectionEnd","HTMLInputElement","Error","isNaN","parseFloat","isFinite"],"sources":["CurrencyInput.tsx"],"sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport warning from 'warning';\nimport debounce from 'lodash.debounce';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { isNonNullable, isNullable } from '../../lib/utils';\nimport { isIE11 } from '../../lib/client';\nimport type { InputProps } from '../Input';\nimport { Input } from '../Input';\nimport type { Nullable, Override } from '../../typings/utility-types';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\n\nimport { MAX_SAFE_DIGITS } from './constants';\nimport type { Selection, SelectionDirection } from './SelectionHelper';\nimport { SelectionHelper } from './SelectionHelper';\nimport { CurrencyHelper } from './CurrencyHelper';\nimport { CurrencyInputHelper } from './CurrencyInputHelper';\nimport { CURRENCY_INPUT_ACTIONS, extractAction } from './CurrencyInputKeyboardActions';\n\nexport interface CurrencyInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Override<\n Omit<InputProps, 'showClearIcon'>,\n {\n /** Задает значение инпута. */\n value?: Nullable<number>;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n\n /** Устанавливает минимальное количество отображаемых знаков после запятой. */\n fractionDigits?: Nullable<number>;\n\n /** Разрешает отрицательные значения. */\n signed?: boolean;\n\n /** Задает допустимое количество цифр целой части. Если передан **0**, или fractionDigits=15, то и в целой части допускается только **0**. */\n integerDigits?: Nullable<number>;\n\n /** Задает функцию, которая вызывается при изменении `value`. */\n onValueChange: (value: Nullable<number>) => void;\n\n /** Задает функцию, которая вызывается при отправке формы. */\n onSubmit?: () => void;\n }\n > {}\n\nexport interface CurrencyInputState {\n formatted: string;\n selection: Selection;\n focused: boolean;\n}\n\nexport const CurrencyInputDataTids = {\n root: 'CurrencyInput__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<CurrencyInputProps, 'align' | 'fractionDigits' | 'hideTrailingZeros' | 'value' | 'inputMode'>\n>;\n\n/**\n * `CurrencyInput` — поле для денежных сумм (и других числовых значений).\n * Принимает любые свойства `Input`.\n *\n * Используйте такое поле, когда нужно вводить значение в рублях, долларах или другой валюте.\n * Оно форматирует введенное значение и помогает пользователю не ошибиться при вводе.\n *\n * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).\n *\n * **Почему 15?** Максимальное безопасное целочисленное значение - 9007199254740991 (16 цифр). Убрав один разряд под знак, мы получим \"новое\" максимальное безопасное значение - 999999999999999 (15 цифр).\n * При этом десятичный резделитель может находиться в любом месте. Если целая часть равна 0, то она не учитывается. Детали можно почитать здесь - [MDN web docs](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER).\n *\n * Если `fractionDigits=15`, то в целой части допускается **0**.\n */\n@rootNode\nexport class CurrencyInput extends React.PureComponent<CurrencyInputProps, CurrencyInputState> {\n public static __KONTUR_REACT_UI__ = 'CurrencyInput';\n public static displayName = 'CurrencyInput';\n\n public static defaultProps: DefaultProps = {\n align: 'right',\n fractionDigits: 2,\n hideTrailingZeros: false,\n value: null,\n inputMode: 'decimal',\n };\n\n private getProps = createPropsGetter(CurrencyInput.defaultProps);\n private validateProps(props: CurrencyInputProps): void {\n warning(isNumeric(props.value), '[CurrencyInput]: Prop `value` is not a valid number');\n warning(\n props.maxLength === undefined,\n `[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'`,\n );\n warning(\n (props.integerDigits || 0) + (props.fractionDigits || 0) <= MAX_SAFE_DIGITS,\n `[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\n `\\nSee CurrencyInput documentation`,\n );\n }\n\n public state: CurrencyInputState = {\n ...this.getState(this.getProps().value, this.getProps().fractionDigits, this.getProps().hideTrailingZeros),\n focused: false,\n };\n\n private input: Nullable<Input>;\n private tempSelectionForOnChange: Selection = SelectionHelper.fromPosition(0);\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount(): void {\n this.validateProps(this.getProps());\n }\n\n public componentDidUpdate(prevProps: CurrencyInputProps, prevState: CurrencyInputState) {\n const { value, fractionDigits, hideTrailingZeros } = this.getProps();\n this.validateProps(this.getProps());\n\n if (\n (isNumeric(value) && Number(value) !== CurrencyHelper.parse(prevState.formatted)) ||\n prevProps.fractionDigits !== fractionDigits\n ) {\n this.setState(this.getState(value, fractionDigits, hideTrailingZeros));\n }\n if (isNonNullable(prevProps.value) && isNullable(value)) {\n this.setState({ formatted: '' });\n }\n if (this.state.focused && this.input) {\n const { start, end } = this.state.selection;\n\n this.input.setSelectionRange(start, end);\n }\n if (prevState.selection !== this.state.selection) {\n this.scrollInput();\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<CurrencyInputProps>) => {\n const { fractionDigits, signed, onSubmit, integerDigits, hideTrailingZeros, ...rest } = props;\n\n return (\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <Input\n data-tid={CurrencyInputDataTids.root}\n {...rest}\n align={this.getProps().align}\n value={this.state.formatted}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onMouseUp={this.handleMouseUp}\n onKeyDown={this.handleKeyDown}\n onValueChange={this.handleValueChange}\n onPaste={this.handlePaste}\n onCopy={this.handleCopy}\n onCut={this.handleCut}\n aria-label={this.props['aria-label']}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n ref={this.refInput}\n placeholder={this.state.focused ? '' : getPlaceholder(props)}\n />\n </FocusControlWrapper>\n );\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private getState(value: Nullable<number>, fractionDigits: Nullable<number>, hideTrailingZeros: boolean) {\n return {\n formatted: CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros }),\n selection: SelectionHelper.fromPosition(0),\n };\n }\n\n private setSelectionFromEvent(event: React.MouseEvent<HTMLInputElement>) {\n const selection = getInputSelectionFromEvent(event.target);\n const normilized = CurrencyInputHelper.normalizeSelection(this.state.formatted, selection);\n this.setState({ selection: normilized });\n }\n\n // for IE11\n private readonly debouncedSetSelectionFromEvent = debounce(this.setSelectionFromEvent, 300);\n\n private handleMouseUp = (event: React.MouseEvent<HTMLInputElement>) => {\n if (isIE11) {\n event.persist();\n this.debouncedSetSelectionFromEvent(event);\n } else {\n this.setSelectionFromEvent(event);\n }\n };\n\n private handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n this.tempSelectionForOnChange = selection;\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(event);\n if (event.defaultPrevented) {\n return;\n }\n }\n\n const action = extractAction(event);\n\n if (action === CURRENCY_INPUT_ACTIONS.Ignore) {\n return;\n }\n\n if (action !== CURRENCY_INPUT_ACTIONS.Unknown) {\n event.preventDefault();\n }\n\n switch (action) {\n case CURRENCY_INPUT_ACTIONS.Submit: {\n if (this.props.onSubmit) {\n this.props.onSubmit();\n }\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Backspace: {\n this.inputValue(CurrencyInputHelper.moveCursor(this.state.formatted, selection, -1), selection.end, '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Delete: {\n this.inputValue(selection.start, CurrencyInputHelper.moveCursor(this.state.formatted, selection, +1), '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorLeft: {\n this.moveCursor(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorRight: {\n this.moveCursor(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Home: {\n this.setState({ selection: SelectionHelper.fromPosition(0) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.End: {\n const end = this.state.formatted.length;\n this.setState({ selection: SelectionHelper.fromPosition(end) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionLeft: {\n this.extendSelection(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionRight: {\n this.extendSelection(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.FullSelection: {\n this.setState({\n selection: SelectionHelper.forward(0, this.state.formatted.length),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToStart: {\n this.setState({\n selection: SelectionHelper.backward(0, selection.start),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToEnd: {\n const inputEnd = this.state.formatted.length;\n this.setState({\n selection: SelectionHelper.forward(selection.start, inputEnd),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Comma: {\n this.inputValue(selection.start, selection.end, ',');\n return;\n }\n }\n };\n\n private scrollInput = () => {\n const node = this.input?.getNode();\n if (!node || node.scrollWidth === node.clientWidth) {\n return;\n }\n const PAD = 1;\n const SHIFT = 3;\n\n const selection = this.state.selection;\n const selected = selection.start !== selection.end;\n const position = selected && selection.direction === 'forward' ? selection.end : selection.start;\n const charsCount = this.state.formatted.length;\n const charWidth = node.scrollWidth / charsCount;\n const frame = Math.ceil(node.clientWidth / charWidth);\n const frameStart = Math.ceil(node.scrollLeft / charWidth);\n const frameEnd = frameStart + frame;\n\n if (position < frameStart + PAD) {\n node.scrollLeft = (position - SHIFT) * charWidth;\n }\n if (position > frameEnd - PAD) {\n node.scrollLeft = (position - frame + SHIFT) * charWidth;\n }\n };\n\n private getSelection = (input: EventTarget): Selection => {\n const selection = getInputSelectionFromEvent(input);\n return {\n start: selection.start,\n end: selection.end,\n direction: this.state.selection.direction,\n };\n };\n\n private moveCursor = (selection: Selection, step: number) => {\n const position = CurrencyInputHelper.moveCursor(this.state.formatted, selection, step);\n this.setState({ selection: SelectionHelper.fromPosition(position) });\n };\n\n private extendSelection = (selection: Selection, step: number) => {\n const extended = CurrencyInputHelper.extendSelection(this.state.formatted, selection, step);\n this.setState({ selection: extended });\n };\n\n private inputValue = (start: number, end: number, value: string) => {\n const result = CurrencyInputHelper.safeInsert(this.state.formatted, start, end, value, {\n integerDigits: this.props.integerDigits,\n fractionDigits: this.getProps().fractionDigits,\n unsigned: !this.props.signed,\n });\n if (result) {\n const formatted = result.value;\n const selection = SelectionHelper.fromPosition(result.position);\n this.setState({ formatted, selection }, () => {\n const parsedValue = CurrencyHelper.parse(formatted);\n if (this.props.value !== parsedValue) {\n this.props.onValueChange(parsedValue);\n }\n });\n return true;\n }\n\n if (this.input) {\n this.input.blink();\n }\n return false;\n };\n\n private getOnChangeDelta = (value: string) => {\n const selection = this.tempSelectionForOnChange;\n const oldValue = this.state.formatted;\n if (selection.start !== selection.end) {\n return value.substring(selection.start, value.length - (oldValue.length - selection.end));\n } else if (value.length > oldValue.length) {\n return value.substr(selection.start, value.length - oldValue.length);\n }\n return null;\n };\n\n private handleValueChange = (value: string): void => {\n const selection = this.tempSelectionForOnChange;\n const delta = this.getOnChangeDelta(value);\n if (isNonNullable(delta) && !this.inputValue(selection.start, selection.end, delta)) {\n this.setState({ selection });\n }\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const data = event.clipboardData.getData('text');\n const selection = this.getSelection(event.target);\n this.inputValue(selection.start, selection.end, data);\n event.preventDefault();\n };\n\n private handleCopy = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n if (selection.start !== selection.end) {\n const substring = this.state.formatted.substring(selection.start, selection.end);\n const data = CurrencyHelper.formatForClipboard(substring);\n event.clipboardData.setData('text', data);\n }\n event.preventDefault();\n };\n\n private handleCut = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n if (selection.start !== selection.end) {\n const substring = this.state.formatted.substring(selection.start, selection.end);\n const data = CurrencyHelper.formatForClipboard(substring);\n event.clipboardData.setData('text', data);\n this.inputValue(selection.start, selection.end, '');\n }\n event.preventDefault();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n const { selectionStart, selectionEnd, selectionDirection } = event.target;\n const valueLength = event.target.value.length;\n\n const selection = {\n start: selectionStart !== selectionEnd ? selectionStart || 0 : selectionStart || valueLength,\n end: selectionEnd !== selectionStart ? selectionEnd || 0 : selectionEnd || valueLength,\n direction: (selectionDirection as SelectionDirection) || 'none',\n };\n\n this.setState({\n focused: true,\n selection,\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private resetFocus = () => {\n const value = CurrencyHelper.parse(this.state.formatted);\n\n this.setState({\n ...this.getState(value, this.getProps().fractionDigits, this.getProps().hideTrailingZeros),\n focused: false,\n });\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(event);\n };\n\n private refInput = (element: Nullable<Input>) => {\n this.input = element;\n };\n}\n\nfunction getInputSelectionFromEvent(input: EventTarget): Selection {\n if (!isInstanceOf(input, globalObject.HTMLInputElement)) {\n throw new Error('input is not HTMLInputElement');\n }\n\n return {\n start: input.selectionStart ?? 0,\n end: input.selectionEnd ?? 0,\n direction: input.selectionDirection as SelectionDirection,\n };\n}\n\nfunction isNumeric(value: unknown): value is number | string {\n return !isNaN(parseFloat(value as string)) && isFinite(value as number);\n}\n\nconst getPlaceholder = (props: CurrencyInputProps) => {\n if (isNullable(props.placeholder)) {\n return CurrencyHelper.format(0, {\n fractionDigits: props.fractionDigits,\n hideTrailingZeros: props.hideTrailingZeros,\n });\n }\n\n return props.placeholder;\n};\n"],"mappings":"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","ignoreList":[]}