@skbkontur/react-ui 0.0.0-6dd088a035 → 0.0.0-70dd810c5c

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