@skbkontur/react-ui 0.0.0-68e286f9fe → 0.0.0-6911f001e4

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 (800) hide show
  1. package/CHANGELOG.md +182 -0
  2. package/README.md +6 -6
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +18 -4
  4. package/cjs/components/Autocomplete/Autocomplete.js +73 -15
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +4 -1
  7. package/cjs/components/Button/Button.js +47 -17
  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/Button/ButtonArrow.js +13 -14
  13. package/cjs/components/Button/ButtonArrow.js.map +1 -1
  14. package/cjs/components/Calendar/Calendar.d.ts +2 -0
  15. package/cjs/components/Calendar/Calendar.js +1 -0
  16. package/cjs/components/Calendar/Calendar.js.map +1 -1
  17. package/cjs/components/Center/Center.d.ts +2 -0
  18. package/cjs/components/Center/Center.js +1 -0
  19. package/cjs/components/Center/Center.js.map +1 -1
  20. package/cjs/components/Checkbox/Checkbox.d.ts +4 -4
  21. package/cjs/components/Checkbox/Checkbox.js +16 -19
  22. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  23. package/cjs/components/ComboBox/ComboBox.d.ts +20 -7
  24. package/cjs/components/ComboBox/ComboBox.js +19 -1
  25. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  26. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +5 -0
  27. package/cjs/components/CurrencyInput/CurrencyInput.js +9 -1
  28. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  29. package/cjs/components/CurrencyInput/constants.js +1 -2
  30. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  31. package/cjs/components/CurrencyLabel/CurrencyLabel.js +2 -3
  32. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  33. package/cjs/components/DateInput/DateInput.d.ts +5 -1
  34. package/cjs/components/DateInput/DateInput.js +9 -4
  35. package/cjs/components/DateInput/DateInput.js.map +1 -1
  36. package/cjs/components/DatePicker/DatePicker.d.ts +2 -0
  37. package/cjs/components/DatePicker/DatePicker.js +1 -0
  38. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  39. package/cjs/components/DatePicker/MobilePicker.js +1 -0
  40. package/cjs/components/DatePicker/MobilePicker.js.map +1 -1
  41. package/cjs/components/DateRangePicker/DateRangePicker.js +1 -0
  42. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  43. package/cjs/components/Dropdown/Dropdown.d.ts +2 -0
  44. package/cjs/components/Dropdown/Dropdown.js +1 -0
  45. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  46. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  47. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -0
  48. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  49. package/cjs/components/FileUploader/FileUploader.js +1 -0
  50. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  51. package/cjs/components/FxInput/FxInput.d.ts +12 -2
  52. package/cjs/components/FxInput/FxInput.js +141 -58
  53. package/cjs/components/FxInput/FxInput.js.map +1 -1
  54. package/cjs/components/FxInput/FxInputRestoreBtn.js +2 -3
  55. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  56. package/cjs/components/Gapped/Gapped.d.ts +2 -0
  57. package/cjs/components/Gapped/Gapped.js +1 -0
  58. package/cjs/components/Gapped/Gapped.js.map +1 -1
  59. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  60. package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
  61. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  62. package/cjs/components/Group/Group.d.ts +2 -0
  63. package/cjs/components/Group/Group.js +1 -0
  64. package/cjs/components/Group/Group.js.map +1 -1
  65. package/cjs/components/Hint/Hint.d.ts +2 -0
  66. package/cjs/components/Hint/Hint.js +1 -0
  67. package/cjs/components/Hint/Hint.js.map +1 -1
  68. package/cjs/components/Input/Input.d.ts +6 -5
  69. package/cjs/components/Input/Input.js +17 -47
  70. package/cjs/components/Input/Input.js.map +1 -1
  71. package/cjs/components/Input/Input.styles.d.ts +0 -1
  72. package/cjs/components/Input/Input.styles.js +8 -19
  73. package/cjs/components/Input/Input.styles.js.map +1 -1
  74. package/cjs/components/Kebab/Kebab.d.ts +4 -1
  75. package/cjs/components/Kebab/Kebab.js +10 -5
  76. package/cjs/components/Kebab/Kebab.js.map +1 -1
  77. package/cjs/components/Link/Link.d.ts +2 -0
  78. package/cjs/components/Link/Link.js +10 -1
  79. package/cjs/components/Link/Link.js.map +1 -1
  80. package/cjs/components/Loader/Loader.d.ts +3 -0
  81. package/cjs/components/Loader/Loader.js +6 -1
  82. package/cjs/components/Loader/Loader.js.map +1 -1
  83. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  84. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +107 -78
  85. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  86. package/cjs/components/MaskedInput/FixedIMaskInput.js +3 -2
  87. package/cjs/components/MaskedInput/FixedIMaskInput.js.map +1 -1
  88. package/cjs/components/MaskedInput/MaskedInput.d.ts +9 -0
  89. package/cjs/components/MaskedInput/MaskedInput.js +43 -4
  90. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  91. package/cjs/components/MenuItem/MenuItem.d.ts +3 -0
  92. package/cjs/components/MenuItem/MenuItem.js +15 -2
  93. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  94. package/cjs/components/MenuItem/MenuItem.styles.d.ts +3 -1
  95. package/cjs/components/MenuItem/MenuItem.styles.js +35 -21
  96. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  97. package/cjs/components/Modal/Modal.styles.d.ts +1 -0
  98. package/cjs/components/Modal/Modal.styles.js +36 -28
  99. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  100. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  101. package/cjs/components/Modal/ModalBody.js +1 -0
  102. package/cjs/components/Modal/ModalBody.js.map +1 -1
  103. package/cjs/components/Modal/ModalHeader.d.ts +5 -0
  104. package/cjs/components/Modal/ModalHeader.js +8 -1
  105. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  106. package/cjs/components/Paging/DotsIcon.d.ts +3 -0
  107. package/cjs/components/Paging/DotsIcon.js +13 -0
  108. package/cjs/components/Paging/DotsIcon.js.map +1 -0
  109. package/cjs/components/Paging/ForwardIcon.d.ts +3 -0
  110. package/cjs/components/Paging/ForwardIcon.js +13 -1
  111. package/cjs/components/Paging/ForwardIcon.js.map +1 -1
  112. package/cjs/components/Paging/NavigationHelper.d.ts +3 -2
  113. package/cjs/components/Paging/NavigationHelper.js +8 -6
  114. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  115. package/cjs/components/Paging/Paging.d.ts +13 -1
  116. package/cjs/components/Paging/Paging.js +120 -24
  117. package/cjs/components/Paging/Paging.js.map +1 -1
  118. package/cjs/components/Paging/Paging.styles.d.ts +24 -1
  119. package/cjs/components/Paging/Paging.styles.js +151 -22
  120. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  121. package/cjs/components/Paging/PagingHelper.d.ts +1 -1
  122. package/cjs/components/Paging/PagingHelper.js +18 -11
  123. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  124. package/cjs/components/PasswordInput/PasswordInput.d.ts +5 -5
  125. package/cjs/components/PasswordInput/PasswordInput.js +21 -22
  126. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  127. package/cjs/components/Radio/Radio.d.ts +4 -1
  128. package/cjs/components/Radio/Radio.js +7 -4
  129. package/cjs/components/Radio/Radio.js.map +1 -1
  130. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -0
  131. package/cjs/components/RadioGroup/RadioGroup.js +1 -0
  132. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  133. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +2 -0
  134. package/cjs/components/ScrollContainer/ScrollContainer.js +1 -0
  135. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  136. package/cjs/components/Select/Select.d.ts +4 -1
  137. package/cjs/components/Select/Select.js +11 -6
  138. package/cjs/components/Select/Select.js.map +1 -1
  139. package/cjs/components/SidePage/SidePage.js +3 -1
  140. package/cjs/components/SidePage/SidePage.js.map +1 -1
  141. package/cjs/components/SidePage/SidePage.styles.d.ts +3 -1
  142. package/cjs/components/SidePage/SidePage.styles.js +52 -38
  143. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  144. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  145. package/cjs/components/SidePage/SidePageBody.js +1 -0
  146. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  147. package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
  148. package/cjs/components/SidePage/SidePageContainer.js +1 -0
  149. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  150. package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
  151. package/cjs/components/SidePage/SidePageFooter.js +1 -0
  152. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  153. package/cjs/components/SidePage/SidePageHeader.d.ts +12 -2
  154. package/cjs/components/SidePage/SidePageHeader.js +60 -19
  155. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  156. package/cjs/components/SingleToast/SingleToast.d.ts +32 -2
  157. package/cjs/components/SingleToast/SingleToast.js +58 -3
  158. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  159. package/cjs/components/Spinner/Spinner.d.ts +2 -0
  160. package/cjs/components/Spinner/Spinner.js +1 -0
  161. package/cjs/components/Spinner/Spinner.js.map +1 -1
  162. package/cjs/components/Sticky/Sticky.d.ts +2 -0
  163. package/cjs/components/Sticky/Sticky.js +1 -0
  164. package/cjs/components/Sticky/Sticky.js.map +1 -1
  165. package/cjs/components/Switcher/Switcher.d.ts +2 -0
  166. package/cjs/components/Switcher/Switcher.js +1 -0
  167. package/cjs/components/Switcher/Switcher.js.map +1 -1
  168. package/cjs/components/Tabs/Indicator.d.ts +2 -0
  169. package/cjs/components/Tabs/Indicator.js +1 -0
  170. package/cjs/components/Tabs/Indicator.js.map +1 -1
  171. package/cjs/components/Tabs/Tab.d.ts +2 -0
  172. package/cjs/components/Tabs/Tab.js +1 -0
  173. package/cjs/components/Tabs/Tab.js.map +1 -1
  174. package/cjs/components/Tabs/Tabs.d.ts +2 -0
  175. package/cjs/components/Tabs/Tabs.js +1 -0
  176. package/cjs/components/Tabs/Tabs.js.map +1 -1
  177. package/cjs/components/Textarea/Textarea.d.ts +4 -1
  178. package/cjs/components/Textarea/Textarea.js +9 -4
  179. package/cjs/components/Textarea/Textarea.js.map +1 -1
  180. package/cjs/components/Textarea/Textarea.styles.js +3 -3
  181. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  182. package/cjs/components/Toast/Toast.d.ts +56 -9
  183. package/cjs/components/Toast/Toast.js +104 -11
  184. package/cjs/components/Toast/Toast.js.map +1 -1
  185. package/cjs/components/Toast/ToastView.d.ts +7 -1
  186. package/cjs/components/Toast/ToastView.js +22 -5
  187. package/cjs/components/Toast/ToastView.js.map +1 -1
  188. package/cjs/components/Toast/ToastView.styles.d.ts +4 -0
  189. package/cjs/components/Toast/ToastView.styles.js +43 -9
  190. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  191. package/cjs/components/Toggle/Toggle.d.ts +4 -1
  192. package/cjs/components/Toggle/Toggle.js +6 -5
  193. package/cjs/components/Toggle/Toggle.js.map +1 -1
  194. package/cjs/components/Token/Token.d.ts +2 -0
  195. package/cjs/components/Token/Token.js +1 -0
  196. package/cjs/components/Token/Token.js.map +1 -1
  197. package/cjs/components/TokenInput/TokenInput.d.ts +6 -1
  198. package/cjs/components/TokenInput/TokenInput.js +43 -30
  199. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  200. package/cjs/components/Tooltip/Tooltip.d.ts +12 -5
  201. package/cjs/components/Tooltip/Tooltip.js +100 -13
  202. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  203. package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
  204. package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
  205. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  206. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  207. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -0
  208. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  209. package/cjs/index.d.ts +1 -0
  210. package/cjs/index.js +1 -0
  211. package/cjs/index.js.map +1 -1
  212. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +4 -4
  213. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  214. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  215. package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
  216. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  217. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +8 -4
  218. package/cjs/internal/CustomComboBox/ComboBoxView.js +35 -25
  219. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  220. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +7 -2
  221. package/cjs/internal/CustomComboBox/CustomComboBox.js +17 -5
  222. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  223. package/cjs/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
  224. package/cjs/internal/CustomComboBox/getComboBoxTheme.js +10 -7
  225. package/cjs/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
  226. package/cjs/internal/DateSelect/DateSelect.js +1 -1
  227. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  228. package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
  229. package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
  230. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  231. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
  232. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  233. package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -3
  234. package/cjs/internal/InputLikeText/InputLikeText.js +13 -14
  235. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  236. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +1 -0
  237. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +23 -21
  238. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
  239. package/cjs/internal/Menu/Menu.d.ts +2 -0
  240. package/cjs/internal/Menu/Menu.js +1 -0
  241. package/cjs/internal/Menu/Menu.js.map +1 -1
  242. package/cjs/internal/MenuMessage/MenuMessage.js +13 -1
  243. package/cjs/internal/MenuMessage/MenuMessage.js.map +1 -1
  244. package/cjs/internal/MenuMessage/MenuMessage.styles.d.ts +3 -1
  245. package/cjs/internal/MenuMessage/MenuMessage.styles.js +24 -8
  246. package/cjs/internal/MenuMessage/MenuMessage.styles.js.map +1 -1
  247. package/cjs/internal/MobilePopup/MobilePopup.d.ts +9 -0
  248. package/cjs/internal/MobilePopup/MobilePopup.js +24 -1
  249. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  250. package/cjs/internal/MobilePopup/MobilePopup.styles.d.ts +7 -3
  251. package/cjs/internal/MobilePopup/MobilePopup.styles.js +55 -19
  252. package/cjs/internal/MobilePopup/MobilePopup.styles.js.map +1 -1
  253. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +8 -1
  254. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +36 -18
  255. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
  256. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +3 -0
  257. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +23 -3
  258. package/cjs/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +1 -1
  259. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +3 -0
  260. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +31 -33
  261. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  262. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +3 -2
  263. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js +22 -13
  264. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +1 -1
  265. package/cjs/internal/Popup/Popup.d.ts +2 -0
  266. package/cjs/internal/Popup/Popup.js +14 -3
  267. package/cjs/internal/Popup/Popup.js.map +1 -1
  268. package/cjs/internal/Popup/PopupPinNew.d.ts +31 -0
  269. package/cjs/internal/Popup/PopupPinNew.js +180 -0
  270. package/cjs/internal/Popup/PopupPinNew.js.map +1 -0
  271. package/cjs/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  272. package/cjs/internal/Popup/PopupPinNew.styles.js +33 -0
  273. package/cjs/internal/Popup/PopupPinNew.styles.js.map +1 -0
  274. package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
  275. package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
  276. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  277. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -0
  278. package/cjs/internal/RenderLayer/RenderLayer.js +1 -0
  279. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  280. package/cjs/internal/ThemePlayground/Playground.js +5 -1
  281. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  282. package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
  283. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  284. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
  285. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  286. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  287. package/cjs/internal/ZIndex/ZIndex.d.ts +2 -0
  288. package/cjs/internal/ZIndex/ZIndex.js +1 -0
  289. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  290. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  291. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
  292. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
  293. package/cjs/internal/themes/BasicTheme.d.ts +147 -28
  294. package/cjs/internal/themes/BasicTheme.js +800 -33
  295. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  296. package/cjs/internal/themes/DarkTheme5_4.d.ts +1 -0
  297. package/cjs/internal/themes/DarkTheme5_4.js +18 -0
  298. package/cjs/internal/themes/DarkTheme5_4.js.map +1 -0
  299. package/cjs/internal/themes/LightTheme5_4.d.ts +1 -0
  300. package/cjs/internal/themes/LightTheme5_4.js +18 -0
  301. package/cjs/internal/themes/LightTheme5_4.js.map +1 -0
  302. package/cjs/internal/themes/consts.d.ts +8 -0
  303. package/cjs/internal/themes/consts.js +8 -0
  304. package/cjs/internal/themes/consts.js.map +1 -0
  305. package/cjs/lib/__stories__/Blink.creevey.mts +90 -0
  306. package/cjs/lib/blink.d.ts +15 -0
  307. package/cjs/lib/blink.js +65 -0
  308. package/cjs/lib/blink.js.map +1 -0
  309. package/cjs/lib/delay.mts +3 -0
  310. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +6 -0
  311. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +6 -0
  312. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +13 -1
  313. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  314. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  315. package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
  316. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  317. package/cjs/lib/size/SizeControlContext.d.ts +6 -0
  318. package/cjs/lib/size/SizeControlContext.js +16 -0
  319. package/cjs/lib/size/SizeControlContext.js.map +1 -0
  320. package/cjs/lib/size/SizeDecorator.d.ts +33 -0
  321. package/cjs/lib/size/SizeDecorator.js +41 -0
  322. package/cjs/lib/size/SizeDecorator.js.map +1 -0
  323. package/cjs/lib/size/constants.d.ts +2 -0
  324. package/cjs/lib/size/constants.js +3 -0
  325. package/cjs/lib/size/constants.js.map +1 -0
  326. package/cjs/lib/size/index.d.ts +1 -0
  327. package/cjs/lib/size/index.js +1 -0
  328. package/cjs/lib/size/index.js.map +1 -0
  329. package/cjs/lib/size/useSizeControl.d.ts +2 -0
  330. package/cjs/lib/size/useSizeControl.js +10 -0
  331. package/cjs/lib/size/useSizeControl.js.map +1 -0
  332. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  333. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  334. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
  335. package/cjs/lib/theming/themes/DarkTheme.js +4 -2
  336. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  337. package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
  338. package/cjs/lib/theming/themes/LightTheme.js +4 -2
  339. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  340. package/cjs/lib/utils.d.ts +13 -0
  341. package/cjs/lib/utils.js +34 -1
  342. package/cjs/lib/utils.js.map +1 -1
  343. package/components/Autocomplete/Autocomplete/Autocomplete.js +72 -32
  344. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  345. package/components/Autocomplete/Autocomplete.d.ts +18 -4
  346. package/components/Button/Button/Button.js +45 -24
  347. package/components/Button/Button/Button.js.map +1 -1
  348. package/components/Button/Button.d.ts +4 -1
  349. package/components/Button/Button.styles/Button.styles.js +78 -60
  350. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  351. package/components/Button/Button.styles.d.ts +6 -0
  352. package/components/Button/ButtonArrow/ButtonArrow.js +1 -3
  353. package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
  354. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  355. package/components/Calendar/Calendar.d.ts +2 -0
  356. package/components/Center/Center/Center.js.map +1 -1
  357. package/components/Center/Center.d.ts +2 -0
  358. package/components/Checkbox/Checkbox/Checkbox.js +12 -13
  359. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  360. package/components/Checkbox/Checkbox.d.ts +4 -4
  361. package/components/ComboBox/ComboBox/ComboBox.js +1 -1
  362. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  363. package/components/ComboBox/ComboBox.d.ts +20 -7
  364. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +6 -2
  365. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  366. package/components/CurrencyInput/CurrencyInput.d.ts +5 -0
  367. package/components/CurrencyInput/constants/constants.js +0 -1
  368. package/components/CurrencyInput/constants/constants.js.map +1 -1
  369. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +1 -1
  370. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  371. package/components/DateInput/DateInput/DateInput.js +9 -8
  372. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  373. package/components/DateInput/DateInput.d.ts +5 -1
  374. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  375. package/components/DatePicker/DatePicker.d.ts +2 -0
  376. package/components/DatePicker/MobilePicker/MobilePicker.js +1 -0
  377. package/components/DatePicker/MobilePicker/MobilePicker.js.map +1 -1
  378. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +1 -0
  379. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  380. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  381. package/components/Dropdown/Dropdown.d.ts +2 -0
  382. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  383. package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  384. package/components/FileUploader/FileUploader/FileUploader.js +1 -0
  385. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  386. package/components/FxInput/FxInput/FxInput.js +121 -65
  387. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  388. package/components/FxInput/FxInput.d.ts +12 -2
  389. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js +2 -2
  390. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
  391. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  392. package/components/Gapped/Gapped.d.ts +2 -0
  393. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  394. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  395. package/components/Group/Group/Group.js.map +1 -1
  396. package/components/Group/Group.d.ts +2 -0
  397. package/components/Hint/Hint/Hint.js.map +1 -1
  398. package/components/Hint/Hint.d.ts +2 -0
  399. package/components/Input/Input/Input.js +23 -52
  400. package/components/Input/Input/Input.js.map +1 -1
  401. package/components/Input/Input.d.ts +6 -5
  402. package/components/Input/Input.styles/Input.styles.js +9 -13
  403. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  404. package/components/Input/Input.styles.d.ts +0 -1
  405. package/components/Kebab/Kebab/Kebab.js +7 -7
  406. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  407. package/components/Kebab/Kebab.d.ts +4 -1
  408. package/components/Link/Link/Link.js +4 -1
  409. package/components/Link/Link/Link.js.map +1 -1
  410. package/components/Link/Link.d.ts +2 -0
  411. package/components/Loader/Loader/Loader.js +2 -1
  412. package/components/Loader/Loader/Loader.js.map +1 -1
  413. package/components/Loader/Loader.d.ts +3 -0
  414. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js +81 -66
  415. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js.map +1 -1
  416. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  417. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js +3 -2
  418. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js.map +1 -1
  419. package/components/MaskedInput/MaskedInput/MaskedInput.js +28 -2
  420. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  421. package/components/MaskedInput/MaskedInput.d.ts +9 -0
  422. package/components/MenuItem/MenuItem/MenuItem.js +12 -1
  423. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  424. package/components/MenuItem/MenuItem.d.ts +3 -0
  425. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +25 -19
  426. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  427. package/components/MenuItem/MenuItem.styles.d.ts +3 -1
  428. package/components/Modal/Modal.styles/Modal.styles.js +31 -28
  429. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  430. package/components/Modal/Modal.styles.d.ts +1 -0
  431. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  432. package/components/Modal/ModalBody.d.ts +2 -0
  433. package/components/Modal/ModalHeader/ModalHeader.js +3 -1
  434. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  435. package/components/Modal/ModalHeader.d.ts +5 -0
  436. package/components/Paging/DotsIcon/DotsIcon.js +14 -0
  437. package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
  438. package/components/Paging/DotsIcon/package.json +6 -0
  439. package/components/Paging/DotsIcon.d.ts +3 -0
  440. package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
  441. package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
  442. package/components/Paging/ForwardIcon.d.ts +3 -0
  443. package/components/Paging/NavigationHelper/NavigationHelper.js +9 -8
  444. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  445. package/components/Paging/NavigationHelper.d.ts +3 -2
  446. package/components/Paging/Paging/Paging.js +95 -25
  447. package/components/Paging/Paging/Paging.js.map +1 -1
  448. package/components/Paging/Paging.d.ts +13 -1
  449. package/components/Paging/Paging.styles/Paging.styles.js +77 -16
  450. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  451. package/components/Paging/Paging.styles.d.ts +24 -1
  452. package/components/Paging/PagingHelper/PagingHelper.js +16 -8
  453. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  454. package/components/Paging/PagingHelper.d.ts +1 -1
  455. package/components/PasswordInput/PasswordInput/PasswordInput.js +13 -19
  456. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  457. package/components/PasswordInput/PasswordInput.d.ts +5 -5
  458. package/components/Radio/Radio/Radio.js +7 -7
  459. package/components/Radio/Radio/Radio.js.map +1 -1
  460. package/components/Radio/Radio.d.ts +4 -1
  461. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  462. package/components/RadioGroup/RadioGroup.d.ts +2 -0
  463. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  464. package/components/ScrollContainer/ScrollContainer.d.ts +2 -0
  465. package/components/Select/Select/Select.js +17 -15
  466. package/components/Select/Select/Select.js.map +1 -1
  467. package/components/Select/Select.d.ts +4 -1
  468. package/components/SidePage/SidePage/SidePage.js +2 -2
  469. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  470. package/components/SidePage/SidePage.styles/SidePage.styles.js +41 -35
  471. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  472. package/components/SidePage/SidePage.styles.d.ts +3 -1
  473. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  474. package/components/SidePage/SidePageBody.d.ts +2 -0
  475. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  476. package/components/SidePage/SidePageContainer.d.ts +2 -0
  477. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  478. package/components/SidePage/SidePageFooter.d.ts +2 -0
  479. package/components/SidePage/SidePageHeader/SidePageHeader.js +61 -39
  480. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  481. package/components/SidePage/SidePageHeader.d.ts +12 -2
  482. package/components/SingleToast/SingleToast/SingleToast.js +37 -12
  483. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  484. package/components/SingleToast/SingleToast.d.ts +32 -2
  485. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  486. package/components/Spinner/Spinner.d.ts +2 -0
  487. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  488. package/components/Sticky/Sticky.d.ts +2 -0
  489. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  490. package/components/Switcher/Switcher.d.ts +2 -0
  491. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  492. package/components/Tabs/Indicator.d.ts +2 -0
  493. package/components/Tabs/Tab/Tab.js.map +1 -1
  494. package/components/Tabs/Tab.d.ts +2 -0
  495. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  496. package/components/Tabs/Tabs.d.ts +2 -0
  497. package/components/Textarea/Textarea/Textarea.js +7 -6
  498. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  499. package/components/Textarea/Textarea.d.ts +4 -1
  500. package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
  501. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  502. package/components/Toast/Toast/Toast.js +86 -23
  503. package/components/Toast/Toast/Toast.js.map +1 -1
  504. package/components/Toast/Toast.d.ts +56 -9
  505. package/components/Toast/ToastView/ToastView.js +17 -5
  506. package/components/Toast/ToastView/ToastView.js.map +1 -1
  507. package/components/Toast/ToastView.d.ts +7 -1
  508. package/components/Toast/ToastView.styles/ToastView.styles.js +17 -5
  509. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  510. package/components/Toast/ToastView.styles.d.ts +4 -0
  511. package/components/Toggle/Toggle/Toggle.js +10 -10
  512. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  513. package/components/Toggle/Toggle.d.ts +4 -1
  514. package/components/Token/Token/Token.js.map +1 -1
  515. package/components/Token/Token.d.ts +2 -0
  516. package/components/TokenInput/TokenInput/TokenInput.js +47 -42
  517. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  518. package/components/TokenInput/TokenInput.d.ts +6 -1
  519. package/components/Tooltip/Tooltip/Tooltip.js +69 -19
  520. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  521. package/components/Tooltip/Tooltip.d.ts +12 -5
  522. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
  523. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  524. package/components/Tooltip/Tooltip.styles.d.ts +7 -1
  525. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  526. package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  527. package/index.d.ts +1 -0
  528. package/index.js +1 -0
  529. package/index.js.map +1 -1
  530. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +1 -1
  531. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
  532. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  533. package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  534. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +46 -45
  535. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  536. package/internal/CustomComboBox/ComboBoxView.d.ts +8 -4
  537. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +12 -7
  538. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  539. package/internal/CustomComboBox/CustomComboBox.d.ts +7 -2
  540. package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js +5 -3
  541. package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js.map +1 -1
  542. package/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
  543. package/internal/DateSelect/DateSelect/DateSelect.js +1 -1
  544. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  545. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  546. package/internal/FocusTrap/FocusTrap.d.ts +2 -0
  547. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  548. package/internal/InputLikeText/InputLikeText/InputLikeText.js +17 -28
  549. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  550. package/internal/InputLikeText/InputLikeText.d.ts +4 -3
  551. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +21 -16
  552. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
  553. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +1 -0
  554. package/internal/Menu/Menu/Menu.js.map +1 -1
  555. package/internal/Menu/Menu.d.ts +2 -0
  556. package/internal/MenuMessage/MenuMessage/MenuMessage.js +12 -1
  557. package/internal/MenuMessage/MenuMessage/MenuMessage.js.map +1 -1
  558. package/internal/MenuMessage/MenuMessage.styles/MenuMessage.styles.js +12 -6
  559. package/internal/MenuMessage/MenuMessage.styles/MenuMessage.styles.js.map +1 -1
  560. package/internal/MenuMessage/MenuMessage.styles.d.ts +3 -1
  561. package/internal/MobilePopup/MobilePopup/MobilePopup.js +19 -6
  562. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  563. package/internal/MobilePopup/MobilePopup.d.ts +9 -0
  564. package/internal/MobilePopup/MobilePopup.styles/MobilePopup.styles.js +24 -12
  565. package/internal/MobilePopup/MobilePopup.styles/MobilePopup.styles.js.map +1 -1
  566. package/internal/MobilePopup/MobilePopup.styles.d.ts +7 -3
  567. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js +23 -9
  568. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
  569. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +8 -1
  570. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js +11 -2
  571. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles/MobilePopupFooter.styles.js.map +1 -1
  572. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +3 -0
  573. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +29 -23
  574. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  575. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +3 -0
  576. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/MobilePopupHeader.styles.js +12 -9
  577. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/MobilePopupHeader.styles.js.map +1 -1
  578. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +3 -2
  579. package/internal/Popup/Popup/Popup.js +10 -3
  580. package/internal/Popup/Popup/Popup.js.map +1 -1
  581. package/internal/Popup/Popup.d.ts +2 -0
  582. package/internal/Popup/PopupPinNew/PopupPinNew.js +146 -0
  583. package/internal/Popup/PopupPinNew/PopupPinNew.js.map +1 -0
  584. package/internal/Popup/PopupPinNew/package.json +6 -0
  585. package/internal/Popup/PopupPinNew.d.ts +31 -0
  586. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js +20 -0
  587. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js.map +1 -0
  588. package/internal/Popup/PopupPinNew.styles/package.json +6 -0
  589. package/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  590. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  591. package/internal/PopupMenu/PopupMenu.d.ts +2 -0
  592. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  593. package/internal/RenderLayer/RenderLayer.d.ts +2 -0
  594. package/internal/ThemePlayground/Playground/Playground.js +8 -5
  595. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  596. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
  597. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  598. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
  599. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  600. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  601. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  602. package/internal/ZIndex/ZIndex.d.ts +2 -0
  603. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
  604. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
  605. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
  606. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  607. package/internal/themes/BasicTheme/BasicTheme.js +267 -44
  608. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  609. package/internal/themes/BasicTheme.d.ts +147 -28
  610. package/internal/themes/DarkTheme5_4/DarkTheme5_4.js +17 -0
  611. package/internal/themes/DarkTheme5_4/DarkTheme5_4.js.map +1 -0
  612. package/internal/themes/DarkTheme5_4/package.json +6 -0
  613. package/internal/themes/DarkTheme5_4.d.ts +1 -0
  614. package/internal/themes/LightTheme5_4/LightTheme5_4.js +17 -0
  615. package/internal/themes/LightTheme5_4/LightTheme5_4.js.map +1 -0
  616. package/internal/themes/LightTheme5_4/package.json +6 -0
  617. package/internal/themes/LightTheme5_4.d.ts +1 -0
  618. package/internal/themes/consts/consts.js +9 -0
  619. package/internal/themes/consts/consts.js.map +1 -0
  620. package/internal/themes/consts/package.json +6 -0
  621. package/internal/themes/consts.d.ts +8 -0
  622. package/lib/__stories__/Blink.creevey.mts +90 -0
  623. package/lib/blink/blink.js +63 -0
  624. package/lib/blink/blink.js.map +1 -0
  625. package/lib/blink/package.json +6 -0
  626. package/lib/blink.d.ts +15 -0
  627. package/lib/delay.d.mts +1 -0
  628. package/lib/delay.mts +3 -0
  629. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +6 -0
  630. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +7 -1
  631. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  632. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +6 -0
  633. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  634. package/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  635. package/lib/size/SizeControlContext/SizeControlContext.js +7 -0
  636. package/lib/size/SizeControlContext/SizeControlContext.js.map +1 -0
  637. package/lib/size/SizeControlContext/package.json +6 -0
  638. package/lib/size/SizeControlContext.d.ts +6 -0
  639. package/lib/size/SizeDecorator/SizeDecorator.js +41 -0
  640. package/lib/size/SizeDecorator/SizeDecorator.js.map +1 -0
  641. package/lib/size/SizeDecorator/package.json +6 -0
  642. package/lib/size/SizeDecorator.d.ts +33 -0
  643. package/lib/size/constants/constants.js +1 -0
  644. package/lib/size/constants/constants.js.map +1 -0
  645. package/lib/size/constants/package.json +6 -0
  646. package/lib/size/constants.d.ts +2 -0
  647. package/lib/size/index/index.js +1 -0
  648. package/lib/size/index/index.js.map +1 -0
  649. package/lib/size/index/package.json +6 -0
  650. package/lib/size/index.d.ts +1 -0
  651. package/lib/size/package.json +6 -0
  652. package/lib/size/useSizeControl/package.json +6 -0
  653. package/lib/size/useSizeControl/useSizeControl.js +7 -0
  654. package/lib/size/useSizeControl/useSizeControl.js.map +1 -0
  655. package/lib/size/useSizeControl.d.ts +2 -0
  656. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  657. package/lib/theming/ThemeVersions.d.ts +1 -1
  658. package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
  659. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  660. package/lib/theming/themes/DarkTheme.d.ts +1 -0
  661. package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
  662. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  663. package/lib/theming/themes/LightTheme.d.ts +1 -0
  664. package/lib/utils/utils.js +26 -0
  665. package/lib/utils/utils.js.map +1 -1
  666. package/lib/utils.d.ts +13 -0
  667. package/package.json +9 -15
  668. package/cjs/components/Autocomplete/Autocomplete.md +0 -113
  669. package/cjs/components/Button/Button.md +0 -261
  670. package/cjs/components/Calendar/Calendar.md +0 -276
  671. package/cjs/components/Calendar/CalendarDay.md +0 -70
  672. package/cjs/components/Center/Center.md +0 -26
  673. package/cjs/components/Checkbox/Checkbox.md +0 -171
  674. package/cjs/components/ComboBox/ComboBox.md +0 -574
  675. package/cjs/components/CurrencyInput/CurrencyInput.md +0 -39
  676. package/cjs/components/CurrencyLabel/CurrencyLabel.md +0 -29
  677. package/cjs/components/DateInput/DateInput.md +0 -111
  678. package/cjs/components/DatePicker/DatePicker.md +0 -368
  679. package/cjs/components/Dropdown/Dropdown.md +0 -45
  680. package/cjs/components/DropdownMenu/DropdownMenu.md +0 -290
  681. package/cjs/components/FileUploader/FileUploader.md +0 -131
  682. package/cjs/components/FxInput/FxInput.md +0 -31
  683. package/cjs/components/Gapped/Gapped.md +0 -44
  684. package/cjs/components/GlobalLoader/GlobalLoader.md +0 -97
  685. package/cjs/components/Group/Group.md +0 -19
  686. package/cjs/components/Hint/Hint.md +0 -86
  687. package/cjs/components/Input/Input.md +0 -86
  688. package/cjs/components/Kebab/Kebab.md +0 -306
  689. package/cjs/components/Link/Link.md +0 -182
  690. package/cjs/components/Loader/Loader.md +0 -33
  691. package/cjs/components/MaskedInput/MaskedInput.md +0 -114
  692. package/cjs/components/MenuFooter/MenuFooter.md +0 -27
  693. package/cjs/components/MenuHeader/MenuHeader.md +0 -35
  694. package/cjs/components/MenuItem/MenuItem.md +0 -139
  695. package/cjs/components/MenuSeparator/MenuSeparator.md +0 -14
  696. package/cjs/components/MiniModal/MiniModal.md +0 -231
  697. package/cjs/components/Modal/Modal.md +0 -56
  698. package/cjs/components/Paging/Paging.md +0 -57
  699. package/cjs/components/PasswordInput/PasswordInput.md +0 -29
  700. package/cjs/components/Radio/Radio.md +0 -57
  701. package/cjs/components/RadioGroup/RadioGroup.md +0 -44
  702. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  703. package/cjs/components/ScrollContainer/ScrollContainer.md +0 -224
  704. package/cjs/components/Select/Select.md +0 -113
  705. package/cjs/components/SidePage/SidePage.md +0 -65
  706. package/cjs/components/SingleToast/SingleToast.md +0 -36
  707. package/cjs/components/Spinner/Spinner.md +0 -36
  708. package/cjs/components/Sticky/Sticky.md +0 -28
  709. package/cjs/components/Switcher/Switcher.md +0 -111
  710. package/cjs/components/Tabs/Tab.md +0 -73
  711. package/cjs/components/Tabs/Tabs.md +0 -54
  712. package/cjs/components/Textarea/Textarea.md +0 -58
  713. package/cjs/components/Toast/Toast.md +0 -69
  714. package/cjs/components/Toggle/Toggle.md +0 -110
  715. package/cjs/components/Token/Token.md +0 -48
  716. package/cjs/components/TokenInput/TokenInput.md +0 -277
  717. package/cjs/components/Tooltip/Tooltip.md +0 -322
  718. package/cjs/components/TooltipMenu/TooltipMenu.md +0 -241
  719. package/cjs/internal/DataTids/DATATIDS.md +0 -12
  720. package/cjs/internal/DataTids/DataTids.d.ts +0 -12
  721. package/cjs/internal/DataTids/DataTids.js +0 -50
  722. package/cjs/internal/DataTids/DataTids.js.map +0 -1
  723. package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
  724. package/cjs/internal/DataTids/DataTids.styles.js +0 -42
  725. package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
  726. package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
  727. package/cjs/internal/DataTids/componentsDataTids.js +0 -15
  728. package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
  729. package/cjs/internal/ThemePlayground/Playground.md +0 -7
  730. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  731. package/cjs/lib/locale/LOCALECONTEXT.md +0 -222
  732. package/cjs/lib/theming/ThemeContext.md +0 -265
  733. package/components/Autocomplete/Autocomplete.md +0 -113
  734. package/components/Button/Button.md +0 -261
  735. package/components/Calendar/Calendar.md +0 -276
  736. package/components/Calendar/CalendarDay.md +0 -70
  737. package/components/Center/Center.md +0 -26
  738. package/components/Checkbox/Checkbox.md +0 -171
  739. package/components/ComboBox/ComboBox.md +0 -574
  740. package/components/CurrencyInput/CurrencyInput.md +0 -39
  741. package/components/CurrencyLabel/CurrencyLabel.md +0 -29
  742. package/components/DateInput/DateInput.md +0 -111
  743. package/components/DatePicker/DatePicker.md +0 -368
  744. package/components/Dropdown/Dropdown.md +0 -45
  745. package/components/DropdownMenu/DropdownMenu.md +0 -290
  746. package/components/FileUploader/FileUploader.md +0 -131
  747. package/components/FxInput/FxInput.md +0 -31
  748. package/components/Gapped/Gapped.md +0 -44
  749. package/components/GlobalLoader/GlobalLoader.md +0 -97
  750. package/components/Group/Group.md +0 -19
  751. package/components/Hint/Hint.md +0 -86
  752. package/components/Input/Input.md +0 -86
  753. package/components/Kebab/Kebab.md +0 -306
  754. package/components/Link/Link.md +0 -182
  755. package/components/Loader/Loader.md +0 -33
  756. package/components/MaskedInput/MaskedInput.md +0 -114
  757. package/components/MenuFooter/MenuFooter.md +0 -27
  758. package/components/MenuHeader/MenuHeader.md +0 -35
  759. package/components/MenuItem/MenuItem.md +0 -139
  760. package/components/MenuSeparator/MenuSeparator.md +0 -14
  761. package/components/MiniModal/MiniModal.md +0 -231
  762. package/components/Modal/Modal.md +0 -56
  763. package/components/Paging/Paging.md +0 -57
  764. package/components/PasswordInput/PasswordInput.md +0 -29
  765. package/components/Radio/Radio.md +0 -57
  766. package/components/RadioGroup/RadioGroup.md +0 -44
  767. package/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  768. package/components/ScrollContainer/ScrollContainer.md +0 -224
  769. package/components/Select/Select.md +0 -113
  770. package/components/SidePage/SidePage.md +0 -65
  771. package/components/SingleToast/SingleToast.md +0 -36
  772. package/components/Spinner/Spinner.md +0 -36
  773. package/components/Sticky/Sticky.md +0 -28
  774. package/components/Switcher/Switcher.md +0 -111
  775. package/components/Tabs/Tab.md +0 -73
  776. package/components/Tabs/Tabs.md +0 -54
  777. package/components/Textarea/Textarea.md +0 -58
  778. package/components/Toast/Toast.md +0 -69
  779. package/components/Toggle/Toggle.md +0 -110
  780. package/components/Token/Token.md +0 -48
  781. package/components/TokenInput/TokenInput.md +0 -277
  782. package/components/Tooltip/Tooltip.md +0 -322
  783. package/components/TooltipMenu/TooltipMenu.md +0 -241
  784. package/internal/DataTids/DATATIDS.md +0 -12
  785. package/internal/DataTids/DataTids/DataTids.js +0 -69
  786. package/internal/DataTids/DataTids/DataTids.js.map +0 -1
  787. package/internal/DataTids/DataTids/package.json +0 -6
  788. package/internal/DataTids/DataTids.d.ts +0 -12
  789. package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -20
  790. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
  791. package/internal/DataTids/DataTids.styles/package.json +0 -6
  792. package/internal/DataTids/DataTids.styles.d.ts +0 -7
  793. package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -12
  794. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
  795. package/internal/DataTids/componentsDataTids/package.json +0 -6
  796. package/internal/DataTids/componentsDataTids.d.ts +0 -5
  797. package/internal/ThemePlayground/Playground.md +0 -7
  798. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  799. package/lib/locale/LOCALECONTEXT.md +0 -222
  800. package/lib/theming/ThemeContext.md +0 -265
@@ -2,6 +2,7 @@ import type { AriaAttributes } from 'react';
2
2
  import React from 'react';
3
3
  import type { Override } from '../../typings/utility-types';
4
4
  import type { CommonProps } from '../../internal/CommonWrapper';
5
+ import type { TGetRootNode } from '../../lib/rootNode';
5
6
  import type { SizeProp } from '../../lib/types/props';
6
7
  export interface CheckboxProps extends CommonProps, Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>, Override<React.InputHTMLAttributes<HTMLInputElement>, {
7
8
  /** @ignore */
@@ -38,7 +39,6 @@ export interface CheckboxState {
38
39
  export declare const CheckboxDataTids: {
39
40
  readonly root: "Checkbox__root";
40
41
  };
41
- type DefaultProps = Required<Pick<CheckboxProps, 'size'>>;
42
42
  /**
43
43
  * `Checkbox` используется для управления параметром с двумя состояниями.
44
44
  *
@@ -48,8 +48,6 @@ type DefaultProps = Required<Pick<CheckboxProps, 'size'>>;
48
48
  export declare class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {
49
49
  static __KONTUR_REACT_UI__: string;
50
50
  static displayName: string;
51
- static defaultProps: DefaultProps;
52
- private getProps;
53
51
  private getRootSizeClassName;
54
52
  private getBoxWrapperSizeClassName;
55
53
  private getCheckboxBoxSize;
@@ -58,12 +56,15 @@ export declare class Checkbox extends React.PureComponent<CheckboxProps, Checkbo
58
56
  indeterminate: boolean;
59
57
  isShiftPressed: boolean;
60
58
  };
59
+ private size;
61
60
  private theme;
62
61
  private input;
62
+ private getProps;
63
63
  private handleShiftPress;
64
64
  private handleShiftRelease;
65
65
  componentDidMount: () => void;
66
66
  componentWillUnmount: () => void;
67
+ getRootNode: TGetRootNode;
67
68
  private setRootNode;
68
69
  componentDidUpdate(prevProps: CheckboxProps): void;
69
70
  render(): React.JSX.Element;
@@ -94,4 +95,3 @@ export declare class Checkbox extends React.PureComponent<CheckboxProps, Checkbo
94
95
  private handleChange;
95
96
  private handleClick;
96
97
  }
97
- export {};
@@ -13,9 +13,10 @@ var _Emotion = require("../../lib/theming/Emotion");
13
13
 
14
14
  var _rootNode = require("../../lib/rootNode");
15
15
  var _fixFirefoxModifiedClickOnLabel = require("../../lib/events/fixFirefoxModifiedClickOnLabel");
16
- var _createPropsGetter = require("../../lib/createPropsGetter");
17
16
 
18
17
  var _FocusControlWrapper = require("../../internal/FocusControlWrapper");
18
+ var _SizeDecorator = require("../../lib/size/SizeDecorator");
19
+ var _createPropsGetter = require("../../lib/createPropsGetter");
19
20
 
20
21
  var _Checkbox2 = require("./Checkbox.styles");
21
22
  var _CheckedIcon = require("./CheckedIcon");
@@ -73,8 +74,6 @@ var CheckboxDataTids = exports.CheckboxDataTids = {
73
74
  root: 'Checkbox__root'
74
75
  };
75
76
 
76
-
77
-
78
77
  /**
79
78
  * `Checkbox` используется для управления параметром с двумя состояниями.
80
79
  *
@@ -82,18 +81,13 @@ var CheckboxDataTids = exports.CheckboxDataTids = {
82
81
  * Для немедленного включения какого-то режима в интерфейсе лучше подходит Toggle.
83
82
  */var
84
83
 
85
- Checkbox = exports.Checkbox = (0, _rootNode.rootNode)(_class = (_Checkbox = /*#__PURE__*/function (_React$PureComponent) {function Checkbox() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;_this.
86
-
87
84
 
85
+ Checkbox = exports.Checkbox = (0, _rootNode.rootNode)(_class = (0, _SizeDecorator.withSize)(_class = (_Checkbox = /*#__PURE__*/function (_React$PureComponent) {function Checkbox() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;_this.
88
86
 
89
87
 
90
88
 
91
89
 
92
90
 
93
- getProps = (0, _createPropsGetter.createPropsGetter)(Checkbox.defaultProps);_this.
94
-
95
-
96
-
97
91
 
98
92
 
99
93
 
@@ -135,7 +129,9 @@ Checkbox = exports.Checkbox = (0, _rootNode.rootNode)(_class = (_Checkbox = /*#_
135
129
  };_this.
136
130
 
137
131
 
132
+
138
133
  input = /*#__PURE__*/_react.default.createRef();_this.
134
+ getProps = (0, _createPropsGetter.createPropsGetter)({});_this.
139
135
 
140
136
  handleShiftPress = function (e) {
141
137
  if (e.key === 'Shift') {
@@ -205,6 +201,7 @@ Checkbox = exports.Checkbox = (0, _rootNode.rootNode)(_class = (_Checkbox = /*#_
205
201
 
206
202
 
207
203
 
204
+
208
205
 
209
206
 
210
207
  /**
@@ -250,7 +247,7 @@ Checkbox = exports.Checkbox = (0, _rootNode.rootNode)(_class = (_Checkbox = /*#_
250
247
  props.error,warning = props.warning,size = props.size,onMouseEnter = props.onMouseEnter,onMouseLeave = props.onMouseLeave,onMouseOver = props.onMouseOver,onValueChange = props.onValueChange,type = props.type,initialIndeterminate = props.initialIndeterminate,ariaDescribedby = props['aria-describedby'],ariaLabel = props['aria-label'],rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
251
248
  var isIndeterminate = _this.state.indeterminate;
252
249
 
253
- var iconClass = (0, _Emotion.cx)(_Checkbox2.styles.icon(), !props.checked && !isIndeterminate && _Checkbox2.styles.iconUnchecked());
250
+ var iconClass = (0, _Emotion.cx)(_Checkbox2.styles.icon(), !_this.props.checked && !isIndeterminate && _Checkbox2.styles.iconUnchecked());
254
251
 
255
252
  var iconSize = parseInt(_this.getCheckboxBoxSize());
256
253
  var IconCheck = /*#__PURE__*/
@@ -267,9 +264,9 @@ Checkbox = exports.Checkbox = (0, _rootNode.rootNode)(_class = (_Checkbox = /*#_
267
264
  var rootClass = (0, _Emotion.cx)(_this.getRootSizeClassName(), (_cx = {}, _cx[
268
265
  _Checkbox2.styles.root(_this.theme)] = true, _cx[
269
266
  _Checkbox2.styles.rootFallback()] = _client.isIE11 || _client.isEdge, _cx[
270
- _Checkbox2.styles.rootChecked(_this.theme)] = props.checked || isIndeterminate, _cx[
267
+ _Checkbox2.styles.rootChecked(_this.theme)] = _this.props.checked || isIndeterminate, _cx[
271
268
  _Checkbox2.styles.rootDisableTextSelect()] = _this.state.isShiftPressed, _cx[
272
- _Checkbox2.styles.disabled(_this.theme)] = Boolean(props.disabled), _cx)
269
+ _Checkbox2.styles.disabled(_this.theme)] = Boolean(_this.props.disabled), _cx)
273
270
  );
274
271
 
275
272
  var inputProps = (0, _extends2.default)({},
@@ -288,7 +285,7 @@ Checkbox = exports.Checkbox = (0, _rootNode.rootNode)(_class = (_Checkbox = /*#_
288
285
  var captionClass = (0, _Emotion.cx)((_cx2 = {}, _cx2[
289
286
  _Checkbox2.styles.caption(_this.theme)] = true, _cx2[
290
287
  _Checkbox2.styles.captionIE11()] = _client.isIE11 || _client.isEdge, _cx2[
291
- _Checkbox2.styles.disabled(_this.theme)] = Boolean(props.disabled), _cx2)
288
+ _Checkbox2.styles.disabled(_this.theme)] = Boolean(_this.props.disabled), _cx2)
292
289
  );
293
290
  caption = /*#__PURE__*/_react.default.createElement("span", { className: captionClass }, _this.props.children);
294
291
  }
@@ -301,11 +298,11 @@ Checkbox = exports.Checkbox = (0, _rootNode.rootNode)(_class = (_Checkbox = /*#_
301
298
 
302
299
  _react.default.createElement("div", {
303
300
  className: (0, _Emotion.cx)(_Checkbox2.styles.box(_this.theme), _Checkbox2.globalClasses.box, (_cx4 = {}, _cx4[
304
- _Checkbox2.styles.boxChecked(_this.theme)] = props.checked || isIndeterminate, _cx4[
301
+ _Checkbox2.styles.boxChecked(_this.theme)] = _this.props.checked || isIndeterminate, _cx4[
305
302
  _Checkbox2.styles.boxFocus(_this.theme)] = _this.state.focusedByTab, _cx4[
306
- _Checkbox2.styles.boxError(_this.theme)] = props.error, _cx4[
307
- _Checkbox2.styles.boxWarning(_this.theme)] = props.warning, _cx4[
308
- _Checkbox2.styles.boxDisabled(_this.theme)] = props.disabled, _cx4)
303
+ _Checkbox2.styles.boxError(_this.theme)] = _this.props.error, _cx4[
304
+ _Checkbox2.styles.boxWarning(_this.theme)] = _this.props.warning, _cx4[
305
+ _Checkbox2.styles.boxDisabled(_this.theme)] = _this.props.disabled, _cx4)
309
306
  ) },
310
307
 
311
308
  isIndeterminate && IconSquare || IconCheck
@@ -382,10 +379,10 @@ Checkbox = exports.Checkbox = (0, _rootNode.rootNode)(_class = (_Checkbox = /*#_
382
379
  _this.props.onValueChange(checked);
383
380
  }
384
381
  }
385
- };return _this;}(0, _inheritsLoose2.default)(Checkbox, _React$PureComponent);var _proto = Checkbox.prototype;_proto.getRootSizeClassName = function getRootSizeClassName() {switch (this.getProps().size) {case 'large':return _Checkbox2.styles.rootLarge(this.theme);case 'medium':return _Checkbox2.styles.rootMedium(this.theme);case 'small':default:return _Checkbox2.styles.rootSmall(this.theme);}};_proto.getBoxWrapperSizeClassName = function getBoxWrapperSizeClassName() {switch (this.getProps().size) {case 'large':return _Checkbox2.styles.boxWrapperLarge(this.theme);case 'medium':return _Checkbox2.styles.boxWrapperMedium(this.theme);case 'small':default:return _Checkbox2.styles.boxWrapperSmall(this.theme);}};_proto.getCheckboxBoxSize = function getCheckboxBoxSize() {switch (this.getProps().size) {case 'large':return this.theme.checkboxBoxSizeLarge;case 'medium':return this.theme.checkboxBoxSizeMedium;case 'small':default:return this.theme.checkboxBoxSizeSmall;}};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (prevProps.checked !== this.props.checked) {this.resetIndeterminate();}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.getProps()), _this2.renderMain);});} /**
382
+ };return _this;}(0, _inheritsLoose2.default)(Checkbox, _React$PureComponent);var _proto = Checkbox.prototype;_proto.getRootSizeClassName = function getRootSizeClassName() {switch (this.size) {case 'large':return _Checkbox2.styles.rootLarge(this.theme);case 'medium':return _Checkbox2.styles.rootMedium(this.theme);case 'small':default:return _Checkbox2.styles.rootSmall(this.theme);}};_proto.getBoxWrapperSizeClassName = function getBoxWrapperSizeClassName() {switch (this.size) {case 'large':return _Checkbox2.styles.boxWrapperLarge(this.theme);case 'medium':return _Checkbox2.styles.boxWrapperMedium(this.theme);case 'small':default:return _Checkbox2.styles.boxWrapperSmall(this.theme);}};_proto.getCheckboxBoxSize = function getCheckboxBoxSize() {switch (this.size) {case 'large':return this.theme.checkboxBoxSizeLarge;case 'medium':return this.theme.checkboxBoxSizeMedium;case 'small':default:return this.theme.checkboxBoxSizeSmall;}};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (prevProps.checked !== this.props.checked) {this.resetIndeterminate();}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: _this2.setRootNode }, _this2.getProps()), _this2.renderMain);});} /**
386
383
  * Программная установка фокуса чекбоксу.
387
384
  * @public
388
385
  */;_proto.focus = function focus() {var _this$input$current;_keyListener.keyListener.isTabPressed = true;(_this$input$current = this.input.current) == null || _this$input$current.focus();} /**
389
386
  * Программное снятие фокуса с чекбокса.
390
387
  * @public
391
- */;_proto.blur = function blur() {var _this$input$current2;(_this$input$current2 = this.input.current) == null || _this$input$current2.blur();};return Checkbox;}(_react.default.PureComponent), _Checkbox.__KONTUR_REACT_UI__ = 'Checkbox', _Checkbox.displayName = 'Checkbox', _Checkbox.defaultProps = { size: 'small' }, _Checkbox)) || _class;
388
+ */;_proto.blur = function blur() {var _this$input$current2;(_this$input$current2 = this.input.current) == null || _this$input$current2.blur();};return Checkbox;}(_react.default.PureComponent), _Checkbox.__KONTUR_REACT_UI__ = 'Checkbox', _Checkbox.displayName = 'Checkbox', _Checkbox)) || _class) || _class;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_globalObject","_keyListener","_ThemeContext","_client","_CommonWrapper","_Emotion","_rootNode","_fixFirefoxModifiedClickOnLabel","_createPropsGetter","_FocusControlWrapper","_Checkbox2","_CheckedIcon","_IndeterminateIcon","_excluded","_class","_Checkbox","CheckboxDataTids","exports","root","Checkbox","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","state","focusedByTab","indeterminate","props","initialIndeterminate","isShiftPressed","input","React","createRef","handleShiftPress","e","key","setState","handleShiftRelease","componentDidMount","_globalObject$documen","_globalObject$documen2","current","globalObject","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","_objectWithoutPropertiesLoose2","default","isIndeterminate","iconClass","cx","styles","icon","checked","iconUnchecked","iconSize","parseInt","getCheckboxBoxSize","IconCheck","createElement","className","CheckedIcon","IconSquare","IndeterminateIcon","rootClass","getRootSizeClassName","theme","rootFallback","isIE11","isEdge","rootChecked","rootDisableTextSelect","disabled","Boolean","inputProps","_extends2","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","caption","children","_cx2","captionClass","captionIE11","box","getBoxWrapperSizeClassName","boxWrapper","globalClasses","boxChecked","boxFocus","boxError","boxWarning","boxDisabled","fixFirefoxModifiedClickOnLabel","FocusControlWrapper","onBlurWhenDisabled","resetFocus","requestAnimationFrame","keyListener","isTabPressed","event","currentTarget","undefined","_inheritsLoose2","_proto","prototype","rootLarge","rootMedium","rootSmall","boxWrapperLarge","boxWrapperMedium","boxWrapperSmall","checkboxBoxSizeLarge","checkboxBoxSizeMedium","checkboxBoxSizeSmall","componentDidUpdate","prevProps","render","_this2","ThemeContext","Consumer","CommonWrapper","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 { 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 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","_interopRequireDefault","require","_globalObject","_keyListener","_ThemeContext","_client","_CommonWrapper","_Emotion","_rootNode","_fixFirefoxModifiedClickOnLabel","_FocusControlWrapper","_SizeDecorator","_createPropsGetter","_Checkbox2","_CheckedIcon","_IndeterminateIcon","_excluded","_class","_Checkbox","CheckboxDataTids","exports","root","Checkbox","rootNode","withSize","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","focusedByTab","indeterminate","props","initialIndeterminate","isShiftPressed","input","React","createRef","getProps","createPropsGetter","handleShiftPress","e","key","setState","handleShiftRelease","componentDidMount","_globalObject$documen","_globalObject$documen2","current","globalObject","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","_objectWithoutPropertiesLoose2","default","isIndeterminate","iconClass","cx","styles","icon","checked","iconUnchecked","iconSize","parseInt","getCheckboxBoxSize","IconCheck","createElement","className","CheckedIcon","IconSquare","IndeterminateIcon","rootClass","getRootSizeClassName","theme","rootFallback","isIE11","isEdge","rootChecked","rootDisableTextSelect","disabled","Boolean","inputProps","_extends2","onChange","handleChange","onFocus","handleFocus","onBlur","handleBlur","onClick","handleClick","ref","caption","children","_cx2","captionClass","captionIE11","box","getBoxWrapperSizeClassName","boxWrapper","globalClasses","boxChecked","boxFocus","boxError","boxWarning","boxDisabled","fixFirefoxModifiedClickOnLabel","FocusControlWrapper","onBlurWhenDisabled","resetFocus","requestAnimationFrame","keyListener","isTabPressed","event","currentTarget","undefined","_inheritsLoose2","_proto","prototype","rootLarge","rootMedium","rootSmall","boxWrapperLarge","boxWrapperMedium","boxWrapperSmall","checkboxBoxSizeLarge","checkboxBoxSizeMedium","checkboxBoxSizeSmall","componentDidUpdate","prevProps","render","_this2","ThemeContext","Consumer","CommonWrapper","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 type { SizeProp } from '../../lib/types/props';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper';\nimport { withSize } from '../../lib/size/SizeDecorator';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\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\n/**\n * `Checkbox` используется для управления параметром с двумя состояниями.\n *\n * Чекбокс не запускает действие немедленно. Как правило, для этого нужно нажать подтверждающую кнопку.\n * Для немедленного включения какого-то режима в интерфейсе лучше подходит Toggle.\n */\n@rootNode\n@withSize\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n public static displayName = 'Checkbox';\n\n private getRootSizeClassName() {\n switch (this.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.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.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 private size!: SizeProp;\n\n private theme!: Theme;\n private input = React.createRef<HTMLInputElement>();\n private getProps = createPropsGetter({});\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(), !this.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)]: this.props.checked || isIndeterminate,\n [styles.rootDisableTextSelect()]: this.state.isShiftPressed,\n [styles.disabled(this.theme)]: Boolean(this.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(this.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)]: this.props.checked || isIndeterminate,\n [styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [styles.boxError(this.theme)]: this.props.error,\n [styles.boxWarning(this.theme)]: this.props.warning,\n [styles.boxDisabled(this.theme)]: this.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":";AACA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;;;AAGA,IAAAE,YAAA,GAAAF,OAAA;;AAEA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;;AAEA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;;AAEA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,+BAAA,GAAAR,OAAA;;AAEA,IAAAS,oBAAA,GAAAT,OAAA;AACA,IAAAU,cAAA,GAAAV,OAAA;AACA,IAAAW,kBAAA,GAAAX,OAAA;;AAEA,IAAAY,UAAA,GAAAZ,OAAA;AACA,IAAAa,YAAA,GAAAb,OAAA;AACA,IAAAc,kBAAA,GAAAd,OAAA,wBAAwD,IAAAe,SAAA,sKAAAC,MAAA,EAAAC,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDjD,IAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG;EAC9BE,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACA,GALA;;;AAQaC,QAAQ,GAAAF,OAAA,CAAAE,QAAA,OAFpBC,kBAAQ,EAAAN,MAAA,OACRO,uBAAQ,EAAAP,MAAA,IAAAC,SAAA,0BAAAO,oBAAA,YAAAH,SAAA,OAAAI,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,oBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,oBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyCAU,KAAK,GAAG;MACbC,YAAY,EAAE,KAAK;MACnBC,aAAa,EAAEZ,KAAA,CAAKa,KAAK,CAACC,oBAAoB,IAAI,KAAK;MACvDC,cAAc,EAAE;IAClB,CAAC,CAAAf,KAAA;;;;IAIOgB,KAAK,gBAAGC,cAAK,CAACC,SAAS,CAAmB,CAAC,CAAAlB,KAAA;IAC3CmB,QAAQ,GAAG,IAAAC,oCAAiB,EAAC,CAAC,CAAC,CAAC,CAAApB,KAAA;;IAEhCqB,gBAAgB,GAAG,UAACC,CAAgB,EAAK;MAC/C,IAAIA,CAAC,CAACC,GAAG,KAAK,OAAO,EAAE;QACrBvB,KAAA,CAAKwB,QAAQ,CAAC,oBAAO;YACnBT,cAAc,EAAE;UAClB,CAAC,EAAC,CAAC;MACL;IACF,CAAC,CAAAf,KAAA;;IAEOyB,kBAAkB,GAAG,UAACH,CAAgB,EAAK;MACjD,IAAIA,CAAC,CAACC,GAAG,KAAK,OAAO,EAAE;QACrBvB,KAAA,CAAKwB,QAAQ,CAAC;UACZT,cAAc,EAAE;QAClB,CAAC,CAAC;MACJ;IACF,CAAC,CAAAf,KAAA;;IAEM0B,iBAAiB,GAAG,YAAM,KAAAC,qBAAA,EAAAC,sBAAA;MAC/B,IAAI5B,KAAA,CAAKU,KAAK,CAACE,aAAa,IAAIZ,KAAA,CAAKgB,KAAK,CAACa,OAAO,EAAE;QAClD7B,KAAA,CAAKgB,KAAK,CAACa,OAAO,CAACjB,aAAa,GAAG,IAAI;MACzC;;MAEA,CAAAe,qBAAA,GAAAG,0BAAY,CAACC,QAAQ,aAArBJ,qBAAA,CAAuBK,gBAAgB,CAAC,SAAS,EAAEhC,KAAA,CAAKqB,gBAAgB,CAAC;MACzE,CAAAO,sBAAA,GAAAE,0BAAY,CAACC,QAAQ,aAArBH,sBAAA,CAAuBI,gBAAgB,CAAC,OAAO,EAAEhC,KAAA,CAAKyB,kBAAkB,CAAC;IAC3E,CAAC,CAAAzB,KAAA;;IAEMiC,oBAAoB,GAAG,YAAM,KAAAC,sBAAA,EAAAC,sBAAA;MAClC,CAAAD,sBAAA,GAAAJ,0BAAY,CAACC,QAAQ,aAArBG,sBAAA,CAAuBE,mBAAmB,CAAC,SAAS,EAAEpC,KAAA,CAAKqB,gBAAgB,CAAC;MAC5E,CAAAc,sBAAA,GAAAL,0BAAY,CAACC,QAAQ,aAArBI,sBAAA,CAAuBC,mBAAmB,CAAC,OAAO,EAAEpC,KAAA,CAAKyB,kBAAkB,CAAC;IAC9E,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2CD;AACF;AACA;AACA,OAHEzB,KAAA;IAIOqC,gBAAgB,GAAG,YAAM;MAC9BrC,KAAA,CAAKwB,QAAQ,CAAC;QACZZ,aAAa,EAAE;MACjB,CAAC,CAAC;MACF,IAAIZ,KAAA,CAAKgB,KAAK,CAACa,OAAO,EAAE;QACtB7B,KAAA,CAAKgB,KAAK,CAACa,OAAO,CAACjB,aAAa,GAAG,IAAI;MACzC;IACF,CAAC;;IAED;AACF;AACA;AACA,OAHEZ,KAAA;IAIOsC,kBAAkB,GAAG,YAAM;MAChCtC,KAAA,CAAKwB,QAAQ,CAAC;QACZZ,aAAa,EAAE;MACjB,CAAC,CAAC;MACF,IAAIZ,KAAA,CAAKgB,KAAK,CAACa,OAAO,EAAE;QACtB7B,KAAA,CAAKgB,KAAK,CAACa,OAAO,CAACjB,aAAa,GAAG,KAAK;MAC1C;IACF,CAAC,CAAAZ,KAAA;;IAEOuC,UAAU,GAAG,UAAC1B,KAA4C,EAAK,KAAA2B,GAAA,EAAAC,IAAA,EAAAC,IAAA;MACrE;QACEC,KAAK;;;;;;;;;;;;QAYH9B,KAAK,CAZP8B,KAAK,CACLC,OAAO,GAWL/B,KAAK,CAXP+B,OAAO,CACPC,IAAI,GAUFhC,KAAK,CAVPgC,IAAI,CACJC,YAAY,GASVjC,KAAK,CATPiC,YAAY,CACZC,YAAY,GAQVlC,KAAK,CARPkC,YAAY,CACZC,WAAW,GAOTnC,KAAK,CAPPmC,WAAW,CACXC,aAAa,GAMXpC,KAAK,CANPoC,aAAa,CACbC,IAAI,GAKFrC,KAAK,CALPqC,IAAI,CACJpC,oBAAoB,GAIlBD,KAAK,CAJPC,oBAAoB,CACAqC,eAAe,GAGjCtC,KAAK,CAHP,kBAAkB,EACJuC,SAAS,GAErBvC,KAAK,CAFP,YAAY,EACTwC,IAAI,OAAAC,8BAAA,CAAAC,OAAA,EACL1C,KAAK,EAAAvB,SAAA;MACT,IAAMkE,eAAe,GAAGxD,KAAA,CAAKU,KAAK,CAACE,aAAa;;MAEhD,IAAM6C,SAAS,GAAG,IAAAC,WAAE,EAACC,iBAAM,CAACC,IAAI,CAAC,CAAC,EAAE,CAAC5D,KAAA,CAAKa,KAAK,CAACgD,OAAO,IAAI,CAACL,eAAe,IAAIG,iBAAM,CAACG,aAAa,CAAC,CAAC,CAAC;;MAEtG,IAAMC,QAAQ,GAAGC,QAAQ,CAAChE,KAAA,CAAKiE,kBAAkB,CAAC,CAAC,CAAC;MACpD,IAAMC,SAAS;MACb7F,MAAA,CAAAkF,OAAA,CAAAY,aAAA,WAAMC,SAAS,EAAEX,SAAU;MACzBpF,MAAA,CAAAkF,OAAA,CAAAY,aAAA,CAAC/E,YAAA,CAAAiF,WAAW,IAACxB,IAAI,EAAEkB,QAAS,EAAE;MAC1B,CACP;;MACD,IAAMO,UAAU;MACdjG,MAAA,CAAAkF,OAAA,CAAAY,aAAA,WAAMC,SAAS,EAAEX,SAAU;MACzBpF,MAAA,CAAAkF,OAAA,CAAAY,aAAA,CAAC9E,kBAAA,CAAAkF,iBAAiB,IAAC1B,IAAI,EAAEkB,QAAS,EAAE;MAChC,CACP;;;MAED,IAAMS,SAAS,GAAG,IAAAd,WAAE,EAAC1D,KAAA,CAAKyE,oBAAoB,CAAC,CAAC,GAAAjC,GAAA,OAAAA,GAAA;MAC7CmB,iBAAM,CAAChE,IAAI,CAACK,KAAA,CAAK0E,KAAK,CAAC,IAAG,IAAI,EAAAlC,GAAA;MAC9BmB,iBAAM,CAACgB,YAAY,CAAC,CAAC,IAAGC,cAAM,IAAIC,cAAM,EAAArC,GAAA;MACxCmB,iBAAM,CAACmB,WAAW,CAAC9E,KAAA,CAAK0E,KAAK,CAAC,IAAG1E,KAAA,CAAKa,KAAK,CAACgD,OAAO,IAAIL,eAAe,EAAAhB,GAAA;MACtEmB,iBAAM,CAACoB,qBAAqB,CAAC,CAAC,IAAG/E,KAAA,CAAKU,KAAK,CAACK,cAAc,EAAAyB,GAAA;MAC1DmB,iBAAM,CAACqB,QAAQ,CAAChF,KAAA,CAAK0E,KAAK,CAAC,IAAGO,OAAO,CAACjF,KAAA,CAAKa,KAAK,CAACmE,QAAQ,CAAC,EAAAxC,GAAA;MAC5D,CAAC;;MAEF,IAAM0C,UAAU,OAAAC,SAAA,CAAA5B,OAAA;MACXF,IAAI;QACPH,IAAI,EAAE,UAAU;QAChBkB,SAAS,EAAET,iBAAM,CAAC3C,KAAK,CAAC,CAAC;QACzBoE,QAAQ,EAAEpF,KAAA,CAAKqF,YAAY;QAC3BC,OAAO,EAAEtF,KAAA,CAAKuF,WAAW;QACzBC,MAAM,EAAExF,KAAA,CAAKyF,UAAU;QACvBC,OAAO,EAAE1F,KAAA,CAAK2F,WAAW;QACzBC,GAAG,EAAE5F,KAAA,CAAKgB,KAAK,GAChB;;;MAED,IAAI6E,OAAO,GAAG,IAAI;MAClB,IAAI7F,KAAA,CAAKa,KAAK,CAACiF,QAAQ,EAAE,KAAAC,IAAA;QACvB,IAAMC,YAAY,GAAG,IAAAtC,WAAE,GAAAqC,IAAA,OAAAA,IAAA;QACpBpC,iBAAM,CAACkC,OAAO,CAAC7F,KAAA,CAAK0E,KAAK,CAAC,IAAG,IAAI,EAAAqB,IAAA;QACjCpC,iBAAM,CAACsC,WAAW,CAAC,CAAC,IAAGrB,cAAM,IAAIC,cAAM,EAAAkB,IAAA;QACvCpC,iBAAM,CAACqB,QAAQ,CAAChF,KAAA,CAAK0E,KAAK,CAAC,IAAGO,OAAO,CAACjF,KAAA,CAAKa,KAAK,CAACmE,QAAQ,CAAC,EAAAe,IAAA;QAC5D,CAAC;QACFF,OAAO,gBAAGxH,MAAA,CAAAkF,OAAA,CAAAY,aAAA,WAAMC,SAAS,EAAE4B,YAAa,IAAEhG,KAAA,CAAKa,KAAK,CAACiF,QAAe,CAAC;MACvE;;MAEA,IAAMI,GAAG;MACP7H,MAAA,CAAAkF,OAAA,CAAAY,aAAA;QACEC,SAAS,EAAE,IAAAV,WAAE,EAAC1D,KAAA,CAAKmG,0BAA0B,CAAC,CAAC,GAAA1D,IAAA,OAAAA,IAAA;QAC5CkB,iBAAM,CAACyC,UAAU,CAACpG,KAAA,CAAK0E,KAAK,CAAC,IAAG,IAAI,EAAAjC,IAAA;QACtC,CAAE;;MAEHpE,MAAA,CAAAkF,OAAA,CAAAY,aAAA;QACEC,SAAS,EAAE,IAAAV,WAAE,EAACC,iBAAM,CAACuC,GAAG,CAAClG,KAAA,CAAK0E,KAAK,CAAC,EAAE2B,wBAAa,CAACH,GAAG,GAAAxD,IAAA,OAAAA,IAAA;QACpDiB,iBAAM,CAAC2C,UAAU,CAACtG,KAAA,CAAK0E,KAAK,CAAC,IAAG1E,KAAA,CAAKa,KAAK,CAACgD,OAAO,IAAIL,eAAe,EAAAd,IAAA;QACrEiB,iBAAM,CAAC4C,QAAQ,CAACvG,KAAA,CAAK0E,KAAK,CAAC,IAAG1E,KAAA,CAAKU,KAAK,CAACC,YAAY,EAAA+B,IAAA;QACrDiB,iBAAM,CAAC6C,QAAQ,CAACxG,KAAA,CAAK0E,KAAK,CAAC,IAAG1E,KAAA,CAAKa,KAAK,CAAC8B,KAAK,EAAAD,IAAA;QAC9CiB,iBAAM,CAAC8C,UAAU,CAACzG,KAAA,CAAK0E,KAAK,CAAC,IAAG1E,KAAA,CAAKa,KAAK,CAAC+B,OAAO,EAAAF,IAAA;QAClDiB,iBAAM,CAAC+C,WAAW,CAAC1G,KAAA,CAAK0E,KAAK,CAAC,IAAG1E,KAAA,CAAKa,KAAK,CAACmE,QAAQ,EAAAtC,IAAA;QACtD,CAAE;;MAEDc,eAAe,IAAIc,UAAU,IAAKJ;MACjC;MACF,CACN;;;MAED;QACE7F,MAAA,CAAAkF,OAAA,CAAAY,aAAA;UACE,YAAU1E,gBAAgB,CAACE,IAAK;UAChCyE,SAAS,EAAEI,SAAU;UACrB1B,YAAY,EAAEA,YAAa;UAC3BC,YAAY,EAAEA,YAAa;UAC3BC,WAAW,EAAEA,WAAY;UACzB0C,OAAO,EAAE,IAAAiB,8DAA8B,EAAC3G,KAAA,CAAKgB,KAAK,CAAE;;QAEpD3C,MAAA,CAAAkF,OAAA,CAAAY,aAAA,CAACnF,oBAAA,CAAA4H,mBAAmB,IAACC,kBAAkB,EAAE7G,KAAA,CAAK8G,UAAW;QACvDzI,MAAA,CAAAkF,OAAA,CAAAY,aAAA,cAAAgB,SAAA,CAAA5B,OAAA,MAAW2B,UAAU,IAAE,cAAY9B,SAAU,EAAC,oBAAkBD,eAAgB,GAAE;QAC/D,CAAC;QACrB+C,GAAG;QACHL;QACI,CAAC;;IAEZ,CAAC,CAAA7F,KAAA;;IAEOuF,WAAW,GAAG,UAACjE,CAAwB,EAAK;MAClD,IAAI,CAACtB,KAAA,CAAKa,KAAK,CAACmE,QAAQ,EAAE;QACxB;QACA;QACAlD,0BAAY,CAACiF,qBAAqB,YAAlCjF,0BAAY,CAACiF,qBAAqB,CAAG,YAAM;UACzC,IAAIC,wBAAW,CAACC,YAAY,EAAE;YAC5BjH,KAAA,CAAKwB,QAAQ,CAAC,EAAEb,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;UACvC;QACF,CAAC,CAAC;;QAEF,IAAIX,KAAA,CAAKa,KAAK,CAACyE,OAAO,EAAE;UACtBtF,KAAA,CAAKa,KAAK,CAACyE,OAAO,CAAChE,CAAC,CAAC;QACvB;MACF;IACF,CAAC,CAAAtB,KAAA;;IAEO8G,UAAU,GAAG,oBAAM9G,KAAA,CAAKwB,QAAQ,CAAC,EAAEb,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,GAAAX,KAAA;;IAEzDyF,UAAU,GAAG,UAACnE,CAAqC,EAAK;MAC9DtB,KAAA,CAAK8G,UAAU,CAAC,CAAC;MACjB9G,KAAA,CAAKa,KAAK,CAAC2E,MAAM,YAAjBxF,KAAA,CAAKa,KAAK,CAAC2E,MAAM,CAAGlE,CAAC,CAAC;IACxB,CAAC,CAAAtB,KAAA;;IAEOqF,YAAY,GAAG,UAAC6B,KAA0C,EAAK;MACrE,IAAMrD,OAAO,GAAGqD,KAAK,CAACC,aAAa,CAACtD,OAAO;MAC3C7D,KAAA,CAAKa,KAAK,CAACoC,aAAa,YAAxBjD,KAAA,CAAKa,KAAK,CAACoC,aAAa,CAAGY,OAAO,CAAC;;MAEnC7D,KAAA,CAAKsC,kBAAkB,CAAC,CAAC;;MAEzBtC,KAAA,CAAKa,KAAK,CAACuE,QAAQ,YAAnBpF,KAAA,CAAKa,KAAK,CAACuE,QAAQ,CAAG8B,KAAK,CAAC;IAC9B,CAAC,CAAAlH,KAAA;;IAEO2F,WAAW,GAAG,UAACrE,CAAqC,EAAK;MAC/DtB,KAAA,CAAKa,KAAK,CAAC6E,OAAO,YAAlB1F,KAAA,CAAKa,KAAK,CAAC6E,OAAO,CAAGpE,CAAC,CAAC;MACvB;MACA;MACA,IAAItB,KAAA,CAAKU,KAAK,CAACE,aAAa,KAAKgE,cAAM,IAAIC,cAAM,CAAC,EAAE;QAClD7E,KAAA,CAAKsC,kBAAkB,CAAC,CAAC;QACzB;QACA;QACA,IAAItC,KAAA,CAAKa,KAAK,CAACoC,aAAa,IAAIjD,KAAA,CAAKgB,KAAK,CAACa,OAAO,EAAE;UAClD,IAAMgC,OAAO,GAAG,CAAC7D,KAAA,CAAKgB,KAAK,CAACa,OAAO,CAACgC,OAAO;;UAE3C,IAAI7D,KAAA,CAAKa,KAAK,CAACgD,OAAO,KAAKuD,SAAS,EAAE;YACpC;YACApH,KAAA,CAAKgB,KAAK,CAACa,OAAO,CAACgC,OAAO,GAAGA,OAAO;UACtC;;UAEA7D,KAAA,CAAKa,KAAK,CAACoC,aAAa,CAACY,OAAO,CAAC;QACnC;MACF;IACF,CAAC,QAAA7D,KAAA,MAAAqH,eAAA,CAAA9D,OAAA,EAAA3D,QAAA,EAAAG,oBAAA,MAAAuH,MAAA,GAAA1H,QAAA,CAAA2H,SAAA,CAAAD,MAAA,CArSO7C,oBAAoB,GAA5B,SAAAA,qBAAA,EAA+B,CAC7B,QAAQ,IAAI,CAAC5B,IAAI,GACf,KAAK,OAAO,CACV,OAAOc,iBAAM,CAAC6D,SAAS,CAAC,IAAI,CAAC9C,KAAK,CAAC,CACrC,KAAK,QAAQ,CACX,OAAOf,iBAAM,CAAC8D,UAAU,CAAC,IAAI,CAAC/C,KAAK,CAAC,CACtC,KAAK,OAAO,CACZ,QACE,OAAOf,iBAAM,CAAC+D,SAAS,CAAC,IAAI,CAAChD,KAAK,CAAC,CACvC,CACF,CAAC,CAAA4C,MAAA,CAEOnB,0BAA0B,GAAlC,SAAAA,2BAAA,EAAqC,CACnC,QAAQ,IAAI,CAACtD,IAAI,GACf,KAAK,OAAO,CACV,OAAOc,iBAAM,CAACgE,eAAe,CAAC,IAAI,CAACjD,KAAK,CAAC,CAC3C,KAAK,QAAQ,CACX,OAAOf,iBAAM,CAACiE,gBAAgB,CAAC,IAAI,CAAClD,KAAK,CAAC,CAC5C,KAAK,OAAO,CACZ,QACE,OAAOf,iBAAM,CAACkE,eAAe,CAAC,IAAI,CAACnD,KAAK,CAAC,CAC7C,CACF,CAAC,CAAA4C,MAAA,CAEOrD,kBAAkB,GAA1B,SAAAA,mBAAA,EAA6B,CAC3B,QAAQ,IAAI,CAACpB,IAAI,GACf,KAAK,OAAO,CACV,OAAO,IAAI,CAAC6B,KAAK,CAACoD,oBAAoB,CACxC,KAAK,QAAQ,CACX,OAAO,IAAI,CAACpD,KAAK,CAACqD,qBAAqB,CACzC,KAAK,OAAO,CACZ,QACE,OAAO,IAAI,CAACrD,KAAK,CAACsD,oBAAoB,CAC1C,CACF,CAAC,CAAAV,MAAA,CA8CMW,kBAAkB,GAAzB,SAAAA,mBAA0BC,SAAwB,EAAE,CAClD,IAAIA,SAAS,CAACrE,OAAO,KAAK,IAAI,CAAChD,KAAK,CAACgD,OAAO,EAAE,CAC5C,IAAI,CAACvB,kBAAkB,CAAC,CAAC,CAC3B,CACF,CAAC,CAAAgF,MAAA,CAEMa,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACE/J,MAAA,CAAAkF,OAAA,CAAAY,aAAA,CAACzF,aAAA,CAAA2J,YAAY,CAACC,QAAQ,QACnB,UAAC5D,KAAK,EAAK,CACV0D,MAAI,CAAC1D,KAAK,GAAGA,KAAK,CAClB,oBACErG,MAAA,CAAAkF,OAAA,CAAAY,aAAA,CAACvF,cAAA,CAAA2J,aAAa,MAAApD,SAAA,CAAA5B,OAAA,IAACiF,WAAW,EAAEJ,MAAI,CAACK,WAAY,IAAKL,MAAI,CAACjH,QAAQ,CAAC,CAAC,GAC9DiH,MAAI,CAAC7F,UACO,CAAC,CAEpB,CACqB,CAAC,CAE5B,CAAC,CAED;AACF;AACA;AACA,KAHE,CAAA+E,MAAA,CAIOoB,KAAK,GAAZ,SAAAA,MAAA,EAAe,KAAAC,mBAAA,CACb3B,wBAAW,CAACC,YAAY,GAAG,IAAI,CAC/B,CAAA0B,mBAAA,OAAI,CAAC3H,KAAK,CAACa,OAAO,aAAlB8G,mBAAA,CAAoBD,KAAK,CAAC,CAAC,CAC7B,CAAC,CAED;AACF;AACA;AACA,KAHE,CAAApB,MAAA,CAIOsB,IAAI,GAAX,SAAAA,KAAA,EAAc,KAAAC,oBAAA,CACZ,CAAAA,oBAAA,OAAI,CAAC7H,KAAK,CAACa,OAAO,aAAlBgH,oBAAA,CAAoBD,IAAI,CAAC,CAAC,CAC5B,CAAC,QAAAhJ,QAAA,GAxH2BqB,cAAK,CAAC6H,aAAa,GAAAtJ,SAAA,CACjCuJ,mBAAmB,GAAG,UAAU,EAAAvJ,SAAA,CAChCwJ,WAAW,GAAG,UAAU,EAAAxJ,SAAA,MAAAD,MAAA,KAAAA,MAAA","ignoreList":[]}
@@ -4,13 +4,11 @@ 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
- import type { TextareaProps } from '../Textarea';
9
- type MultiMode = 'multiline' | 'multilineEditing';
10
- export type ComboBoxViewMode = 'singleLine' | MultiMode | ({
11
- mode: MultiMode;
12
- } & Pick<TextareaProps, 'maxRows'>);
13
- 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 type ComboBoxViewMode = 'singleline' | 'multiline' | 'multiline-editing';
11
+ export interface ComboBoxProps<T> extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>, Pick<HTMLAttributes<HTMLElement>, 'id'>, Partial<Pick<MaskedInputProps, 'mask' | 'maskChar' | 'formatChars'>>, CommonProps {
14
12
  /** Показывать иконку очистки значения в непустом поле:
15
13
  * - `always` — всегда показывать иконку
16
14
  * - `auto` — показывать иконку при hover/focus
@@ -62,7 +60,10 @@ export interface ComboBoxProps<T> extends Pick<AriaAttributes, 'aria-describedby
62
60
  onValueChange?: (value: T) => void;
63
61
  /** Задает функцию, которая вызывается при получении комбобоксом фокуса. */
64
62
  onFocus?: () => void;
65
- /** Задает функцию, которая вызывается при изменении текста в поле ввода, если результатом функции будет строка, то она станет следующим состоянием полем ввода. */
63
+ /** Задает функцию, которая вызывается при изменении текста в поле ввода, если результатом функции будет строка, то она станет следующим состоянием полем ввода.
64
+ *
65
+ * **Не рекомендуется менять значение, передаваемое в проп `value`, внутри этой функции. Используйте для этих целей `onValueChange` или `onUnexpectedInput`. Иначе возможно неожиданное поведение компонента.**
66
+ */
66
67
  onInputValueChange?: (value: string) => Nullable<string> | void;
67
68
  /** Задает функцию для обработки ввода строки в инпут и последующей потерей фокуса компонентом.
68
69
  * Функция срабатывает с аргументом инпута строки.
@@ -125,7 +126,18 @@ export interface ComboBoxProps<T> extends Pick<AriaAttributes, 'aria-describedby
125
126
  onInputKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;
126
127
  /** Задает типы вводимых данных. */
127
128
  inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode'];
129
+ /** Задает функцию, которая вызывается при вставке значения в инпут с маской. */
130
+ onBeforePasteInMask?: MaskedInputOnBeforePasteValue;
131
+ /** Режим отображения комбобокса
132
+ * - `singleline` — однострочный
133
+ * - `multiline` — многострочный
134
+ * - `multiline-editing` — многострочный только при редактировании
135
+ *
136
+ * multiline-режимы не работают, если указан проп `mask`. В таком случае будет использован однострочный режим.
137
+ * @default singleline */
128
138
  viewMode?: ComboBoxViewMode;
139
+ /** Максимальное кол-во строк для многострочных режимов отображения комбобокса */
140
+ maxRows?: number;
129
141
  }
130
142
  export interface ComboBoxItem {
131
143
  value: string;
@@ -149,6 +161,7 @@ export declare class ComboBox<T = ComboBoxItem> extends React.Component<ComboBox
149
161
  static defaultProps: DefaultProps<any>;
150
162
  private getProps;
151
163
  private comboboxElement;
164
+ getRootNode: TGetRootNode;
152
165
  private setRootNode;
153
166
  /**
154
167
  * @public
@@ -179,6 +179,23 @@ var _createPropsGetter = require("../../lib/createPropsGetter");var _class, _Com
179
179
 
180
180
 
181
181
 
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+
198
+
182
199
 
183
200
 
184
201
 
@@ -309,6 +326,7 @@ ComboBox = exports.ComboBox = (0, _rootNode.rootNode)(_class = (_ComboBox = /*#_
309
326
 
310
327
 
311
328
 
329
+
312
330
 
313
331
 
314
332
  customComboBoxRef = function (element) {
@@ -336,4 +354,4 @@ ComboBox = exports.ComboBox = (0, _rootNode.rootNode)(_class = (_ComboBox = /*#_
336
354
  */;_proto.selectInputText = function selectInputText() {if (this.comboboxElement) {this.comboboxElement.selectInputText();}} /**
337
355
  * Сбрасывает введенное пользователем значение
338
356
  * @public
339
- */;_proto.reset = function reset() {if (this.comboboxElement) {this.comboboxElement.reset();}};_proto.render = function render() {return /*#__PURE__*/_react.default.createElement(_CustomComboBox.CustomComboBox, (0, _extends2.default)({}, this.getProps(), { size: this.props.size, ref: this.customComboBoxRef }));};return ComboBox;}(_react.default.Component), _ComboBox.__KONTUR_REACT_UI__ = 'ComboBox', _ComboBox.displayName = 'ComboBox', _ComboBox.defaultProps = { itemToValue: function itemToValue(item) {return item.value;}, valueToString: function valueToString(item) {return item.label;}, renderValue: function renderValue(item) {return item.label;}, renderItem: function renderItem(item) {return item.label;}, menuAlign: 'left', searchOnFocus: true, drawArrow: true, showClearIcon: 'never', viewMode: 'singleLine' }, _ComboBox)) || _class;
357
+ */;_proto.reset = function reset() {if (this.comboboxElement) {this.comboboxElement.reset();}};_proto.render = function render() {return /*#__PURE__*/_react.default.createElement(_CustomComboBox.CustomComboBox, (0, _extends2.default)({}, this.getProps(), { size: this.props.size, ref: this.customComboBoxRef }));};return ComboBox;}(_react.default.Component), _ComboBox.__KONTUR_REACT_UI__ = 'ComboBox', _ComboBox.displayName = 'ComboBox', _ComboBox.defaultProps = { itemToValue: function itemToValue(item) {return item.value;}, valueToString: function valueToString(item) {return item.label;}, renderValue: function renderValue(item) {return item.label;}, renderItem: function renderItem(item) {return item.label;}, menuAlign: 'left', searchOnFocus: true, drawArrow: true, showClearIcon: 'never', viewMode: 'singleline' }, _ComboBox)) || _class;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_CustomComboBox","_rootNode","_createPropsGetter","_class","_ComboBox","ComboBox","exports","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","comboboxElement","customComboBoxRef","element","setRootNode","_inheritsLoose2","default","_proto","prototype","focus","opts","blur","search","query","cancelSearch","open","close","selectInputText","reset","render","createElement","CustomComboBox","_extends2","size","props","ref","React","Component","__KONTUR_REACT_UI__","displayName","itemToValue","item","value","valueToString","label","renderValue","renderItem","menuAlign","searchOnFocus","drawArrow","showClearIcon","viewMode"],"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';\nimport type { TextareaProps } from '../Textarea';\n\ntype MultiMode = 'multiline' | 'multilineEditing';\nexport type ComboBoxViewMode = 'singleLine' | MultiMode | ({ mode: MultiMode } & Pick<TextareaProps, 'maxRows'>);\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 viewMode?: ComboBoxViewMode;\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 | 'viewMode'\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 viewMode: 'singleLine',\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","_interopRequireDefault","require","_CustomComboBox","_rootNode","_createPropsGetter","_class","_ComboBox","ComboBox","exports","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","createPropsGetter","defaultProps","comboboxElement","customComboBoxRef","element","setRootNode","_inheritsLoose2","default","_proto","prototype","focus","opts","blur","search","query","cancelSearch","open","close","selectInputText","reset","render","createElement","CustomComboBox","_extends2","size","props","ref","React","Component","__KONTUR_REACT_UI__","displayName","itemToValue","item","value","valueToString","label","renderValue","renderItem","menuAlign","searchOnFocus","drawArrow","showClearIcon","viewMode"],"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 type ComboBoxViewMode = 'singleline' | 'multiline' | 'multiline-editing';\n\nexport interface ComboBoxProps<T>\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\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 *\n * **Не рекомендуется менять значение, передаваемое в проп `value`, внутри этой функции. Используйте для этих целей `onValueChange` или `onUnexpectedInput`. Иначе возможно неожиданное поведение компонента.**\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 onBeforePasteInMask?: MaskedInputOnBeforePasteValue;\n\n /** Режим отображения комбобокса\n * - `singleline` — однострочный\n * - `multiline` — многострочный\n * - `multiline-editing` — многострочный только при редактировании\n *\n * multiline-режимы не работают, если указан проп `mask`. В таком случае будет использован однострочный режим.\n * @default singleline */\n viewMode?: ComboBoxViewMode;\n\n /** Максимальное кол-во строк для многострочных режимов отображения комбобокса */\n maxRows?: number;\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 | 'viewMode'\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 viewMode: 'singleline',\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 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":[]}
@@ -3,6 +3,7 @@ import React from 'react';
3
3
  import type { InputProps } from '../Input';
4
4
  import type { Nullable, Override } from '../../typings/utility-types';
5
5
  import type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
6
+ import type { TGetRootNode } from '../../lib/rootNode';
6
7
  import type { Selection } from './SelectionHelper';
7
8
  export interface CurrencyInputProps extends Pick<AriaAttributes, 'aria-label'>, CommonProps, Override<Omit<InputProps, 'showClearIcon'>, {
8
9
  /** Задает значение инпута. */
@@ -39,6 +40,9 @@ type DefaultProps = Required<Pick<CurrencyInputProps, 'align' | 'fractionDigits'
39
40
  *
40
41
  * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).
41
42
  *
43
+ * **Почему 15?** Максимальное безопасное целочисленное значение - 9007199254740991 (16 цифр). Убрав один разряд под знак, мы получим "новое" максимальное безопасное значение - 999999999999999 (15 цифр).
44
+ * При этом десятичный резделитель может находиться в любом месте. Если целая часть равна 0, то она не учитывается. Детали можно почитать здесь - [MDN web docs](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER).
45
+ *
42
46
  * Если `fractionDigits=15`, то в целой части допускается **0**.
43
47
  */
44
48
  export declare class CurrencyInput extends React.PureComponent<CurrencyInputProps, CurrencyInputState> {
@@ -50,6 +54,7 @@ export declare class CurrencyInput extends React.PureComponent<CurrencyInputProp
50
54
  state: CurrencyInputState;
51
55
  private input;
52
56
  private tempSelectionForOnChange;
57
+ getRootNode: TGetRootNode;
53
58
  private setRootNode;
54
59
  componentDidMount(): void;
55
60
  componentDidUpdate(prevProps: CurrencyInputProps, prevState: CurrencyInputState): void;
@@ -76,6 +76,9 @@ var CurrencyInputDataTids = exports.CurrencyInputDataTids = {
76
76
  *
77
77
  * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).
78
78
  *
79
+ * **Почему 15?** Максимальное безопасное целочисленное значение - 9007199254740991 (16 цифр). Убрав один разряд под знак, мы получим "новое" максимальное безопасное значение - 999999999999999 (15 цифр).
80
+ * При этом десятичный резделитель может находиться в любом месте. Если целая часть равна 0, то она не учитывается. Детали можно почитать здесь - [MDN web docs](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER).
81
+ *
79
82
  * Если `fractionDigits=15`, то в целой части допускается **0**.
80
83
  */var
81
84
 
@@ -105,6 +108,9 @@ CurrencyInput = exports.CurrencyInput = (0, _rootNode.rootNode)(_class = (_Curre
105
108
 
106
109
 
107
110
 
111
+
112
+
113
+
108
114
  state = (0, _extends2.default)({},
109
115
  _this.getState(_this.getProps().value, _this.getProps().fractionDigits, _this.getProps().hideTrailingZeros), {
110
116
  focused: false });_this.
@@ -147,6 +153,7 @@ CurrencyInput = exports.CurrencyInput = (0, _rootNode.rootNode)(_class = (_Curre
147
153
 
148
154
 
149
155
 
156
+
150
157
 
151
158
 
152
159
  renderMain = function (props) {
@@ -400,6 +407,7 @@ CurrencyInput = exports.CurrencyInput = (0, _rootNode.rootNode)(_class = (_Curre
400
407
  var selection = _this.getSelection(event.target);
401
408
  _this.inputValue(selection.start, selection.end, data);
402
409
  event.preventDefault();
410
+ _this.props.onPaste == null || _this.props.onPaste(event);
403
411
  };_this.
404
412
 
405
413
  handleCopy = function (event) {
@@ -459,7 +467,7 @@ CurrencyInput = exports.CurrencyInput = (0, _rootNode.rootNode)(_class = (_Curre
459
467
 
460
468
  refInput = function (element) {
461
469
  _this.input = element;
462
- };return _this;}(0, _inheritsLoose2.default)(CurrencyInput, _React$PureComponent);var _proto = CurrencyInput.prototype;_proto.validateProps = function validateProps(props) {(0, _warning.default)(isNumeric(props.value), '[CurrencyInput]: Prop `value` is not a valid number');(0, _warning.default)(props.maxLength === undefined, "[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'");(0, _warning.default)((props.integerDigits || 0) + (props.fractionDigits || 0) <= _constants.MAX_SAFE_DIGITS, "[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds " + _constants.MAX_SAFE_DIGITS + "." + "\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15");};_proto.componentDidMount = function componentDidMount() {this.validateProps(this.getProps());};_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {var _this$getProps = this.getProps(),value = _this$getProps.value,fractionDigits = _this$getProps.fractionDigits,hideTrailingZeros = _this$getProps.hideTrailingZeros;this.validateProps(this.getProps());if (isNumeric(value) && Number(value) !== _CurrencyHelper.CurrencyHelper.parse(prevState.formatted) || prevProps.fractionDigits !== fractionDigits) {this.setState(this.getState(value, fractionDigits, hideTrailingZeros));}if ((0, _utils.isNonNullable)(prevProps.value) && (0, _utils.isNullable)(value)) {this.setState({ formatted: '' });}if (this.state.focused && this.input) {var _this$state$selection = this.state.selection,start = _this$state$selection.start,end = _this$state$selection.end;this.input.setSelectionRange(start, end);}if (prevState.selection !== this.state.selection) {this.scrollInput();}};_proto.render = function render() {return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.getProps()), this.renderMain);};_proto.getState = function getState(value, fractionDigits, hideTrailingZeros) {return { formatted: _CurrencyHelper.CurrencyHelper.format(value, { fractionDigits: fractionDigits, hideTrailingZeros: hideTrailingZeros }), selection: _SelectionHelper.SelectionHelper.fromPosition(0) };};_proto.setSelectionFromEvent = function setSelectionFromEvent(event) {var selection = getInputSelectionFromEvent(event.target);var normilized = _CurrencyInputHelper.CurrencyInputHelper.normalizeSelection(this.state.formatted, selection);this.setState({ selection: normilized });};return CurrencyInput;}(_react.default.PureComponent), _CurrencyInput.__KONTUR_REACT_UI__ = 'CurrencyInput', _CurrencyInput.displayName = 'CurrencyInput', _CurrencyInput.defaultProps = { align: 'right', fractionDigits: 2, hideTrailingZeros: false, value: null, inputMode: 'decimal' }, _CurrencyInput)) || _class;
470
+ };return _this;}(0, _inheritsLoose2.default)(CurrencyInput, _React$PureComponent);var _proto = CurrencyInput.prototype;_proto.validateProps = function validateProps(props) {(0, _warning.default)(isNumeric(props.value) || (0, _utils.isNullable)(props.value), '[CurrencyInput]: Prop `value` is not a valid number. Received value is `' + props.value + '`.');(0, _warning.default)(props.maxLength === undefined, "[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'");(0, _warning.default)((props.integerDigits || 0) + (props.fractionDigits || 0) <= _constants.MAX_SAFE_DIGITS, "[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds " + _constants.MAX_SAFE_DIGITS + "." + "\nSee CurrencyInput documentation");};_proto.componentDidMount = function componentDidMount() {this.validateProps(this.getProps());};_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {var _this$getProps = this.getProps(),value = _this$getProps.value,fractionDigits = _this$getProps.fractionDigits,hideTrailingZeros = _this$getProps.hideTrailingZeros;this.validateProps(this.getProps());if (isNumeric(value) && Number(value) !== _CurrencyHelper.CurrencyHelper.parse(prevState.formatted) || prevProps.fractionDigits !== fractionDigits) {this.setState(this.getState(value, fractionDigits, hideTrailingZeros));}if ((0, _utils.isNonNullable)(prevProps.value) && (0, _utils.isNullable)(value)) {this.setState({ formatted: '' });}if (this.state.focused && this.input) {var _this$state$selection = this.state.selection,start = _this$state$selection.start,end = _this$state$selection.end;this.input.setSelectionRange(start, end);}if (prevState.selection !== this.state.selection) {this.scrollInput();}};_proto.render = function render() {return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.getProps()), this.renderMain);};_proto.getState = function getState(value, fractionDigits, hideTrailingZeros) {return { formatted: _CurrencyHelper.CurrencyHelper.format(value, { fractionDigits: fractionDigits, hideTrailingZeros: hideTrailingZeros }), selection: _SelectionHelper.SelectionHelper.fromPosition(0) };};_proto.setSelectionFromEvent = function setSelectionFromEvent(event) {var selection = getInputSelectionFromEvent(event.target);var normilized = _CurrencyInputHelper.CurrencyInputHelper.normalizeSelection(this.state.formatted, selection);this.setState({ selection: normilized });};return CurrencyInput;}(_react.default.PureComponent), _CurrencyInput.__KONTUR_REACT_UI__ = 'CurrencyInput', _CurrencyInput.displayName = 'CurrencyInput', _CurrencyInput.defaultProps = { align: 'right', fractionDigits: 2, hideTrailingZeros: false, value: null, inputMode: 'decimal' }, _CurrencyInput)) || _class;
463
471
 
464
472
 
465
473
  function getInputSelectionFromEvent(input) {var _input$selectionStart, _input$selectionEnd;