@skbkontur/react-ui 6.1.0 → 6.1.1

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 (707) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/components/Autocomplete/Autocomplete.styles.js.map +1 -1
  4. package/components/Autocomplete/getAutocompleteTheme.js.map +1 -1
  5. package/components/Autocomplete/index.js.map +1 -1
  6. package/components/Autocomplete/locale/index.js.map +1 -1
  7. package/components/Autocomplete/locale/locales/en.js.map +1 -1
  8. package/components/Autocomplete/locale/locales/ru.js.map +1 -1
  9. package/components/Autocomplete/locale/types.js.map +1 -1
  10. package/components/Button/ArrowLeftIcon.js.map +1 -1
  11. package/components/Button/ArrowRightIcon.js.map +1 -1
  12. package/components/Button/Button.js.map +1 -1
  13. package/components/Button/Button.mixins.js.map +1 -1
  14. package/components/Button/Button.styles.js.map +1 -1
  15. package/components/Button/ButtonArrow.js.map +1 -1
  16. package/components/Button/ButtonIcon.js.map +1 -1
  17. package/components/Button/ButtonIcon.styles.js.map +1 -1
  18. package/components/Button/LoadingButtonIcon.js.map +1 -1
  19. package/components/Button/getInnerLinkTheme.js.map +1 -1
  20. package/components/Button/index.js.map +1 -1
  21. package/components/Calendar/Calendar.js.map +1 -1
  22. package/components/Calendar/Calendar.styles.js.map +1 -1
  23. package/components/Calendar/CalendarContext.js.map +1 -1
  24. package/components/Calendar/CalendarDateShape.js.map +1 -1
  25. package/components/Calendar/CalendarDay.js.map +1 -1
  26. package/components/Calendar/CalendarScrollEvents.js.map +1 -1
  27. package/components/Calendar/CalendarUtils.js.map +1 -1
  28. package/components/Calendar/DayCellView.js.map +1 -1
  29. package/components/Calendar/DayCellView.styles.js.map +1 -1
  30. package/components/Calendar/DayCellViewModel.js.map +1 -1
  31. package/components/Calendar/Month.js.map +1 -1
  32. package/components/Calendar/MonthView.js.map +1 -1
  33. package/components/Calendar/MonthView.styles.js.map +1 -1
  34. package/components/Calendar/MonthViewModel.js.map +1 -1
  35. package/components/Calendar/config.js.map +1 -1
  36. package/components/Calendar/index.js.map +1 -1
  37. package/components/Calendar/locale/locales/en.js.map +1 -1
  38. package/components/Calendar/locale/locales/ru.js.map +1 -1
  39. package/components/Calendar/locale/types.js.map +1 -1
  40. package/components/Center/Center.js.map +1 -1
  41. package/components/Center/Center.styles.js.map +1 -1
  42. package/components/Center/index.js.map +1 -1
  43. package/components/Checkbox/Checkbox.js.map +1 -1
  44. package/components/Checkbox/Checkbox.mixins.js.map +1 -1
  45. package/components/Checkbox/Checkbox.styles.js.map +1 -1
  46. package/components/Checkbox/CheckedIcon.js.map +1 -1
  47. package/components/Checkbox/IndeterminateIcon.js.map +1 -1
  48. package/components/Checkbox/index.js.map +1 -1
  49. package/components/ComboBox/ComboBox.js.map +1 -1
  50. package/components/ComboBox/index.js.map +1 -1
  51. package/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  52. package/components/CurrencyInput/CurrencyInput.js.map +1 -1
  53. package/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  54. package/components/CurrencyInput/CurrencyInputKeyboardActions.js.map +1 -1
  55. package/components/CurrencyInput/CursorHelper.js.map +1 -1
  56. package/components/CurrencyInput/SelectionHelper.js.map +1 -1
  57. package/components/CurrencyInput/constants.js.map +1 -1
  58. package/components/CurrencyInput/index.js.map +1 -1
  59. package/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  60. package/components/CurrencyLabel/index.js.map +1 -1
  61. package/components/DateInput/CalendarIcon.js.map +1 -1
  62. package/components/DateInput/DateFragmentsView.js.map +1 -1
  63. package/components/DateInput/DateFragmentsView.styles.js.map +1 -1
  64. package/components/DateInput/DateInput.js.map +1 -1
  65. package/components/DateInput/DateInput.styles.js.map +1 -1
  66. package/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  67. package/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  68. package/components/DateInput/helpers/inputNumber.js.map +1 -1
  69. package/components/DateInput/index.js.map +1 -1
  70. package/components/DatePicker/DatePicker.js.map +1 -1
  71. package/components/DatePicker/DatePicker.styles.js.map +1 -1
  72. package/components/DatePicker/MobilePicker.js.map +1 -1
  73. package/components/DatePicker/MobilePicker.styles.js.map +1 -1
  74. package/components/DatePicker/getMobilePickerTheme.js.map +1 -1
  75. package/components/DatePicker/index.js.map +1 -1
  76. package/components/DatePicker/locale/index.js.map +1 -1
  77. package/components/DatePicker/locale/locales/en.js.map +1 -1
  78. package/components/DatePicker/locale/locales/ru.js.map +1 -1
  79. package/components/DatePicker/locale/types.js.map +1 -1
  80. package/components/DateRangePicker/DateRangePicker.js.map +1 -1
  81. package/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
  82. package/components/DateRangePicker/DateRangePickerContext.js.map +1 -1
  83. package/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  84. package/components/DateRangePicker/DateRangePickerSeparator.js.map +1 -1
  85. package/components/DateRangePicker/DateRangePickerTheme.js.map +1 -1
  86. package/components/DateRangePicker/helpers/getStateForValue.js.map +1 -1
  87. package/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
  88. package/components/DateRangePicker/index.js.map +1 -1
  89. package/components/DateRangePicker/locale/index.js.map +1 -1
  90. package/components/DateRangePicker/locale/locales/en.js.map +1 -1
  91. package/components/DateRangePicker/locale/locales/ru.js.map +1 -1
  92. package/components/DateRangePicker/locale/types.js.map +1 -1
  93. package/components/Dropdown/Dropdown.js.map +1 -1
  94. package/components/Dropdown/getDropdownTheme.js.map +1 -1
  95. package/components/Dropdown/index.js.map +1 -1
  96. package/components/DropdownMenu/DropdownMenu.js.map +1 -1
  97. package/components/DropdownMenu/getDropdownMenuTheme.js.map +1 -1
  98. package/components/DropdownMenu/index.js.map +1 -1
  99. package/components/FileUploader/FileUploader.js.map +1 -1
  100. package/components/FileUploader/FileUploader.mixins.js.map +1 -1
  101. package/components/FileUploader/FileUploader.styles.js.map +1 -1
  102. package/components/FileUploader/FileUploaderControlContext.js.map +1 -1
  103. package/components/FileUploader/FileUploaderControlProvider.js.map +1 -1
  104. package/components/FileUploader/FileUploaderFile.js.map +1 -1
  105. package/components/FileUploader/FileUploaderFile.styles.js.map +1 -1
  106. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  107. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -1
  108. package/components/FileUploader/FileUploaderFileStatusIcon.js.map +1 -1
  109. package/components/FileUploader/FileUploaderFileTypeIcon.js.map +1 -1
  110. package/components/FileUploader/FileUploaderFileValidationResult.js.map +1 -1
  111. package/components/FileUploader/fileUtils.js.map +1 -1
  112. package/components/FileUploader/hooks/useControlLocale.js.map +1 -1
  113. package/components/FileUploader/hooks/useFileUploaderSize.js.map +1 -1
  114. package/components/FileUploader/hooks/useUpload.js.map +1 -1
  115. package/components/FileUploader/icons/DeleteIcon.js.map +1 -1
  116. package/components/FileUploader/icons/UploadIcon.js.map +1 -1
  117. package/components/FileUploader/icons/row/ArchiveIcon.js.map +1 -1
  118. package/components/FileUploader/icons/row/DocTextIcon.js.map +1 -1
  119. package/components/FileUploader/icons/row/FolderIcon.js.map +1 -1
  120. package/components/FileUploader/icons/row/MarkupIcon.js.map +1 -1
  121. package/components/FileUploader/icons/row/PdfIcon.js.map +1 -1
  122. package/components/FileUploader/icons/row/PictureIcon.js.map +1 -1
  123. package/components/FileUploader/icons/row/PresentationIcon.js.map +1 -1
  124. package/components/FileUploader/icons/row/RowUploadIcon.js.map +1 -1
  125. package/components/FileUploader/icons/row/TableIcon.js.map +1 -1
  126. package/components/FileUploader/icons/row/TextIcon.js.map +1 -1
  127. package/components/FileUploader/icons/row/ValidationErrorIcon.js.map +1 -1
  128. package/components/FileUploader/icons/row/ValidationWarningIcon.js.map +1 -1
  129. package/components/FileUploader/icons/tile/ArchiveIcon.js.map +1 -1
  130. package/components/FileUploader/icons/tile/DocTextIcon.js.map +1 -1
  131. package/components/FileUploader/icons/tile/FolderIcon.js.map +1 -1
  132. package/components/FileUploader/icons/tile/MarkupIcon.js.map +1 -1
  133. package/components/FileUploader/icons/tile/PdfIcon.js.map +1 -1
  134. package/components/FileUploader/icons/tile/PictureIcon.js.map +1 -1
  135. package/components/FileUploader/icons/tile/PresentationIcon.js.map +1 -1
  136. package/components/FileUploader/icons/tile/TableIcon.js.map +1 -1
  137. package/components/FileUploader/icons/tile/TextIcon.js.map +1 -1
  138. package/components/FileUploader/icons/tile/TileUploadIcon.js.map +1 -1
  139. package/components/FileUploader/icons/tile/ValidationErrorIcon.js.map +1 -1
  140. package/components/FileUploader/icons/tile/ValidationWarningIcon.js.map +1 -1
  141. package/components/FileUploader/index.js.map +1 -1
  142. package/components/FileUploader/locale/index.js.map +1 -1
  143. package/components/FileUploader/locale/locales/en.js.map +1 -1
  144. package/components/FileUploader/locale/locales/ru.js.map +1 -1
  145. package/components/FileUploader/locale/types.js.map +1 -1
  146. package/components/FileUploader/withFileUploaderControlProvider.js.map +1 -1
  147. package/components/FxInput/FxInput.js.map +1 -1
  148. package/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  149. package/components/FxInput/MathFunctionIcon.js.map +1 -1
  150. package/components/FxInput/UndoIcon.js.map +1 -1
  151. package/components/FxInput/index.js.map +1 -1
  152. package/components/Gapped/Gapped.js.map +1 -1
  153. package/components/Gapped/index.js.map +1 -1
  154. package/components/GlobalLoader/GlobalLoader.js.map +1 -1
  155. package/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  156. package/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -1
  157. package/components/GlobalLoader/index.js.map +1 -1
  158. package/components/GlobalLoader/useParams.js.map +1 -1
  159. package/components/Group/Group.js.map +1 -1
  160. package/components/Group/Group.styles.js.map +1 -1
  161. package/components/Group/index.js.map +1 -1
  162. package/components/Hint/Hint.js.map +1 -1
  163. package/components/Hint/Hint.styles.js.map +1 -1
  164. package/components/Hint/index.js.map +1 -1
  165. package/components/Input/Input.js.map +1 -1
  166. package/components/Input/Input.styles.js.map +1 -1
  167. package/components/Input/Input.typings.js.map +1 -1
  168. package/components/Input/InputLayout/InputLayout.js.map +1 -1
  169. package/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
  170. package/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  171. package/components/Input/InputLayout/InputLayoutAsideCounter.js.map +1 -1
  172. package/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  173. package/components/Input/InputLayout/InputLayoutAsideText.js.map +1 -1
  174. package/components/Input/InputLayout/InputLayoutContext.js.map +1 -1
  175. package/components/Input/index.js.map +1 -1
  176. package/components/Kebab/Kebab.js.map +1 -1
  177. package/components/Kebab/Kebab.styles.js.map +1 -1
  178. package/components/Kebab/KebabIcon.js.map +1 -1
  179. package/components/Kebab/index.js.map +1 -1
  180. package/components/Link/Link.js.map +1 -1
  181. package/components/Link/Link.mixins.js.map +1 -1
  182. package/components/Link/Link.styles.js.map +1 -1
  183. package/components/Link/LinkIcon.js.map +1 -1
  184. package/components/Link/index.js.map +1 -1
  185. package/components/Loader/Loader.js.map +1 -1
  186. package/components/Loader/Loader.styles.js.map +1 -1
  187. package/components/Loader/index.js.map +1 -1
  188. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  189. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js.map +1 -1
  190. package/components/MaskedInput/ColorableInputElement/index.js.map +1 -1
  191. package/components/MaskedInput/FixedIMaskInput.js.map +1 -1
  192. package/components/MaskedInput/MaskedInput.helpers.js.map +1 -1
  193. package/components/MaskedInput/MaskedInput.js.map +1 -1
  194. package/components/MaskedInput/MaskedInput.styles.js.map +1 -1
  195. package/components/MaskedInput/index.js.map +1 -1
  196. package/components/MenuFooter/MenuFooter.js.map +1 -1
  197. package/components/MenuFooter/MenuFooter.mixins.js.map +1 -1
  198. package/components/MenuFooter/MenuFooter.styles.js.map +1 -1
  199. package/components/MenuFooter/index.js.map +1 -1
  200. package/components/MenuHeader/MenuHeader.js.map +1 -1
  201. package/components/MenuHeader/MenuHeader.mixins.js.map +1 -1
  202. package/components/MenuHeader/MenuHeader.styles.js.map +1 -1
  203. package/components/MenuHeader/index.js.map +1 -1
  204. package/components/MenuItem/MenuItem.js.map +1 -1
  205. package/components/MenuItem/MenuItem.mixins.js.map +1 -1
  206. package/components/MenuItem/MenuItem.styles.js.map +1 -1
  207. package/components/MenuItem/index.js.map +1 -1
  208. package/components/MenuSeparator/MenuSeparator.js.map +1 -1
  209. package/components/MenuSeparator/MenuSeparator.styles.js.map +1 -1
  210. package/components/MenuSeparator/index.js.map +1 -1
  211. package/components/MiniModal/MiniModal.js.map +1 -1
  212. package/components/MiniModal/MiniModal.styles.js.map +1 -1
  213. package/components/MiniModal/MiniModalBody.js.map +1 -1
  214. package/components/MiniModal/MiniModalFooter.js.map +1 -1
  215. package/components/MiniModal/MiniModalHeader.js.map +1 -1
  216. package/components/MiniModal/MiniModalIndent.js.map +1 -1
  217. package/components/MiniModal/getMiniModalTheme.js.map +1 -1
  218. package/components/MiniModal/index.js.map +1 -1
  219. package/components/Modal/Modal.js.map +1 -1
  220. package/components/Modal/Modal.styles.js.map +1 -1
  221. package/components/Modal/ModalBody.js.map +1 -1
  222. package/components/Modal/ModalClose.js.map +1 -1
  223. package/components/Modal/ModalContext.js.map +1 -1
  224. package/components/Modal/ModalFooter.js.map +1 -1
  225. package/components/Modal/ModalHeader.js.map +1 -1
  226. package/components/Modal/ModalSeparator.js.map +1 -1
  227. package/components/Modal/getModalBodyTheme.js.map +1 -1
  228. package/components/Modal/getModalTheme.js.map +1 -1
  229. package/components/Modal/index.js.map +1 -1
  230. package/components/Modal/locale/index.js.map +1 -1
  231. package/components/Modal/locale/locales/en.js.map +1 -1
  232. package/components/Modal/locale/locales/ru.js.map +1 -1
  233. package/components/Modal/locale/types.js.map +1 -1
  234. package/components/Paging/DotsIcon.js.map +1 -1
  235. package/components/Paging/ForwardIcon.js.map +1 -1
  236. package/components/Paging/NavigationHelper.js.map +1 -1
  237. package/components/Paging/Paging.js.map +1 -1
  238. package/components/Paging/Paging.styles.js.map +1 -1
  239. package/components/Paging/PagingDefaultComponent.js.map +1 -1
  240. package/components/Paging/PagingHelper.js.map +1 -1
  241. package/components/Paging/index.js.map +1 -1
  242. package/components/Paging/locale/index.js.map +1 -1
  243. package/components/Paging/locale/locales/en.js.map +1 -1
  244. package/components/Paging/locale/locales/ru.js.map +1 -1
  245. package/components/Paging/locale/types.js.map +1 -1
  246. package/components/PasswordInput/ClosedIcon.js.map +1 -1
  247. package/components/PasswordInput/OpenedIcon.js.map +1 -1
  248. package/components/PasswordInput/PasswordInput.js.map +1 -1
  249. package/components/PasswordInput/PasswordInput.styles.js.map +1 -1
  250. package/components/PasswordInput/PasswordInputIcon.js.map +1 -1
  251. package/components/PasswordInput/index.js.map +1 -1
  252. package/components/PasswordInput/locale/index.js.map +1 -1
  253. package/components/PasswordInput/locale/locales/en.js.map +1 -1
  254. package/components/PasswordInput/locale/locales/ru.js.map +1 -1
  255. package/components/PasswordInput/locale/types.js.map +1 -1
  256. package/components/Radio/Radio.js.map +1 -1
  257. package/components/Radio/Radio.mixins.js.map +1 -1
  258. package/components/Radio/Radio.styles.js.map +1 -1
  259. package/components/Radio/index.js.map +1 -1
  260. package/components/RadioGroup/Prevent.js.map +1 -1
  261. package/components/RadioGroup/RadioGroup.js.map +1 -1
  262. package/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  263. package/components/RadioGroup/RadioGroupContext.js.map +1 -1
  264. package/components/RadioGroup/index.js.map +1 -1
  265. package/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  266. package/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  267. package/components/ResponsiveLayout/decorator.js.map +1 -1
  268. package/components/ResponsiveLayout/index.js.map +1 -1
  269. package/components/ResponsiveLayout/types.js.map +1 -1
  270. package/components/ResponsiveLayout/useResponsiveLayout.js.map +1 -1
  271. package/components/ScrollContainer/ScrollBar.js.map +1 -1
  272. package/components/ScrollContainer/ScrollContainer.constants.js.map +1 -1
  273. package/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -1
  274. package/components/ScrollContainer/ScrollContainer.js.map +1 -1
  275. package/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  276. package/components/ScrollContainer/index.js.map +1 -1
  277. package/components/Select/ArrowDownIcon.js.map +1 -1
  278. package/components/Select/Item.js.map +1 -1
  279. package/components/Select/Select.js.map +1 -1
  280. package/components/Select/Select.styles.js.map +1 -1
  281. package/components/Select/index.js.map +1 -1
  282. package/components/Select/locale/index.js.map +1 -1
  283. package/components/Select/locale/locales/en.js.map +1 -1
  284. package/components/Select/locale/locales/ru.js.map +1 -1
  285. package/components/Select/locale/types.js.map +1 -1
  286. package/components/Select/selectTheme.js.map +1 -1
  287. package/components/Select/tids.js.map +1 -1
  288. package/components/SidePage/SidePage.js.map +1 -1
  289. package/components/SidePage/SidePage.styles.js.map +1 -1
  290. package/components/SidePage/SidePageBody.js.map +1 -1
  291. package/components/SidePage/SidePageCloseButton.js.map +1 -1
  292. package/components/SidePage/SidePageContainer.js.map +1 -1
  293. package/components/SidePage/SidePageContext.js.map +1 -1
  294. package/components/SidePage/SidePageFooter.js.map +1 -1
  295. package/components/SidePage/SidePageHeader.js.map +1 -1
  296. package/components/SidePage/index.js.map +1 -1
  297. package/components/SidePage/locale/index.js.map +1 -1
  298. package/components/SidePage/locale/locales/en.js.map +1 -1
  299. package/components/SidePage/locale/locales/ru.js.map +1 -1
  300. package/components/SidePage/locale/types.js.map +1 -1
  301. package/components/SingleToast/SingleToast.js.map +1 -1
  302. package/components/SingleToast/index.js.map +1 -1
  303. package/components/Spinner/Spinner.js.map +1 -1
  304. package/components/Spinner/Spinner.styles.js.map +1 -1
  305. package/components/Spinner/index.js.map +1 -1
  306. package/components/Sticky/Sticky.js.map +1 -1
  307. package/components/Sticky/Sticky.styles.js.map +1 -1
  308. package/components/Sticky/index.js.map +1 -1
  309. package/components/Switcher/Switcher.js.map +1 -1
  310. package/components/Switcher/Switcher.styles.js.map +1 -1
  311. package/components/Switcher/helpers.js.map +1 -1
  312. package/components/Switcher/index.js.map +1 -1
  313. package/components/Switcher/switcherTheme.js.map +1 -1
  314. package/components/Tabs/Indicator.js.map +1 -1
  315. package/components/Tabs/Indicator.styles.js.map +1 -1
  316. package/components/Tabs/Tab.js.map +1 -1
  317. package/components/Tabs/Tab.styles.js.map +1 -1
  318. package/components/Tabs/Tabs.js.map +1 -1
  319. package/components/Tabs/Tabs.styles.js.map +1 -1
  320. package/components/Tabs/TabsContext.js.map +1 -1
  321. package/components/Tabs/helpers.js.map +1 -1
  322. package/components/Tabs/index.js.map +1 -1
  323. package/components/Textarea/Textarea.js.map +1 -1
  324. package/components/Textarea/Textarea.mixins.js.map +1 -1
  325. package/components/Textarea/Textarea.styles.js.map +1 -1
  326. package/components/Textarea/TextareaCounter.js.map +1 -1
  327. package/components/Textarea/TextareaHelpers.js.map +1 -1
  328. package/components/Textarea/TextareaWithSafari17Workaround.js.map +1 -1
  329. package/components/Textarea/index.js.map +1 -1
  330. package/components/Toast/Toast.js.map +1 -1
  331. package/components/Toast/Toast.styles.js.map +1 -1
  332. package/components/Toast/ToastView.js.map +1 -1
  333. package/components/Toast/ToastView.styles.js.map +1 -1
  334. package/components/Toast/index.js.map +1 -1
  335. package/components/Toast/locale/index.js.map +1 -1
  336. package/components/Toast/locale/locales/en.js.map +1 -1
  337. package/components/Toast/locale/locales/ru.js.map +1 -1
  338. package/components/Toast/locale/types.js.map +1 -1
  339. package/components/Toggle/Toggle.js.map +1 -1
  340. package/components/Toggle/Toggle.mixins.js.map +1 -1
  341. package/components/Toggle/Toggle.styles.js.map +1 -1
  342. package/components/Toggle/index.js.map +1 -1
  343. package/components/Token/Token.js.map +1 -1
  344. package/components/Token/Token.mixins.js.map +1 -1
  345. package/components/Token/Token.styles.js.map +1 -1
  346. package/components/Token/TokenView.js.map +1 -1
  347. package/components/Token/index.js.map +1 -1
  348. package/components/Token/locale/index.js.map +1 -1
  349. package/components/Token/locale/locales/en.js.map +1 -1
  350. package/components/Token/locale/locales/ru.js.map +1 -1
  351. package/components/Token/locale/types.js.map +1 -1
  352. package/components/TokenInput/TextWidthHelper.js.map +1 -1
  353. package/components/TokenInput/TokenInput.js.map +1 -1
  354. package/components/TokenInput/TokenInput.mixins.js.map +1 -1
  355. package/components/TokenInput/TokenInput.styles.js.map +1 -1
  356. package/components/TokenInput/TokenInputMenu.js.map +1 -1
  357. package/components/TokenInput/TokenInputMobileMenu.js.map +1 -1
  358. package/components/TokenInput/TokenInputReducer.js.map +1 -1
  359. package/components/TokenInput/index.js.map +1 -1
  360. package/components/TokenInput/locale/index.js.map +1 -1
  361. package/components/TokenInput/locale/locales/en.js.map +1 -1
  362. package/components/TokenInput/locale/locales/ru.js.map +1 -1
  363. package/components/TokenInput/locale/types.js.map +1 -1
  364. package/components/Tooltip/Tooltip.js.map +1 -1
  365. package/components/Tooltip/Tooltip.styles.js.map +1 -1
  366. package/components/Tooltip/index.js.map +1 -1
  367. package/components/TooltipMenu/TooltipMenu.js.map +1 -1
  368. package/components/TooltipMenu/index.js.map +1 -1
  369. package/hooks/useDrop.js.map +1 -1
  370. package/hooks/useEffectWithoutInitCall.js.map +1 -1
  371. package/hooks/useMemoObject.js.map +1 -1
  372. package/index.js.map +1 -1
  373. package/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  374. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  375. package/internal/ClearCrossIcon/CrossIcon.js.map +1 -1
  376. package/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  377. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +1 -1
  378. package/internal/CloseButtonIcon/CrossIcon.js.map +1 -1
  379. package/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  380. package/internal/CommonWrapper/index.js.map +1 -1
  381. package/internal/CommonWrapper/types.js.map +1 -1
  382. package/internal/CommonWrapper/utils/extractCommonProps.js.map +1 -1
  383. package/internal/CommonWrapper/utils/getCommonVisualStateDataAttributes.js.map +1 -1
  384. package/internal/CommonWrapper/utils/getVisualStateDataAttributes.js.map +1 -1
  385. package/internal/CommonWrapper/utils/tryGetBoolean.js.map +1 -1
  386. package/internal/CustomComboBox/ArrowDownIcon.js.map +1 -1
  387. package/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  388. package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  389. package/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  390. package/internal/CustomComboBox/CustomComboBox.styles.js.map +1 -1
  391. package/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  392. package/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
  393. package/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
  394. package/internal/CustomComboBox/index.js.map +1 -1
  395. package/internal/CustomComboBox/locale/index.js.map +1 -1
  396. package/internal/CustomComboBox/locale/locales/en.js.map +1 -1
  397. package/internal/CustomComboBox/locale/locales/ru.js.map +1 -1
  398. package/internal/CustomComboBox/locale/types.js.map +1 -1
  399. package/internal/CustomComboBox/tids.js.map +1 -1
  400. package/internal/DateSelect/DateSelect.js.map +1 -1
  401. package/internal/DateSelect/DateSelect.styles.js.map +1 -1
  402. package/internal/DateSelect/index.js.map +1 -1
  403. package/internal/DateSelect/locale/index.js.map +1 -1
  404. package/internal/DateSelect/locale/locales/en.js.map +1 -1
  405. package/internal/DateSelect/locale/locales/ru.js.map +1 -1
  406. package/internal/DateSelect/locale/types.js.map +1 -1
  407. package/internal/FocusControlWrapper/FocusControlWrapper.js.map +1 -1
  408. package/internal/FocusControlWrapper/index.js.map +1 -1
  409. package/internal/FocusControlWrapper/useFocusControl.js.map +1 -1
  410. package/internal/FocusTrap/FocusTrap.js.map +1 -1
  411. package/internal/FocusTrap/index.js.map +1 -1
  412. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  413. package/internal/HideBodyVerticalScroll/index.js.map +1 -1
  414. package/internal/InputLikeText/InputLikeText.js.map +1 -1
  415. package/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  416. package/internal/InputLikeText/index.js.map +1 -1
  417. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
  418. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -1
  419. package/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  420. package/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +1 -1
  421. package/internal/MaskCharLowLine/index.js.map +1 -1
  422. package/internal/Menu/Menu.js.map +1 -1
  423. package/internal/Menu/Menu.styles.js.map +1 -1
  424. package/internal/Menu/MenuContext.js.map +1 -1
  425. package/internal/Menu/MenuNavigation.js.map +1 -1
  426. package/internal/Menu/index.js.map +1 -1
  427. package/internal/MenuMessage/MenuMessage.js.map +1 -1
  428. package/internal/MenuMessage/MenuMessage.styles.js.map +1 -1
  429. package/internal/MenuMessage/index.js.map +1 -1
  430. package/internal/MobilePopup/MobilePopup.js.map +1 -1
  431. package/internal/MobilePopup/MobilePopup.styles.js.map +1 -1
  432. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
  433. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +1 -1
  434. package/internal/MobilePopup/MobilePopupFooter/index.js.map +1 -1
  435. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  436. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +1 -1
  437. package/internal/MobilePopup/MobilePopupHeader/index.js.map +1 -1
  438. package/internal/MobilePopup/index.js.map +1 -1
  439. package/internal/NativeDateInput/NativeDateInput.js.map +1 -1
  440. package/internal/NativeDateInput/NativeDateInput.styles.js.map +1 -1
  441. package/internal/NativeDateInput/index.js.map +1 -1
  442. package/internal/NativeDateInput/utils.js.map +1 -1
  443. package/internal/Popup/Popup.js.map +1 -1
  444. package/internal/Popup/Popup.styles.js.map +1 -1
  445. package/internal/Popup/PopupHelper.js.map +1 -1
  446. package/internal/Popup/PopupPin.js.map +1 -1
  447. package/internal/Popup/PopupPin.styles.js.map +1 -1
  448. package/internal/Popup/index.js.map +1 -1
  449. package/internal/Popup/types.js.map +1 -1
  450. package/internal/PopupMenu/PopupMenu.js.map +1 -1
  451. package/internal/PopupMenu/PopupMenu.styles.js.map +1 -1
  452. package/internal/PopupMenu/index.js.map +1 -1
  453. package/internal/PopupMenu/tids.js.map +1 -1
  454. package/internal/PopupMenu/validatePositions.js.map +1 -1
  455. package/internal/RenderContainer/RenderContainer.js.map +1 -1
  456. package/internal/RenderContainer/RenderContainerTypes.js.map +1 -1
  457. package/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  458. package/internal/RenderContainer/index.js.map +1 -1
  459. package/internal/RenderLayer/RenderLayer.js.map +1 -1
  460. package/internal/RenderLayer/index.js.map +1 -1
  461. package/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  462. package/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
  463. package/internal/ResizeDetector/index.js.map +1 -1
  464. package/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
  465. package/internal/SpinnerIcon/SpinnerIcon.styles.js.map +1 -1
  466. package/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  467. package/internal/TextWidthHelper/TextWidthHelper.styles.js.map +1 -1
  468. package/internal/ZIndex/ZIndex.js.map +1 -1
  469. package/internal/ZIndex/ZIndexStorage.js.map +1 -1
  470. package/internal/ZIndex/index.js.map +1 -1
  471. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.js.map +1 -1
  472. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.js.map +1 -1
  473. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.js.map +1 -1
  474. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.js.map +1 -1
  475. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.js.map +1 -1
  476. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.js.map +1 -1
  477. package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.js.map +1 -1
  478. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.js.map +1 -1
  479. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.js.map +1 -1
  480. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.js.map +1 -1
  481. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.js.map +1 -1
  482. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.js.map +1 -1
  483. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.js.map +1 -1
  484. package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.js.map +1 -1
  485. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.js.map +1 -1
  486. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.js.map +1 -1
  487. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.js.map +1 -1
  488. package/internal/icons2022/BaseIcon.js.map +1 -1
  489. package/internal/icons2022/BaseIcon.styles.js.map +1 -1
  490. package/internal/icons2022/CalendarIcon/CalendarIcon16Light.js.map +1 -1
  491. package/internal/icons2022/CalendarIcon/CalendarIcon20Light.js.map +1 -1
  492. package/internal/icons2022/CalendarIcon/CalendarIcon24Regular.js.map +1 -1
  493. package/internal/icons2022/CheckAIcon/CheckAIcon16Solid.js.map +1 -1
  494. package/internal/icons2022/CheckAIcon/CheckAIcon20Solid.js.map +1 -1
  495. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.js.map +1 -1
  496. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.js.map +1 -1
  497. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.js.map +1 -1
  498. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.js.map +1 -1
  499. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.js.map +1 -1
  500. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.js.map +1 -1
  501. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon16Solid.js.map +1 -1
  502. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon20Solid.js.map +1 -1
  503. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon24Regular.js.map +1 -1
  504. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon24Solid.js.map +1 -1
  505. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon32Regular.js.map +1 -1
  506. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon64Regular.js.map +1 -1
  507. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon16Solid.js.map +1 -1
  508. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon20Solid.js.map +1 -1
  509. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon24Regular.js.map +1 -1
  510. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon24Solid.js.map +1 -1
  511. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon32Regular.js.map +1 -1
  512. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon64Regular.js.map +1 -1
  513. package/internal/icons2022/FileTypeFolderIcon/FolderIcon16Solid.js.map +1 -1
  514. package/internal/icons2022/FileTypeFolderIcon/FolderIcon20Solid.js.map +1 -1
  515. package/internal/icons2022/FileTypeFolderIcon/FolderIcon24Regular.js.map +1 -1
  516. package/internal/icons2022/FileTypeFolderIcon/FolderIcon24Solid.js.map +1 -1
  517. package/internal/icons2022/FileTypeFolderIcon/FolderIcon32Regular.js.map +1 -1
  518. package/internal/icons2022/FileTypeFolderIcon/FolderIcon64Regular.js.map +1 -1
  519. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon16Solid.js.map +1 -1
  520. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon20Solid.js.map +1 -1
  521. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon24Regular.js.map +1 -1
  522. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon24Solid.js.map +1 -1
  523. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon32Regular.js.map +1 -1
  524. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon64Regular.js.map +1 -1
  525. package/internal/icons2022/FileTypePdfIcon/PdfIcon16Solid.js.map +1 -1
  526. package/internal/icons2022/FileTypePdfIcon/PdfIcon20Solid.js.map +1 -1
  527. package/internal/icons2022/FileTypePdfIcon/PdfIcon24Regular.js.map +1 -1
  528. package/internal/icons2022/FileTypePdfIcon/PdfIcon24Solid.js.map +1 -1
  529. package/internal/icons2022/FileTypePdfIcon/PdfIcon32Regular.js.map +1 -1
  530. package/internal/icons2022/FileTypePdfIcon/PdfIcon64Regular.js.map +1 -1
  531. package/internal/icons2022/FileTypePictureIcon/PictureIcon16Solid.js.map +1 -1
  532. package/internal/icons2022/FileTypePictureIcon/PictureIcon20Solid.js.map +1 -1
  533. package/internal/icons2022/FileTypePictureIcon/PictureIcon24Regular.js.map +1 -1
  534. package/internal/icons2022/FileTypePictureIcon/PictureIcon24Solid.js.map +1 -1
  535. package/internal/icons2022/FileTypePictureIcon/PictureIcon32Regular.js.map +1 -1
  536. package/internal/icons2022/FileTypePictureIcon/PictureIcon64Regular.js.map +1 -1
  537. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon16Solid.js.map +1 -1
  538. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon20Solid.js.map +1 -1
  539. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon24Regular.js.map +1 -1
  540. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon24Solid.js.map +1 -1
  541. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon32Regular.js.map +1 -1
  542. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon64Regular.js.map +1 -1
  543. package/internal/icons2022/FileTypeTableIcon/TableIcon16Solid.js.map +1 -1
  544. package/internal/icons2022/FileTypeTableIcon/TableIcon20Solid.js.map +1 -1
  545. package/internal/icons2022/FileTypeTableIcon/TableIcon24Regular.js.map +1 -1
  546. package/internal/icons2022/FileTypeTableIcon/TableIcon24Solid.js.map +1 -1
  547. package/internal/icons2022/FileTypeTableIcon/TableIcon32Regular.js.map +1 -1
  548. package/internal/icons2022/FileTypeTableIcon/TableIcon64Regular.js.map +1 -1
  549. package/internal/icons2022/FileTypeTextIcon/TextIcon16Solid.js.map +1 -1
  550. package/internal/icons2022/FileTypeTextIcon/TextIcon20Solid.js.map +1 -1
  551. package/internal/icons2022/FileTypeTextIcon/TextIcon24Regular.js.map +1 -1
  552. package/internal/icons2022/FileTypeTextIcon/TextIcon24Solid.js.map +1 -1
  553. package/internal/icons2022/FileTypeTextIcon/TextIcon32Regular.js.map +1 -1
  554. package/internal/icons2022/FileTypeTextIcon/TextIcon64Regular.js.map +1 -1
  555. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js.map +1 -1
  556. package/internal/icons2022/LoadingIcon.js.map +1 -1
  557. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.js.map +1 -1
  558. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.js.map +1 -1
  559. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.js.map +1 -1
  560. package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.js.map +1 -1
  561. package/internal/icons2022/NetUploadIcon/NetUploadIcon20Regular.js.map +1 -1
  562. package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.js.map +1 -1
  563. package/internal/icons2022/NetUploadIcon/NetUploadIcon32Regular.js.map +1 -1
  564. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Light.js.map +1 -1
  565. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.js.map +1 -1
  566. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon20Regular.js.map +1 -1
  567. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon24Regular.js.map +1 -1
  568. package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.js.map +1 -1
  569. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -1
  570. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.js.map +1 -1
  571. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.js.map +1 -1
  572. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.js.map +1 -1
  573. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon16Solid.js.map +1 -1
  574. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon20Solid.js.map +1 -1
  575. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon24Regular.js.map +1 -1
  576. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon24Solid.js.map +1 -1
  577. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon32Regular.js.map +1 -1
  578. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon64Regular.js.map +1 -1
  579. package/internal/icons2022/XCircleIcon/XCircleIcon16Solid.js.map +1 -1
  580. package/internal/icons2022/XCircleIcon/XCircleIcon20Solid.js.map +1 -1
  581. package/internal/icons2022/XCircleIcon/XCircleIcon24Regular.js.map +1 -1
  582. package/internal/icons2022/XCircleIcon/XCircleIcon24Solid.js.map +1 -1
  583. package/internal/icons2022/XCircleIcon/XCircleIcon32Regular.js.map +1 -1
  584. package/internal/icons2022/XCircleIcon/XCircleIcon64Regular.js.map +1 -1
  585. package/internal/icons2022/XIcon/XIcon16Light.js.map +1 -1
  586. package/internal/icons2022/XIcon/XIcon20Light.js.map +1 -1
  587. package/internal/icons2022/XIcon/XIcon20Regular.js.map +1 -1
  588. package/internal/icons2022/XIcon/XIcon24Regular.js.map +1 -1
  589. package/internal/icons2022/iconConstants.js.map +1 -1
  590. package/internal/icons2022/iconSizer.js.map +1 -1
  591. package/internal/react-focus-lock/Combination.js.map +1 -1
  592. package/internal/react-focus-lock/FocusGuard.js.map +1 -1
  593. package/internal/react-focus-lock/Lock.js.map +1 -1
  594. package/internal/react-focus-lock/Trap.js.map +1 -1
  595. package/internal/react-focus-lock/constants.js.map +1 -1
  596. package/internal/react-focus-lock/index.js.map +1 -1
  597. package/internal/react-focus-lock/medium.js.map +1 -1
  598. package/internal/react-focus-lock/scope.js.map +1 -1
  599. package/internal/react-focus-lock/util.js.map +1 -1
  600. package/internal/themes/BasicTheme.js.map +1 -1
  601. package/internal/themes/DarkTheme6_0.js.map +1 -1
  602. package/internal/themes/DarkTheme6_1.js.map +1 -1
  603. package/internal/themes/LightTheme6_0.js.map +1 -1
  604. package/internal/themes/LightTheme6_1.js.map +1 -1
  605. package/lib/ConditionalHandler.js.map +1 -1
  606. package/lib/InstanceWithAnchorElement.js.map +1 -1
  607. package/lib/LayoutEvents.js.map +1 -1
  608. package/lib/ModalStack.js.map +1 -1
  609. package/lib/Upgrades.js.map +1 -1
  610. package/lib/animation/index.js.map +1 -1
  611. package/lib/animation/presets.js.map +1 -1
  612. package/lib/animation/stepper.js.map +1 -1
  613. package/lib/blink.js.map +1 -1
  614. package/lib/callChildRef/callChildRef.js.map +1 -1
  615. package/lib/chars.js.map +1 -1
  616. package/lib/client.js.map +1 -1
  617. package/lib/createPropsGetter.js.map +1 -1
  618. package/lib/currentEnvironment.js.map +1 -1
  619. package/lib/date/InternalDate.js.map +1 -1
  620. package/lib/date/InternalDateCalculator.js.map +1 -1
  621. package/lib/date/InternalDateGetter.js.map +1 -1
  622. package/lib/date/InternalDateSetter.js.map +1 -1
  623. package/lib/date/InternalDateTransformer.js.map +1 -1
  624. package/lib/date/InternalDateValidator.js.map +1 -1
  625. package/lib/date/comparison.js.map +1 -1
  626. package/lib/date/constants.js.map +1 -1
  627. package/lib/date/localeSets.js.map +1 -1
  628. package/lib/date/types.js.map +1 -1
  629. package/lib/delay.js.map +1 -1
  630. package/lib/dom/getDOMRect.js.map +1 -1
  631. package/lib/dom/getParentOrShadowHost.js.map +1 -1
  632. package/lib/dom/getScrollWidth.js.map +1 -1
  633. package/lib/dom/scrollYCenterIntoNearestScrollable.js.map +1 -1
  634. package/lib/dom/selectionHelpers.js.map +1 -1
  635. package/lib/dom/tabbableHelpers.js.map +1 -1
  636. package/lib/events/MouseDrag.js.map +1 -1
  637. package/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  638. package/lib/events/keyListener.js.map +1 -1
  639. package/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  640. package/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  641. package/lib/events/keyboard/extractCode.js.map +1 -1
  642. package/lib/events/keyboard/identifiers.js.map +1 -1
  643. package/lib/extractKeyboardAction.js.map +1 -1
  644. package/lib/featureFlagsContext/FeatureFlagsHelpers.js.map +1 -1
  645. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  646. package/lib/featureFlagsContext/index.js.map +1 -1
  647. package/lib/filterProps.js.map +1 -1
  648. package/lib/forwardRefAndName.js.map +1 -1
  649. package/lib/getElementRef.js.map +1 -1
  650. package/lib/getMenuPositions.js.map +1 -1
  651. package/lib/globalObject.js.map +1 -1
  652. package/lib/isInstanceOf.js.map +1 -1
  653. package/lib/listenFocusOutside.js.map +1 -1
  654. package/lib/locale/LocaleContext.js.map +1 -1
  655. package/lib/locale/LocaleHelper.js.map +1 -1
  656. package/lib/locale/constants.js.map +1 -1
  657. package/lib/locale/decorators.js.map +1 -1
  658. package/lib/locale/index.js.map +1 -1
  659. package/lib/locale/types.js.map +1 -1
  660. package/lib/locale/useLocaleForControl.js.map +1 -1
  661. package/lib/memo.js.map +1 -1
  662. package/lib/mergeRefs.js.map +1 -1
  663. package/lib/needsPolyfillPlaceholder.js.map +1 -1
  664. package/lib/pluralize.js.map +1 -1
  665. package/lib/react-is.js.map +1 -1
  666. package/lib/reactGetTextContent.js.map +1 -1
  667. package/lib/renderEnvironment/RenderEnvironmentContext.js.map +1 -1
  668. package/lib/renderEnvironment/RenderEnvironmentDecorator.js.map +1 -1
  669. package/lib/renderEnvironment/index.js.map +1 -1
  670. package/lib/rootNode/getRootNode.js.map +1 -1
  671. package/lib/rootNode/index.js.map +1 -1
  672. package/lib/rootNode/rootNodeDecorator.js.map +1 -1
  673. package/lib/scrollInputCaretIntoView.js.map +1 -1
  674. package/lib/size/SizeControlContext.js.map +1 -1
  675. package/lib/size/SizeDecorator.js.map +1 -1
  676. package/lib/size/constants.js.map +1 -1
  677. package/lib/size/index.js.map +1 -1
  678. package/lib/size/useSizeControl.js.map +1 -1
  679. package/lib/stringUtils.js.map +1 -1
  680. package/lib/styles/ColorFactory.js.map +1 -1
  681. package/lib/styles/ColorFunctions.js.map +1 -1
  682. package/lib/styles/ColorHelpers.js.map +1 -1
  683. package/lib/styles/ColorKeywords.js.map +1 -1
  684. package/lib/styles/ColorObject.js.map +1 -1
  685. package/lib/styles/DimensionFunctions.js.map +1 -1
  686. package/lib/styles/Mixins.js.map +1 -1
  687. package/lib/styles/UiFont.js.map +1 -1
  688. package/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -1
  689. package/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  690. package/lib/theming/AnimationKeyframes.js.map +1 -1
  691. package/lib/theming/Emotion.js.map +1 -1
  692. package/lib/theming/Theme.js.map +1 -1
  693. package/lib/theming/ThemeContext.js.map +1 -1
  694. package/lib/theming/ThemeFactory.js.map +1 -1
  695. package/lib/theming/ThemeHelpers.js.map +1 -1
  696. package/lib/theming/ThemeVersions.js.map +1 -1
  697. package/lib/theming/themes/DarkTheme.js.map +1 -1
  698. package/lib/theming/themes/LightTheme.js.map +1 -1
  699. package/lib/theming/useTheme.js.map +1 -1
  700. package/lib/toKebabCase.js.map +1 -1
  701. package/lib/typeGuards.js.map +1 -1
  702. package/lib/types/button-link.js.map +1 -1
  703. package/lib/types/polymorphic-component.js.map +1 -1
  704. package/lib/types/props.js.map +1 -1
  705. package/lib/uidUtils.js.map +1 -1
  706. package/lib/utils.js.map +1 -1
  707. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../components/Gapped/index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC","sourcesContent":["export * from './Gapped.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC","sourcesContent":["export * from './Gapped.js';\n"]}
@@ -1 +1 @@
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"]}
1
+ {"version":3,"file":"GlobalLoader.js","sourceRoot":"","sources":["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"]}
@@ -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 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
+ {"version":3,"file":"GlobalLoaderView.js","sourceRoot":"","sources":["GlobalLoaderView.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAqB/E,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAU,CACxC,UACE,EAAoG,EACpG,WAAkD;IADhD,IAAA,oBAAoB,0BAAA,EAAE,eAAe,qBAAA,EAAE,MAAM,YAAA,EAAE,iBAAiB,uBAAA,EAAK,IAAI,cAA3E,0EAA6E,CAAF;IAG3E,IAAM,GAAG,GAAG,MAAM,CAAiC,IAAI,CAAC,CAAC;IACzD,IAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAC/B,IAAA,EAAE,GAAK,UAAU,EAAE,GAAjB,CAAkB;IAC5B,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,IAAM,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC;IACtC,IAAA,KAAmC,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,EAAlE,KAAK,WAAA,EAAE,UAAU,gBAAA,EAAE,SAAS,eAAsC,CAAC;IACnE,IAAA,IAAI,GAAK,uBAAuB,CAAC,GAAG,CAAC,KAAjC,CAAkC;IAE9C,IAAM,iBAAiB,GAAG,UAAC,MAAuC;QAChE,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,SAAS;oBACZ,OAAO,UAAU,CAAC,gBAAgB,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBACnE,KAAK,QAAQ;oBACX,IAAI,UAAU,GAAG,SAAS,GAAG,GAAG,EAAE,CAAC;wBACjC,OAAO,UAAU,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC1F,CAAC;oBACD,OAAO,UAAU,CAAC,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBACxE,KAAK,OAAO;oBACV,OAAO,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;gBAC1C,KAAK,UAAU;oBACb,OAAO,UAAU,CAAC,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,IAAI,iBAAiB,EAAE,CAAC;YACtB,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,SAAS;oBACZ,OAAO,MAAM,CAAC,uBAAuB,EAAE,CAAC;gBAC1C,KAAK,QAAQ;oBACX,OAAO,UAAU,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;gBACvD,KAAK,OAAO;oBACV,OAAO,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBACxC,KAAK,UAAU;oBACb,OAAO,MAAM,CAAC,wBAAwB,EAAE,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,aAAa,eAAK,IAAI,mBAAe,MAAM,EAAE,GAAG,EAAE,WAAW;QAC5D,oBAAC,MAAM,IAAC,QAAQ,EAAC,cAAc,EAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YAC5D,6BAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAI,CACzE,CACK,CACjB,CAAC;AACJ,CAAC,CACF,CAAC","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":"GlobalLoaderView.styles.js","sourceRoot":"","sources":["../../../components/GlobalLoader/GlobalLoaderView.styles.ts"],"names":[],"mappings":"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","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 outer(t: Theme) {\n return css`\n width: ${t.globalLoaderWidth};\n height: ${t.globalLoaderHeight};\n background-color: ${t.globalLoaderBackgroundColor};\n position: ${t.globalLoaderPosition};\n left: ${t.globalLoaderLeft};\n top: ${t.globalLoaderTop};\n right: ${t.globalLoaderRight};\n bottom: ${t.globalLoaderBottom};\n overflow: hidden;\n `;\n },\n inner(t: Theme) {\n return css`\n background-color: ${t.globalLoaderColor};\n width: 0;\n height: ${t.globalLoaderHeight};\n position: absolute;\n left: 0;\n overflow: hidden;\n `;\n },\n standardWithoutAnimation() {\n return css`\n left: 0;\n width: 90%;\n `;\n },\n successWithoutAnimation() {\n return css`\n left: 0;\n width: 100%;\n `;\n },\n errorWithoutAnimation() {\n return css`\n left: 40%;\n width: 20%;\n `;\n },\n}));\n\nconst moveToRightAnimation = ({ keyframes }: Emotion) => keyframes`\n 0% {\n left: 0;\n width: 100%;\n }\n 50% {\n left: 50%;\n width: 50%;\n }\n 100% {\n left: 99%;\n width: 1%\n }\n`;\nconst spinnerAnimation = ({ keyframes }: Emotion) => keyframes`\n 0% {\n transform: translateX(50%) scaleX(.005);\n animation-timing-function: cubic-bezier(.895,.03,.685,.22);\n }\n 50% {\n transform: translateX(0) scaleX(.35);\n animation-timing-function: cubic-bezier(.165,.84,.44,1);\n }\n 100% {\n transform: translateX(-50%) scaleX(.005);\n }\n`;\nconst linearProgressAnimation = ({ keyframes }: Emotion) => keyframes`\n from { width: 0; }\n to { width: 80% }\n`;\nconst slowProgressAnimation = ({ keyframes }: Emotion) => keyframes`\n from { width: 80%; }\n to { width: 90% }\n`;\n\nexport const getAnimations = (\n emotion: Emotion,\n): {\n successAnimation(delayBeforeHide: number, width: number, left: number): string;\n errorAnimation(t: Theme): string;\n standardAnimation(t: Theme, expectedTime: number): string;\n acceptAnimation(t: Theme, startWidth: number, expectedTime: number, width: number, left: number): string;\n slowAcceptAnimation(t: Theme, startWidth: number, width: number, left: number): string;\n acceptWithoutAnimation(startWidth: number): string;\n} => ({\n successAnimation(delayBeforeHide: number, width: number, left: number) {\n return emotion.css`\n animation: successAnimation;\n animation-duration: ${delayBeforeHide}ms;\n @keyframes successAnimation {\n 0% {\n width: ${width}px;\n left: ${left}px;\n opacity: 1;\n }\n 20% {\n width: 100%;\n left: 0;\n opacity: 1;\n }\n 80% {\n width: 100%;\n left: 0;\n opacity: 1;\n }\n 100% {\n width: 100%;\n opacity: 0;\n }\n }\n `;\n },\n errorAnimation(t: Theme) {\n const transitionDuration = parseInt(t.globalLoaderTransitionToSpinnerDuration);\n const spinnerAnimationDuration = parseInt(t.globalLoaderSpinnerAnimationDuration);\n\n return emotion.css`\n left: 0;\n width: 100%;\n animation:\n ${moveToRightAnimation(emotion)} ${transitionDuration}ms linear,\n ${spinnerAnimationDuration}ms ${spinnerAnimation(emotion)} ${transitionDuration}ms infinite alternate;\n `;\n },\n standardAnimation(t: Theme, expectedTime: number) {\n const slowProgressAnimationTime = parseInt(t.globalLoaderSlowAnimationDuration);\n return emotion.css`\n width: 90%;\n animation:\n ${linearProgressAnimation(emotion)} ${expectedTime}ms cubic-bezier(0, 0.4, 0.4, 1),\n ${slowProgressAnimationTime}ms ${slowProgressAnimation(emotion)} ${expectedTime}ms linear;\n `;\n },\n acceptAnimation(t: Theme, startWidth: number, expectedTime: number, width: number, left: number) {\n const transitionTime = parseInt(t.globalLoaderTransitionFromSpinnerDuration);\n const slowProgressAnimationTime = parseInt(t.globalLoaderSlowAnimationDuration);\n return emotion.css`\n width: 90%;\n animation:\n transitionAnimation ${transitionTime}ms linear,\n ${expectedTime}ms acceptAnimation ${transitionTime}ms cubic-bezier(0, 0.4, 0.4, 1),\n ${slowProgressAnimationTime}ms ${slowProgressAnimation(emotion)} ${expectedTime + transitionTime}ms linear;\n @keyframes transitionAnimation {\n from {\n width: ${width}px;\n left: ${left}px;\n }\n to {\n width: ${startWidth}px;\n left: 0;\n }\n }\n @keyframes acceptAnimation {\n from {\n width: ${startWidth}px;\n }\n to {\n width: 80%;\n }\n }\n `;\n },\n slowAcceptAnimation(t: Theme, startWidth: number, width: number, left: number) {\n const transitionTime = parseInt(t.globalLoaderTransitionFromSpinnerDuration);\n const slowProgressAnimationTime = parseInt(t.globalLoaderSlowAnimationDuration);\n return emotion.css`\n width: 90%;\n animation:\n transitionAnimation ${transitionTime}ms linear,\n ${slowProgressAnimationTime}ms acceptAnimation ${transitionTime}ms linear;\n @keyframes transitionAnimation {\n from {\n width: ${width}px;\n left: ${left}px;\n }\n to {\n width: ${startWidth}px;\n left: 0;\n }\n }\n @keyframes acceptAnimation {\n from {\n width: ${startWidth}px;\n }\n to {\n width: 90%;\n }\n }\n `;\n },\n acceptWithoutAnimation(startWidth: number) {\n return emotion.css`\n width: ${startWidth}px;\n `;\n },\n});\n"]}
1
+ {"version":3,"file":"GlobalLoaderView.styles.js","sourceRoot":"","sources":["GlobalLoaderView.styles.ts"],"names":[],"mappings":"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","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 outer(t: Theme) {\n return css`\n width: ${t.globalLoaderWidth};\n height: ${t.globalLoaderHeight};\n background-color: ${t.globalLoaderBackgroundColor};\n position: ${t.globalLoaderPosition};\n left: ${t.globalLoaderLeft};\n top: ${t.globalLoaderTop};\n right: ${t.globalLoaderRight};\n bottom: ${t.globalLoaderBottom};\n overflow: hidden;\n `;\n },\n inner(t: Theme) {\n return css`\n background-color: ${t.globalLoaderColor};\n width: 0;\n height: ${t.globalLoaderHeight};\n position: absolute;\n left: 0;\n overflow: hidden;\n `;\n },\n standardWithoutAnimation() {\n return css`\n left: 0;\n width: 90%;\n `;\n },\n successWithoutAnimation() {\n return css`\n left: 0;\n width: 100%;\n `;\n },\n errorWithoutAnimation() {\n return css`\n left: 40%;\n width: 20%;\n `;\n },\n}));\n\nconst moveToRightAnimation = ({ keyframes }: Emotion) => keyframes`\n 0% {\n left: 0;\n width: 100%;\n }\n 50% {\n left: 50%;\n width: 50%;\n }\n 100% {\n left: 99%;\n width: 1%\n }\n`;\nconst spinnerAnimation = ({ keyframes }: Emotion) => keyframes`\n 0% {\n transform: translateX(50%) scaleX(.005);\n animation-timing-function: cubic-bezier(.895,.03,.685,.22);\n }\n 50% {\n transform: translateX(0) scaleX(.35);\n animation-timing-function: cubic-bezier(.165,.84,.44,1);\n }\n 100% {\n transform: translateX(-50%) scaleX(.005);\n }\n`;\nconst linearProgressAnimation = ({ keyframes }: Emotion) => keyframes`\n from { width: 0; }\n to { width: 80% }\n`;\nconst slowProgressAnimation = ({ keyframes }: Emotion) => keyframes`\n from { width: 80%; }\n to { width: 90% }\n`;\n\nexport const getAnimations = (\n emotion: Emotion,\n): {\n successAnimation(delayBeforeHide: number, width: number, left: number): string;\n errorAnimation(t: Theme): string;\n standardAnimation(t: Theme, expectedTime: number): string;\n acceptAnimation(t: Theme, startWidth: number, expectedTime: number, width: number, left: number): string;\n slowAcceptAnimation(t: Theme, startWidth: number, width: number, left: number): string;\n acceptWithoutAnimation(startWidth: number): string;\n} => ({\n successAnimation(delayBeforeHide: number, width: number, left: number) {\n return emotion.css`\n animation: successAnimation;\n animation-duration: ${delayBeforeHide}ms;\n @keyframes successAnimation {\n 0% {\n width: ${width}px;\n left: ${left}px;\n opacity: 1;\n }\n 20% {\n width: 100%;\n left: 0;\n opacity: 1;\n }\n 80% {\n width: 100%;\n left: 0;\n opacity: 1;\n }\n 100% {\n width: 100%;\n opacity: 0;\n }\n }\n `;\n },\n errorAnimation(t: Theme) {\n const transitionDuration = parseInt(t.globalLoaderTransitionToSpinnerDuration);\n const spinnerAnimationDuration = parseInt(t.globalLoaderSpinnerAnimationDuration);\n\n return emotion.css`\n left: 0;\n width: 100%;\n animation:\n ${moveToRightAnimation(emotion)} ${transitionDuration}ms linear,\n ${spinnerAnimationDuration}ms ${spinnerAnimation(emotion)} ${transitionDuration}ms infinite alternate;\n `;\n },\n standardAnimation(t: Theme, expectedTime: number) {\n const slowProgressAnimationTime = parseInt(t.globalLoaderSlowAnimationDuration);\n return emotion.css`\n width: 90%;\n animation:\n ${linearProgressAnimation(emotion)} ${expectedTime}ms cubic-bezier(0, 0.4, 0.4, 1),\n ${slowProgressAnimationTime}ms ${slowProgressAnimation(emotion)} ${expectedTime}ms linear;\n `;\n },\n acceptAnimation(t: Theme, startWidth: number, expectedTime: number, width: number, left: number) {\n const transitionTime = parseInt(t.globalLoaderTransitionFromSpinnerDuration);\n const slowProgressAnimationTime = parseInt(t.globalLoaderSlowAnimationDuration);\n return emotion.css`\n width: 90%;\n animation:\n transitionAnimation ${transitionTime}ms linear,\n ${expectedTime}ms acceptAnimation ${transitionTime}ms cubic-bezier(0, 0.4, 0.4, 1),\n ${slowProgressAnimationTime}ms ${slowProgressAnimation(emotion)} ${expectedTime + transitionTime}ms linear;\n @keyframes transitionAnimation {\n from {\n width: ${width}px;\n left: ${left}px;\n }\n to {\n width: ${startWidth}px;\n left: 0;\n }\n }\n @keyframes acceptAnimation {\n from {\n width: ${startWidth}px;\n }\n to {\n width: 80%;\n }\n }\n `;\n },\n slowAcceptAnimation(t: Theme, startWidth: number, width: number, left: number) {\n const transitionTime = parseInt(t.globalLoaderTransitionFromSpinnerDuration);\n const slowProgressAnimationTime = parseInt(t.globalLoaderSlowAnimationDuration);\n return emotion.css`\n width: 90%;\n animation:\n transitionAnimation ${transitionTime}ms linear,\n ${slowProgressAnimationTime}ms acceptAnimation ${transitionTime}ms linear;\n @keyframes transitionAnimation {\n from {\n width: ${width}px;\n left: ${left}px;\n }\n to {\n width: ${startWidth}px;\n left: 0;\n }\n }\n @keyframes acceptAnimation {\n from {\n width: ${startWidth}px;\n }\n to {\n width: 90%;\n }\n }\n `;\n },\n acceptWithoutAnimation(startWidth: number) {\n return emotion.css`\n width: ${startWidth}px;\n `;\n },\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../components/GlobalLoader/index.tsx"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC","sourcesContent":["export * from './GlobalLoader.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC","sourcesContent":["export * from './GlobalLoader.js';\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;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"]}
1
+ {"version":3,"file":"useParams.js","sourceRoot":"","sources":["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"]}
@@ -1 +1 @@
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 /** Ширина компонента. */\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 * Контейнер используется для создания логически сгруппированных элементов, выровненных по горизонтали.\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":["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 /** Ширина компонента. */\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 * Контейнер используется для создания логически сгруппированных элементов, выровненных по горизонтали.\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 +1 @@
1
- {"version":3,"file":"Group.styles.js","sourceRoot":"","sources":["../../../components/Group/Group.styles.ts"],"names":[],"mappings":";;;;AAEA,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,IAAI;YACF,OAAO,GAAG,oIAAA,iEAGT,KAAC;QACJ,CAAC;QAED,eAAe;YACb,OAAO,GAAG,iGAAA,8BAET,KAAC;QACJ,CAAC;QAED,KAAK;YACH,OAAO,GAAG,gIAAA,6DAGT,KAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,GAAG,uHAAA,oDAGT,KAAC;QACJ,CAAC;QAED,IAAI;YACF,OAAO,GAAG,qGAAA,kCAET,KAAC;QACJ,CAAC;QAED,SAAS;YACP,OAAO,GAAG,kGAAA,+BAET,KAAC;QACJ,CAAC;KACF,CAAC;AAvC8D,CAuC9D,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root() {\n return css`\n display: inline-flex;\n line-height: normal;\n `;\n },\n\n wrappedChildren() {\n return css`\n display: flex;\n `;\n },\n\n fixed() {\n return css`\n flex-shrink: 0;\n display: inline-block;\n `;\n },\n\n stretch() {\n return css`\n flex-grow: 1;\n flex-shrink: 1;\n `;\n },\n\n item() {\n return css`\n margin-left: -1px;\n `;\n },\n\n itemFirst() {\n return css`\n margin-left: 0;\n `;\n },\n}));\n"]}
1
+ {"version":3,"file":"Group.styles.js","sourceRoot":"","sources":["Group.styles.ts"],"names":[],"mappings":";;;;AAEA,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,IAAI;YACF,OAAO,GAAG,oIAAA,iEAGT,KAAC;QACJ,CAAC;QAED,eAAe;YACb,OAAO,GAAG,iGAAA,8BAET,KAAC;QACJ,CAAC;QAED,KAAK;YACH,OAAO,GAAG,gIAAA,6DAGT,KAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,GAAG,uHAAA,oDAGT,KAAC;QACJ,CAAC;QAED,IAAI;YACF,OAAO,GAAG,qGAAA,kCAET,KAAC;QACJ,CAAC;QAED,SAAS;YACP,OAAO,GAAG,kGAAA,+BAET,KAAC;QACJ,CAAC;KACF,CAAC;AAvC8D,CAuC9D,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root() {\n return css`\n display: inline-flex;\n line-height: normal;\n `;\n },\n\n wrappedChildren() {\n return css`\n display: flex;\n `;\n },\n\n fixed() {\n return css`\n flex-shrink: 0;\n display: inline-block;\n `;\n },\n\n stretch() {\n return css`\n flex-grow: 1;\n flex-shrink: 1;\n `;\n },\n\n item() {\n return css`\n margin-left: -1px;\n `;\n },\n\n itemFirst() {\n return css`\n margin-left: 0;\n `;\n },\n}));\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../components/Group/index.tsx"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC","sourcesContent":["export * from './Group.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC","sourcesContent":["export * from './Group.js';\n"]}
@@ -1 +1 @@
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 { DefaultPosition, Popup, PopupPinnablePositions } from '../../internal/Popup/index.js';\nimport type {\n PopupPinnablePositionsType,\n PopupPositionsType,\n ShortPopupPositionsType,\n} 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\nconst isPinnablePosition = (position: PopupPositionsType): position is PopupPinnablePositionsType => {\n return (PopupPinnablePositions as readonly PopupPositionsType[]).includes(position);\n};\n\nexport interface HintProps extends CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Текст подсказки. */\n text: React.ReactNode;\n\n /** Максимальная ширина подсказки. */\n maxWidth?: React.CSSProperties['maxWidth'];\n\n /** Приоритетное расположение подсказки относительно текста. */\n pos?: ShortPopupPositionsType | PopupPinnablePositionsType;\n\n /** Список позиций, которые может занимать подсказка. В списке обязательно должна быть позиция из пропа `pos`. */\n allowedPositions?: PopupPinnablePositionsType[];\n\n /** Переводит отображение подсказки в ручной режим, где состояние контролируется значением пропа `opened`. */\n manual?: boolean;\n\n /** Открывает подсказку. Работает только при `manual=true`. */\n opened?: boolean;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Оборачивает вложенные элементы в `<span />`.\n *\n * _Примечание_: при двух и более вложенных элементах обёртка будет добавлена автоматически. */\n useWrapper?: boolean;\n\n /** Вызывается при наведении курсора (событие `onmouseenter`). */\n onMouseEnter?: (event: MouseEventType) => void;\n\n /** Вызывается при уходе курсора с объекта (событие `onmouseleave`). */\n onMouseLeave?: (event: MouseEventType) => void;\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 * Всплывает при наведении на элемент. */\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: DefaultPosition,\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) => {\n if (isPinnablePosition(position)) {\n this.setState({ position });\n }\n }}\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":["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 { DefaultPosition, Popup, PopupPinnablePositions } from '../../internal/Popup/index.js';\nimport type {\n PopupPinnablePositionsType,\n PopupPositionsType,\n ShortPopupPositionsType,\n} 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\nconst isPinnablePosition = (position: PopupPositionsType): position is PopupPinnablePositionsType => {\n return (PopupPinnablePositions as readonly PopupPositionsType[]).includes(position);\n};\n\nexport interface HintProps extends CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Текст подсказки. */\n text: React.ReactNode;\n\n /** Максимальная ширина подсказки. */\n maxWidth?: React.CSSProperties['maxWidth'];\n\n /** Приоритетное расположение подсказки относительно текста. */\n pos?: ShortPopupPositionsType | PopupPinnablePositionsType;\n\n /** Список позиций, которые может занимать подсказка. В списке обязательно должна быть позиция из пропа `pos`. */\n allowedPositions?: PopupPinnablePositionsType[];\n\n /** Переводит отображение подсказки в ручной режим, где состояние контролируется значением пропа `opened`. */\n manual?: boolean;\n\n /** Открывает подсказку. Работает только при `manual=true`. */\n opened?: boolean;\n\n /** Отключает анимацию. */\n disableAnimations?: boolean;\n\n /** Оборачивает вложенные элементы в `<span />`.\n *\n * _Примечание_: при двух и более вложенных элементах обёртка будет добавлена автоматически. */\n useWrapper?: boolean;\n\n /** Вызывается при наведении курсора (событие `onmouseenter`). */\n onMouseEnter?: (event: MouseEventType) => void;\n\n /** Вызывается при уходе курсора с объекта (событие `onmouseleave`). */\n onMouseLeave?: (event: MouseEventType) => void;\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 * Всплывает при наведении на элемент. */\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: DefaultPosition,\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) => {\n if (isPinnablePosition(position)) {\n this.setState({ position });\n }\n }}\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":";;;;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
+ {"version":3,"file":"Hint.styles.js","sourceRoot":"","sources":["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 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../components/Hint/index.tsx"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC","sourcesContent":["export * from './Hint.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC","sourcesContent":["export * from './Hint.js';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../components/Input/Input.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport invariant from 'invariant';\nimport type { AriaAttributes, ClassAttributes, HTMLAttributes, JSX, ReactElement, ReactNode } from 'react';\nimport React, { createRef } from 'react';\nimport warning from 'warning';\n\nimport { ClearCrossIcon } from '../../internal/ClearCrossIcon/ClearCrossIcon.js';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';\nimport { RenderLayer } from '../../internal/RenderLayer/index.js';\nimport { blink } from '../../lib/blink.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { isKeyBackspace, isKeyDelete, someKeys } from '../../lib/events/keyboard/identifiers.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { getRootNode, 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 { catchUnreachableWarning } from '../../lib/typeGuards.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { Override } from '../../typings/utility-types.js';\nimport { getStyles } from './Input.styles.js';\nimport type { InputElement, InputElementProps } from './Input.typings.js';\nimport { InputLayout } from './InputLayout/InputLayout.js';\n\nexport const inputTypes = ['password', 'text', 'number', 'tel', 'search', 'time', 'date', 'url', 'email'] as const;\n\nexport type InputAlign = 'left' | 'center' | 'right';\nexport type ShowClearIcon = 'auto' | 'always' | 'never';\nexport type InputType = (typeof inputTypes)[number];\nexport type InputIconType = React.ReactNode | (() => React.ReactNode);\n\nexport const selectionAllowedTypes: InputType[] = ['text', 'password', 'tel', 'search', 'url'];\nexport const selectionErrorMessage = (type: InputType, allowedTypes: InputType[] = selectionAllowedTypes): string => {\n return `<Input />. Selection is not supported by the type \"${type}\". Types that support selection: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}. Reason: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange.`;\n};\n\nexport const calculateClearCrossShowedState = ({\n showClearIcon,\n notEmptyValue,\n focused,\n hovered,\n}: {\n showClearIcon: ShowClearIcon;\n notEmptyValue: boolean;\n focused?: boolean;\n hovered?: boolean;\n}): boolean => {\n switch (showClearIcon) {\n case 'always':\n return notEmptyValue;\n case 'auto':\n return Boolean((focused || hovered) && notEmptyValue);\n case 'never':\n return false;\n default:\n return catchUnreachableWarning(showClearIcon, false);\n }\n};\n\nexport interface InputProps\n extends\n CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-controls' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /** Показывает иконку очистки значения в заполненном поле.\n * @default never */\n showClearIcon?: ShowClearIcon;\n\n /** Добавляет иконку слева.\n * При использовании `ReactNode` применяются дефолтные стили для иконки.\n * При использовании `() => ReactNode` применяются только стили для позиционирования. */\n leftIcon?: InputIconType;\n\n /** Добавляет иконку справа.\n * При использовании `ReactNode` применяются дефолтные стили для иконки.\n * При использовании `() => ReactNode` применяются только стили для позиционирования. */\n rightIcon?: InputIconType;\n\n /** Переводит поле в состояние ошибки. */\n error?: boolean;\n\n /** Переводит поле в состояние предупреждения. */\n warning?: boolean;\n\n /** Убирает обводку поля. */\n borderless?: boolean;\n\n /** Выравнивает контент внутри поля. */\n align?: InputAlign;\n\n /** Размер поля.\n * @default small\n */\n size?: SizeProp;\n\n /** Событие изменения значения `value` в поле. */\n onValueChange?: (value: string) => void;\n\n /** @ignore */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** @ignore */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** @ignore */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Тип поля ввода. */\n type?: InputType;\n\n /** Значение внутри поля. */\n value?: string;\n\n /** Устанавливает префикс `ReactNode` перед значением, но после иконки. */\n prefix?: React.ReactNode;\n\n /** Устанавливает суффикс `ReactNode` после значения, но перед правой иконкой. */\n suffix?: React.ReactNode;\n\n /** Выделяет введённое значение при фокусе в поле. Работает с типами `text`, `password`, `tel`, `search`, `url`. */\n selectAllOnFocus?: boolean;\n\n /** Отображает счётчик введённых символов. */\n showLengthCounter?: boolean;\n\n /** Допустимое количество символов в поле. Отображается в счётчике символов.\n * @default maxLength */\n lengthCounter?: number;\n\n /** Подсказка для счётчика символов.\n *\n * Если передать `ReactNode`, рисует тултип со встроенной иконкой.\n * Если передать функцию, рисует произвольный элемент.\n * @example\n * ```\n * counterHelp={() => <Hint text=\"...\"><Icon /></Hint>}\n * ``` */\n counterHelp?: ReactNode | (() => ReactNode);\n\n /** Устанавливает обработчик на случай некорректного ввода.\n * Если передан onUnexpectedInput, он будет вызван при ошибке, а эффект мигания можно запустить вручную через публичный метод blink.\n * @param {string} value - значение поля. */\n onUnexpectedInput?: (value: string) => void;\n\n /** Устанавливает радиус скруглений углов.\n * @ignore */\n corners?: Partial<\n Pick<\n React.CSSProperties,\n 'borderTopRightRadius' | 'borderBottomRightRadius' | 'borderBottomLeftRadius' | 'borderTopLeftRadius'\n >\n >;\n\n /** Устанавливает элемент, заменяющий нативный input. Должен иметь пропсы `InputElementProps` и тип `InputElement`. */\n element?: ReactElement<InputElementProps>;\n }\n > {}\n\nexport interface InputState {\n focused: boolean;\n hovered: boolean;\n clearCrossShowed: boolean;\n isCounterVisible: boolean;\n}\n\nexport const InputDataTids = {\n root: 'Input__root',\n clearCross: 'Input__clearCross',\n counter: 'Input__counter',\n counterHelpIcon: 'Input__counterHelpIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<InputProps, 'type' | 'showClearIcon'>>;\n\n/**\n * Поле ввода позволяет ввести или отредактировать значение.\n */\n@withRenderEnvironment\n@rootNode\n@withSize\nexport class Input extends React.Component<InputProps, InputState> {\n public static __KONTUR_REACT_UI__ = 'Input';\n public static displayName = 'Input';\n\n public static defaultProps: DefaultProps = {\n type: 'text',\n showClearIcon: 'never',\n };\n private size!: SizeProp;\n\n private getProps = createPropsGetter(Input.defaultProps);\n\n private selectAllId: number | null = null;\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n public input: HTMLInputElement | null = null;\n public labelRef = createRef<HTMLLabelElement>();\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n private getClearCrossShowed = ({\n focused,\n hovered,\n hasInitialValue,\n }: {\n focused?: boolean;\n hovered?: boolean;\n hasInitialValue?: boolean;\n }): boolean => {\n if (this.props.disabled) {\n return false;\n }\n return calculateClearCrossShowedState({\n showClearIcon: this.getProps().showClearIcon,\n notEmptyValue: Boolean(this.input?.value || hasInitialValue),\n focused,\n hovered,\n });\n };\n\n public state: InputState = {\n focused: false,\n hovered: false,\n isCounterVisible: false,\n clearCrossShowed: this.getClearCrossShowed({\n focused: false,\n hasInitialValue: Boolean(this.props.value || this.props.defaultValue),\n }),\n };\n\n public componentWillUnmount() {\n this.cancelDelayedSelectAll();\n }\n\n /** Программно устанавливает фокус на поле.\n * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus(): void {\n invariant(this.input, 'Cannot call \"focus\" because Input is not mounted');\n this.input.focus();\n }\n\n /** Программно снимает фокус с поля.\n * @public\n */\n public blur(): void {\n invariant(this.input, 'Cannot call \"blur\" because Input is not mounted');\n this.input.blur();\n }\n\n /** Возвращает DOM-узел поля ввода.\n * @public\n */\n public getNode(): HTMLInputElement | null {\n return this.input;\n }\n\n /** Кратковременно визуально подсвечивает поле ввода, чтобы привлечь внимание пользователя.\n * @public\n */\n public blink(): void {\n blink({ el: this.labelRef.current, blinkColor: this.theme.inputBlinkColor });\n }\n\n /** start - инициирует последовательное изменение числового значения: начинает повторяющееся увеличение/уменьшение, обычно используется при удерживании кнопки «+» или «−» для числового Input. end - останавливает ранее запущенное числоизменение, инициируемое numberStart.\n * [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange(start: number, end: number): void {\n // https://github.com/facebook/react/issues/7769\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n if (!selectionAllowedTypes.includes(this.getProps().type)) {\n warning(false, selectionErrorMessage(this.getProps().type));\n\n return;\n }\n\n if (!this.input) {\n warning(false, 'Cannot call \"setSelectionRange\" on unmounted Input');\n return;\n }\n\n if (this.globalObject.document?.activeElement !== this.input) {\n this.focus();\n }\n\n this.input?.setSelectionRange(start, end);\n }\n\n public render(): JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Переводит фокус в поле (если ещё не в фокусе) и выделяет весь текст в нём.\n * Работает с типами `text`, `password`, `tel`, `search`, `url`.\n * @public\n */\n public selectAll = (): void => this._selectAll();\n\n public delaySelectAll = (): number | null => {\n return (this.selectAllId = this.globalObject.requestAnimationFrame?.(this._selectAll) ?? null);\n };\n\n private _selectAll = (): void => {\n if (this.input) {\n this.setSelectionRange(0, this.input.value.length);\n }\n };\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n this.globalObject.cancelAnimationFrame?.(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private getInput = (inputProps: InputElementProps & ClassAttributes<HTMLInputElement>) => {\n if (this.props.element) {\n return React.cloneElement(this.props.element, inputProps);\n }\n\n return React.createElement('input', inputProps);\n };\n\n private renderMain = (props: CommonWrapperRestProps<InputProps>) => {\n const {\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onKeyPress,\n onValueChange,\n width,\n error,\n role,\n warning,\n leftIcon,\n rightIcon,\n borderless,\n value,\n align,\n type,\n size,\n placeholder,\n selectAllOnFocus,\n showLengthCounter,\n lengthCounter,\n counterHelp,\n disabled,\n onUnexpectedInput,\n prefix,\n suffix,\n corners,\n 'aria-describedby': ariaDescribedby,\n 'aria-controls': ariaControls,\n 'aria-label': ariaLabel,\n element,\n showClearIcon,\n ...rest\n } = props;\n\n const { focused, isCounterVisible } = this.state;\n\n const labelProps = {\n className: this.cx(this.styles.root(this.theme), this.getSizeClassName(), {\n [this.styles.focus(this.theme)]: focused && !warning && !error,\n [this.styles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [this.styles.borderless()]: borderless && !focused,\n [this.styles.disabled(this.theme)]: disabled,\n [this.styles.warning(this.theme)]: warning,\n [this.styles.error(this.theme)]: error,\n }),\n 'aria-controls': ariaControls,\n style: { width, ...corners },\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n onMouseOver,\n ref: this.labelRef,\n };\n\n const inputProps: InputElementProps & ClassAttributes<HTMLInputElement> = {\n ...rest,\n className: this.cx(this.styles.input(this.theme), {\n [this.styles.inputFocus(this.theme)]: focused,\n [this.styles.inputDisabled(this.theme)]: disabled,\n }),\n value,\n role,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onKeyDown: this.handleKeyDown,\n onKeyPress: this.handleKeyPress,\n onBlur: this.handleBlur,\n style: { textAlign: align },\n ref: this.refInput,\n type,\n placeholder,\n disabled,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n };\n\n const input = (\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>{this.getInput(inputProps)}</FocusControlWrapper>\n );\n\n const getRightIcon = () => {\n return this.state.clearCrossShowed ? (\n <ClearCrossIcon data-tid={InputDataTids.clearCross} size={this.size} onClick={this.handleClearInput} />\n ) : (\n rightIcon\n );\n };\n return (\n <RenderLayer\n onFocusOutside={this.handleCloseCounterHelp}\n onClickOutside={this.handleCloseCounterHelp}\n active={isCounterVisible}\n >\n <InputLayout\n leftIcon={leftIcon}\n rightIcon={getRightIcon()}\n prefix={prefix}\n suffix={suffix}\n value={value}\n showLengthCounter={showLengthCounter}\n isCounterVisible={isCounterVisible}\n lengthCounter={lengthCounter}\n counterHelp={counterHelp}\n onCloseCounterHelp={this.handleCloseCounterHelp}\n maxLength={this.props.maxLength}\n size={this.size}\n labelProps={labelProps}\n context={{ disabled: Boolean(disabled), focused, size: this.size }}\n >\n {input}\n </InputLayout>\n </RenderLayer>\n );\n };\n\n private handleCloseCounterHelp = () => this.setState({ isCounterVisible: false });\n\n private getSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.cx({\n [this.styles.sizeLarge(this.theme)]: true,\n });\n case 'medium':\n return this.cx({\n [this.styles.sizeMedium(this.theme)]: true,\n });\n case 'small':\n default:\n return this.cx({\n [this.styles.sizeSmall(this.theme)]: true,\n });\n }\n }\n\n private refInput = (element: HTMLInputElement | InputElement | null) => {\n if (element && 'input' in element) {\n this.input = element.input;\n } else {\n this.input = element;\n }\n };\n\n private handleClearInput = () => {\n if (this.input) {\n this.input.value = '';\n }\n\n this.setState({ clearCrossShowed: false });\n\n if (this.props.onValueChange) {\n this.props.onValueChange('');\n }\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n\n const clearCrossShowed = this.getClearCrossShowed({ focused: this.state.focused, hovered: this.state.hovered });\n\n if (this.state.clearCrossShowed !== clearCrossShowed) {\n this.setState({\n clearCrossShowed,\n });\n }\n };\n\n private handleMouseEnter = (e: React.MouseEvent<HTMLLabelElement, MouseEvent>) => {\n this.setState({\n hovered: true,\n clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: true }),\n });\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n private handleMouseLeave = (e: React.MouseEvent<HTMLLabelElement, MouseEvent>) => {\n this.setState({\n hovered: false,\n clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: false }),\n });\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({\n focused: true,\n isCounterVisible: true,\n clearCrossShowed: this.getClearCrossShowed({ focused: true, hovered: this.state.hovered }),\n });\n\n if (this.props.selectAllOnFocus) {\n this.input && this.selectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n\n const isDeleteKey = someKeys(isKeyBackspace, isKeyDelete)(e);\n\n if (!e.currentTarget.value && isDeleteKey && !e.repeat) {\n this.handleUnexpectedInput();\n }\n };\n\n private handleKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyPress) {\n this.props.onKeyPress(event);\n }\n\n if (this.props.maxLength === event.currentTarget.value.length) {\n this.handleUnexpectedInput(event.currentTarget.value);\n }\n };\n\n private handleUnexpectedInput = (value: string = this.props.value || '') => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(value);\n } else {\n this.blink();\n }\n };\n\n private resetFocus = () => this.setState({ focused: false });\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n const showClearIcon = this.props.showClearIcon;\n if (showClearIcon && getRootNode(this)?.contains(event.relatedTarget)) {\n this.setState({ focused: false });\n } else {\n const clearCrossShowed = this.getClearCrossShowed({ focused: false, hovered: this.state.hovered });\n this.setState({\n focused: false,\n clearCrossShowed,\n });\n this.props.onBlur?.(event);\n }\n };\n}\n"]}
1
+ {"version":3,"file":"Input.js","sourceRoot":"","sources":["Input.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport invariant from 'invariant';\nimport type { AriaAttributes, ClassAttributes, HTMLAttributes, JSX, ReactElement, ReactNode } from 'react';\nimport React, { createRef } from 'react';\nimport warning from 'warning';\n\nimport { ClearCrossIcon } from '../../internal/ClearCrossIcon/ClearCrossIcon.js';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';\nimport { RenderLayer } from '../../internal/RenderLayer/index.js';\nimport { blink } from '../../lib/blink.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { isKeyBackspace, isKeyDelete, someKeys } from '../../lib/events/keyboard/identifiers.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { getRootNode, 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 { catchUnreachableWarning } from '../../lib/typeGuards.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { Override } from '../../typings/utility-types.js';\nimport { getStyles } from './Input.styles.js';\nimport type { InputElement, InputElementProps } from './Input.typings.js';\nimport { InputLayout } from './InputLayout/InputLayout.js';\n\nexport const inputTypes = ['password', 'text', 'number', 'tel', 'search', 'time', 'date', 'url', 'email'] as const;\n\nexport type InputAlign = 'left' | 'center' | 'right';\nexport type ShowClearIcon = 'auto' | 'always' | 'never';\nexport type InputType = (typeof inputTypes)[number];\nexport type InputIconType = React.ReactNode | (() => React.ReactNode);\n\nexport const selectionAllowedTypes: InputType[] = ['text', 'password', 'tel', 'search', 'url'];\nexport const selectionErrorMessage = (type: InputType, allowedTypes: InputType[] = selectionAllowedTypes): string => {\n return `<Input />. Selection is not supported by the type \"${type}\". Types that support selection: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}. Reason: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange.`;\n};\n\nexport const calculateClearCrossShowedState = ({\n showClearIcon,\n notEmptyValue,\n focused,\n hovered,\n}: {\n showClearIcon: ShowClearIcon;\n notEmptyValue: boolean;\n focused?: boolean;\n hovered?: boolean;\n}): boolean => {\n switch (showClearIcon) {\n case 'always':\n return notEmptyValue;\n case 'auto':\n return Boolean((focused || hovered) && notEmptyValue);\n case 'never':\n return false;\n default:\n return catchUnreachableWarning(showClearIcon, false);\n }\n};\n\nexport interface InputProps\n extends\n CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-controls' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /** Показывает иконку очистки значения в заполненном поле.\n * @default never */\n showClearIcon?: ShowClearIcon;\n\n /** Добавляет иконку слева.\n * При использовании `ReactNode` применяются дефолтные стили для иконки.\n * При использовании `() => ReactNode` применяются только стили для позиционирования. */\n leftIcon?: InputIconType;\n\n /** Добавляет иконку справа.\n * При использовании `ReactNode` применяются дефолтные стили для иконки.\n * При использовании `() => ReactNode` применяются только стили для позиционирования. */\n rightIcon?: InputIconType;\n\n /** Переводит поле в состояние ошибки. */\n error?: boolean;\n\n /** Переводит поле в состояние предупреждения. */\n warning?: boolean;\n\n /** Убирает обводку поля. */\n borderless?: boolean;\n\n /** Выравнивает контент внутри поля. */\n align?: InputAlign;\n\n /** Размер поля.\n * @default small\n */\n size?: SizeProp;\n\n /** Событие изменения значения `value` в поле. */\n onValueChange?: (value: string) => void;\n\n /** @ignore */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** @ignore */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** @ignore */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Тип поля ввода. */\n type?: InputType;\n\n /** Значение внутри поля. */\n value?: string;\n\n /** Устанавливает префикс `ReactNode` перед значением, но после иконки. */\n prefix?: React.ReactNode;\n\n /** Устанавливает суффикс `ReactNode` после значения, но перед правой иконкой. */\n suffix?: React.ReactNode;\n\n /** Выделяет введённое значение при фокусе в поле. Работает с типами `text`, `password`, `tel`, `search`, `url`. */\n selectAllOnFocus?: boolean;\n\n /** Отображает счётчик введённых символов. */\n showLengthCounter?: boolean;\n\n /** Допустимое количество символов в поле. Отображается в счётчике символов.\n * @default maxLength */\n lengthCounter?: number;\n\n /** Подсказка для счётчика символов.\n *\n * Если передать `ReactNode`, рисует тултип со встроенной иконкой.\n * Если передать функцию, рисует произвольный элемент.\n * @example\n * ```\n * counterHelp={() => <Hint text=\"...\"><Icon /></Hint>}\n * ``` */\n counterHelp?: ReactNode | (() => ReactNode);\n\n /** Устанавливает обработчик на случай некорректного ввода.\n * Если передан onUnexpectedInput, он будет вызван при ошибке, а эффект мигания можно запустить вручную через публичный метод blink.\n * @param {string} value - значение поля. */\n onUnexpectedInput?: (value: string) => void;\n\n /** Устанавливает радиус скруглений углов.\n * @ignore */\n corners?: Partial<\n Pick<\n React.CSSProperties,\n 'borderTopRightRadius' | 'borderBottomRightRadius' | 'borderBottomLeftRadius' | 'borderTopLeftRadius'\n >\n >;\n\n /** Устанавливает элемент, заменяющий нативный input. Должен иметь пропсы `InputElementProps` и тип `InputElement`. */\n element?: ReactElement<InputElementProps>;\n }\n > {}\n\nexport interface InputState {\n focused: boolean;\n hovered: boolean;\n clearCrossShowed: boolean;\n isCounterVisible: boolean;\n}\n\nexport const InputDataTids = {\n root: 'Input__root',\n clearCross: 'Input__clearCross',\n counter: 'Input__counter',\n counterHelpIcon: 'Input__counterHelpIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<InputProps, 'type' | 'showClearIcon'>>;\n\n/**\n * Поле ввода позволяет ввести или отредактировать значение.\n */\n@withRenderEnvironment\n@rootNode\n@withSize\nexport class Input extends React.Component<InputProps, InputState> {\n public static __KONTUR_REACT_UI__ = 'Input';\n public static displayName = 'Input';\n\n public static defaultProps: DefaultProps = {\n type: 'text',\n showClearIcon: 'never',\n };\n private size!: SizeProp;\n\n private getProps = createPropsGetter(Input.defaultProps);\n\n private selectAllId: number | null = null;\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n public input: HTMLInputElement | null = null;\n public labelRef = createRef<HTMLLabelElement>();\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n private getClearCrossShowed = ({\n focused,\n hovered,\n hasInitialValue,\n }: {\n focused?: boolean;\n hovered?: boolean;\n hasInitialValue?: boolean;\n }): boolean => {\n if (this.props.disabled) {\n return false;\n }\n return calculateClearCrossShowedState({\n showClearIcon: this.getProps().showClearIcon,\n notEmptyValue: Boolean(this.input?.value || hasInitialValue),\n focused,\n hovered,\n });\n };\n\n public state: InputState = {\n focused: false,\n hovered: false,\n isCounterVisible: false,\n clearCrossShowed: this.getClearCrossShowed({\n focused: false,\n hasInitialValue: Boolean(this.props.value || this.props.defaultValue),\n }),\n };\n\n public componentWillUnmount() {\n this.cancelDelayedSelectAll();\n }\n\n /** Программно устанавливает фокус на поле.\n * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus(): void {\n invariant(this.input, 'Cannot call \"focus\" because Input is not mounted');\n this.input.focus();\n }\n\n /** Программно снимает фокус с поля.\n * @public\n */\n public blur(): void {\n invariant(this.input, 'Cannot call \"blur\" because Input is not mounted');\n this.input.blur();\n }\n\n /** Возвращает DOM-узел поля ввода.\n * @public\n */\n public getNode(): HTMLInputElement | null {\n return this.input;\n }\n\n /** Кратковременно визуально подсвечивает поле ввода, чтобы привлечь внимание пользователя.\n * @public\n */\n public blink(): void {\n blink({ el: this.labelRef.current, blinkColor: this.theme.inputBlinkColor });\n }\n\n /** start - инициирует последовательное изменение числового значения: начинает повторяющееся увеличение/уменьшение, обычно используется при удерживании кнопки «+» или «−» для числового Input. end - останавливает ранее запущенное числоизменение, инициируемое numberStart.\n * [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange(start: number, end: number): void {\n // https://github.com/facebook/react/issues/7769\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n if (!selectionAllowedTypes.includes(this.getProps().type)) {\n warning(false, selectionErrorMessage(this.getProps().type));\n\n return;\n }\n\n if (!this.input) {\n warning(false, 'Cannot call \"setSelectionRange\" on unmounted Input');\n return;\n }\n\n if (this.globalObject.document?.activeElement !== this.input) {\n this.focus();\n }\n\n this.input?.setSelectionRange(start, end);\n }\n\n public render(): JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Переводит фокус в поле (если ещё не в фокусе) и выделяет весь текст в нём.\n * Работает с типами `text`, `password`, `tel`, `search`, `url`.\n * @public\n */\n public selectAll = (): void => this._selectAll();\n\n public delaySelectAll = (): number | null => {\n return (this.selectAllId = this.globalObject.requestAnimationFrame?.(this._selectAll) ?? null);\n };\n\n private _selectAll = (): void => {\n if (this.input) {\n this.setSelectionRange(0, this.input.value.length);\n }\n };\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n this.globalObject.cancelAnimationFrame?.(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private getInput = (inputProps: InputElementProps & ClassAttributes<HTMLInputElement>) => {\n if (this.props.element) {\n return React.cloneElement(this.props.element, inputProps);\n }\n\n return React.createElement('input', inputProps);\n };\n\n private renderMain = (props: CommonWrapperRestProps<InputProps>) => {\n const {\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onKeyPress,\n onValueChange,\n width,\n error,\n role,\n warning,\n leftIcon,\n rightIcon,\n borderless,\n value,\n align,\n type,\n size,\n placeholder,\n selectAllOnFocus,\n showLengthCounter,\n lengthCounter,\n counterHelp,\n disabled,\n onUnexpectedInput,\n prefix,\n suffix,\n corners,\n 'aria-describedby': ariaDescribedby,\n 'aria-controls': ariaControls,\n 'aria-label': ariaLabel,\n element,\n showClearIcon,\n ...rest\n } = props;\n\n const { focused, isCounterVisible } = this.state;\n\n const labelProps = {\n className: this.cx(this.styles.root(this.theme), this.getSizeClassName(), {\n [this.styles.focus(this.theme)]: focused && !warning && !error,\n [this.styles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [this.styles.borderless()]: borderless && !focused,\n [this.styles.disabled(this.theme)]: disabled,\n [this.styles.warning(this.theme)]: warning,\n [this.styles.error(this.theme)]: error,\n }),\n 'aria-controls': ariaControls,\n style: { width, ...corners },\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n onMouseOver,\n ref: this.labelRef,\n };\n\n const inputProps: InputElementProps & ClassAttributes<HTMLInputElement> = {\n ...rest,\n className: this.cx(this.styles.input(this.theme), {\n [this.styles.inputFocus(this.theme)]: focused,\n [this.styles.inputDisabled(this.theme)]: disabled,\n }),\n value,\n role,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onKeyDown: this.handleKeyDown,\n onKeyPress: this.handleKeyPress,\n onBlur: this.handleBlur,\n style: { textAlign: align },\n ref: this.refInput,\n type,\n placeholder,\n disabled,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n };\n\n const input = (\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>{this.getInput(inputProps)}</FocusControlWrapper>\n );\n\n const getRightIcon = () => {\n return this.state.clearCrossShowed ? (\n <ClearCrossIcon data-tid={InputDataTids.clearCross} size={this.size} onClick={this.handleClearInput} />\n ) : (\n rightIcon\n );\n };\n return (\n <RenderLayer\n onFocusOutside={this.handleCloseCounterHelp}\n onClickOutside={this.handleCloseCounterHelp}\n active={isCounterVisible}\n >\n <InputLayout\n leftIcon={leftIcon}\n rightIcon={getRightIcon()}\n prefix={prefix}\n suffix={suffix}\n value={value}\n showLengthCounter={showLengthCounter}\n isCounterVisible={isCounterVisible}\n lengthCounter={lengthCounter}\n counterHelp={counterHelp}\n onCloseCounterHelp={this.handleCloseCounterHelp}\n maxLength={this.props.maxLength}\n size={this.size}\n labelProps={labelProps}\n context={{ disabled: Boolean(disabled), focused, size: this.size }}\n >\n {input}\n </InputLayout>\n </RenderLayer>\n );\n };\n\n private handleCloseCounterHelp = () => this.setState({ isCounterVisible: false });\n\n private getSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.cx({\n [this.styles.sizeLarge(this.theme)]: true,\n });\n case 'medium':\n return this.cx({\n [this.styles.sizeMedium(this.theme)]: true,\n });\n case 'small':\n default:\n return this.cx({\n [this.styles.sizeSmall(this.theme)]: true,\n });\n }\n }\n\n private refInput = (element: HTMLInputElement | InputElement | null) => {\n if (element && 'input' in element) {\n this.input = element.input;\n } else {\n this.input = element;\n }\n };\n\n private handleClearInput = () => {\n if (this.input) {\n this.input.value = '';\n }\n\n this.setState({ clearCrossShowed: false });\n\n if (this.props.onValueChange) {\n this.props.onValueChange('');\n }\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n\n const clearCrossShowed = this.getClearCrossShowed({ focused: this.state.focused, hovered: this.state.hovered });\n\n if (this.state.clearCrossShowed !== clearCrossShowed) {\n this.setState({\n clearCrossShowed,\n });\n }\n };\n\n private handleMouseEnter = (e: React.MouseEvent<HTMLLabelElement, MouseEvent>) => {\n this.setState({\n hovered: true,\n clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: true }),\n });\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n private handleMouseLeave = (e: React.MouseEvent<HTMLLabelElement, MouseEvent>) => {\n this.setState({\n hovered: false,\n clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: false }),\n });\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({\n focused: true,\n isCounterVisible: true,\n clearCrossShowed: this.getClearCrossShowed({ focused: true, hovered: this.state.hovered }),\n });\n\n if (this.props.selectAllOnFocus) {\n this.input && this.selectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n\n const isDeleteKey = someKeys(isKeyBackspace, isKeyDelete)(e);\n\n if (!e.currentTarget.value && isDeleteKey && !e.repeat) {\n this.handleUnexpectedInput();\n }\n };\n\n private handleKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyPress) {\n this.props.onKeyPress(event);\n }\n\n if (this.props.maxLength === event.currentTarget.value.length) {\n this.handleUnexpectedInput(event.currentTarget.value);\n }\n };\n\n private handleUnexpectedInput = (value: string = this.props.value || '') => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(value);\n } else {\n this.blink();\n }\n };\n\n private resetFocus = () => this.setState({ focused: false });\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n const showClearIcon = this.props.showClearIcon;\n if (showClearIcon && getRootNode(this)?.contains(event.relatedTarget)) {\n this.setState({ focused: false });\n } else {\n const clearCrossShowed = this.getClearCrossShowed({ focused: false, hovered: this.state.hovered });\n this.setState({\n focused: false,\n clearCrossShowed,\n });\n this.props.onBlur?.(event);\n }\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Input.styles.js","sourceRoot":"","sources":["../../../components/Input/Input.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,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;YACL,OAAO,GAAG,+YAAA,8UAgBT,KAAC;QACJ,CAAC;QAED,IAAI,YAAC,CAAQ;YACX,OAAO,GAAG,yhBAAA,UACN,EAAW,0DAGM,EAAqB,6BACpB,EAAS,mBACnB,EAAkB,SAAU,EAAkB,6BACpC,EAAqB,oCACd,EAAoB,GAAI,EAA0B,uBAC/D,EAAa,iDAElB,EAAY,qHAKZ,EAAY,kEAKtB,KApBG,SAAS,EAAE,EAGM,CAAC,CAAC,mBAAmB,EACpB,CAAC,CAAC,OAAO,EACnB,CAAC,CAAC,gBAAgB,EAAU,CAAC,CAAC,gBAAgB,EACpC,CAAC,CAAC,mBAAmB,EACd,CAAC,CAAC,kBAAkB,EAAI,CAAC,CAAC,wBAAwB,EAC/D,CAAC,CAAC,WAAW,EAElB,CAAC,CAAC,UAAU,EAKZ,CAAC,CAAC,UAAU,EAKrB;QACJ,CAAC;QAED,QAAQ,YAAC,CAAQ;YACf,OAAO,GAAG,kIAAA,2CAEU,EAAuB,kBAE1C,KAFmB,CAAC,CAAC,qBAAqB,EAEzC;QACJ,CAAC;QAED,UAAU;YACR,OAAO,GAAG,2KAAA,wGAIT,KAAC;QACJ,CAAC;QAED,KAAK,YAAC,CAAQ;YACZ,OAAO,GAAG,uMAAA,4BACY,EAAgB,yBACpB,EAAuB,uBACzB,EAAkB,kDAGjC,KALqB,CAAC,CAAC,cAAc,EACpB,CAAC,CAAC,qBAAqB,EACzB,CAAC,CAAC,gBAAgB,EAGhC;QACJ,CAAC;QAED,WAAW,YAAC,CAAQ;YAClB,OAAO,GAAG,4XAAA,+CAEC,EAAuB,wQAYjC,KAZU,CAAC,CAAC,qBAAqB,EAYhC;QACJ,CAAC;QAED,gBAAgB,YAAC,CAAQ;YACvB,OAAO,GAAG,+FAAA,iBACC,EAA4B,SACtC,KADU,CAAC,CAAC,0BAA0B,EACrC;QACJ,CAAC;QAED,mBAAmB,YAAC,CAAQ;YAC1B,OAAO,GAAG,+FAAA,iBACC,EAA+B,SACzC,KADU,CAAC,CAAC,6BAA6B,EACxC;QACJ,CAAC;QAED,KAAK,YAAC,CAAQ;YACZ,OAAO,GAAG,wuBAAA,yGAIC,EAAgB,mNAST,EAAkB,8NAYvB,EAAuB,0DAGvB,EAAuB,qDAGvB,EAAuB,kBAEnC,KA7BU,CAAC,CAAC,cAAc,EAST,CAAC,CAAC,gBAAgB,EAYvB,CAAC,CAAC,qBAAqB,EAGvB,CAAC,CAAC,qBAAqB,EAGvB,CAAC,CAAC,qBAAqB,EAElC;QACJ,CAAC;QAED,UAAU,YAAC,CAAQ;YACjB,OAAO,GAAG,2PAAA,+CAEG,EAA4B,0DAG5B,EAA4B,qDAG5B,EAA4B,kBAExC,KARY,CAAC,CAAC,0BAA0B,EAG5B,CAAC,CAAC,0BAA0B,EAG5B,CAAC,CAAC,0BAA0B,EAEvC;QACJ,CAAC;QAED,aAAa,YAAC,CAAQ;YACpB,OAAO,GAAG,kcAAA,iBACC,EAAwB,yHAEN,EAAwB,oEAGtB,EAA+B,4EAG/B,EAA+B,uEAG/B,EAA+B,kBAE7D,KAbU,CAAC,CAAC,sBAAsB,EAEN,CAAC,CAAC,sBAAsB,EAGtB,CAAC,CAAC,6BAA6B,EAG/B,CAAC,CAAC,6BAA6B,EAG/B,CAAC,CAAC,6BAA6B,EAE5D;QACJ,CAAC;QAED,OAAO,YAAC,CAAQ;YACd,OAAO,GAAG,+JAAA,wBACQ,EAAyB,6BACrB,EAAmB,GAAI,EAAyB,4BAErE,KAHiB,CAAC,CAAC,uBAAuB,EACrB,CAAC,CAAC,iBAAiB,EAAI,CAAC,CAAC,uBAAuB,EAEpE;QACJ,CAAC;QAED,KAAK,YAAC,CAAQ;YACZ,OAAO,GAAG,+JAAA,wBACQ,EAAuB,6BACnB,EAAmB,GAAI,EAAuB,4BAEnE,KAHiB,CAAC,CAAC,qBAAqB,EACnB,CAAC,CAAC,iBAAiB,EAAI,CAAC,CAAC,qBAAqB,EAElE;QACJ,CAAC;QAED,QAAQ,YAAC,CAAQ;YACf,OAAO,GAAG,gKAAA,4BACY,EAAiB,yBACrB,EAA0B,kCAE3C,KAHqB,CAAC,CAAC,eAAe,EACrB,CAAC,CAAC,wBAAwB,EAE1C;QACJ,CAAC;QAED,SAAS,YAAC,CAAQ;YAChB,OAAO,GAAG,8RAAA,qBACK,EAAoB,wBAClB,EAAsB,wBACtB,EAAoB,2BACjB,EAAoB,yBACtB,EAAoB,0BACnB,EAAoB,mBAC3B,EAAkB,0BACX,EAAwB,SAC1C,KARc,CAAC,CAAC,kBAAkB,EAClB,CAAC,CAAC,oBAAoB,EACtB,CAAC,CAAC,kBAAkB,EACjB,CAAC,CAAC,kBAAkB,EACtB,CAAC,CAAC,kBAAkB,EACnB,CAAC,CAAC,kBAAkB,EAC3B,CAAC,CAAC,gBAAgB,EACX,CAAC,CAAC,sBAAsB,EACzC;QACJ,CAAC;QAED,UAAU,YAAC,CAAQ;YACjB,OAAO,GAAG,8RAAA,qBACK,EAAqB,wBACnB,EAAuB,wBACvB,EAAqB,2BAClB,EAAqB,yBACvB,EAAqB,0BACpB,EAAqB,mBAC5B,EAAmB,0BACZ,EAAyB,SAC3C,KARc,CAAC,CAAC,mBAAmB,EACnB,CAAC,CAAC,qBAAqB,EACvB,CAAC,CAAC,mBAAmB,EAClB,CAAC,CAAC,mBAAmB,EACvB,CAAC,CAAC,mBAAmB,EACpB,CAAC,CAAC,mBAAmB,EAC5B,CAAC,CAAC,iBAAiB,EACZ,CAAC,CAAC,uBAAuB,EAC1C;QACJ,CAAC;QAED,SAAS,YAAC,CAAQ;YAChB,OAAO,GAAG,8RAAA,qBACK,EAAoB,wBAClB,EAAsB,mBAC3B,EAAkB,wBACb,EAAgC,2BAC7B,EAAgC,yBAClC,EAAoB,0BACnB,EAAoB,0BACpB,EAAwB,SAC1C,KARc,CAAC,CAAC,kBAAkB,EAClB,CAAC,CAAC,oBAAoB,EAC3B,CAAC,CAAC,gBAAgB,EACb,KAAK,CAAC,CAAC,CAAC,kBAAkB,EAAE,GAAG,CAAC,EAC7B,KAAK,CAAC,CAAC,CAAC,kBAAkB,EAAE,GAAG,CAAC,EAClC,CAAC,CAAC,kBAAkB,EACnB,CAAC,CAAC,kBAAkB,EACpB,CAAC,CAAC,sBAAsB,EACzC;QACJ,CAAC;QAED,kBAAkB;YAChB,OAAO,GAAG,8GAAA,yCAET,KAAC;QACJ,CAAC;KACF,CAAC;AA/O8D,CA+O9D,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { shift } from '../../lib/styles/DimensionFunctions.js';\nimport { resetText } from '../../lib/styles/Mixins.js';\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n wrapper() {\n return css`\n align-items: center;\n display: flex;\n margin: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n\n &::before {\n content: '\\\\A0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n root(t: Theme) {\n return css`\n ${resetText()};\n\n align-items: center;\n background-clip: ${t.inputBackgroundClip};\n background-color: ${t.inputBg};\n border: ${t.inputBorderWidth} solid ${t.inputBorderColor};\n border-top-color: ${t.inputBorderTopColor};\n transition: border-color ${t.transitionDuration} ${t.transitionTimingFunction};\n box-shadow: ${t.inputShadow};\n box-sizing: border-box;\n color: ${t.inputColor};\n cursor: text;\n display: inline-flex;\n outline: none;\n position: relative;\n width: ${t.inputWidth};\n\n & * {\n box-sizing: border-box;\n }\n `;\n },\n\n hovering(t: Theme) {\n return css`\n &:hover {\n border-color: ${t.inputBorderColorHover};\n }\n `;\n },\n\n borderless() {\n return css`\n box-shadow: none;\n border-color: transparent;\n background-clip: padding-box;\n `;\n },\n\n focus(t: Theme) {\n return css`\n background-color: ${t.inputFocusedBg};\n border-color: ${t.inputBorderColorFocus};\n box-shadow: ${t.inputFocusShadow};\n outline: none;\n z-index: 2;\n `;\n },\n\n placeholder(t: Theme) {\n return css`\n -ms-user-select: none;\n color: ${t.inputPlaceholderColor};\n cursor: text;\n font-size: inherit;\n height: 100%;\n left: 0;\n overflow: hidden;\n pointer-events: none;\n position: absolute;\n top: 0;\n user-select: none;\n white-space: nowrap;\n width: 100%;\n `;\n },\n\n placeholderFocus(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorLight};\n `;\n },\n\n placeholderDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n input(t: Theme) {\n return css`\n -webkit-appearance: none;\n background: transparent;\n border: 0 none;\n color: ${t.inputTextColor};\n font: inherit;\n line-height: inherit;\n margin: 0;\n outline: none;\n padding: 0;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n color-scheme: ${t.inputColorScheme};\n\n &:-moz-placeholder {\n opacity: 1;\n }\n &::-moz-placeholder {\n opacity: 1;\n }\n &::-ms-clear {\n display: none;\n }\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColor};\n }\n `;\n },\n\n inputFocus(t: Theme) {\n return css`\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n `;\n },\n\n inputDisabled(t: Theme) {\n return css`\n color: ${t.inputTextColorDisabled};\n /* fix text color in safari https://bugs.webkit.org/show_bug.cgi?id=115510 */\n -webkit-text-fill-color: ${t.inputTextColorDisabled};\n\n &:-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n `;\n },\n\n warning(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorWarning};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorWarning};\n z-index: 2;\n `;\n },\n\n error(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorError};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorError};\n z-index: 2;\n `;\n },\n\n disabled(t: Theme) {\n return css`\n background-color: ${t.inputDisabledBg};\n border-color: ${t.inputDisabledBorderColor};\n box-shadow: none;\n `;\n },\n\n sizeSmall(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeSmall};\n line-height: ${t.inputLineHeightSmall};\n padding-top: ${t.inputPaddingYSmall};\n padding-bottom: ${t.inputPaddingYSmall};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n height: ${t.inputHeightSmall};\n border-radius: ${t.inputBorderRadiusSmall};\n `;\n },\n\n sizeMedium(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeMedium};\n line-height: ${t.inputLineHeightMedium};\n padding-top: ${t.inputPaddingYMedium};\n padding-bottom: ${t.inputPaddingYMedium};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n height: ${t.inputHeightMedium};\n border-radius: ${t.inputBorderRadiusMedium};\n `;\n },\n\n sizeLarge(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeLarge};\n line-height: ${t.inputLineHeightLarge};\n height: ${t.inputHeightLarge};\n padding-top: ${shift(t.inputPaddingYLarge, '0')};\n padding-bottom: ${shift(t.inputPaddingYLarge, '0')};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n border-radius: ${t.inputBorderRadiusLarge};\n `;\n },\n\n hideBlinkingCursor() {\n return css`\n caret-color: transparent;\n `;\n },\n}));\n"]}
1
+ {"version":3,"file":"Input.styles.js","sourceRoot":"","sources":["Input.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { shift } from '../../lib/styles/DimensionFunctions.js';\nimport { resetText } from '../../lib/styles/Mixins.js';\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n wrapper() {\n return css`\n align-items: center;\n display: flex;\n margin: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n\n &::before {\n content: '\\\\A0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n root(t: Theme) {\n return css`\n ${resetText()};\n\n align-items: center;\n background-clip: ${t.inputBackgroundClip};\n background-color: ${t.inputBg};\n border: ${t.inputBorderWidth} solid ${t.inputBorderColor};\n border-top-color: ${t.inputBorderTopColor};\n transition: border-color ${t.transitionDuration} ${t.transitionTimingFunction};\n box-shadow: ${t.inputShadow};\n box-sizing: border-box;\n color: ${t.inputColor};\n cursor: text;\n display: inline-flex;\n outline: none;\n position: relative;\n width: ${t.inputWidth};\n\n & * {\n box-sizing: border-box;\n }\n `;\n },\n\n hovering(t: Theme) {\n return css`\n &:hover {\n border-color: ${t.inputBorderColorHover};\n }\n `;\n },\n\n borderless() {\n return css`\n box-shadow: none;\n border-color: transparent;\n background-clip: padding-box;\n `;\n },\n\n focus(t: Theme) {\n return css`\n background-color: ${t.inputFocusedBg};\n border-color: ${t.inputBorderColorFocus};\n box-shadow: ${t.inputFocusShadow};\n outline: none;\n z-index: 2;\n `;\n },\n\n placeholder(t: Theme) {\n return css`\n -ms-user-select: none;\n color: ${t.inputPlaceholderColor};\n cursor: text;\n font-size: inherit;\n height: 100%;\n left: 0;\n overflow: hidden;\n pointer-events: none;\n position: absolute;\n top: 0;\n user-select: none;\n white-space: nowrap;\n width: 100%;\n `;\n },\n\n placeholderFocus(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorLight};\n `;\n },\n\n placeholderDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n input(t: Theme) {\n return css`\n -webkit-appearance: none;\n background: transparent;\n border: 0 none;\n color: ${t.inputTextColor};\n font: inherit;\n line-height: inherit;\n margin: 0;\n outline: none;\n padding: 0;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n color-scheme: ${t.inputColorScheme};\n\n &:-moz-placeholder {\n opacity: 1;\n }\n &::-moz-placeholder {\n opacity: 1;\n }\n &::-ms-clear {\n display: none;\n }\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColor};\n }\n `;\n },\n\n inputFocus(t: Theme) {\n return css`\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n `;\n },\n\n inputDisabled(t: Theme) {\n return css`\n color: ${t.inputTextColorDisabled};\n /* fix text color in safari https://bugs.webkit.org/show_bug.cgi?id=115510 */\n -webkit-text-fill-color: ${t.inputTextColorDisabled};\n\n &:-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n `;\n },\n\n warning(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorWarning};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorWarning};\n z-index: 2;\n `;\n },\n\n error(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorError};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorError};\n z-index: 2;\n `;\n },\n\n disabled(t: Theme) {\n return css`\n background-color: ${t.inputDisabledBg};\n border-color: ${t.inputDisabledBorderColor};\n box-shadow: none;\n `;\n },\n\n sizeSmall(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeSmall};\n line-height: ${t.inputLineHeightSmall};\n padding-top: ${t.inputPaddingYSmall};\n padding-bottom: ${t.inputPaddingYSmall};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n height: ${t.inputHeightSmall};\n border-radius: ${t.inputBorderRadiusSmall};\n `;\n },\n\n sizeMedium(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeMedium};\n line-height: ${t.inputLineHeightMedium};\n padding-top: ${t.inputPaddingYMedium};\n padding-bottom: ${t.inputPaddingYMedium};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n height: ${t.inputHeightMedium};\n border-radius: ${t.inputBorderRadiusMedium};\n `;\n },\n\n sizeLarge(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeLarge};\n line-height: ${t.inputLineHeightLarge};\n height: ${t.inputHeightLarge};\n padding-top: ${shift(t.inputPaddingYLarge, '0')};\n padding-bottom: ${shift(t.inputPaddingYLarge, '0')};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n border-radius: ${t.inputBorderRadiusLarge};\n `;\n },\n\n hideBlinkingCursor() {\n return css`\n caret-color: transparent;\n `;\n },\n}));\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Input.typings.js","sourceRoot":"","sources":["../../../components/Input/Input.typings.ts"],"names":[],"mappings":"","sourcesContent":["import type React from 'react';\n\nexport type InputElement = (HTMLInputElement | { input: HTMLInputElement | null }) & {\n getRootNode: () => HTMLElement | null;\n};\n\nexport type InputElementProps = React.InputHTMLAttributes<HTMLInputElement>;\n"]}
1
+ {"version":3,"file":"Input.typings.js","sourceRoot":"","sources":["Input.typings.ts"],"names":[],"mappings":"","sourcesContent":["import type React from 'react';\n\nexport type InputElement = (HTMLInputElement | { input: HTMLInputElement | null }) & {\n getRootNode: () => HTMLElement | null;\n};\n\nexport type InputElementProps = React.InputHTMLAttributes<HTMLInputElement>;\n"]}