@skbkontur/react-ui 6.0.2-19ca1.0 → 6.0.3

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 (660) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +10 -10
  3. package/components/Autocomplete/Autocomplete.d.ts +2 -2
  4. package/components/Autocomplete/Autocomplete.js +16 -16
  5. package/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/components/Autocomplete/getAutocompleteTheme.js.map +1 -1
  7. package/components/Autocomplete/locale/index.js.map +1 -1
  8. package/components/Button/Button.d.ts +3 -3
  9. package/components/Button/Button.js +9 -9
  10. package/components/Button/Button.js.map +1 -1
  11. package/components/Button/Button.styles.js +2 -2
  12. package/components/Button/Button.styles.js.map +1 -1
  13. package/components/Button/ButtonArrow.d.ts +1 -1
  14. package/components/Button/ButtonArrow.js +2 -2
  15. package/components/Button/ButtonArrow.js.map +1 -1
  16. package/components/Button/ButtonIcon.js +1 -1
  17. package/components/Button/ButtonIcon.js.map +1 -1
  18. package/components/Button/LoadingButtonIcon.js +1 -1
  19. package/components/Button/LoadingButtonIcon.js.map +1 -1
  20. package/components/Button/getInnerLinkTheme.js.map +1 -1
  21. package/components/Calendar/Calendar.d.ts +2 -2
  22. package/components/Calendar/Calendar.js +13 -13
  23. package/components/Calendar/Calendar.js.map +1 -1
  24. package/components/Calendar/CalendarContext.d.ts +1 -1
  25. package/components/Calendar/CalendarContext.js.map +1 -1
  26. package/components/Calendar/CalendarDay.d.ts +1 -2
  27. package/components/Calendar/CalendarDay.js +7 -7
  28. package/components/Calendar/CalendarDay.js.map +1 -1
  29. package/components/Calendar/CalendarUtils.d.ts +2 -2
  30. package/components/Calendar/CalendarUtils.js +1 -1
  31. package/components/Calendar/CalendarUtils.js.map +1 -1
  32. package/components/Calendar/DayCellView.js +2 -2
  33. package/components/Calendar/DayCellView.js.map +1 -1
  34. package/components/Calendar/DayCellView.styles.js +1 -1
  35. package/components/Calendar/DayCellView.styles.js.map +1 -1
  36. package/components/Calendar/Month.js +4 -4
  37. package/components/Calendar/Month.js.map +1 -1
  38. package/components/Calendar/MonthView.js +5 -5
  39. package/components/Calendar/MonthView.js.map +1 -1
  40. package/components/Calendar/MonthViewModel.js.map +1 -1
  41. package/components/Calendar/config.js.map +1 -1
  42. package/components/Center/Center.d.ts +1 -1
  43. package/components/Center/Center.js +1 -1
  44. package/components/Center/Center.js.map +1 -1
  45. package/components/Checkbox/Checkbox.d.ts +1 -1
  46. package/components/Checkbox/Checkbox.js +5 -5
  47. package/components/Checkbox/Checkbox.js.map +1 -1
  48. package/components/Checkbox/Checkbox.styles.js.map +1 -1
  49. package/components/Checkbox/CheckedIcon.js +1 -1
  50. package/components/Checkbox/CheckedIcon.js.map +1 -1
  51. package/components/ComboBox/ComboBox.d.ts +3 -3
  52. package/components/ComboBox/ComboBox.js +1 -1
  53. package/components/ComboBox/ComboBox.js.map +1 -1
  54. package/components/CurrencyInput/CurrencyHelper.js +1 -1
  55. package/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  56. package/components/CurrencyInput/CurrencyInput.d.ts +2 -2
  57. package/components/CurrencyInput/CurrencyInput.js +6 -6
  58. package/components/CurrencyInput/CurrencyInput.js.map +1 -1
  59. package/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  60. package/components/CurrencyLabel/CurrencyLabel.js +2 -2
  61. package/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  62. package/components/DateInput/DateFragmentsView.d.ts +1 -1
  63. package/components/DateInput/DateFragmentsView.js +1 -1
  64. package/components/DateInput/DateFragmentsView.js.map +1 -1
  65. package/components/DateInput/DateInput.d.ts +1 -1
  66. package/components/DateInput/DateInput.js +9 -8
  67. package/components/DateInput/DateInput.js.map +1 -1
  68. package/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  69. package/components/DatePicker/DatePicker.d.ts +2 -2
  70. package/components/DatePicker/DatePicker.js +16 -16
  71. package/components/DatePicker/DatePicker.js.map +1 -1
  72. package/components/DatePicker/DatePicker.styles.js.map +1 -1
  73. package/components/DatePicker/MobilePicker.js +6 -6
  74. package/components/DatePicker/MobilePicker.js.map +1 -1
  75. package/components/DatePicker/getMobilePickerTheme.js.map +1 -1
  76. package/components/DatePicker/locale/index.js.map +1 -1
  77. package/components/DatePicker/locale/locales/en.js +1 -1
  78. package/components/DatePicker/locale/locales/en.js.map +1 -1
  79. package/components/DatePicker/locale/locales/ru.js +1 -1
  80. package/components/DatePicker/locale/locales/ru.js.map +1 -1
  81. package/components/DateRangePicker/DateRangePicker.d.ts +19 -19
  82. package/components/DateRangePicker/DateRangePicker.js +17 -17
  83. package/components/DateRangePicker/DateRangePicker.js.map +1 -1
  84. package/components/DateRangePicker/DateRangePicker.styles.d.ts +1 -1
  85. package/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
  86. package/components/DateRangePicker/DateRangePickerContext.d.ts +1 -1
  87. package/components/DateRangePicker/DateRangePickerContext.js.map +1 -1
  88. package/components/DateRangePicker/DateRangePickerInput.d.ts +1 -1
  89. package/components/DateRangePicker/DateRangePickerInput.js +3 -3
  90. package/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  91. package/components/DateRangePicker/DateRangePickerTheme.js.map +1 -1
  92. package/components/DateRangePicker/helpers/getStateForValue.js +2 -2
  93. package/components/DateRangePicker/helpers/getStateForValue.js.map +1 -1
  94. package/components/DateRangePicker/helpers/validateDateRangePicker.js +3 -3
  95. package/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
  96. package/components/DateRangePicker/locale/index.js.map +1 -1
  97. package/components/DateRangePicker/locale/locales/en.js.map +1 -1
  98. package/components/DateRangePicker/locale/locales/ru.js.map +1 -1
  99. package/components/Dropdown/Dropdown.d.ts +2 -2
  100. package/components/Dropdown/Dropdown.js +3 -3
  101. package/components/Dropdown/Dropdown.js.map +1 -1
  102. package/components/Dropdown/getDropdownTheme.js.map +1 -1
  103. package/components/DropdownMenu/DropdownMenu.d.ts +2 -2
  104. package/components/DropdownMenu/DropdownMenu.js +3 -3
  105. package/components/DropdownMenu/DropdownMenu.js.map +1 -1
  106. package/components/DropdownMenu/getDropdownMenuTheme.js.map +1 -1
  107. package/components/FileUploader/FileUploader.d.ts +5 -5
  108. package/components/FileUploader/FileUploader.js +22 -20
  109. package/components/FileUploader/FileUploader.js.map +1 -1
  110. package/components/FileUploader/FileUploader.styles.js.map +1 -1
  111. package/components/FileUploader/FileUploaderControlContext.d.ts +1 -1
  112. package/components/FileUploader/FileUploaderControlContext.js.map +1 -1
  113. package/components/FileUploader/FileUploaderControlProvider.d.ts +1 -1
  114. package/components/FileUploader/FileUploaderControlProvider.js +3 -3
  115. package/components/FileUploader/FileUploaderControlProvider.js.map +1 -1
  116. package/components/FileUploader/FileUploaderFile.js +11 -11
  117. package/components/FileUploader/FileUploaderFile.js.map +1 -1
  118. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.d.ts +1 -1
  119. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js +5 -5
  120. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  121. package/components/FileUploader/FileUploaderFileStatusIcon.js +3 -3
  122. package/components/FileUploader/FileUploaderFileStatusIcon.js.map +1 -1
  123. package/components/FileUploader/FileUploaderFileTypeIcon.js +4 -4
  124. package/components/FileUploader/FileUploaderFileTypeIcon.js.map +1 -1
  125. package/components/FileUploader/fileUtils.js.map +1 -1
  126. package/components/FileUploader/hooks/useUpload.js +1 -1
  127. package/components/FileUploader/hooks/useUpload.js.map +1 -1
  128. package/components/FileUploader/icons/UploadIcon.js +1 -1
  129. package/components/FileUploader/icons/UploadIcon.js.map +1 -1
  130. package/components/FileUploader/icons/row/ArchiveIcon.js +1 -1
  131. package/components/FileUploader/icons/row/ArchiveIcon.js.map +1 -1
  132. package/components/FileUploader/icons/row/DocTextIcon.js +1 -1
  133. package/components/FileUploader/icons/row/DocTextIcon.js.map +1 -1
  134. package/components/FileUploader/icons/row/FolderIcon.js +1 -1
  135. package/components/FileUploader/icons/row/FolderIcon.js.map +1 -1
  136. package/components/FileUploader/icons/row/MarkupIcon.js +1 -1
  137. package/components/FileUploader/icons/row/MarkupIcon.js.map +1 -1
  138. package/components/FileUploader/icons/row/PdfIcon.js +1 -1
  139. package/components/FileUploader/icons/row/PdfIcon.js.map +1 -1
  140. package/components/FileUploader/icons/row/PictureIcon.js +1 -1
  141. package/components/FileUploader/icons/row/PictureIcon.js.map +1 -1
  142. package/components/FileUploader/icons/row/PresentationIcon.js +1 -1
  143. package/components/FileUploader/icons/row/PresentationIcon.js.map +1 -1
  144. package/components/FileUploader/icons/row/TableIcon.js +1 -1
  145. package/components/FileUploader/icons/row/TableIcon.js.map +1 -1
  146. package/components/FileUploader/icons/row/TextIcon.js +1 -1
  147. package/components/FileUploader/icons/row/TextIcon.js.map +1 -1
  148. package/components/FileUploader/icons/tile/ArchiveIcon.js +1 -1
  149. package/components/FileUploader/icons/tile/ArchiveIcon.js.map +1 -1
  150. package/components/FileUploader/icons/tile/DocTextIcon.js +1 -1
  151. package/components/FileUploader/icons/tile/DocTextIcon.js.map +1 -1
  152. package/components/FileUploader/icons/tile/FolderIcon.js +1 -1
  153. package/components/FileUploader/icons/tile/FolderIcon.js.map +1 -1
  154. package/components/FileUploader/icons/tile/MarkupIcon.js +1 -1
  155. package/components/FileUploader/icons/tile/MarkupIcon.js.map +1 -1
  156. package/components/FileUploader/icons/tile/PdfIcon.js +1 -1
  157. package/components/FileUploader/icons/tile/PdfIcon.js.map +1 -1
  158. package/components/FileUploader/icons/tile/PictureIcon.js +1 -1
  159. package/components/FileUploader/icons/tile/PictureIcon.js.map +1 -1
  160. package/components/FileUploader/icons/tile/PresentationIcon.js +1 -1
  161. package/components/FileUploader/icons/tile/PresentationIcon.js.map +1 -1
  162. package/components/FileUploader/icons/tile/TableIcon.js +1 -1
  163. package/components/FileUploader/icons/tile/TableIcon.js.map +1 -1
  164. package/components/FileUploader/icons/tile/TextIcon.js +1 -1
  165. package/components/FileUploader/icons/tile/TextIcon.js.map +1 -1
  166. package/components/FileUploader/locale/index.js.map +1 -1
  167. package/components/FileUploader/withFileUploaderControlProvider.js.map +1 -1
  168. package/components/FxInput/FxInput.d.ts +6 -6
  169. package/components/FxInput/FxInput.js +6 -6
  170. package/components/FxInput/FxInput.js.map +1 -1
  171. package/components/FxInput/FxInputRestoreBtn.d.ts +1 -1
  172. package/components/FxInput/FxInputRestoreBtn.js +1 -1
  173. package/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  174. package/components/FxInput/UndoIcon.js +2 -2
  175. package/components/FxInput/UndoIcon.js.map +1 -1
  176. package/components/Gapped/Gapped.js +2 -2
  177. package/components/Gapped/Gapped.js.map +1 -1
  178. package/components/GlobalLoader/GlobalLoader.js +3 -3
  179. package/components/GlobalLoader/GlobalLoader.js.map +1 -1
  180. package/components/GlobalLoader/GlobalLoaderView.js +2 -2
  181. package/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  182. package/components/GlobalLoader/useParams.js.map +1 -1
  183. package/components/Group/Group.js +2 -2
  184. package/components/Group/Group.js.map +1 -1
  185. package/components/Hint/Hint.d.ts +4 -4
  186. package/components/Hint/Hint.js +5 -5
  187. package/components/Hint/Hint.js.map +1 -1
  188. package/components/Hint/Hint.styles.js.map +1 -1
  189. package/components/Input/Input.d.ts +1 -1
  190. package/components/Input/Input.js +7 -8
  191. package/components/Input/Input.js.map +1 -1
  192. package/components/Input/Input.styles.js +1 -1
  193. package/components/Input/Input.styles.js.map +1 -1
  194. package/components/Input/InputLayout/InputLayout.d.ts +1 -1
  195. package/components/Input/InputLayout/InputLayout.js +4 -4
  196. package/components/Input/InputLayout/InputLayout.js.map +1 -1
  197. package/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  198. package/components/Input/InputLayout/InputLayoutAsideIcon.js +2 -2
  199. package/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  200. package/components/Input/InputLayout/InputLayoutAsideText.js +1 -1
  201. package/components/Input/InputLayout/InputLayoutAsideText.js.map +1 -1
  202. package/components/Kebab/Kebab.d.ts +3 -3
  203. package/components/Kebab/Kebab.js +11 -11
  204. package/components/Kebab/Kebab.js.map +1 -1
  205. package/components/Link/Link.d.ts +3 -3
  206. package/components/Link/Link.js +6 -6
  207. package/components/Link/Link.js.map +1 -1
  208. package/components/Link/Link.styles.js +1 -1
  209. package/components/Link/Link.styles.js.map +1 -1
  210. package/components/Link/LinkIcon.js.map +1 -1
  211. package/components/Loader/Loader.d.ts +2 -2
  212. package/components/Loader/Loader.js +10 -10
  213. package/components/Loader/Loader.js.map +1 -1
  214. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +4 -4
  215. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  216. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js +1 -1
  217. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js.map +1 -1
  218. package/components/MaskedInput/FixedIMaskInput.js +2 -2
  219. package/components/MaskedInput/FixedIMaskInput.js.map +1 -1
  220. package/components/MaskedInput/MaskedInput.js +5 -5
  221. package/components/MaskedInput/MaskedInput.js.map +1 -1
  222. package/components/MaskedInput/MaskedInput.styles.js +1 -1
  223. package/components/MaskedInput/MaskedInput.styles.js.map +1 -1
  224. package/components/MenuFooter/MenuFooter.js +2 -2
  225. package/components/MenuFooter/MenuFooter.js.map +1 -1
  226. package/components/MenuFooter/MenuFooter.styles.js.map +1 -1
  227. package/components/MenuHeader/MenuHeader.js +2 -2
  228. package/components/MenuHeader/MenuHeader.js.map +1 -1
  229. package/components/MenuHeader/MenuHeader.styles.js.map +1 -1
  230. package/components/MenuItem/MenuItem.d.ts +1 -1
  231. package/components/MenuItem/MenuItem.js +6 -6
  232. package/components/MenuItem/MenuItem.js.map +1 -1
  233. package/components/MenuItem/MenuItem.styles.js +1 -1
  234. package/components/MenuItem/MenuItem.styles.js.map +1 -1
  235. package/components/MenuSeparator/MenuSeparator.js +2 -2
  236. package/components/MenuSeparator/MenuSeparator.js.map +1 -1
  237. package/components/MiniModal/MiniModal.d.ts +2 -2
  238. package/components/MiniModal/MiniModal.js +3 -3
  239. package/components/MiniModal/MiniModal.js.map +1 -1
  240. package/components/MiniModal/MiniModalBody.js +2 -2
  241. package/components/MiniModal/MiniModalBody.js.map +1 -1
  242. package/components/MiniModal/MiniModalFooter.js +3 -3
  243. package/components/MiniModal/MiniModalFooter.js.map +1 -1
  244. package/components/MiniModal/MiniModalHeader.js +4 -4
  245. package/components/MiniModal/MiniModalHeader.js.map +1 -1
  246. package/components/MiniModal/MiniModalIndent.js +2 -2
  247. package/components/MiniModal/MiniModalIndent.js.map +1 -1
  248. package/components/MiniModal/getMiniModalTheme.js.map +1 -1
  249. package/components/Modal/Modal.d.ts +2 -2
  250. package/components/Modal/Modal.js +15 -15
  251. package/components/Modal/Modal.js.map +1 -1
  252. package/components/Modal/Modal.styles.js +1 -1
  253. package/components/Modal/Modal.styles.js.map +1 -1
  254. package/components/Modal/ModalBody.js +7 -7
  255. package/components/Modal/ModalBody.js.map +1 -1
  256. package/components/Modal/ModalClose.js +6 -6
  257. package/components/Modal/ModalClose.js.map +1 -1
  258. package/components/Modal/ModalFooter.d.ts +1 -1
  259. package/components/Modal/ModalFooter.js +5 -5
  260. package/components/Modal/ModalFooter.js.map +1 -1
  261. package/components/Modal/ModalHeader.d.ts +1 -1
  262. package/components/Modal/ModalHeader.js +2 -2
  263. package/components/Modal/ModalHeader.js.map +1 -1
  264. package/components/Modal/ModalSeparator.js.map +1 -1
  265. package/components/Modal/getModalBodyTheme.js.map +1 -1
  266. package/components/Modal/getModalTheme.js.map +1 -1
  267. package/components/Modal/locale/index.js.map +1 -1
  268. package/components/Paging/DotsIcon.js +1 -1
  269. package/components/Paging/DotsIcon.js.map +1 -1
  270. package/components/Paging/Paging.d.ts +1 -1
  271. package/components/Paging/Paging.js +13 -13
  272. package/components/Paging/Paging.js.map +1 -1
  273. package/components/Paging/PagingDefaultComponent.js.map +1 -1
  274. package/components/Paging/locale/index.js.map +1 -1
  275. package/components/PasswordInput/ClosedIcon.js +1 -1
  276. package/components/PasswordInput/ClosedIcon.js.map +1 -1
  277. package/components/PasswordInput/OpenedIcon.js +1 -1
  278. package/components/PasswordInput/OpenedIcon.js.map +1 -1
  279. package/components/PasswordInput/PasswordInput.d.ts +1 -1
  280. package/components/PasswordInput/PasswordInput.js +8 -8
  281. package/components/PasswordInput/PasswordInput.js.map +1 -1
  282. package/components/PasswordInput/PasswordInput.styles.js.map +1 -1
  283. package/components/PasswordInput/PasswordInputIcon.js.map +1 -1
  284. package/components/PasswordInput/locale/index.js.map +1 -1
  285. package/components/Radio/Radio.d.ts +2 -2
  286. package/components/Radio/Radio.js +6 -6
  287. package/components/Radio/Radio.js.map +1 -1
  288. package/components/Radio/Radio.mixins.js +1 -1
  289. package/components/Radio/Radio.mixins.js.map +1 -1
  290. package/components/Radio/Radio.styles.js.map +1 -1
  291. package/components/RadioGroup/RadioGroup.js +7 -7
  292. package/components/RadioGroup/RadioGroup.js.map +1 -1
  293. package/components/ResponsiveLayout/ResponsiveLayout.js +2 -2
  294. package/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  295. package/components/ResponsiveLayout/useResponsiveLayout.js.map +1 -1
  296. package/components/ScrollContainer/ScrollBar.js +2 -2
  297. package/components/ScrollContainer/ScrollBar.js.map +1 -1
  298. package/components/ScrollContainer/ScrollContainer.d.ts +1 -1
  299. package/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -1
  300. package/components/ScrollContainer/ScrollContainer.js +8 -8
  301. package/components/ScrollContainer/ScrollContainer.js.map +1 -1
  302. package/components/Select/Select.d.ts +4 -4
  303. package/components/Select/Select.js +17 -17
  304. package/components/Select/Select.js.map +1 -1
  305. package/components/Select/locale/index.js.map +1 -1
  306. package/components/Select/selectTheme.js.map +1 -1
  307. package/components/SidePage/SidePage.js +11 -11
  308. package/components/SidePage/SidePage.js.map +1 -1
  309. package/components/SidePage/SidePage.styles.js +1 -1
  310. package/components/SidePage/SidePage.styles.js.map +1 -1
  311. package/components/SidePage/SidePageBody.js +2 -2
  312. package/components/SidePage/SidePageBody.js.map +1 -1
  313. package/components/SidePage/SidePageCloseButton.js +5 -5
  314. package/components/SidePage/SidePageCloseButton.js.map +1 -1
  315. package/components/SidePage/SidePageContainer.js +3 -3
  316. package/components/SidePage/SidePageContainer.js.map +1 -1
  317. package/components/SidePage/SidePageFooter.js +6 -6
  318. package/components/SidePage/SidePageFooter.js.map +1 -1
  319. package/components/SidePage/SidePageHeader.js +7 -7
  320. package/components/SidePage/SidePageHeader.js.map +1 -1
  321. package/components/SidePage/locale/index.js.map +1 -1
  322. package/components/SingleToast/SingleToast.js +2 -1
  323. package/components/SingleToast/SingleToast.js.map +1 -1
  324. package/components/Spinner/Spinner.js +3 -3
  325. package/components/Spinner/Spinner.js.map +1 -1
  326. package/components/Spinner/Spinner.styles.js +1 -1
  327. package/components/Spinner/Spinner.styles.js.map +1 -1
  328. package/components/Sticky/Sticky.d.ts +1 -1
  329. package/components/Sticky/Sticky.js +5 -5
  330. package/components/Sticky/Sticky.js.map +1 -1
  331. package/components/Switcher/Switcher.d.ts +2 -2
  332. package/components/Switcher/Switcher.js +6 -6
  333. package/components/Switcher/Switcher.js.map +1 -1
  334. package/components/Switcher/switcherTheme.js.map +1 -1
  335. package/components/Tabs/Indicator.js +5 -5
  336. package/components/Tabs/Indicator.js.map +1 -1
  337. package/components/Tabs/Tab.d.ts +1 -1
  338. package/components/Tabs/Tab.js +8 -8
  339. package/components/Tabs/Tab.js.map +1 -1
  340. package/components/Tabs/Tab.styles.js +1 -1
  341. package/components/Tabs/Tab.styles.js.map +1 -1
  342. package/components/Tabs/Tabs.js +4 -4
  343. package/components/Tabs/Tabs.js.map +1 -1
  344. package/components/Tabs/Tabs.styles.js.map +1 -1
  345. package/components/Tabs/TabsContext.js.map +1 -1
  346. package/components/Textarea/Textarea.d.ts +1 -1
  347. package/components/Textarea/Textarea.js +9 -9
  348. package/components/Textarea/Textarea.js.map +1 -1
  349. package/components/Textarea/Textarea.styles.js.map +1 -1
  350. package/components/Textarea/TextareaCounter.js +3 -3
  351. package/components/Textarea/TextareaCounter.js.map +1 -1
  352. package/components/Toast/Toast.d.ts +2 -2
  353. package/components/Toast/Toast.js +4 -4
  354. package/components/Toast/Toast.js.map +1 -1
  355. package/components/Toast/ToastView.d.ts +1 -1
  356. package/components/Toast/ToastView.js +7 -7
  357. package/components/Toast/ToastView.js.map +1 -1
  358. package/components/Toast/locale/index.js.map +1 -1
  359. package/components/Toggle/Toggle.d.ts +1 -1
  360. package/components/Toggle/Toggle.js +5 -5
  361. package/components/Toggle/Toggle.js.map +1 -1
  362. package/components/Toggle/Toggle.mixins.js.map +1 -1
  363. package/components/Toggle/Toggle.styles.js.map +1 -1
  364. package/components/Token/Token.js +7 -7
  365. package/components/Token/Token.js.map +1 -1
  366. package/components/Token/Token.styles.js.map +1 -1
  367. package/components/Token/TokenView.d.ts +1 -1
  368. package/components/Token/TokenView.js +2 -2
  369. package/components/Token/TokenView.js.map +1 -1
  370. package/components/Token/locale/index.js.map +1 -1
  371. package/components/TokenInput/TextWidthHelper.js +2 -2
  372. package/components/TokenInput/TextWidthHelper.js.map +1 -1
  373. package/components/TokenInput/TokenInput.d.ts +2 -2
  374. package/components/TokenInput/TokenInput.js +13 -13
  375. package/components/TokenInput/TokenInput.js.map +1 -1
  376. package/components/TokenInput/TokenInput.styles.js +2 -2
  377. package/components/TokenInput/TokenInput.styles.js.map +1 -1
  378. package/components/TokenInput/TokenInputMenu.d.ts +2 -2
  379. package/components/TokenInput/TokenInputMenu.js +2 -2
  380. package/components/TokenInput/TokenInputMenu.js.map +1 -1
  381. package/components/TokenInput/TokenInputReducer.js.map +1 -1
  382. package/components/TokenInput/locale/index.js.map +1 -1
  383. package/components/Tooltip/Tooltip.d.ts +3 -3
  384. package/components/Tooltip/Tooltip.js +9 -9
  385. package/components/Tooltip/Tooltip.js.map +1 -1
  386. package/components/TooltipMenu/TooltipMenu.d.ts +4 -4
  387. package/components/TooltipMenu/TooltipMenu.js +4 -4
  388. package/components/TooltipMenu/TooltipMenu.js.map +1 -1
  389. package/hooks/useDrop.js.map +1 -1
  390. package/hooks/useEffectWithoutInitCall.js.map +1 -1
  391. package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -1
  392. package/internal/ClearCrossIcon/ClearCrossIcon.js +1 -1
  393. package/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  394. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js +1 -1
  395. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  396. package/internal/CloseButtonIcon/CloseButtonIcon.js +2 -2
  397. package/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  398. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js +1 -1
  399. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +1 -1
  400. package/internal/CommonWrapper/CommonWrapper.js +2 -2
  401. package/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  402. package/internal/CommonWrapper/utils/extractCommonProps.d.ts +1 -1
  403. package/internal/CommonWrapper/utils/extractCommonProps.js.map +1 -1
  404. package/internal/CustomComboBox/ComboBoxMenu.d.ts +3 -3
  405. package/internal/CustomComboBox/ComboBoxMenu.js +7 -7
  406. package/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  407. package/internal/CustomComboBox/ComboBoxView.d.ts +6 -6
  408. package/internal/CustomComboBox/ComboBoxView.js +15 -15
  409. package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  410. package/internal/CustomComboBox/CustomComboBox.d.ts +6 -6
  411. package/internal/CustomComboBox/CustomComboBox.js +7 -6
  412. package/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  413. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +1 -1
  414. package/internal/CustomComboBox/CustomComboBoxReducer.js +1 -1
  415. package/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  416. package/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
  417. package/internal/CustomComboBox/locale/index.js.map +1 -1
  418. package/internal/DateSelect/DateSelect.js +7 -7
  419. package/internal/DateSelect/DateSelect.js.map +1 -1
  420. package/internal/DateSelect/locale/index.js.map +1 -1
  421. package/internal/FocusControlWrapper/FocusControlWrapper.js.map +1 -1
  422. package/internal/FocusControlWrapper/useFocusControl.js.map +1 -1
  423. package/internal/FocusTrap/FocusTrap.js +2 -2
  424. package/internal/FocusTrap/FocusTrap.js.map +1 -1
  425. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +2 -2
  426. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  427. package/internal/InputLikeText/InputLikeText.d.ts +2 -2
  428. package/internal/InputLikeText/InputLikeText.js +15 -14
  429. package/internal/InputLikeText/InputLikeText.js.map +1 -1
  430. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +6 -6
  431. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
  432. package/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  433. package/internal/Menu/Menu.js +10 -10
  434. package/internal/Menu/Menu.js.map +1 -1
  435. package/internal/Menu/MenuContext.js.map +1 -1
  436. package/internal/Menu/MenuNavigation.d.ts +1 -1
  437. package/internal/Menu/MenuNavigation.js.map +1 -1
  438. package/internal/MenuMessage/MenuMessage.d.ts +1 -1
  439. package/internal/MenuMessage/MenuMessage.js +2 -2
  440. package/internal/MenuMessage/MenuMessage.js.map +1 -1
  441. package/internal/MenuMessage/MenuMessage.styles.js +1 -1
  442. package/internal/MenuMessage/MenuMessage.styles.js.map +1 -1
  443. package/internal/MobilePopup/MobilePopup.js +5 -5
  444. package/internal/MobilePopup/MobilePopup.js.map +1 -1
  445. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +1 -1
  446. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
  447. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +2 -2
  448. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  449. package/internal/NativeDateInput/NativeDateInput.js +1 -1
  450. package/internal/NativeDateInput/NativeDateInput.js.map +1 -1
  451. package/internal/NativeDateInput/utils.d.ts +1 -1
  452. package/internal/NativeDateInput/utils.js.map +1 -1
  453. package/internal/Popup/Popup.d.ts +3 -3
  454. package/internal/Popup/Popup.js +15 -15
  455. package/internal/Popup/Popup.js.map +1 -1
  456. package/internal/Popup/PopupHelper.js.map +1 -1
  457. package/internal/Popup/PopupPin.js +1 -1
  458. package/internal/Popup/PopupPin.js.map +1 -1
  459. package/internal/Popup/types.js.map +1 -1
  460. package/internal/PopupMenu/PopupMenu.d.ts +2 -2
  461. package/internal/PopupMenu/PopupMenu.js +8 -8
  462. package/internal/PopupMenu/PopupMenu.js.map +1 -1
  463. package/internal/PopupMenu/validatePositions.js.map +1 -1
  464. package/internal/RenderContainer/RenderContainer.d.ts +1 -1
  465. package/internal/RenderContainer/RenderContainer.js +2 -2
  466. package/internal/RenderContainer/RenderContainer.js.map +1 -1
  467. package/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  468. package/internal/RenderLayer/RenderLayer.d.ts +1 -1
  469. package/internal/RenderLayer/RenderLayer.js +3 -3
  470. package/internal/RenderLayer/RenderLayer.js.map +1 -1
  471. package/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  472. package/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
  473. package/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  474. package/internal/ZIndex/ZIndex.js +6 -6
  475. package/internal/ZIndex/ZIndex.js.map +1 -1
  476. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.js.map +1 -1
  477. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.js.map +1 -1
  478. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.js.map +1 -1
  479. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.js.map +1 -1
  480. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.js.map +1 -1
  481. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.js.map +1 -1
  482. package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.js.map +1 -1
  483. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.js.map +1 -1
  484. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.js.map +1 -1
  485. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.js.map +1 -1
  486. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.js.map +1 -1
  487. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.js.map +1 -1
  488. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.js.map +1 -1
  489. package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.js.map +1 -1
  490. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.js.map +1 -1
  491. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.js.map +1 -1
  492. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.js.map +1 -1
  493. package/internal/icons2022/BaseIcon.js +1 -1
  494. package/internal/icons2022/BaseIcon.js.map +1 -1
  495. package/internal/icons2022/CalendarIcon/CalendarIcon16Light.js.map +1 -1
  496. package/internal/icons2022/CalendarIcon/CalendarIcon20Light.js.map +1 -1
  497. package/internal/icons2022/CalendarIcon/CalendarIcon24Regular.js.map +1 -1
  498. package/internal/icons2022/CheckAIcon/CheckAIcon16Solid.js.map +1 -1
  499. package/internal/icons2022/CheckAIcon/CheckAIcon20Solid.js.map +1 -1
  500. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.js.map +1 -1
  501. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.js.map +1 -1
  502. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.js.map +1 -1
  503. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.js.map +1 -1
  504. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.js.map +1 -1
  505. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.js.map +1 -1
  506. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon16Solid.js.map +1 -1
  507. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon20Solid.js.map +1 -1
  508. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon24Regular.js.map +1 -1
  509. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon24Solid.js.map +1 -1
  510. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon32Regular.js.map +1 -1
  511. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon64Regular.js.map +1 -1
  512. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon16Solid.js.map +1 -1
  513. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon20Solid.js.map +1 -1
  514. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon24Regular.js.map +1 -1
  515. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon24Solid.js.map +1 -1
  516. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon32Regular.js.map +1 -1
  517. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon64Regular.js.map +1 -1
  518. package/internal/icons2022/FileTypeFolderIcon/FolderIcon16Solid.js.map +1 -1
  519. package/internal/icons2022/FileTypeFolderIcon/FolderIcon20Solid.js.map +1 -1
  520. package/internal/icons2022/FileTypeFolderIcon/FolderIcon24Regular.js.map +1 -1
  521. package/internal/icons2022/FileTypeFolderIcon/FolderIcon24Solid.js.map +1 -1
  522. package/internal/icons2022/FileTypeFolderIcon/FolderIcon32Regular.js.map +1 -1
  523. package/internal/icons2022/FileTypeFolderIcon/FolderIcon64Regular.js.map +1 -1
  524. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon16Solid.js.map +1 -1
  525. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon20Solid.js.map +1 -1
  526. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon24Regular.js.map +1 -1
  527. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon24Solid.js.map +1 -1
  528. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon32Regular.js.map +1 -1
  529. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon64Regular.js.map +1 -1
  530. package/internal/icons2022/FileTypePdfIcon/PdfIcon16Solid.js.map +1 -1
  531. package/internal/icons2022/FileTypePdfIcon/PdfIcon20Solid.js.map +1 -1
  532. package/internal/icons2022/FileTypePdfIcon/PdfIcon24Regular.js.map +1 -1
  533. package/internal/icons2022/FileTypePdfIcon/PdfIcon24Solid.js.map +1 -1
  534. package/internal/icons2022/FileTypePdfIcon/PdfIcon32Regular.js.map +1 -1
  535. package/internal/icons2022/FileTypePdfIcon/PdfIcon64Regular.js.map +1 -1
  536. package/internal/icons2022/FileTypePictureIcon/PictureIcon16Solid.js.map +1 -1
  537. package/internal/icons2022/FileTypePictureIcon/PictureIcon20Solid.js.map +1 -1
  538. package/internal/icons2022/FileTypePictureIcon/PictureIcon24Regular.js.map +1 -1
  539. package/internal/icons2022/FileTypePictureIcon/PictureIcon24Solid.js.map +1 -1
  540. package/internal/icons2022/FileTypePictureIcon/PictureIcon32Regular.js.map +1 -1
  541. package/internal/icons2022/FileTypePictureIcon/PictureIcon64Regular.js.map +1 -1
  542. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon16Solid.js.map +1 -1
  543. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon20Solid.js.map +1 -1
  544. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon24Regular.js.map +1 -1
  545. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon24Solid.js.map +1 -1
  546. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon32Regular.js.map +1 -1
  547. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon64Regular.js.map +1 -1
  548. package/internal/icons2022/FileTypeTableIcon/TableIcon16Solid.js.map +1 -1
  549. package/internal/icons2022/FileTypeTableIcon/TableIcon20Solid.js.map +1 -1
  550. package/internal/icons2022/FileTypeTableIcon/TableIcon24Regular.js.map +1 -1
  551. package/internal/icons2022/FileTypeTableIcon/TableIcon24Solid.js.map +1 -1
  552. package/internal/icons2022/FileTypeTableIcon/TableIcon32Regular.js.map +1 -1
  553. package/internal/icons2022/FileTypeTableIcon/TableIcon64Regular.js.map +1 -1
  554. package/internal/icons2022/FileTypeTextIcon/TextIcon16Solid.js.map +1 -1
  555. package/internal/icons2022/FileTypeTextIcon/TextIcon20Solid.js.map +1 -1
  556. package/internal/icons2022/FileTypeTextIcon/TextIcon24Regular.js.map +1 -1
  557. package/internal/icons2022/FileTypeTextIcon/TextIcon24Solid.js.map +1 -1
  558. package/internal/icons2022/FileTypeTextIcon/TextIcon32Regular.js.map +1 -1
  559. package/internal/icons2022/FileTypeTextIcon/TextIcon64Regular.js.map +1 -1
  560. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js.map +1 -1
  561. package/internal/icons2022/LoadingIcon.js +1 -1
  562. package/internal/icons2022/LoadingIcon.js.map +1 -1
  563. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.js.map +1 -1
  564. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.js.map +1 -1
  565. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.js.map +1 -1
  566. package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.js.map +1 -1
  567. package/internal/icons2022/NetUploadIcon/NetUploadIcon20Regular.js.map +1 -1
  568. package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.js.map +1 -1
  569. package/internal/icons2022/NetUploadIcon/NetUploadIcon32Regular.js.map +1 -1
  570. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.js.map +1 -1
  571. package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.js.map +1 -1
  572. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -1
  573. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.js.map +1 -1
  574. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.js.map +1 -1
  575. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.js.map +1 -1
  576. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon16Solid.js.map +1 -1
  577. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon20Solid.js.map +1 -1
  578. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon24Regular.js.map +1 -1
  579. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon24Solid.js.map +1 -1
  580. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon32Regular.js.map +1 -1
  581. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon64Regular.js.map +1 -1
  582. package/internal/icons2022/XCircleIcon/XCircleIcon16Solid.js.map +1 -1
  583. package/internal/icons2022/XCircleIcon/XCircleIcon20Solid.js.map +1 -1
  584. package/internal/icons2022/XCircleIcon/XCircleIcon24Regular.js.map +1 -1
  585. package/internal/icons2022/XCircleIcon/XCircleIcon24Solid.js.map +1 -1
  586. package/internal/icons2022/XCircleIcon/XCircleIcon32Regular.js.map +1 -1
  587. package/internal/icons2022/XCircleIcon/XCircleIcon64Regular.js.map +1 -1
  588. package/internal/icons2022/XIcon/XIcon16Light.js.map +1 -1
  589. package/internal/icons2022/XIcon/XIcon20Light.js.map +1 -1
  590. package/internal/icons2022/XIcon/XIcon20Regular.js.map +1 -1
  591. package/internal/icons2022/XIcon/XIcon24Regular.js.map +1 -1
  592. package/internal/icons2022/iconSizer.js.map +1 -1
  593. package/internal/react-focus-lock/Lock.js +1 -1
  594. package/internal/react-focus-lock/Lock.js.map +1 -1
  595. package/internal/react-focus-lock/Trap.js +2 -2
  596. package/internal/react-focus-lock/Trap.js.map +1 -1
  597. package/internal/themes/DarkTheme6_0.js +1 -1
  598. package/internal/themes/DarkTheme6_0.js.map +1 -1
  599. package/internal/themes/LightTheme6_0.js.map +1 -1
  600. package/lib/ModalStack.d.ts +1 -1
  601. package/lib/ModalStack.js.map +1 -1
  602. package/lib/animation/index.js.map +1 -1
  603. package/lib/date/InternalDate.js.map +1 -1
  604. package/lib/date/InternalDateGetter.d.ts +1 -1
  605. package/lib/date/InternalDateGetter.js.map +1 -1
  606. package/lib/date/InternalDateSetter.d.ts +1 -1
  607. package/lib/date/InternalDateSetter.js.map +1 -1
  608. package/lib/date/InternalDateTransformer.js +1 -1
  609. package/lib/date/InternalDateTransformer.js.map +1 -1
  610. package/lib/date/InternalDateValidator.js +1 -1
  611. package/lib/date/InternalDateValidator.js.map +1 -1
  612. package/lib/date/comparison.js.map +1 -1
  613. package/lib/date/localeSets.js.map +1 -1
  614. package/lib/dom/scrollYCenterIntoNearestScrollable.js.map +1 -1
  615. package/lib/dom/selectionHelpers.js +3 -3
  616. package/lib/dom/selectionHelpers.js.map +1 -1
  617. package/lib/dom/tabbableHelpers.js +1 -1
  618. package/lib/dom/tabbableHelpers.js.map +1 -1
  619. package/lib/events/fixFirefoxModifiedClickOnLabel.js +1 -1
  620. package/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  621. package/lib/events/keyListener.js.map +1 -1
  622. package/lib/events/keyboard/extractCode.js.map +1 -1
  623. package/lib/events/keyboard/identifiers.js.map +1 -1
  624. package/lib/forwardRefAndName.js.map +1 -1
  625. package/lib/getElementRef.d.ts +2 -3
  626. package/lib/getElementRef.js +2 -2
  627. package/lib/getElementRef.js.map +1 -1
  628. package/lib/listenFocusOutside.js +2 -2
  629. package/lib/listenFocusOutside.js.map +1 -1
  630. package/lib/locale/LocaleContext.js.map +1 -1
  631. package/lib/locale/types.d.ts +6 -6
  632. package/lib/locale/types.js.map +1 -1
  633. package/lib/locale/useLocaleForControl.d.ts +1 -1
  634. package/lib/locale/useLocaleForControl.js.map +1 -1
  635. package/lib/mergeRefs.js.map +1 -1
  636. package/lib/react-is.d.ts +1 -0
  637. package/lib/react-is.js +4 -2
  638. package/lib/react-is.js.map +1 -1
  639. package/lib/renderEnvironment/RenderEnvironmentContext.d.ts +1 -1
  640. package/lib/renderEnvironment/RenderEnvironmentContext.js.map +1 -1
  641. package/lib/renderEnvironment/RenderEnvironmentDecorator.js.map +1 -1
  642. package/lib/rootNode/getRootNode.js.map +1 -1
  643. package/lib/rootNode/rootNodeDecorator.js.map +1 -1
  644. package/lib/size/SizeControlContext.js.map +1 -1
  645. package/lib/size/SizeDecorator.js +1 -1
  646. package/lib/size/SizeDecorator.js.map +1 -1
  647. package/lib/size/useSizeControl.js.map +1 -1
  648. package/lib/styles/ColorFunctions.js +2 -2
  649. package/lib/styles/ColorFunctions.js.map +1 -1
  650. package/lib/theming/AnimationKeyframes.js.map +1 -1
  651. package/lib/theming/Emotion.js.map +1 -1
  652. package/lib/theming/ThemeFactory.js +1 -1
  653. package/lib/theming/ThemeFactory.js.map +1 -1
  654. package/lib/theming/ThemeHelpers.js.map +1 -1
  655. package/lib/theming/useTheme.js.map +1 -1
  656. package/lib/types/polymorphic-component.d.ts +1 -1
  657. package/lib/types/polymorphic-component.js.map +1 -1
  658. package/lib/utils.d.ts +8 -8
  659. package/lib/utils.js.map +1 -1
  660. package/package.json +14 -23
@@ -1 +1 @@
1
- {"version":3,"file":"FxInput.js","sourceRoot":"","sources":["../../../components/FxInput/FxInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport warning from 'warning';\n\nimport { Group } from '../Group/index.js';\nimport type { InputProps } from '../Input/Input.js';\nimport { Input } from '../Input/index.js';\nimport type { CurrencyInputProps } from '../CurrencyInput/index.js';\nimport { CurrencyInput } from '../CurrencyInput/index.js';\nimport type { DefaultizedProps } from '../../lib/createPropsGetter.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport type { Override } from '../../typings/utility-types.js';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/types.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode//rootNodeDecorator.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { MaskedInputProps } from '../MaskedInput/index.js';\nimport { MaskedInput } from '../MaskedInput/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\n\nimport { MathFunctionIcon } from './MathFunctionIcon.js';\nimport { FxInputRestoreBtn } from './FxInputRestoreBtn.js';\n\nexport interface FxInputProps\n extends Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Pick<Partial<MaskedInputProps>, 'alwaysShowMask' | 'mask' | 'maskChar' | 'formatChars'>,\n Override<\n Omit<CurrencyInputProps, 'alwaysShowMask' | 'mask' | 'maskChar' | 'formatChars'>,\n {\n /** Управляет видимостью кнопки Restore:\n * - true — кнопка Restore не отображается. Значение в поле является автоматически рассчитанным.\n * - false — кнопка Restore отображается в поле. Значение в поле считается отредактированным. */\n auto?: boolean;\n\n /** Тип поля. */\n type?: 'currency' | InputProps['type'];\n\n /** Событие нажатия на кнопку Restore. */\n onRestore?: () => void;\n\n /** Событие изменения value. */\n onValueChange: CurrencyInputProps['onValueChange'] | InputProps['onValueChange'];\n\n /** Значение поля. */\n value?: string | number;\n\n /** Задаёт ref поля. */\n refInput?: (element: CurrencyInput | Input | null) => void;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n\n /** Атрибут aria-label кнопке Restore. */\n buttonAriaLabel?: AriaAttributes['aria-label'];\n\n /** @ignore */\n corners?: React.CSSProperties;\n }\n > {}\n\nexport const FxInputDataTids = {\n root: 'FxInput__root',\n} as const;\n\ntype DefaultProps = Required<Pick<FxInputProps, 'width' | 'type' | 'value' | 'auto'>>;\ntype DefaultizedFxInputProps = DefaultizedProps<FxInputProps, DefaultProps>;\n\n/** В автополе можно вывести автоматически рассчитанное цифровое значение. В него можно передавать итог любого вычисления, например, сумму других полей, процент или более сложную функцию.\n *\n * У поля есть иконка математической формулы и кнопка Restore — с её помощью пользователь может вернуть исходное значение, если редактировал поле. Видимость кнопки и поведение при нажатии нужно прописывать в компоненте самостоятельно.\n */\n@rootNode\n@withSize\nexport class FxInput extends React.Component<FxInputProps> {\n public static __KONTUR_REACT_UI__ = 'FxInput';\n public static displayName = 'FxInput';\n\n public static defaultProps: DefaultProps = {\n width: 250,\n type: 'text',\n value: '',\n auto: false,\n };\n\n private theme!: Theme;\n private size!: SizeProp;\n private input: Input | CurrencyInput | null = null;\n\n private getProps = createPropsGetter(FxInput.defaultProps);\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n private validateProps(props: FxInputProps) {\n if (props.type === 'currency' && props.mask !== undefined) {\n warning(false, '[FxInput]: Prop \"mask\" is not supported when type=\"currency\"');\n }\n }\n\n public componentDidMount() {\n this.validateProps(this.getProps());\n }\n\n public componentDidUpdate() {\n this.validateProps(this.getProps());\n }\n\n public render(): React.JSX.Element {\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 public renderMain = (props: CommonWrapperRestProps<DefaultizedFxInputProps>): React.JSX.Element => {\n const button = props.auto ? null : (\n <FxInputRestoreBtn\n size={props.size}\n onRestore={props.onRestore}\n corners={props.corners}\n disabled={props.disabled}\n borderless={props.borderless}\n aria-label={props.buttonAriaLabel}\n />\n );\n\n return (\n <Group data-tid={FxInputDataTids.root} width={props.width}>\n {button}\n {this.getInput(props)}\n </Group>\n );\n };\n\n /** Программно устанавливает фокус на поле.\n * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus = (): void => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /** Программно снимает фокус с кнопки.\n * @public\n */\n public blur = (): void => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private refInput = (element: Input | CurrencyInput | null) => {\n this.input = element;\n\n if (this.props.refInput) {\n this.props.refInput(this.input);\n }\n };\n\n private getLeftIcon = (props: FxInputProps) => {\n if (!props.auto) {\n return null;\n }\n\n const iconSizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.inputIconSizeSmall),\n medium: parseInt(this.theme.inputIconSizeMedium),\n large: parseInt(this.theme.inputIconSizeLarge),\n };\n const size = this.size;\n\n return <MathFunctionIcon size={iconSizes[size]} />;\n };\n\n private getInput = (props: FxInputProps) => {\n const {\n type,\n onRestore,\n auto,\n refInput,\n value,\n width,\n size: _size,\n mask,\n maskChar,\n formatChars,\n alwaysShowMask,\n signed,\n integerDigits,\n fractionDigits,\n hideTrailingZeros,\n buttonAriaLabel,\n corners: originalCorners,\n ...rest\n } = props;\n const corners: InputProps['corners'] = auto\n ? originalCorners\n : { borderBottomLeftRadius: 0, borderTopLeftRadius: 0, ...originalCorners };\n const size = this.size;\n const commonInputProps = {\n corners,\n size,\n width: '100%',\n ref: this.refInput,\n ...rest,\n };\n\n if (type === 'currency') {\n return (\n <CurrencyInput\n {...commonInputProps}\n signed={signed}\n integerDigits={integerDigits}\n fractionDigits={fractionDigits}\n value={value as CurrencyInputProps['value']}\n onValueChange={this.props.onValueChange as CurrencyInputProps['onValueChange']}\n />\n );\n }\n if (mask) {\n return (\n <MaskedInput\n {...commonInputProps}\n leftIcon={this.getLeftIcon(props)}\n align=\"right\"\n mask={mask}\n maskChar={maskChar}\n formatChars={formatChars}\n alwaysShowMask={alwaysShowMask}\n value={value as MaskedInputProps['value']}\n onValueChange={this.props.onValueChange as MaskedInputProps['onValueChange']}\n />\n );\n }\n return (\n <Input\n {...commonInputProps}\n leftIcon={this.getLeftIcon(props)}\n align=\"right\"\n type={type}\n value={value as InputProps['value']}\n onValueChange={this.props.onValueChange as InputProps['onValueChange']}\n />\n );\n };\n}\n"]}
1
+ {"version":3,"file":"FxInput.js","sourceRoot":"","sources":["../../../components/FxInput/FxInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport warning from 'warning';\n\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/types.js';\nimport type { DefaultizedProps } from '../../lib/createPropsGetter.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode//rootNodeDecorator.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { Override } from '../../typings/utility-types.js';\nimport { CurrencyInput } from '../CurrencyInput/index.js';\nimport type { CurrencyInputProps } from '../CurrencyInput/index.js';\nimport { Group } from '../Group/index.js';\nimport { Input } from '../Input/index.js';\nimport type { InputProps } from '../Input/Input.js';\nimport { MaskedInput } from '../MaskedInput/index.js';\nimport type { MaskedInputProps } from '../MaskedInput/index.js';\nimport { FxInputRestoreBtn } from './FxInputRestoreBtn.js';\nimport { MathFunctionIcon } from './MathFunctionIcon.js';\n\nexport interface FxInputProps\n extends\n Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Pick<Partial<MaskedInputProps>, 'alwaysShowMask' | 'mask' | 'maskChar' | 'formatChars'>,\n Override<\n Omit<CurrencyInputProps, 'alwaysShowMask' | 'mask' | 'maskChar' | 'formatChars'>,\n {\n /** Управляет видимостью кнопки Restore:\n * - true — кнопка Restore не отображается. Значение в поле является автоматически рассчитанным.\n * - false — кнопка Restore отображается в поле. Значение в поле считается отредактированным. */\n auto?: boolean;\n\n /** Тип поля. */\n type?: 'currency' | InputProps['type'];\n\n /** Событие нажатия на кнопку Restore. */\n onRestore?: () => void;\n\n /** Событие изменения value. */\n onValueChange: CurrencyInputProps['onValueChange'] | InputProps['onValueChange'];\n\n /** Значение поля. */\n value?: string | number;\n\n /** Задаёт ref поля. */\n refInput?: (element: CurrencyInput | Input | null) => void;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n\n /** Атрибут aria-label кнопке Restore. */\n buttonAriaLabel?: AriaAttributes['aria-label'];\n\n /** @ignore */\n corners?: React.CSSProperties;\n }\n > {}\n\nexport const FxInputDataTids = {\n root: 'FxInput__root',\n} as const;\n\ntype DefaultProps = Required<Pick<FxInputProps, 'width' | 'type' | 'value' | 'auto'>>;\ntype DefaultizedFxInputProps = DefaultizedProps<FxInputProps, DefaultProps>;\n\n/** В автополе можно вывести автоматически рассчитанное цифровое значение. В него можно передавать итог любого вычисления, например, сумму других полей, процент или более сложную функцию.\n *\n * У поля есть иконка математической формулы и кнопка Restore — с её помощью пользователь может вернуть исходное значение, если редактировал поле. Видимость кнопки и поведение при нажатии нужно прописывать в компоненте самостоятельно.\n */\n@rootNode\n@withSize\nexport class FxInput extends React.Component<FxInputProps> {\n public static __KONTUR_REACT_UI__ = 'FxInput';\n public static displayName = 'FxInput';\n\n public static defaultProps: DefaultProps = {\n width: 250,\n type: 'text',\n value: '',\n auto: false,\n };\n\n private theme!: Theme;\n private size!: SizeProp;\n private input: Input | CurrencyInput | null = null;\n\n private getProps = createPropsGetter(FxInput.defaultProps);\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n private validateProps(props: FxInputProps) {\n if (props.type === 'currency' && props.mask !== undefined) {\n warning(false, '[FxInput]: Prop \"mask\" is not supported when type=\"currency\"');\n }\n }\n\n public componentDidMount() {\n this.validateProps(this.getProps());\n }\n\n public componentDidUpdate() {\n this.validateProps(this.getProps());\n }\n\n public render(): React.JSX.Element {\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 public renderMain = (props: CommonWrapperRestProps<DefaultizedFxInputProps>): React.JSX.Element => {\n const button = props.auto ? null : (\n <FxInputRestoreBtn\n size={props.size}\n onRestore={props.onRestore}\n corners={props.corners}\n disabled={props.disabled}\n borderless={props.borderless}\n aria-label={props.buttonAriaLabel}\n />\n );\n\n return (\n <Group data-tid={FxInputDataTids.root} width={props.width}>\n {button}\n {this.getInput(props)}\n </Group>\n );\n };\n\n /** Программно устанавливает фокус на поле.\n * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus = (): void => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /** Программно снимает фокус с кнопки.\n * @public\n */\n public blur = (): void => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private refInput = (element: Input | CurrencyInput | null) => {\n this.input = element;\n\n if (this.props.refInput) {\n this.props.refInput(this.input);\n }\n };\n\n private getLeftIcon = (props: FxInputProps) => {\n if (!props.auto) {\n return null;\n }\n\n const iconSizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.inputIconSizeSmall),\n medium: parseInt(this.theme.inputIconSizeMedium),\n large: parseInt(this.theme.inputIconSizeLarge),\n };\n const size = this.size;\n\n return <MathFunctionIcon size={iconSizes[size]} />;\n };\n\n private getInput = (props: FxInputProps) => {\n const {\n type,\n onRestore,\n auto,\n refInput,\n value,\n width,\n size: _size,\n mask,\n maskChar,\n formatChars,\n alwaysShowMask,\n signed,\n integerDigits,\n fractionDigits,\n hideTrailingZeros,\n buttonAriaLabel,\n corners: originalCorners,\n ...rest\n } = props;\n const corners: InputProps['corners'] = auto\n ? originalCorners\n : { borderBottomLeftRadius: 0, borderTopLeftRadius: 0, ...originalCorners };\n const size = this.size;\n const commonInputProps = {\n corners,\n size,\n width: '100%',\n ref: this.refInput,\n ...rest,\n };\n\n if (type === 'currency') {\n return (\n <CurrencyInput\n {...commonInputProps}\n signed={signed}\n integerDigits={integerDigits}\n fractionDigits={fractionDigits}\n value={value as CurrencyInputProps['value']}\n onValueChange={this.props.onValueChange as CurrencyInputProps['onValueChange']}\n />\n );\n }\n if (mask) {\n return (\n <MaskedInput\n {...commonInputProps}\n leftIcon={this.getLeftIcon(props)}\n align=\"right\"\n mask={mask}\n maskChar={maskChar}\n formatChars={formatChars}\n alwaysShowMask={alwaysShowMask}\n value={value as MaskedInputProps['value']}\n onValueChange={this.props.onValueChange as MaskedInputProps['onValueChange']}\n />\n );\n }\n return (\n <Input\n {...commonInputProps}\n leftIcon={this.getLeftIcon(props)}\n align=\"right\"\n type={type}\n value={value as InputProps['value']}\n onValueChange={this.props.onValueChange as InputProps['onValueChange']}\n />\n );\n };\n}\n"]}
@@ -1,5 +1,5 @@
1
- import type { AriaAttributes } from 'react';
2
1
  import React from 'react';
2
+ import type { AriaAttributes } from 'react';
3
3
  import type { FxInputProps } from './FxInput.js';
4
4
  interface FxInputRestoreBtnProps extends Pick<AriaAttributes, 'aria-label'>, Pick<FxInputProps, 'size' | 'onRestore' | 'borderless' | 'disabled'> {
5
5
  /** @ignore */
@@ -10,9 +10,9 @@ var __assign = (this && this.__assign) || function () {
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
12
  import React, { useContext } from 'react';
13
+ import { useSizeControl } from '../../lib/size/useSizeControl.js';
13
14
  import { ThemeContext } from '../../lib/theming/ThemeContext.js';
14
15
  import { Button } from '../Button/index.js';
15
- import { useSizeControl } from '../../lib/size/useSizeControl.js';
16
16
  import { UndoIcon } from './UndoIcon.js';
17
17
  export var FxInputRestoreBtn = function (props) {
18
18
  var theme = useContext(ThemeContext);
@@ -1 +1 @@
1
- {"version":3,"file":"FxInputRestoreBtn.js","sourceRoot":"","sources":["../../../components/FxInput/FxInputRestoreBtn.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAUzC,MAAM,CAAC,IAAM,iBAAiB,GAAoD,UAAC,KAAK;IACtF,IAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACvC,IAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAExC,IAAM,SAAS,GAA6B;QAC1C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACzC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC;QAC3C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC;KAC1C,CAAC;IACF,IAAM,YAAY,GAA0C;QAC1D,KAAK,EAAE;YACL,mBAAmB,EAAE,KAAK,CAAC,sBAAsB;YACjD,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;SACrD;QACD,MAAM,EAAE;YACN,mBAAmB,EAAE,KAAK,CAAC,uBAAuB;YAClD,sBAAsB,EAAE,KAAK,CAAC,uBAAuB;SACtD;QACD,KAAK,EAAE;YACL,mBAAmB,EAAE,KAAK,CAAC,sBAAsB;YACjD,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;SACrD;KACF,CAAC;IACF,IAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACzC,IAAM,QAAQ,GAAG,oBAAC,QAAQ,IAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,GAAI,CAAC;IAErD,OAAO,CACL,oBAAC,MAAM,IACL,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,OAAO,EAAE,KAAK,CAAC,SAAS,EACxB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,sBACL,oBAAoB,EAAE,CAAC,EACvB,uBAAuB,EAAE,CAAC,IACvB,aAAa,GACb,KAAK,CAAC,OAAO,GAElB,IAAI,EAAE,QAAQ,gBACF,KAAK,CAAC,YAAY,CAAC,GAC/B,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import type { AriaAttributes } from 'react';\nimport React, { useContext } from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { Button } from '../Button/index.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { useSizeControl } from '../../lib/size/useSizeControl.js';\n\nimport { UndoIcon } from './UndoIcon.js';\nimport type { FxInputProps } from './FxInput.js';\n\ninterface FxInputRestoreBtnProps\n extends Pick<AriaAttributes, 'aria-label'>,\n Pick<FxInputProps, 'size' | 'onRestore' | 'borderless' | 'disabled'> {\n /** @ignore */\n corners?: React.CSSProperties;\n}\n\nexport const FxInputRestoreBtn: React.FunctionComponent<FxInputRestoreBtnProps> = (props) => {\n const theme = useContext(ThemeContext);\n const size = useSizeControl(props.size);\n\n const iconSizes: Record<SizeProp, number> = {\n small: parseInt(theme.inputIconSizeSmall),\n medium: parseInt(theme.inputIconSizeMedium),\n large: parseInt(theme.inputIconSizeLarge),\n };\n const cornersSizes: Record<SizeProp, React.CSSProperties> = {\n small: {\n borderTopLeftRadius: theme.inputBorderRadiusSmall,\n borderBottomLeftRadius: theme.inputBorderRadiusSmall,\n },\n medium: {\n borderTopLeftRadius: theme.inputBorderRadiusMedium,\n borderBottomLeftRadius: theme.inputBorderRadiusMedium,\n },\n large: {\n borderTopLeftRadius: theme.inputBorderRadiusLarge,\n borderBottomLeftRadius: theme.inputBorderRadiusLarge,\n },\n };\n const buttonCorners = cornersSizes[size];\n const iconUndo = <UndoIcon size={iconSizes[size]} />;\n\n return (\n <Button\n size={props.size}\n onClick={props.onRestore}\n borderless={props.borderless}\n disabled={props.disabled}\n corners={{\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n ...buttonCorners,\n ...props.corners,\n }}\n icon={iconUndo}\n aria-label={props['aria-label']}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"FxInputRestoreBtn.js","sourceRoot":"","sources":["../../../components/FxInput/FxInputRestoreBtn.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQzC,MAAM,CAAC,IAAM,iBAAiB,GAAoD,UAAC,KAAK;IACtF,IAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACvC,IAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAExC,IAAM,SAAS,GAA6B;QAC1C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACzC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC;QAC3C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC;KAC1C,CAAC;IACF,IAAM,YAAY,GAA0C;QAC1D,KAAK,EAAE;YACL,mBAAmB,EAAE,KAAK,CAAC,sBAAsB;YACjD,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;SACrD;QACD,MAAM,EAAE;YACN,mBAAmB,EAAE,KAAK,CAAC,uBAAuB;YAClD,sBAAsB,EAAE,KAAK,CAAC,uBAAuB;SACtD;QACD,KAAK,EAAE;YACL,mBAAmB,EAAE,KAAK,CAAC,sBAAsB;YACjD,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;SACrD;KACF,CAAC;IACF,IAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACzC,IAAM,QAAQ,GAAG,oBAAC,QAAQ,IAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,GAAI,CAAC;IAErD,OAAO,CACL,oBAAC,MAAM,IACL,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,OAAO,EAAE,KAAK,CAAC,SAAS,EACxB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,sBACL,oBAAoB,EAAE,CAAC,EACvB,uBAAuB,EAAE,CAAC,IACvB,aAAa,GACb,KAAK,CAAC,OAAO,GAElB,IAAI,EAAE,QAAQ,gBACF,KAAK,CAAC,YAAY,CAAC,GAC/B,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React, { useContext } from 'react';\nimport type { AriaAttributes } from 'react';\n\nimport { useSizeControl } from '../../lib/size/useSizeControl.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { Button } from '../Button/index.js';\nimport type { FxInputProps } from './FxInput.js';\nimport { UndoIcon } from './UndoIcon.js';\n\ninterface FxInputRestoreBtnProps\n extends Pick<AriaAttributes, 'aria-label'>, Pick<FxInputProps, 'size' | 'onRestore' | 'borderless' | 'disabled'> {\n /** @ignore */\n corners?: React.CSSProperties;\n}\n\nexport const FxInputRestoreBtn: React.FunctionComponent<FxInputRestoreBtnProps> = (props) => {\n const theme = useContext(ThemeContext);\n const size = useSizeControl(props.size);\n\n const iconSizes: Record<SizeProp, number> = {\n small: parseInt(theme.inputIconSizeSmall),\n medium: parseInt(theme.inputIconSizeMedium),\n large: parseInt(theme.inputIconSizeLarge),\n };\n const cornersSizes: Record<SizeProp, React.CSSProperties> = {\n small: {\n borderTopLeftRadius: theme.inputBorderRadiusSmall,\n borderBottomLeftRadius: theme.inputBorderRadiusSmall,\n },\n medium: {\n borderTopLeftRadius: theme.inputBorderRadiusMedium,\n borderBottomLeftRadius: theme.inputBorderRadiusMedium,\n },\n large: {\n borderTopLeftRadius: theme.inputBorderRadiusLarge,\n borderBottomLeftRadius: theme.inputBorderRadiusLarge,\n },\n };\n const buttonCorners = cornersSizes[size];\n const iconUndo = <UndoIcon size={iconSizes[size]} />;\n\n return (\n <Button\n size={props.size}\n onClick={props.onRestore}\n borderless={props.borderless}\n disabled={props.disabled}\n corners={{\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n ...buttonCorners,\n ...props.corners,\n }}\n icon={iconUndo}\n aria-label={props['aria-label']}\n />\n );\n};\n"]}
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import { iconSizer } from '../../internal/icons2022/iconSizer.js';
3
2
  import { ArrowShapeDRadiusUpLeftIcon16Light } from '../../internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.js';
4
- import { ArrowShapeDRadiusUpLeftIcon24Regular } from '../../internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.js';
5
3
  import { ArrowShapeDRadiusUpLeftIcon20Light } from '../../internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.js';
4
+ import { ArrowShapeDRadiusUpLeftIcon24Regular } from '../../internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.js';
5
+ import { iconSizer } from '../../internal/icons2022/iconSizer.js';
6
6
  export var UndoIcon = iconSizer({
7
7
  small: function () { return React.createElement(ArrowShapeDRadiusUpLeftIcon16Light, null); },
8
8
  medium: function () { return React.createElement(ArrowShapeDRadiusUpLeftIcon20Light, null); },
@@ -1 +1 @@
1
- {"version":3,"file":"UndoIcon.js","sourceRoot":"","sources":["../../../components/FxInput/UndoIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,kCAAkC,EAAE,MAAM,4FAA4F,CAAC;AAChJ,OAAO,EAAE,oCAAoC,EAAE,MAAM,8FAA8F,CAAC;AACpJ,OAAO,EAAE,kCAAkC,EAAE,MAAM,4FAA4F,CAAC;AAEhJ,MAAM,CAAC,IAAM,QAAQ,GAAG,SAAS,CAC/B;IACE,KAAK,EAAE,cAAM,OAAA,oBAAC,kCAAkC,OAAG,EAAtC,CAAsC;IACnD,MAAM,EAAE,cAAM,OAAA,oBAAC,kCAAkC,OAAG,EAAtC,CAAsC;IACpD,KAAK,EAAE,cAAM,OAAA,oBAAC,oCAAoC,OAAG,EAAxC,CAAwC;CACtD,EACD,UAAU,CACX,CAAC","sourcesContent":["import React from 'react';\n\nimport { iconSizer } from '../../internal/icons2022/iconSizer.js';\nimport { ArrowShapeDRadiusUpLeftIcon16Light } from '../../internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.js';\nimport { ArrowShapeDRadiusUpLeftIcon24Regular } from '../../internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.js';\nimport { ArrowShapeDRadiusUpLeftIcon20Light } from '../../internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.js';\n\nexport const UndoIcon = iconSizer(\n {\n small: () => <ArrowShapeDRadiusUpLeftIcon16Light />,\n medium: () => <ArrowShapeDRadiusUpLeftIcon20Light />,\n large: () => <ArrowShapeDRadiusUpLeftIcon24Regular />,\n },\n 'UndoIcon',\n);\n"]}
1
+ {"version":3,"file":"UndoIcon.js","sourceRoot":"","sources":["../../../components/FxInput/UndoIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kCAAkC,EAAE,MAAM,4FAA4F,CAAC;AAChJ,OAAO,EAAE,kCAAkC,EAAE,MAAM,4FAA4F,CAAC;AAChJ,OAAO,EAAE,oCAAoC,EAAE,MAAM,8FAA8F,CAAC;AACpJ,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAElE,MAAM,CAAC,IAAM,QAAQ,GAAG,SAAS,CAC/B;IACE,KAAK,EAAE,cAAM,OAAA,oBAAC,kCAAkC,OAAG,EAAtC,CAAsC;IACnD,MAAM,EAAE,cAAM,OAAA,oBAAC,kCAAkC,OAAG,EAAtC,CAAsC;IACpD,KAAK,EAAE,cAAM,OAAA,oBAAC,oCAAoC,OAAG,EAAxC,CAAwC;CACtD,EACD,UAAU,CACX,CAAC","sourcesContent":["import React from 'react';\n\nimport { ArrowShapeDRadiusUpLeftIcon16Light } from '../../internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.js';\nimport { ArrowShapeDRadiusUpLeftIcon20Light } from '../../internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.js';\nimport { ArrowShapeDRadiusUpLeftIcon24Regular } from '../../internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.js';\nimport { iconSizer } from '../../internal/icons2022/iconSizer.js';\n\nexport const UndoIcon = iconSizer(\n {\n small: () => <ArrowShapeDRadiusUpLeftIcon16Light />,\n medium: () => <ArrowShapeDRadiusUpLeftIcon20Light />,\n large: () => <ArrowShapeDRadiusUpLeftIcon24Regular />,\n },\n 'UndoIcon',\n);\n"]}
@@ -31,10 +31,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
31
31
  return c > 3 && r && Object.defineProperty(target, key, r), r;
32
32
  };
33
33
  import React from 'react';
34
- import { isNonNullable } from '../../lib/utils.js';
35
34
  import { CommonWrapper } from '../../internal/CommonWrapper/index.js';
36
- import { rootNode } from '../../lib/rootNode/index.js';
37
35
  import { createPropsGetter } from '../../lib/createPropsGetter.js';
36
+ import { rootNode } from '../../lib/rootNode/index.js';
37
+ import { isNonNullable } from '../../lib/utils.js';
38
38
  export var GappedDataTids = {
39
39
  vertical: 'Gapped__vertical',
40
40
  horizontal: 'Gapped__horizontal',
@@ -1 +1 @@
1
- {"version":3,"file":"Gapped.js","sourceRoot":"","sources":["../../../components/Gapped/Gapped.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isNonNullable } from '../../lib/utils.js';\nimport type { CommonProps } from '../../internal/CommonWrapper/types.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/rootNodeDecorator.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\n\nexport interface GappedProps extends CommonProps {\n /** Задает расстояние между элементами в пикселях. */\n gap?: number;\n\n /** Задает вертикальное выравнивание. */\n verticalAlign?: 'top' | 'middle' | 'baseline' | 'bottom';\n\n /** Располагает элементы по вертикали. */\n vertical?: boolean;\n\n /** Переносит элементы на новую строку при горизонтальном расположении. */\n wrap?: boolean;\n\n /** @ignore */\n children: React.ReactNode;\n}\n\nexport const GappedDataTids = {\n vertical: 'Gapped__vertical',\n horizontal: 'Gapped__horizontal',\n} as const;\n\ntype DefaultProps = Required<Pick<GappedProps, 'wrap' | 'vertical' | 'verticalAlign'>>;\n\n/**\n * Контейнер `Gapped` устанавливает расстояние равное `gap` между элементами.\n */\n@rootNode\nexport class Gapped extends React.Component<GappedProps> {\n public static __KONTUR_REACT_UI__ = 'Gapped';\n public static displayName = 'Gapped';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public static defaultProps: DefaultProps = {\n wrap: false,\n vertical: false,\n verticalAlign: 'baseline',\n };\n\n private getProps = createPropsGetter(Gapped.defaultProps);\n\n public render(): React.JSX.Element {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.getProps().vertical ? this.renderVertical() : this.renderHorizontal()}\n </CommonWrapper>\n );\n }\n\n private getGapValue() {\n const { gap: propsGap } = this.props;\n if (isNonNullable(propsGap)) {\n return propsGap;\n }\n\n return 8;\n }\n\n private renderVertical() {\n const subsequentItemStyle: React.CSSProperties = {\n paddingTop: this.getGapValue(),\n };\n const children = React.Children.toArray(this.props.children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const style = index === 0 ? undefined : subsequentItemStyle;\n return (\n <div style={style} key={index}>\n {child}\n </div>\n );\n });\n\n return <div data-tid={GappedDataTids.vertical}>{children}</div>;\n }\n\n private renderHorizontal() {\n const { children, verticalAlign } = this.props;\n const wrap = this.getProps().wrap;\n const gap = this.getGapValue();\n const itemStyle: React.CSSProperties = {\n display: 'inline-block',\n verticalAlign,\n ...(wrap ? { marginLeft: gap, marginTop: gap } : {}),\n };\n const rootStyle: React.CSSProperties = wrap ? { paddingTop: 1 } : {};\n const contStyle: React.CSSProperties = wrap ? { marginTop: -gap - 1, marginLeft: -gap } : { whiteSpace: 'nowrap' };\n\n return (\n <div data-tid={GappedDataTids.horizontal} style={rootStyle}>\n <div style={contStyle}>\n {React.Children.toArray(children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const marginLeft = index === 0 ? undefined : gap;\n return (\n <span key={index} style={{ marginLeft, ...itemStyle }}>\n {child}\n </span>\n );\n })}\n </div>\n </div>\n );\n }\n\n private filterChildren(child: React.ReactNode): boolean {\n return Boolean(child) || typeof child === 'number';\n }\n}\n"]}
1
+ {"version":3,"file":"Gapped.js","sourceRoot":"","sources":["../../../components/Gapped/Gapped.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { CommonProps } from '../../internal/CommonWrapper/types.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/rootNodeDecorator.js';\nimport { isNonNullable } from '../../lib/utils.js';\n\nexport interface GappedProps extends CommonProps {\n /** Задает расстояние между элементами в пикселях. */\n gap?: number;\n\n /** Задает вертикальное выравнивание. */\n verticalAlign?: 'top' | 'middle' | 'baseline' | 'bottom';\n\n /** Располагает элементы по вертикали. */\n vertical?: boolean;\n\n /** Переносит элементы на новую строку при горизонтальном расположении. */\n wrap?: boolean;\n\n /** @ignore */\n children: React.ReactNode;\n}\n\nexport const GappedDataTids = {\n vertical: 'Gapped__vertical',\n horizontal: 'Gapped__horizontal',\n} as const;\n\ntype DefaultProps = Required<Pick<GappedProps, 'wrap' | 'vertical' | 'verticalAlign'>>;\n\n/**\n * Контейнер `Gapped` устанавливает расстояние равное `gap` между элементами.\n */\n@rootNode\nexport class Gapped extends React.Component<GappedProps> {\n public static __KONTUR_REACT_UI__ = 'Gapped';\n public static displayName = 'Gapped';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public static defaultProps: DefaultProps = {\n wrap: false,\n vertical: false,\n verticalAlign: 'baseline',\n };\n\n private getProps = createPropsGetter(Gapped.defaultProps);\n\n public render(): React.JSX.Element {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.getProps().vertical ? this.renderVertical() : this.renderHorizontal()}\n </CommonWrapper>\n );\n }\n\n private getGapValue() {\n const { gap: propsGap } = this.props;\n if (isNonNullable(propsGap)) {\n return propsGap;\n }\n\n return 8;\n }\n\n private renderVertical() {\n const subsequentItemStyle: React.CSSProperties = {\n paddingTop: this.getGapValue(),\n };\n const children = React.Children.toArray(this.props.children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const style = index === 0 ? undefined : subsequentItemStyle;\n return (\n <div style={style} key={index}>\n {child}\n </div>\n );\n });\n\n return <div data-tid={GappedDataTids.vertical}>{children}</div>;\n }\n\n private renderHorizontal() {\n const { children, verticalAlign } = this.props;\n const wrap = this.getProps().wrap;\n const gap = this.getGapValue();\n const itemStyle: React.CSSProperties = {\n display: 'inline-block',\n verticalAlign,\n ...(wrap ? { marginLeft: gap, marginTop: gap } : {}),\n };\n const rootStyle: React.CSSProperties = wrap ? { paddingTop: 1 } : {};\n const contStyle: React.CSSProperties = wrap ? { marginTop: -gap - 1, marginLeft: -gap } : { whiteSpace: 'nowrap' };\n\n return (\n <div data-tid={GappedDataTids.horizontal} style={rootStyle}>\n <div style={contStyle}>\n {React.Children.toArray(children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const marginLeft = index === 0 ? undefined : gap;\n return (\n <span key={index} style={{ marginLeft, ...itemStyle }}>\n {child}\n </span>\n );\n })}\n </div>\n </div>\n );\n }\n\n private filterChildren(child: React.ReactNode): boolean {\n return Boolean(child) || typeof child === 'number';\n }\n}\n"]}
@@ -30,12 +30,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
30
30
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
31
31
  return c > 3 && r && Object.defineProperty(target, key, r), r;
32
32
  };
33
- import React from 'react';
34
33
  import debounce from 'lodash.debounce';
35
- import { isTestEnv } from '../../lib/currentEnvironment.js';
34
+ import React from 'react';
36
35
  import { CommonWrapper } from '../../internal/CommonWrapper/index.js';
37
- import { rootNode } from '../../lib/rootNode/index.js';
38
36
  import { createPropsGetter } from '../../lib/createPropsGetter.js';
37
+ import { isTestEnv } from '../../lib/currentEnvironment.js';
38
+ import { rootNode } from '../../lib/rootNode/index.js';
39
39
  import { GlobalLoaderView } from './GlobalLoaderView.js';
40
40
  export var GlobalLoaderDataTids = {
41
41
  root: 'GlobalLoader',
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalLoader.js","sourceRoot":"","sources":["../../../components/GlobalLoader/GlobalLoader.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport debounce from 'lodash.debounce';\n\nimport { isTestEnv } from '../../lib/currentEnvironment.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode//rootNodeDecorator.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\n\nimport type { GlobalLoaderViewProps } from './GlobalLoaderView.js';\nimport { GlobalLoaderView } from './GlobalLoaderView.js';\n\nexport interface GlobalLoaderProps {\n /** Задержка до появления лоадера в миллисекундах. */\n delayBeforeShow?: number;\n\n /** Задержка до исчезновения лоадера в миллисекундах. */\n delayBeforeHide?: number;\n\n /** Ожидаемое время(ms) ответа сервера. */\n expectedResponseTime?: number;\n\n /** Показывать лоадер в виде бегающей полоски. */\n rejected?: boolean;\n\n /** Показывать лоадер. */\n active?: boolean;\n\n /** Отключить анимацию. */\n disableAnimations?: boolean;\n\n /** Событие после появления лоадера. */\n onStart?(): void;\n\n /** Событие после исчезновения лоадера. */\n onDone?(): void;\n\n /** Событие после вызова reject. */\n onReject?(): void;\n\n /** Событие после вызова accept. */\n onAccept?(): void;\n}\nexport interface GlobalLoaderState {\n visible: boolean;\n done: boolean;\n rejected: boolean;\n accept: boolean;\n dead: boolean;\n successAnimationInProgress: boolean;\n expectedResponseTime: number;\n started: boolean;\n}\n\nexport const GlobalLoaderDataTids = {\n root: 'GlobalLoader',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n GlobalLoaderProps,\n 'expectedResponseTime' | 'delayBeforeShow' | 'delayBeforeHide' | 'rejected' | 'active' | 'disableAnimations'\n >\n>;\n\nlet currentGlobalLoader: GlobalLoader | null;\n\n/**\n * Универсальный индикатор обмена данными с сервером.\n * Он появляется у верхней границы экрана и выглядит как тоненькая полоска, окрашенная в фирменный цвет продукта.\n *\n * Глобальный лоадер может быть только один в приложении. Поэтому каждый новый экземпляр компонента заменяет предыдущий экземпляр и начинает перехватывать статические методы.\n *\n * Предполагается монтирование компонента в единственном месте. И управление им через статические методы, либо через пропсы.\n *\n */\n@rootNode\nexport class GlobalLoader extends React.Component<GlobalLoaderProps, GlobalLoaderState> {\n public static __KONTUR_REACT_UI__ = 'GlobalLoader';\n public static displayName = 'GlobalLoader';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private getProps = createPropsGetter(GlobalLoader.defaultProps);\n\n private readonly startTask = debounce(() => {\n this.setState({ visible: true });\n this.props.onStart?.();\n }, this.getProps().delayBeforeShow);\n\n private readonly stopTask = debounce(() => {\n this.setState({ visible: false, successAnimationInProgress: false, started: false });\n this.props.onDone?.();\n }, this.getProps().delayBeforeHide);\n\n private readonly resumeTaskAfterSuccessAnimation = debounce(() => {\n this.setActive();\n }, this.getProps().delayBeforeHide);\n\n public static defaultProps: DefaultProps = {\n expectedResponseTime: 1000,\n delayBeforeShow: 1000,\n delayBeforeHide: 1000,\n rejected: false,\n active: false,\n disableAnimations: isTestEnv,\n };\n\n constructor(props: GlobalLoaderProps) {\n super(props);\n this.state = {\n started: false,\n visible: false,\n done: false,\n rejected: false,\n accept: false,\n dead: false,\n successAnimationInProgress: false,\n expectedResponseTime: this.getProps().expectedResponseTime,\n };\n }\n componentDidMount() {\n currentGlobalLoader?.kill();\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n currentGlobalLoader = this;\n const { active, rejected } = this.getProps();\n if (active) {\n this.setActive();\n }\n if (rejected) {\n this.setReject(true);\n }\n }\n\n componentWillUnmount(): void {\n currentGlobalLoader = null;\n }\n\n componentDidUpdate(prevProps: Readonly<GlobalLoaderProps>) {\n const { expectedResponseTime, rejected, active } = this.getProps();\n if (expectedResponseTime !== prevProps.expectedResponseTime) {\n this.setState({ expectedResponseTime });\n }\n if (rejected !== prevProps.rejected) {\n this.setReject(rejected);\n }\n if (active !== prevProps.active) {\n if (active) {\n this.setActive();\n } else {\n this.setDone();\n }\n }\n }\n\n public render(): React.JSX.Element | false {\n let status: GlobalLoaderViewProps['status'] = 'standard';\n\n if (this.state.done) {\n status = 'success';\n } else if (this.state.rejected) {\n status = 'error';\n } else if (this.state.accept) {\n status = 'accept';\n }\n const { delayBeforeHide, disableAnimations } = this.getProps();\n return (\n !this.state.dead &&\n this.state.visible && (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <GlobalLoaderView\n expectedResponseTime={this.state.expectedResponseTime}\n delayBeforeHide={delayBeforeHide}\n status={status}\n data-tid={GlobalLoaderDataTids.root}\n disableAnimations={disableAnimations}\n />\n </CommonWrapper>\n )\n );\n }\n\n /**\n * Запускает анимацию лоадера. <br />\n * Равносильно установке пропа `active = true`.\n *\n * @public\n */\n public static start = (expectedResponseTime?: number): void => {\n currentGlobalLoader?.setActive();\n if (typeof expectedResponseTime === 'number') {\n currentGlobalLoader?.updateExpectedResponseTime(expectedResponseTime);\n }\n };\n\n /**\n * Показывает анимацию успешного завершения загрузки. <br />\n * Равносильно установке пропа `active = false`.\n *\n * @public\n */\n public static done = (): void => {\n currentGlobalLoader?.setDone();\n };\n\n /**\n * Переключает анимацию лоадера в состояние бегающей полоски. <br />\n * Равносильно установке пропа `rejected = true`.\n *\n * @public\n */\n public static reject = (): void => {\n currentGlobalLoader?.setReject(true);\n };\n\n /**\n * Возвращает лоадер из состояния бегающей полоски в обычное и продолжает анимацию с того места, на котором она была прервана. <br />\n * Равносильно установке пропа `rejected = false`.\n *\n * @public\n */\n public static accept = (): void => {\n currentGlobalLoader?.setReject(false);\n };\n\n public setActive = (): void => {\n this.startTask.cancel();\n if (this.state.successAnimationInProgress) {\n this.resumeTaskAfterSuccessAnimation();\n } else {\n this.setState({ visible: false, done: false, rejected: false, accept: false, started: true });\n if (this.getProps().rejected) {\n this.setReject(true);\n } else {\n this.stopTask.cancel();\n this.startTask();\n }\n }\n };\n\n public setDone = (): void => {\n if (!this.state.started) {\n return;\n }\n this.setState({ done: true, successAnimationInProgress: true });\n this.startTask.cancel();\n this.resumeTaskAfterSuccessAnimation.cancel();\n this.stopTask();\n };\n\n public setReject = (reject: boolean): void => {\n if (!this.state.visible && (this.state.started || this.getProps().active)) {\n this.setState({ visible: true });\n }\n this.startTask.cancel();\n this.stopTask.cancel();\n if (reject) {\n this.props.onReject?.();\n } else if (this.state.rejected) {\n this.setState({ accept: true });\n this.props.onAccept?.();\n }\n this.setState({ rejected: reject });\n };\n\n public updateExpectedResponseTime(expectedResponseTime: number): void {\n this.setState({ expectedResponseTime });\n }\n\n public kill = (): void => {\n this.stopTask.cancel();\n this.startTask.cancel();\n this.resumeTaskAfterSuccessAnimation.cancel();\n this.setState({\n dead: true,\n });\n };\n}\n"]}
1
+ {"version":3,"file":"GlobalLoader.js","sourceRoot":"","sources":["../../../components/GlobalLoader/GlobalLoader.tsx"],"names":[],"mappings":"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","sourcesContent":["import debounce from 'lodash.debounce';\nimport React from 'react';\n\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { isTestEnv } from '../../lib/currentEnvironment.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode//rootNodeDecorator.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { GlobalLoaderView } from './GlobalLoaderView.js';\nimport type { GlobalLoaderViewProps } from './GlobalLoaderView.js';\n\nexport interface GlobalLoaderProps {\n /** Задержка до появления лоадера в миллисекундах. */\n delayBeforeShow?: number;\n\n /** Задержка до исчезновения лоадера в миллисекундах. */\n delayBeforeHide?: number;\n\n /** Ожидаемое время(ms) ответа сервера. */\n expectedResponseTime?: number;\n\n /** Показывать лоадер в виде бегающей полоски. */\n rejected?: boolean;\n\n /** Показывать лоадер. */\n active?: boolean;\n\n /** Отключить анимацию. */\n disableAnimations?: boolean;\n\n /** Событие после появления лоадера. */\n onStart?(): void;\n\n /** Событие после исчезновения лоадера. */\n onDone?(): void;\n\n /** Событие после вызова reject. */\n onReject?(): void;\n\n /** Событие после вызова accept. */\n onAccept?(): void;\n}\nexport interface GlobalLoaderState {\n visible: boolean;\n done: boolean;\n rejected: boolean;\n accept: boolean;\n dead: boolean;\n successAnimationInProgress: boolean;\n expectedResponseTime: number;\n started: boolean;\n}\n\nexport const GlobalLoaderDataTids = {\n root: 'GlobalLoader',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n GlobalLoaderProps,\n 'expectedResponseTime' | 'delayBeforeShow' | 'delayBeforeHide' | 'rejected' | 'active' | 'disableAnimations'\n >\n>;\n\nlet currentGlobalLoader: GlobalLoader | null;\n\n/**\n * Универсальный индикатор обмена данными с сервером.\n * Он появляется у верхней границы экрана и выглядит как тоненькая полоска, окрашенная в фирменный цвет продукта.\n *\n * Глобальный лоадер может быть только один в приложении. Поэтому каждый новый экземпляр компонента заменяет предыдущий экземпляр и начинает перехватывать статические методы.\n *\n * Предполагается монтирование компонента в единственном месте. И управление им через статические методы, либо через пропсы.\n *\n */\n@rootNode\nexport class GlobalLoader extends React.Component<GlobalLoaderProps, GlobalLoaderState> {\n public static __KONTUR_REACT_UI__ = 'GlobalLoader';\n public static displayName = 'GlobalLoader';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private getProps = createPropsGetter(GlobalLoader.defaultProps);\n\n private readonly startTask = debounce(() => {\n this.setState({ visible: true });\n this.props.onStart?.();\n }, this.getProps().delayBeforeShow);\n\n private readonly stopTask = debounce(() => {\n this.setState({ visible: false, successAnimationInProgress: false, started: false });\n this.props.onDone?.();\n }, this.getProps().delayBeforeHide);\n\n private readonly resumeTaskAfterSuccessAnimation = debounce(() => {\n this.setActive();\n }, this.getProps().delayBeforeHide);\n\n public static defaultProps: DefaultProps = {\n expectedResponseTime: 1000,\n delayBeforeShow: 1000,\n delayBeforeHide: 1000,\n rejected: false,\n active: false,\n disableAnimations: isTestEnv,\n };\n\n constructor(props: GlobalLoaderProps) {\n super(props);\n this.state = {\n started: false,\n visible: false,\n done: false,\n rejected: false,\n accept: false,\n dead: false,\n successAnimationInProgress: false,\n expectedResponseTime: this.getProps().expectedResponseTime,\n };\n }\n componentDidMount() {\n currentGlobalLoader?.kill();\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n currentGlobalLoader = this;\n const { active, rejected } = this.getProps();\n if (active) {\n this.setActive();\n }\n if (rejected) {\n this.setReject(true);\n }\n }\n\n componentWillUnmount(): void {\n currentGlobalLoader = null;\n }\n\n componentDidUpdate(prevProps: Readonly<GlobalLoaderProps>) {\n const { expectedResponseTime, rejected, active } = this.getProps();\n if (expectedResponseTime !== prevProps.expectedResponseTime) {\n this.setState({ expectedResponseTime });\n }\n if (rejected !== prevProps.rejected) {\n this.setReject(rejected);\n }\n if (active !== prevProps.active) {\n if (active) {\n this.setActive();\n } else {\n this.setDone();\n }\n }\n }\n\n public render(): React.JSX.Element | false {\n let status: GlobalLoaderViewProps['status'] = 'standard';\n\n if (this.state.done) {\n status = 'success';\n } else if (this.state.rejected) {\n status = 'error';\n } else if (this.state.accept) {\n status = 'accept';\n }\n const { delayBeforeHide, disableAnimations } = this.getProps();\n return (\n !this.state.dead &&\n this.state.visible && (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <GlobalLoaderView\n expectedResponseTime={this.state.expectedResponseTime}\n delayBeforeHide={delayBeforeHide}\n status={status}\n data-tid={GlobalLoaderDataTids.root}\n disableAnimations={disableAnimations}\n />\n </CommonWrapper>\n )\n );\n }\n\n /**\n * Запускает анимацию лоадера. <br />\n * Равносильно установке пропа `active = true`.\n *\n * @public\n */\n public static start = (expectedResponseTime?: number): void => {\n currentGlobalLoader?.setActive();\n if (typeof expectedResponseTime === 'number') {\n currentGlobalLoader?.updateExpectedResponseTime(expectedResponseTime);\n }\n };\n\n /**\n * Показывает анимацию успешного завершения загрузки. <br />\n * Равносильно установке пропа `active = false`.\n *\n * @public\n */\n public static done = (): void => {\n currentGlobalLoader?.setDone();\n };\n\n /**\n * Переключает анимацию лоадера в состояние бегающей полоски. <br />\n * Равносильно установке пропа `rejected = true`.\n *\n * @public\n */\n public static reject = (): void => {\n currentGlobalLoader?.setReject(true);\n };\n\n /**\n * Возвращает лоадер из состояния бегающей полоски в обычное и продолжает анимацию с того места, на котором она была прервана. <br />\n * Равносильно установке пропа `rejected = false`.\n *\n * @public\n */\n public static accept = (): void => {\n currentGlobalLoader?.setReject(false);\n };\n\n public setActive = (): void => {\n this.startTask.cancel();\n if (this.state.successAnimationInProgress) {\n this.resumeTaskAfterSuccessAnimation();\n } else {\n this.setState({ visible: false, done: false, rejected: false, accept: false, started: true });\n if (this.getProps().rejected) {\n this.setReject(true);\n } else {\n this.stopTask.cancel();\n this.startTask();\n }\n }\n };\n\n public setDone = (): void => {\n if (!this.state.started) {\n return;\n }\n this.setState({ done: true, successAnimationInProgress: true });\n this.startTask.cancel();\n this.resumeTaskAfterSuccessAnimation.cancel();\n this.stopTask();\n };\n\n public setReject = (reject: boolean): void => {\n if (!this.state.visible && (this.state.started || this.getProps().active)) {\n this.setState({ visible: true });\n }\n this.startTask.cancel();\n this.stopTask.cancel();\n if (reject) {\n this.props.onReject?.();\n } else if (this.state.rejected) {\n this.setState({ accept: true });\n this.props.onAccept?.();\n }\n this.setState({ rejected: reject });\n };\n\n public updateExpectedResponseTime(expectedResponseTime: number): void {\n this.setState({ expectedResponseTime });\n }\n\n public kill = (): void => {\n this.stopTask.cancel();\n this.startTask.cancel();\n this.resumeTaskAfterSuccessAnimation.cancel();\n this.setState({\n dead: true,\n });\n };\n}\n"]}
@@ -21,10 +21,10 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  return t;
22
22
  };
23
23
  import React, { forwardRef, useContext, useRef } from 'react';
24
- import { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';
24
+ import { CommonWrapper } from '../../internal/CommonWrapper/index.js';
25
25
  import { ZIndex } from '../../internal/ZIndex/index.js';
26
+ import { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';
26
27
  import { ThemeContext } from '../../lib/theming/ThemeContext.js';
27
- import { CommonWrapper } from '../../internal/CommonWrapper/index.js';
28
28
  import { getAnimations, getStyles } from './GlobalLoaderView.styles.js';
29
29
  import { useGlobalLoaderPosition, useGlobalLoaderWidth } from './useParams.js';
30
30
  export var GlobalLoaderView = forwardRef(function (_a, externalRef) {
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalLoaderView.js","sourceRoot":"","sources":["../../../components/GlobalLoader/GlobalLoaderView.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { forwardRef, useContext, useRef } from 'react';\n\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ZIndex } from '../../internal/ZIndex/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\n\nimport { getAnimations, getStyles } from './GlobalLoaderView.styles.js';\nimport { useGlobalLoaderPosition, useGlobalLoaderWidth } from './useParams.js';\n\nexport interface GlobalLoaderViewProps extends Pick<CommonProps, 'data-tid'> {\n /** Устанавливает ожидаемое время(ms) ответа сервера. */\n expectedResponseTime: number;\n\n /** Устанавливает задержку в миллисекундах до исчезновения лоадера. */\n delayBeforeHide: number;\n\n /** Устанавливает статус операции. */\n status?: 'success' | 'error' | 'standard' | 'accept';\n\n /** Отключает анимацию. */\n disableAnimations: boolean;\n}\n\nexport interface GlobalLoaderViewRef {\n element: HTMLDivElement;\n refObject: React.RefObject<GlobalLoaderViewRef['element'] | null>;\n}\n\nexport const GlobalLoaderView = forwardRef(\n (\n { expectedResponseTime, delayBeforeHide, status, disableAnimations, ...rest }: GlobalLoaderViewProps,\n externalRef: React.Ref<CommonWrapper<CommonProps>>,\n ) => {\n const ref = useRef<GlobalLoaderViewRef['element']>(null);\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const animations = useStyles(getAnimations);\n const { width, startWidth, fullWidth } = useGlobalLoaderWidth(status, ref);\n const { left } = useGlobalLoaderPosition(ref);\n\n const getAnimationClass = (status: GlobalLoaderViewProps['status']) => {\n if (!disableAnimations) {\n switch (status) {\n case 'success':\n return animations.successAnimation(delayBeforeHide, width, left);\n case 'accept':\n if (startWidth < fullWidth * 0.8) {\n return animations.acceptAnimation(theme, startWidth, expectedResponseTime, width, left);\n }\n return animations.slowAcceptAnimation(theme, startWidth, width, left);\n case 'error':\n return animations.errorAnimation(theme);\n case 'standard':\n return animations.standardAnimation(theme, expectedResponseTime);\n }\n }\n\n if (disableAnimations) {\n switch (status) {\n case 'success':\n return styles.successWithoutAnimation();\n case 'accept':\n return animations.acceptWithoutAnimation(startWidth);\n case 'error':\n return styles.errorWithoutAnimation();\n case 'standard':\n return styles.standardWithoutAnimation();\n }\n }\n };\n\n return (\n <CommonWrapper {...rest} data-status={status} ref={externalRef}>\n <ZIndex priority=\"GlobalLoader\" className={styles.outer(theme)}>\n <div ref={ref} className={cx(styles.inner(theme), getAnimationClass(status))} />\n </ZIndex>\n </CommonWrapper>\n );\n },\n);\n"]}
1
+ {"version":3,"file":"GlobalLoaderView.js","sourceRoot":"","sources":["../../../components/GlobalLoader/GlobalLoaderView.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { forwardRef, useContext, useRef } from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { ZIndex } from '../../internal/ZIndex/index.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { getAnimations, getStyles } from './GlobalLoaderView.styles.js';\nimport { useGlobalLoaderPosition, useGlobalLoaderWidth } from './useParams.js';\n\nexport interface GlobalLoaderViewProps extends Pick<CommonProps, 'data-tid'> {\n /** Устанавливает ожидаемое время(ms) ответа сервера. */\n expectedResponseTime: number;\n\n /** Устанавливает задержку в миллисекундах до исчезновения лоадера. */\n delayBeforeHide: number;\n\n /** Устанавливает статус операции. */\n status?: 'success' | 'error' | 'standard' | 'accept';\n\n /** Отключает анимацию. */\n disableAnimations: boolean;\n}\n\nexport interface GlobalLoaderViewRef {\n element: HTMLDivElement;\n refObject: React.RefObject<GlobalLoaderViewRef['element'] | null>;\n}\n\nexport const GlobalLoaderView = forwardRef(\n (\n { expectedResponseTime, delayBeforeHide, status, disableAnimations, ...rest }: GlobalLoaderViewProps,\n externalRef: React.Ref<CommonWrapper<CommonProps>>,\n ) => {\n const ref = useRef<GlobalLoaderViewRef['element']>(null);\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const animations = useStyles(getAnimations);\n const { width, startWidth, fullWidth } = useGlobalLoaderWidth(status, ref);\n const { left } = useGlobalLoaderPosition(ref);\n\n const getAnimationClass = (status: GlobalLoaderViewProps['status']) => {\n if (!disableAnimations) {\n switch (status) {\n case 'success':\n return animations.successAnimation(delayBeforeHide, width, left);\n case 'accept':\n if (startWidth < fullWidth * 0.8) {\n return animations.acceptAnimation(theme, startWidth, expectedResponseTime, width, left);\n }\n return animations.slowAcceptAnimation(theme, startWidth, width, left);\n case 'error':\n return animations.errorAnimation(theme);\n case 'standard':\n return animations.standardAnimation(theme, expectedResponseTime);\n }\n }\n\n if (disableAnimations) {\n switch (status) {\n case 'success':\n return styles.successWithoutAnimation();\n case 'accept':\n return animations.acceptWithoutAnimation(startWidth);\n case 'error':\n return styles.errorWithoutAnimation();\n case 'standard':\n return styles.standardWithoutAnimation();\n }\n }\n };\n\n return (\n <CommonWrapper {...rest} data-status={status} ref={externalRef}>\n <ZIndex priority=\"GlobalLoader\" className={styles.outer(theme)}>\n <div ref={ref} className={cx(styles.inner(theme), getAnimationClass(status))} />\n </ZIndex>\n </CommonWrapper>\n );\n },\n);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"useParams.js","sourceRoot":"","sources":["../../../components/GlobalLoader/useParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAIzD;;;;;GAKG;AAEH,MAAM,CAAC,IAAM,uBAAuB,GAAG,UAAC,GAAqC;IACnE,IAAA,IAAI,GAAK,UAAU,CAAC,GAAG,CAAC,KAApB,CAAqB;IACjC,OAAO,EAAE,IAAI,MAAA,EAAE,CAAC;AAClB,CAAC,CAAC;AAEF;;;;;;GAMG;AAEH,MAAM,CAAC,IAAM,oBAAoB,GAAG,UAClC,MAAuC,EACvC,GAAqC;;IAE7B,IAAA,KAAK,GAAK,UAAU,CAAC,GAAG,CAAC,MAApB,CAAqB;IAC5B,IAAA,KAA8B,QAAQ,CAAC,CAAC,CAAC,EAAxC,UAAU,QAAA,EAAE,aAAa,QAAe,CAAC;IAChD,IAAM,SAAS,GAAG,CAAA,MAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,aAAa,0CAAE,WAAW,KAAI,CAAC,CAAC;IAC/D,SAAS,CAAC;QACR,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,aAAa,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,EAAE,KAAK,OAAA,EAAE,UAAU,YAAA,EAAE,SAAS,WAAA,EAAE,CAAC;AAC1C,CAAC,CAAC","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { getDOMRect } from '../../lib/dom/getDOMRect.js';\n\nimport type { GlobalLoaderViewProps, GlobalLoaderViewRef } from './GlobalLoaderView.js';\n\n/**\n * Вычисляет положение `GlobalLoader`\n *\n * @param ref - ref `GlobalLoader`\n * @returns - возвращает положение полоски `GlobalLoader`\n */\n\nexport const useGlobalLoaderPosition = (ref: GlobalLoaderViewRef['refObject']): { left: number } => {\n const { left } = getDOMRect(ref);\n return { left };\n};\n\n/**\n * Вычисляет ширину `GlobalLoader`\n *\n * @param status - статус `GlobalLoader`\n * @param ref - ref `GlobalLoader`\n * @returns - возвращает ширину полоски `GlobalLoader`\n */\n\nexport const useGlobalLoaderWidth = (\n status: GlobalLoaderViewProps['status'],\n ref: GlobalLoaderViewRef['refObject'],\n): { width: number; startWidth: number; fullWidth: number } => {\n const { width } = getDOMRect(ref);\n const [startWidth, setStartWidth] = useState(0);\n const fullWidth = ref.current?.parentElement?.offsetWidth || 0;\n useEffect(() => {\n if (status === 'error') {\n setStartWidth(width);\n } else if (status === 'accept') {\n setStartWidth(startWidth);\n } else {\n setStartWidth(0);\n }\n }, [status]);\n\n return { width, startWidth, fullWidth };\n};\n"]}
1
+ {"version":3,"file":"useParams.js","sourceRoot":"","sources":["../../../components/GlobalLoader/useParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGzD;;;;;GAKG;AAEH,MAAM,CAAC,IAAM,uBAAuB,GAAG,UAAC,GAAqC;IACnE,IAAA,IAAI,GAAK,UAAU,CAAC,GAAG,CAAC,KAApB,CAAqB;IACjC,OAAO,EAAE,IAAI,MAAA,EAAE,CAAC;AAClB,CAAC,CAAC;AAEF;;;;;;GAMG;AAEH,MAAM,CAAC,IAAM,oBAAoB,GAAG,UAClC,MAAuC,EACvC,GAAqC;;IAE7B,IAAA,KAAK,GAAK,UAAU,CAAC,GAAG,CAAC,MAApB,CAAqB;IAC5B,IAAA,KAA8B,QAAQ,CAAC,CAAC,CAAC,EAAxC,UAAU,QAAA,EAAE,aAAa,QAAe,CAAC;IAChD,IAAM,SAAS,GAAG,CAAA,MAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,aAAa,0CAAE,WAAW,KAAI,CAAC,CAAC;IAC/D,SAAS,CAAC;QACR,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,aAAa,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,aAAa,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,EAAE,KAAK,OAAA,EAAE,UAAU,YAAA,EAAE,SAAS,WAAA,EAAE,CAAC;AAC1C,CAAC,CAAC","sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { getDOMRect } from '../../lib/dom/getDOMRect.js';\nimport type { GlobalLoaderViewProps, GlobalLoaderViewRef } from './GlobalLoaderView.js';\n\n/**\n * Вычисляет положение `GlobalLoader`\n *\n * @param ref - ref `GlobalLoader`\n * @returns - возвращает положение полоски `GlobalLoader`\n */\n\nexport const useGlobalLoaderPosition = (ref: GlobalLoaderViewRef['refObject']): { left: number } => {\n const { left } = getDOMRect(ref);\n return { left };\n};\n\n/**\n * Вычисляет ширину `GlobalLoader`\n *\n * @param status - статус `GlobalLoader`\n * @param ref - ref `GlobalLoader`\n * @returns - возвращает ширину полоски `GlobalLoader`\n */\n\nexport const useGlobalLoaderWidth = (\n status: GlobalLoaderViewProps['status'],\n ref: GlobalLoaderViewRef['refObject'],\n): { width: number; startWidth: number; fullWidth: number } => {\n const { width } = getDOMRect(ref);\n const [startWidth, setStartWidth] = useState(0);\n const fullWidth = ref.current?.parentElement?.offsetWidth || 0;\n useEffect(() => {\n if (status === 'error') {\n setStartWidth(width);\n } else if (status === 'accept') {\n setStartWidth(startWidth);\n } else {\n setStartWidth(0);\n }\n }, [status]);\n\n return { width, startWidth, fullWidth };\n};\n"]}
@@ -32,9 +32,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
32
32
  };
33
33
  import React from 'react';
34
34
  import { CommonWrapper } from '../../internal/CommonWrapper/index.js';
35
- import { rootNode } from '../../lib/rootNode/index.js';
36
- import { isButton, isAutocomplete, isCurrencyInput, isDropdown, isDropdownMenu, isFxInput, isInput, isPasswordInput, isSelect, isTooltip, isHint, } from '../../lib/utils.js';
37
35
  import { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';
36
+ import { rootNode } from '../../lib/rootNode/index.js';
37
+ import { isAutocomplete, isButton, isCurrencyInput, isDropdown, isDropdownMenu, isFxInput, isHint, isInput, isPasswordInput, isSelect, isTooltip, } from '../../lib/utils.js';
38
38
  import { getStyles } from './Group.styles.js';
39
39
  var getFirstChild = function (children) {
40
40
  if (!Array.isArray(children)) {
@@ -1 +1 @@
1
- {"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../components/Group/Group.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport {\n isButton,\n isAutocomplete,\n isCurrencyInput,\n isDropdown,\n isDropdownMenu,\n isFxInput,\n isInput,\n isPasswordInput,\n isSelect,\n isTooltip,\n isHint,\n} from '../../lib/utils.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\n\nimport { getStyles } from './Group.styles.js';\n\nexport interface GroupProps extends CommonProps {\n /** Задает длину компонента Group. */\n width?: React.CSSProperties['width'];\n}\n\ninterface GroupChildProps extends CommonProps {\n width?: React.CSSProperties['width'];\n corners?: number;\n}\n\nconst getFirstChild = (children: React.ReactNode) => {\n if (!Array.isArray(children)) {\n return children;\n }\n\n return children?.[0] as React.ReactNode;\n};\n\nconst getLastChild = (children: React.ReactNode) => {\n if (!Array.isArray(children)) {\n return children;\n }\n\n const numberOfChildren = React.Children.count(children);\n\n return children?.[numberOfChildren - 1] as React.ReactNode;\n};\n\nexport const getButtonCorners = (isFirstChild: boolean, isLastChild: boolean): React.CSSProperties => {\n if (isFirstChild && isLastChild) {\n return {};\n }\n\n if (isFirstChild) {\n return {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n };\n }\n\n if (isLastChild) {\n return {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n };\n }\n\n return {\n borderRadius: 0,\n };\n};\n\nconst tryPassCorners = (child: React.ReactNode, isFirstChild: boolean, isLastChild: boolean) => {\n const corners = getButtonCorners(isFirstChild, isLastChild);\n\n if (\n isButton(child) ||\n isInput(child) ||\n isFxInput(child) ||\n isAutocomplete(child) ||\n isPasswordInput(child) ||\n isCurrencyInput(child) ||\n isSelect(child) ||\n isDropdown(child) ||\n isDropdownMenu(child)\n ) {\n return React.cloneElement<(typeof child)['props']>(child, { corners: { ...corners, ...child.props.corners } });\n }\n\n return child;\n};\n\nconst hasWidthInPercent = (child: React.ReactElement<GroupChildProps>) => String(child.props.width).includes('%');\n\nexport const GroupDataTids = {\n root: 'Group__root',\n} as const;\n\n/**\n * Компонент `Group` используется для создания логически сгруппированных элементов, выровненных по горизонтали.\n *\n * Длина контейнера настраивается с помощью пропа `width`.\n */\n@withRenderEnvironment\n@rootNode\nexport class Group extends React.Component<GroupProps> {\n public static __KONTUR_REACT_UI__ = 'Group';\n public static displayName = 'Group';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n\n public render(): React.JSX.Element {\n const style: React.CSSProperties = {\n width: this.props.width,\n };\n\n const childrenArray = React.Children.toArray(this.props.children);\n const firstChild = getFirstChild(childrenArray);\n const lastChild = getLastChild(childrenArray);\n this.styles = getStyles(this.emotion);\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span data-tid={GroupDataTids.root} className={this.styles.root()} style={style}>\n {React.Children.map(childrenArray, (child) => {\n if (!child || !React.isValidElement<GroupChildProps>(child)) {\n return null;\n }\n\n const isFirstChild = child === firstChild;\n const isLastChild = child === lastChild;\n\n if (isHint(child) || isTooltip(child)) {\n return this.renderWrappedChildren(child, isFirstChild, isLastChild);\n }\n\n return this.renderChild(child, isFirstChild, isLastChild, hasWidthInPercent(child));\n })}\n </span>\n </CommonWrapper>\n );\n }\n\n private renderChild = (\n child: React.ReactNode,\n isFirstChild: boolean,\n isLastChild: boolean,\n isWidthInPercent: boolean,\n ) => (\n <div\n className={this.cx({\n [this.styles.fixed()]: !isWidthInPercent,\n [this.styles.stretch()]: isWidthInPercent,\n })}\n >\n <div\n className={this.cx({\n [this.styles.item()]: true,\n [this.styles.itemFirst()]: isFirstChild,\n })}\n >\n {tryPassCorners(child, isFirstChild, isLastChild)}\n </div>\n </div>\n );\n\n private renderWrappedChildren(\n parent: React.ReactElement<GroupChildProps>,\n isParentFirst: boolean,\n isParentLast: boolean,\n ): React.ReactNode {\n let shouldStretchParent = false;\n const nestedChildren = React.Children.toArray(parent.props.children);\n\n const modifiedChildren = nestedChildren.map((nestedChild, index) => {\n if (!nestedChild || !React.isValidElement<GroupChildProps>(nestedChild)) {\n return null;\n }\n\n const isFirstChild = isParentFirst && index === 0;\n const isLastChild = isParentLast && index === nestedChildren.length - 1;\n if (hasWidthInPercent(nestedChild)) {\n shouldStretchParent = true;\n }\n\n return this.renderChild(nestedChild, isFirstChild, isLastChild, hasWidthInPercent(nestedChild));\n });\n\n const wrappedChildren = (\n <div className={this.cx(this.styles.wrappedChildren(), { [this.styles.stretch()]: shouldStretchParent })}>\n {modifiedChildren}\n </div>\n );\n\n return React.cloneElement<GroupChildProps>(parent, {\n children: wrappedChildren,\n });\n }\n}\n"]}
1
+ {"version":3,"file":"Group.js","sourceRoot":"","sources":["../../../components/Group/Group.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport React from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport {\n isAutocomplete,\n isButton,\n isCurrencyInput,\n isDropdown,\n isDropdownMenu,\n isFxInput,\n isHint,\n isInput,\n isPasswordInput,\n isSelect,\n isTooltip,\n} from '../../lib/utils.js';\nimport { getStyles } from './Group.styles.js';\n\nexport interface GroupProps extends CommonProps {\n /** Задает длину компонента Group. */\n width?: React.CSSProperties['width'];\n}\n\ninterface GroupChildProps extends CommonProps {\n width?: React.CSSProperties['width'];\n corners?: number;\n}\n\nconst getFirstChild = (children: React.ReactNode) => {\n if (!Array.isArray(children)) {\n return children;\n }\n\n return children?.[0] as React.ReactNode;\n};\n\nconst getLastChild = (children: React.ReactNode) => {\n if (!Array.isArray(children)) {\n return children;\n }\n\n const numberOfChildren = React.Children.count(children);\n\n return children?.[numberOfChildren - 1] as React.ReactNode;\n};\n\nexport const getButtonCorners = (isFirstChild: boolean, isLastChild: boolean): React.CSSProperties => {\n if (isFirstChild && isLastChild) {\n return {};\n }\n\n if (isFirstChild) {\n return {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n };\n }\n\n if (isLastChild) {\n return {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n };\n }\n\n return {\n borderRadius: 0,\n };\n};\n\nconst tryPassCorners = (child: React.ReactNode, isFirstChild: boolean, isLastChild: boolean) => {\n const corners = getButtonCorners(isFirstChild, isLastChild);\n\n if (\n isButton(child) ||\n isInput(child) ||\n isFxInput(child) ||\n isAutocomplete(child) ||\n isPasswordInput(child) ||\n isCurrencyInput(child) ||\n isSelect(child) ||\n isDropdown(child) ||\n isDropdownMenu(child)\n ) {\n return React.cloneElement<(typeof child)['props']>(child, { corners: { ...corners, ...child.props.corners } });\n }\n\n return child;\n};\n\nconst hasWidthInPercent = (child: React.ReactElement<GroupChildProps>) => String(child.props.width).includes('%');\n\nexport const GroupDataTids = {\n root: 'Group__root',\n} as const;\n\n/**\n * Компонент `Group` используется для создания логически сгруппированных элементов, выровненных по горизонтали.\n *\n * Длина контейнера настраивается с помощью пропа `width`.\n */\n@withRenderEnvironment\n@rootNode\nexport class Group extends React.Component<GroupProps> {\n public static __KONTUR_REACT_UI__ = 'Group';\n public static displayName = 'Group';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n\n public render(): React.JSX.Element {\n const style: React.CSSProperties = {\n width: this.props.width,\n };\n\n const childrenArray = React.Children.toArray(this.props.children);\n const firstChild = getFirstChild(childrenArray);\n const lastChild = getLastChild(childrenArray);\n this.styles = getStyles(this.emotion);\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <span data-tid={GroupDataTids.root} className={this.styles.root()} style={style}>\n {React.Children.map(childrenArray, (child) => {\n if (!child || !React.isValidElement<GroupChildProps>(child)) {\n return null;\n }\n\n const isFirstChild = child === firstChild;\n const isLastChild = child === lastChild;\n\n if (isHint(child) || isTooltip(child)) {\n return this.renderWrappedChildren(child, isFirstChild, isLastChild);\n }\n\n return this.renderChild(child, isFirstChild, isLastChild, hasWidthInPercent(child));\n })}\n </span>\n </CommonWrapper>\n );\n }\n\n private renderChild = (\n child: React.ReactNode,\n isFirstChild: boolean,\n isLastChild: boolean,\n isWidthInPercent: boolean,\n ) => (\n <div\n className={this.cx({\n [this.styles.fixed()]: !isWidthInPercent,\n [this.styles.stretch()]: isWidthInPercent,\n })}\n >\n <div\n className={this.cx({\n [this.styles.item()]: true,\n [this.styles.itemFirst()]: isFirstChild,\n })}\n >\n {tryPassCorners(child, isFirstChild, isLastChild)}\n </div>\n </div>\n );\n\n private renderWrappedChildren(\n parent: React.ReactElement<GroupChildProps>,\n isParentFirst: boolean,\n isParentLast: boolean,\n ): React.ReactNode {\n let shouldStretchParent = false;\n const nestedChildren = React.Children.toArray(parent.props.children);\n\n const modifiedChildren = nestedChildren.map((nestedChild, index) => {\n if (!nestedChild || !React.isValidElement<GroupChildProps>(nestedChild)) {\n return null;\n }\n\n const isFirstChild = isParentFirst && index === 0;\n const isLastChild = isParentLast && index === nestedChildren.length - 1;\n if (hasWidthInPercent(nestedChild)) {\n shouldStretchParent = true;\n }\n\n return this.renderChild(nestedChild, isFirstChild, isLastChild, hasWidthInPercent(nestedChild));\n });\n\n const wrappedChildren = (\n <div className={this.cx(this.styles.wrappedChildren(), { [this.styles.stretch()]: shouldStretchParent })}>\n {modifiedChildren}\n </div>\n );\n\n return React.cloneElement<GroupChildProps>(parent, {\n children: wrappedChildren,\n });\n }\n}\n"]}
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
- import type { PopupPinnablePositionsType, ShortPopupPositionsType } from '../../internal/Popup/index.js';
3
- import type { Nullable } from '../../typings/utility-types.js';
4
- import type { MouseEventType } from '../../typings/event-types.js';
5
2
  import type { CommonProps } from '../../internal/CommonWrapper/index.js';
6
- import type { TGetRootNode } from '../../lib/rootNode/index.js';
3
+ import type { PopupPinnablePositionsType, ShortPopupPositionsType } from '../../internal/Popup/index.js';
7
4
  import type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement.js';
5
+ import type { TGetRootNode } from '../../lib/rootNode/index.js';
6
+ import type { MouseEventType } from '../../typings/event-types.js';
7
+ import type { Nullable } from '../../typings/utility-types.js';
8
8
  export interface HintProps extends CommonProps {
9
9
  /** @ignore */
10
10
  children?: React.ReactNode;
@@ -31,14 +31,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
31
31
  return c > 3 && r && Object.defineProperty(target, key, r), r;
32
32
  };
33
33
  import React from 'react';
34
- import { ThemeContext } from '../../lib/theming/ThemeContext.js';
35
- import { ThemeFactory } from '../../lib/theming/ThemeFactory.js';
36
- import { DUMMY_LOCATION, Popup } from '../../internal/Popup/index.js';
37
- import { isTestEnv } from '../../lib/currentEnvironment.js';
38
34
  import { CommonWrapper } from '../../internal/CommonWrapper/index.js';
39
- import { rootNode } from '../../lib/rootNode/index.js';
35
+ import { DUMMY_LOCATION, Popup } from '../../internal/Popup/index.js';
40
36
  import { createPropsGetter } from '../../lib/createPropsGetter.js';
37
+ import { isTestEnv } from '../../lib/currentEnvironment.js';
41
38
  import { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';
39
+ import { rootNode } from '../../lib/rootNode/index.js';
40
+ import { ThemeContext } from '../../lib/theming/ThemeContext.js';
41
+ import { ThemeFactory } from '../../lib/theming/ThemeFactory.js';
42
42
  import { getStyles } from './Hint.styles.js';
43
43
  var HINT_BORDER_COLOR = 'transparent';
44
44
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Hint.js","sourceRoot":"","sources":["../../../components/Hint/Hint.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport type { Emotion } from '@emotion/css/create-instance';\n\nimport type { SafeTimer } from '../../lib/globalObject.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport type { PopupPinnablePositionsType, ShortPopupPositionsType } from '../../internal/Popup/index.js';\nimport { DUMMY_LOCATION, Popup } from '../../internal/Popup/index.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport type { MouseEventType } from '../../typings/event-types.js';\nimport { isTestEnv } from '../../lib/currentEnvironment.js';\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\n\nimport { getStyles } from './Hint.styles.js';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Переводит отображение подсказки в _\"ручной режим\"_.\n В _\"ручном режиме\"_ подсказку можно активировать только задав значение пропу `opened`. */\n manual?: boolean;\n\n /** Задает максимальную ширину подсказки. */\n maxWidth?: React.CSSProperties['maxWidth'];\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). */\n onMouseEnter?: (event: MouseEventType) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (event: MouseEventType) => void;\n\n /** Открывает подсказку. Работает только при `manual=true`. */\n opened?: boolean;\n\n /** Задает приоритетное расположение подсказки относительно текста. */\n pos?: ShortPopupPositionsType | PopupPinnablePositionsType;\n\n /** Задает текст подсказки. */\n text: React.ReactNode;\n\n /** Задает список позиций, которые будет занимать хинт. Если положение хинта в определенной позиции будет выходить за край экрана, то будет выбрана следующая позиция. Обязательно должен включать позицию указанную в `pos`. */\n allowedPositions?: PopupPinnablePositionsType[];\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`.\n * Используется для корректного позиционирования хинта при двух и более вложенных элементах.\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически. */\n useWrapper?: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n position: PopupPinnablePositionsType;\n}\n\ntype DefaultProps = Required<Pick<HintProps, 'manual' | 'opened' | 'maxWidth' | 'disableAnimations' | 'useWrapper'>>;\n\n/**\n * Всплывающая подсказка `Hint`.\n * По умолчанию отображается при наведении на элемент, но можно задать другие условия отображения.\n *\n * Для подсказки, всплывающей по клику используйте Tooltip.\n */\n@withRenderEnvironment\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Hint';\n public static displayName = 'Hint';\n\n public static defaultProps: DefaultProps = {\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n private getProps = createPropsGetter(Hint.defaultProps);\n\n public state: HintState = {\n opened: this.getProps().manual ? !!this.getProps().opened : false,\n position: DUMMY_LOCATION.position,\n };\n\n private timer: SafeTimer;\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private styles!: ReturnType<typeof getStyles>;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n\n private popupRef = React.createRef<Popup>();\n\n public getAllowedPositions(): string[] | undefined {\n return this.props.allowedPositions;\n }\n\n public componentDidUpdate(prevProps: HintProps) {\n const { opened, manual } = this.getProps();\n if (!manual) {\n return;\n }\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n if (opened !== prevProps.opened) {\n this.setState({ opened: !!opened });\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain(): React.JSX.Element {\n const { disableAnimations, useWrapper } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin={false}\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n pos={this.props.pos}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n onPositionChange={(position) => this.setState({ position })}\n disableAnimations={disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={useWrapper}\n ref={this.popupRef}\n withoutMobile\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { maxWidth } = this.getProps();\n const centerAlignPositions = ['top', 'top center', 'bottom', 'bottom center'];\n const className = this.cx({\n [this.styles.content(this.theme)]: true,\n [this.styles.contentCenter(this.theme)]: centerAlignPositions.includes(this.state.position),\n });\n return (\n <div className={className} style={{ maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPinnablePositionsType[] | undefined => {\n return this.props.allowedPositions;\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.getProps().manual && !this.timer) {\n this.timer = setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.getProps().manual && this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"]}
1
+ {"version":3,"file":"Hint.js","sourceRoot":"","sources":["../../../components/Hint/Hint.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport React from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { DUMMY_LOCATION, Popup } from '../../internal/Popup/index.js';\nimport type { PopupPinnablePositionsType, ShortPopupPositionsType } from '../../internal/Popup/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { isTestEnv } from '../../lib/currentEnvironment.js';\nimport type { SafeTimer } from '../../lib/globalObject.js';\nimport type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory.js';\nimport type { MouseEventType } from '../../typings/event-types.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport { getStyles } from './Hint.styles.js';\n\nconst HINT_BORDER_COLOR = 'transparent';\n\nexport interface HintProps extends CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Переводит отображение подсказки в _\"ручной режим\"_.\n В _\"ручном режиме\"_ подсказку можно активировать только задав значение пропу `opened`. */\n manual?: boolean;\n\n /** Задает максимальную ширину подсказки. */\n maxWidth?: React.CSSProperties['maxWidth'];\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). */\n onMouseEnter?: (event: MouseEventType) => void;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: (event: MouseEventType) => void;\n\n /** Открывает подсказку. Работает только при `manual=true`. */\n opened?: boolean;\n\n /** Задает приоритетное расположение подсказки относительно текста. */\n pos?: ShortPopupPositionsType | PopupPinnablePositionsType;\n\n /** Задает текст подсказки. */\n text: React.ReactNode;\n\n /** Задает список позиций, которые будет занимать хинт. Если положение хинта в определенной позиции будет выходить за край экрана, то будет выбрана следующая позиция. Обязательно должен включать позицию указанную в `pos`. */\n allowedPositions?: PopupPinnablePositionsType[];\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`.\n * Используется для корректного позиционирования хинта при двух и более вложенных элементах.\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически. */\n useWrapper?: boolean;\n}\n\nexport interface HintState {\n opened: boolean;\n position: PopupPinnablePositionsType;\n}\n\ntype DefaultProps = Required<Pick<HintProps, 'manual' | 'opened' | 'maxWidth' | 'disableAnimations' | 'useWrapper'>>;\n\n/**\n * Всплывающая подсказка `Hint`.\n * По умолчанию отображается при наведении на элемент, но можно задать другие условия отображения.\n *\n * Для подсказки, всплывающей по клику используйте Tooltip.\n */\n@withRenderEnvironment\n@rootNode\nexport class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Hint';\n public static displayName = 'Hint';\n\n public static defaultProps: DefaultProps = {\n manual: false,\n opened: false,\n maxWidth: 200,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n private getProps = createPropsGetter(Hint.defaultProps);\n\n public state: HintState = {\n opened: this.getProps().manual ? !!this.getProps().opened : false,\n position: DUMMY_LOCATION.position,\n };\n\n private timer: SafeTimer;\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private styles!: ReturnType<typeof getStyles>;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n\n private popupRef = React.createRef<Popup>();\n\n public getAllowedPositions(): string[] | undefined {\n return this.props.allowedPositions;\n }\n\n public componentDidUpdate(prevProps: HintProps) {\n const { opened, manual } = this.getProps();\n if (!manual) {\n return;\n }\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n if (opened !== prevProps.opened) {\n this.setState({ opened: !!opened });\n }\n }\n\n public componentWillUnmount() {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupMargin: theme.hintMargin,\n popupBorder: theme.hintBorder,\n popupBorderRadius: theme.hintBorderRadius,\n },\n this.theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain(): React.JSX.Element {\n const { disableAnimations, useWrapper } = this.getProps();\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n hasPin={false}\n opened={this.state.opened}\n anchorElement={this.props.children}\n positions={this.getPositions()}\n pos={this.props.pos}\n backgroundColor={this.theme.hintBgColor}\n borderColor={HINT_BORDER_COLOR}\n onPositionChange={(position) => this.setState({ position })}\n disableAnimations={disableAnimations}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n useWrapper={useWrapper}\n ref={this.popupRef}\n withoutMobile\n >\n {this.renderContent()}\n </Popup>\n </CommonWrapper>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n private renderContent() {\n if (!this.props.text) {\n return null;\n }\n\n const { maxWidth } = this.getProps();\n const centerAlignPositions = ['top', 'top center', 'bottom', 'bottom center'];\n const className = this.cx({\n [this.styles.content(this.theme)]: true,\n [this.styles.contentCenter(this.theme)]: centerAlignPositions.includes(this.state.position),\n });\n return (\n <div className={className} style={{ maxWidth }}>\n {this.props.text}\n </div>\n );\n }\n\n private getPositions = (): PopupPinnablePositionsType[] | undefined => {\n return this.props.allowedPositions;\n };\n\n private handleMouseEnter = (e: MouseEventType) => {\n if (!this.getProps().manual && !this.timer) {\n this.timer = setTimeout(this.open, 400);\n }\n\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n\n private handleMouseLeave = (e: MouseEventType) => {\n if (!this.getProps().manual && this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n this.setState({ opened: false });\n }\n\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private open = () => {\n this.setState({ opened: true });\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Hint.styles.js","sourceRoot":"","sources":["../../../components/Hint/Hint.styles.ts"],"names":[],"mappings":";;;;AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,OAAO,YAAC,CAAQ;YACd,OAAO,GAAG,kUAAA,gDAEC,EAAW,sBACP,EAAc,wBACZ,EAAgB,sBAClB,EAAc,sDAEhB,EAAc,GAAI,EAAc,sEAG5C,KARU,CAAC,CAAC,SAAS,EACP,CAAC,CAAC,YAAY,EACZ,CAAC,CAAC,cAAc,EAClB,CAAC,CAAC,YAAY,EAEhB,CAAC,CAAC,YAAY,EAAI,CAAC,CAAC,YAAY,EAG3C;QACJ,CAAC;QAED,aAAa,YAAC,CAAQ;YACpB,OAAO,GAAG,oGAAA,sBACM,EAAe,SAC9B,KADe,CAAC,CAAC,aAAa,EAC7B;QACJ,CAAC;KACF,CAAC;AApB8D,CAoB9D,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n content(t: Theme) {\n return css`\n box-sizing: border-box;\n color: ${t.hintColor};\n font-size: ${t.hintFontSize};\n line-height: ${t.hintLineHeight};\n max-width: ${t.hintMaxWidth};\n overflow-wrap: break-word;\n padding: ${t.hintPaddingY} ${t.hintPaddingX};\n word-break: break-word;\n word-wrap: break-word;\n `;\n },\n\n contentCenter(t: Theme) {\n return css`\n text-align: ${t.hintTextAlign};\n `;\n },\n}));\n"]}
1
+ {"version":3,"file":"Hint.styles.js","sourceRoot":"","sources":["../../../components/Hint/Hint.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,OAAO,YAAC,CAAQ;YACd,OAAO,GAAG,kUAAA,gDAEC,EAAW,sBACP,EAAc,wBACZ,EAAgB,sBAClB,EAAc,sDAEhB,EAAc,GAAI,EAAc,sEAG5C,KARU,CAAC,CAAC,SAAS,EACP,CAAC,CAAC,YAAY,EACZ,CAAC,CAAC,cAAc,EAClB,CAAC,CAAC,YAAY,EAEhB,CAAC,CAAC,YAAY,EAAI,CAAC,CAAC,YAAY,EAG3C;QACJ,CAAC;QAED,aAAa,YAAC,CAAQ;YACpB,OAAO,GAAG,oGAAA,sBACM,EAAe,SAC9B,KADe,CAAC,CAAC,aAAa,EAC7B;QACJ,CAAC;KACF,CAAC;AApB8D,CAoB9D,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n content(t: Theme) {\n return css`\n box-sizing: border-box;\n color: ${t.hintColor};\n font-size: ${t.hintFontSize};\n line-height: ${t.hintLineHeight};\n max-width: ${t.hintMaxWidth};\n overflow-wrap: break-word;\n padding: ${t.hintPaddingY} ${t.hintPaddingX};\n word-break: break-word;\n word-wrap: break-word;\n `;\n },\n\n contentCenter(t: Theme) {\n return css`\n text-align: ${t.hintTextAlign};\n `;\n },\n}));\n"]}
@@ -1,9 +1,9 @@
1
1
  import type { AriaAttributes, HTMLAttributes, JSX, ReactElement } from 'react';
2
2
  import React from 'react';
3
- import type { Override } from '../../typings/utility-types.js';
4
3
  import type { CommonProps } from '../../internal/CommonWrapper/index.js';
5
4
  import type { TGetRootNode } from '../../lib/rootNode/index.js';
6
5
  import type { SizeProp } from '../../lib/types/props.js';
6
+ import type { Override } from '../../typings/utility-types.js';
7
7
  import type { InputElementProps } from './Input.typings.js';
8
8
  export declare const inputTypes: readonly ["password", "text", "number", "tel", "search", "time", "date", "url", "email"];
9
9
  export type InputAlign = 'left' | 'center' | 'right';
@@ -41,21 +41,20 @@ var __rest = (this && this.__rest) || function (s, e) {
41
41
  }
42
42
  return t;
43
43
  };
44
- // TODO: Enable this rule in functional components.
45
44
  import invariant from 'invariant';
46
45
  import React, { createRef } from 'react';
47
46
  import warning from 'warning';
48
- import { isKeyBackspace, isKeyDelete, someKeys } from '../../lib/events/keyboard/identifiers.js';
49
- import { ThemeContext } from '../../lib/theming/ThemeContext.js';
47
+ import { ClearCrossIcon } from '../../internal/ClearCrossIcon/ClearCrossIcon.js';
50
48
  import { CommonWrapper } from '../../internal/CommonWrapper/index.js';
51
- import { getRootNode, rootNode } from '../../lib/rootNode/index.js';
52
- import { createPropsGetter } from '../../lib/createPropsGetter.js';
53
49
  import { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';
54
- import { ClearCrossIcon } from '../../internal/ClearCrossIcon/ClearCrossIcon.js';
55
- import { catchUnreachableWarning } from '../../lib/typeGuards.js';
56
50
  import { blink } from '../../lib/blink.js';
57
- import { withSize } from '../../lib/size/SizeDecorator.js';
51
+ import { createPropsGetter } from '../../lib/createPropsGetter.js';
52
+ import { isKeyBackspace, isKeyDelete, someKeys } from '../../lib/events/keyboard/identifiers.js';
58
53
  import { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';
54
+ import { getRootNode, rootNode } from '../../lib/rootNode/index.js';
55
+ import { withSize } from '../../lib/size/SizeDecorator.js';
56
+ import { ThemeContext } from '../../lib/theming/ThemeContext.js';
57
+ import { catchUnreachableWarning } from '../../lib/typeGuards.js';
59
58
  import { getStyles } from './Input.styles.js';
60
59
  import { InputLayout } from './InputLayout/InputLayout.js';
61
60
  export var inputTypes = ['password', 'text', 'number', 'tel', 'search', 'time', 'date', 'url', 'email'];