@skbkontur/react-ui 6.0.8 → 6.1.1-9752b.0

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 (814) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/components/Autocomplete/Autocomplete.js +15 -4
  3. package/components/Autocomplete/Autocomplete.js.map +1 -1
  4. package/components/Autocomplete/Autocomplete.styles.js.map +1 -1
  5. package/components/Autocomplete/getAutocompleteTheme.js.map +1 -1
  6. package/components/Autocomplete/index.js.map +1 -1
  7. package/components/Autocomplete/locale/index.js.map +1 -1
  8. package/components/Autocomplete/locale/locales/en.js.map +1 -1
  9. package/components/Autocomplete/locale/locales/ru.js.map +1 -1
  10. package/components/Autocomplete/locale/types.js.map +1 -1
  11. package/components/Button/ArrowLeftIcon.js.map +1 -1
  12. package/components/Button/ArrowRightIcon.js.map +1 -1
  13. package/components/Button/Button.d.ts +1 -1
  14. package/components/Button/Button.js +5 -4
  15. package/components/Button/Button.js.map +1 -1
  16. package/components/Button/Button.mixins.js.map +1 -1
  17. package/components/Button/Button.styles.js.map +1 -1
  18. package/components/Button/ButtonArrow.js.map +1 -1
  19. package/components/Button/ButtonIcon.js.map +1 -1
  20. package/components/Button/ButtonIcon.styles.js.map +1 -1
  21. package/components/Button/LoadingButtonIcon.js.map +1 -1
  22. package/components/Button/getInnerLinkTheme.js.map +1 -1
  23. package/components/Button/index.js.map +1 -1
  24. package/components/Calendar/Calendar.js.map +1 -1
  25. package/components/Calendar/Calendar.styles.js.map +1 -1
  26. package/components/Calendar/CalendarContext.js.map +1 -1
  27. package/components/Calendar/CalendarDateShape.js.map +1 -1
  28. package/components/Calendar/CalendarDay.js +3 -0
  29. package/components/Calendar/CalendarDay.js.map +1 -1
  30. package/components/Calendar/CalendarScrollEvents.js.map +1 -1
  31. package/components/Calendar/CalendarUtils.js.map +1 -1
  32. package/components/Calendar/DayCellView.js.map +1 -1
  33. package/components/Calendar/DayCellView.styles.d.ts +1 -0
  34. package/components/Calendar/DayCellView.styles.js +6 -3
  35. package/components/Calendar/DayCellView.styles.js.map +1 -1
  36. package/components/Calendar/DayCellViewModel.js.map +1 -1
  37. package/components/Calendar/Month.js.map +1 -1
  38. package/components/Calendar/MonthView.js.map +1 -1
  39. package/components/Calendar/MonthView.styles.js.map +1 -1
  40. package/components/Calendar/MonthViewModel.js.map +1 -1
  41. package/components/Calendar/config.js.map +1 -1
  42. package/components/Calendar/index.js.map +1 -1
  43. package/components/Calendar/locale/locales/en.js.map +1 -1
  44. package/components/Calendar/locale/locales/ru.js.map +1 -1
  45. package/components/Calendar/locale/types.js.map +1 -1
  46. package/components/Center/Center.js.map +1 -1
  47. package/components/Center/Center.styles.js.map +1 -1
  48. package/components/Center/index.js.map +1 -1
  49. package/components/Checkbox/Checkbox.js.map +1 -1
  50. package/components/Checkbox/Checkbox.mixins.js.map +1 -1
  51. package/components/Checkbox/Checkbox.styles.js.map +1 -1
  52. package/components/Checkbox/CheckedIcon.js.map +1 -1
  53. package/components/Checkbox/IndeterminateIcon.js.map +1 -1
  54. package/components/Checkbox/index.js.map +1 -1
  55. package/components/ComboBox/ComboBox.js.map +1 -1
  56. package/components/ComboBox/index.js.map +1 -1
  57. package/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  58. package/components/CurrencyInput/CurrencyInput.js.map +1 -1
  59. package/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  60. package/components/CurrencyInput/CurrencyInputKeyboardActions.js.map +1 -1
  61. package/components/CurrencyInput/CursorHelper.js.map +1 -1
  62. package/components/CurrencyInput/SelectionHelper.js.map +1 -1
  63. package/components/CurrencyInput/constants.js.map +1 -1
  64. package/components/CurrencyInput/index.js.map +1 -1
  65. package/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  66. package/components/CurrencyLabel/index.js.map +1 -1
  67. package/components/DateInput/CalendarIcon.js.map +1 -1
  68. package/components/DateInput/DateFragmentsView.js.map +1 -1
  69. package/components/DateInput/DateFragmentsView.styles.js.map +1 -1
  70. package/components/DateInput/DateInput.js.map +1 -1
  71. package/components/DateInput/DateInput.styles.js.map +1 -1
  72. package/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  73. package/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  74. package/components/DateInput/helpers/inputNumber.js.map +1 -1
  75. package/components/DateInput/index.js.map +1 -1
  76. package/components/DatePicker/DatePicker.js.map +1 -1
  77. package/components/DatePicker/DatePicker.styles.js.map +1 -1
  78. package/components/DatePicker/MobilePicker.js +1 -1
  79. package/components/DatePicker/MobilePicker.js.map +1 -1
  80. package/components/DatePicker/MobilePicker.styles.js.map +1 -1
  81. package/components/DatePicker/getMobilePickerTheme.js.map +1 -1
  82. package/components/DatePicker/index.js.map +1 -1
  83. package/components/DatePicker/locale/index.js.map +1 -1
  84. package/components/DatePicker/locale/locales/en.js.map +1 -1
  85. package/components/DatePicker/locale/locales/ru.js.map +1 -1
  86. package/components/DatePicker/locale/types.js.map +1 -1
  87. package/components/DateRangePicker/DateRangePicker.js +1 -1
  88. package/components/DateRangePicker/DateRangePicker.js.map +1 -1
  89. package/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
  90. package/components/DateRangePicker/DateRangePickerContext.js.map +1 -1
  91. package/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  92. package/components/DateRangePicker/DateRangePickerSeparator.js.map +1 -1
  93. package/components/DateRangePicker/DateRangePickerTheme.js.map +1 -1
  94. package/components/DateRangePicker/helpers/getStateForValue.js.map +1 -1
  95. package/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
  96. package/components/DateRangePicker/index.js.map +1 -1
  97. package/components/DateRangePicker/locale/index.js.map +1 -1
  98. package/components/DateRangePicker/locale/locales/en.js.map +1 -1
  99. package/components/DateRangePicker/locale/locales/ru.js.map +1 -1
  100. package/components/DateRangePicker/locale/types.js.map +1 -1
  101. package/components/Dropdown/Dropdown.js.map +1 -1
  102. package/components/Dropdown/getDropdownTheme.js.map +1 -1
  103. package/components/Dropdown/index.js.map +1 -1
  104. package/components/DropdownMenu/DropdownMenu.js.map +1 -1
  105. package/components/DropdownMenu/getDropdownMenuTheme.js.map +1 -1
  106. package/components/DropdownMenu/index.js.map +1 -1
  107. package/components/FileUploader/FileUploader.js.map +1 -1
  108. package/components/FileUploader/FileUploader.mixins.js.map +1 -1
  109. package/components/FileUploader/FileUploader.styles.js.map +1 -1
  110. package/components/FileUploader/FileUploaderControlContext.js.map +1 -1
  111. package/components/FileUploader/FileUploaderControlProvider.js.map +1 -1
  112. package/components/FileUploader/FileUploaderFile.js.map +1 -1
  113. package/components/FileUploader/FileUploaderFile.styles.js.map +1 -1
  114. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  115. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -1
  116. package/components/FileUploader/FileUploaderFileStatusIcon.js.map +1 -1
  117. package/components/FileUploader/FileUploaderFileTypeIcon.js.map +1 -1
  118. package/components/FileUploader/FileUploaderFileValidationResult.js.map +1 -1
  119. package/components/FileUploader/fileUtils.js.map +1 -1
  120. package/components/FileUploader/hooks/useControlLocale.js.map +1 -1
  121. package/components/FileUploader/hooks/useFileUploaderSize.js.map +1 -1
  122. package/components/FileUploader/hooks/useUpload.js.map +1 -1
  123. package/components/FileUploader/icons/DeleteIcon.js.map +1 -1
  124. package/components/FileUploader/icons/UploadIcon.js.map +1 -1
  125. package/components/FileUploader/icons/row/ArchiveIcon.js.map +1 -1
  126. package/components/FileUploader/icons/row/DocTextIcon.js.map +1 -1
  127. package/components/FileUploader/icons/row/FolderIcon.js.map +1 -1
  128. package/components/FileUploader/icons/row/MarkupIcon.js.map +1 -1
  129. package/components/FileUploader/icons/row/PdfIcon.js.map +1 -1
  130. package/components/FileUploader/icons/row/PictureIcon.js.map +1 -1
  131. package/components/FileUploader/icons/row/PresentationIcon.js.map +1 -1
  132. package/components/FileUploader/icons/row/RowUploadIcon.js.map +1 -1
  133. package/components/FileUploader/icons/row/TableIcon.js.map +1 -1
  134. package/components/FileUploader/icons/row/TextIcon.js.map +1 -1
  135. package/components/FileUploader/icons/row/ValidationErrorIcon.js.map +1 -1
  136. package/components/FileUploader/icons/row/ValidationWarningIcon.js.map +1 -1
  137. package/components/FileUploader/icons/tile/ArchiveIcon.js.map +1 -1
  138. package/components/FileUploader/icons/tile/DocTextIcon.js.map +1 -1
  139. package/components/FileUploader/icons/tile/FolderIcon.js.map +1 -1
  140. package/components/FileUploader/icons/tile/MarkupIcon.js.map +1 -1
  141. package/components/FileUploader/icons/tile/PdfIcon.js.map +1 -1
  142. package/components/FileUploader/icons/tile/PictureIcon.js.map +1 -1
  143. package/components/FileUploader/icons/tile/PresentationIcon.js.map +1 -1
  144. package/components/FileUploader/icons/tile/TableIcon.js.map +1 -1
  145. package/components/FileUploader/icons/tile/TextIcon.js.map +1 -1
  146. package/components/FileUploader/icons/tile/TileUploadIcon.js.map +1 -1
  147. package/components/FileUploader/icons/tile/ValidationErrorIcon.js.map +1 -1
  148. package/components/FileUploader/icons/tile/ValidationWarningIcon.js.map +1 -1
  149. package/components/FileUploader/index.js.map +1 -1
  150. package/components/FileUploader/locale/index.js.map +1 -1
  151. package/components/FileUploader/locale/locales/en.js.map +1 -1
  152. package/components/FileUploader/locale/locales/ru.js.map +1 -1
  153. package/components/FileUploader/locale/types.js.map +1 -1
  154. package/components/FileUploader/withFileUploaderControlProvider.js.map +1 -1
  155. package/components/FxInput/FxInput.js.map +1 -1
  156. package/components/FxInput/FxInputRestoreBtn.js +1 -1
  157. package/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  158. package/components/FxInput/MathFunctionIcon.js.map +1 -1
  159. package/components/FxInput/UndoIcon.js.map +1 -1
  160. package/components/FxInput/index.js.map +1 -1
  161. package/components/Gapped/Gapped.js.map +1 -1
  162. package/components/Gapped/index.js.map +1 -1
  163. package/components/GlobalLoader/GlobalLoader.js.map +1 -1
  164. package/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  165. package/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -1
  166. package/components/GlobalLoader/index.js.map +1 -1
  167. package/components/GlobalLoader/useParams.js.map +1 -1
  168. package/components/Group/Group.js.map +1 -1
  169. package/components/Group/Group.styles.js.map +1 -1
  170. package/components/Group/index.js.map +1 -1
  171. package/components/Hint/Hint.js.map +1 -1
  172. package/components/Hint/Hint.styles.js.map +1 -1
  173. package/components/Hint/index.js.map +1 -1
  174. package/components/Input/Input.d.ts +19 -1
  175. package/components/Input/Input.js +10 -3
  176. package/components/Input/Input.js.map +1 -1
  177. package/components/Input/Input.styles.js.map +1 -1
  178. package/components/Input/Input.typings.js.map +1 -1
  179. package/components/Input/InputLayout/InputLayout.d.ts +3 -1
  180. package/components/Input/InputLayout/InputLayout.js +5 -2
  181. package/components/Input/InputLayout/InputLayout.js.map +1 -1
  182. package/components/Input/InputLayout/InputLayout.styles.d.ts +6 -0
  183. package/components/Input/InputLayout/InputLayout.styles.js +19 -1
  184. package/components/Input/InputLayout/InputLayout.styles.js.map +1 -1
  185. package/components/Input/InputLayout/InputLayoutAside.d.ts +2 -0
  186. package/components/Input/InputLayout/InputLayoutAside.js +2 -2
  187. package/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  188. package/components/Input/InputLayout/InputLayoutAsideCounter.d.ts +11 -0
  189. package/components/Input/InputLayout/InputLayoutAsideCounter.js +74 -0
  190. package/components/Input/InputLayout/InputLayoutAsideCounter.js.map +1 -0
  191. package/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  192. package/components/Input/InputLayout/InputLayoutAsideText.js.map +1 -1
  193. package/components/Input/InputLayout/InputLayoutContext.js.map +1 -1
  194. package/components/Input/index.js.map +1 -1
  195. package/components/Kebab/Kebab.js.map +1 -1
  196. package/components/Kebab/Kebab.styles.js.map +1 -1
  197. package/components/Kebab/KebabIcon.js.map +1 -1
  198. package/components/Kebab/index.js.map +1 -1
  199. package/components/Link/Link.js.map +1 -1
  200. package/components/Link/Link.mixins.js.map +1 -1
  201. package/components/Link/Link.styles.js.map +1 -1
  202. package/components/Link/LinkIcon.js.map +1 -1
  203. package/components/Link/index.js.map +1 -1
  204. package/components/Loader/Loader.d.ts +12 -4
  205. package/components/Loader/Loader.js +18 -7
  206. package/components/Loader/Loader.js.map +1 -1
  207. package/components/Loader/Loader.styles.js.map +1 -1
  208. package/components/Loader/index.js.map +1 -1
  209. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  210. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js.map +1 -1
  211. package/components/MaskedInput/ColorableInputElement/index.js.map +1 -1
  212. package/components/MaskedInput/FixedIMaskInput.js.map +1 -1
  213. package/components/MaskedInput/MaskedInput.helpers.js.map +1 -1
  214. package/components/MaskedInput/MaskedInput.js.map +1 -1
  215. package/components/MaskedInput/MaskedInput.styles.js.map +1 -1
  216. package/components/MaskedInput/index.js.map +1 -1
  217. package/components/MenuFooter/MenuFooter.js.map +1 -1
  218. package/components/MenuFooter/MenuFooter.mixins.js.map +1 -1
  219. package/components/MenuFooter/MenuFooter.styles.js.map +1 -1
  220. package/components/MenuFooter/index.js.map +1 -1
  221. package/components/MenuHeader/MenuHeader.js.map +1 -1
  222. package/components/MenuHeader/MenuHeader.mixins.js.map +1 -1
  223. package/components/MenuHeader/MenuHeader.styles.js.map +1 -1
  224. package/components/MenuHeader/index.js.map +1 -1
  225. package/components/MenuItem/MenuItem.d.ts +1 -0
  226. package/components/MenuItem/MenuItem.js +17 -1
  227. package/components/MenuItem/MenuItem.js.map +1 -1
  228. package/components/MenuItem/MenuItem.mixins.js.map +1 -1
  229. package/components/MenuItem/MenuItem.styles.d.ts +3 -0
  230. package/components/MenuItem/MenuItem.styles.js +25 -16
  231. package/components/MenuItem/MenuItem.styles.js.map +1 -1
  232. package/components/MenuItem/index.js.map +1 -1
  233. package/components/MenuSeparator/MenuSeparator.js.map +1 -1
  234. package/components/MenuSeparator/MenuSeparator.styles.js.map +1 -1
  235. package/components/MenuSeparator/index.js.map +1 -1
  236. package/components/MiniModal/MiniModal.js.map +1 -1
  237. package/components/MiniModal/MiniModal.styles.js.map +1 -1
  238. package/components/MiniModal/MiniModalBody.js.map +1 -1
  239. package/components/MiniModal/MiniModalFooter.js.map +1 -1
  240. package/components/MiniModal/MiniModalHeader.js.map +1 -1
  241. package/components/MiniModal/MiniModalIndent.js.map +1 -1
  242. package/components/MiniModal/getMiniModalTheme.js.map +1 -1
  243. package/components/MiniModal/index.js.map +1 -1
  244. package/components/Modal/Modal.js.map +1 -1
  245. package/components/Modal/Modal.styles.js.map +1 -1
  246. package/components/Modal/ModalBody.js.map +1 -1
  247. package/components/Modal/ModalClose.js.map +1 -1
  248. package/components/Modal/ModalContext.js.map +1 -1
  249. package/components/Modal/ModalFooter.js.map +1 -1
  250. package/components/Modal/ModalHeader.js.map +1 -1
  251. package/components/Modal/ModalSeparator.js.map +1 -1
  252. package/components/Modal/getModalBodyTheme.js.map +1 -1
  253. package/components/Modal/getModalTheme.js.map +1 -1
  254. package/components/Modal/index.js.map +1 -1
  255. package/components/Modal/locale/index.js.map +1 -1
  256. package/components/Modal/locale/locales/en.js.map +1 -1
  257. package/components/Modal/locale/locales/ru.js.map +1 -1
  258. package/components/Modal/locale/types.js.map +1 -1
  259. package/components/Paging/DotsIcon.js.map +1 -1
  260. package/components/Paging/ForwardIcon.js.map +1 -1
  261. package/components/Paging/NavigationHelper.js.map +1 -1
  262. package/components/Paging/Paging.js.map +1 -1
  263. package/components/Paging/Paging.styles.js.map +1 -1
  264. package/components/Paging/PagingDefaultComponent.js.map +1 -1
  265. package/components/Paging/PagingHelper.js.map +1 -1
  266. package/components/Paging/index.js.map +1 -1
  267. package/components/Paging/locale/index.js.map +1 -1
  268. package/components/Paging/locale/locales/en.js.map +1 -1
  269. package/components/Paging/locale/locales/ru.js.map +1 -1
  270. package/components/Paging/locale/types.js.map +1 -1
  271. package/components/PasswordInput/ClosedIcon.js.map +1 -1
  272. package/components/PasswordInput/OpenedIcon.js.map +1 -1
  273. package/components/PasswordInput/PasswordInput.js.map +1 -1
  274. package/components/PasswordInput/PasswordInput.styles.js.map +1 -1
  275. package/components/PasswordInput/PasswordInputIcon.js.map +1 -1
  276. package/components/PasswordInput/index.js.map +1 -1
  277. package/components/PasswordInput/locale/index.js.map +1 -1
  278. package/components/PasswordInput/locale/locales/en.js.map +1 -1
  279. package/components/PasswordInput/locale/locales/ru.js.map +1 -1
  280. package/components/PasswordInput/locale/types.js.map +1 -1
  281. package/components/Radio/Radio.js.map +1 -1
  282. package/components/Radio/Radio.mixins.js.map +1 -1
  283. package/components/Radio/Radio.styles.js.map +1 -1
  284. package/components/Radio/index.js.map +1 -1
  285. package/components/RadioGroup/Prevent.js.map +1 -1
  286. package/components/RadioGroup/RadioGroup.js.map +1 -1
  287. package/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  288. package/components/RadioGroup/RadioGroupContext.js.map +1 -1
  289. package/components/RadioGroup/index.js.map +1 -1
  290. package/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  291. package/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  292. package/components/ResponsiveLayout/decorator.js.map +1 -1
  293. package/components/ResponsiveLayout/index.js.map +1 -1
  294. package/components/ResponsiveLayout/types.js.map +1 -1
  295. package/components/ResponsiveLayout/useResponsiveLayout.js.map +1 -1
  296. package/components/ScrollContainer/ScrollBar.js.map +1 -1
  297. package/components/ScrollContainer/ScrollContainer.constants.js.map +1 -1
  298. package/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -1
  299. package/components/ScrollContainer/ScrollContainer.js.map +1 -1
  300. package/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  301. package/components/ScrollContainer/index.js.map +1 -1
  302. package/components/Select/ArrowDownIcon.js.map +1 -1
  303. package/components/Select/Item.js.map +1 -1
  304. package/components/Select/Select.js +11 -1
  305. package/components/Select/Select.js.map +1 -1
  306. package/components/Select/Select.styles.js.map +1 -1
  307. package/components/Select/index.js.map +1 -1
  308. package/components/Select/locale/index.js.map +1 -1
  309. package/components/Select/locale/locales/en.js.map +1 -1
  310. package/components/Select/locale/locales/ru.js.map +1 -1
  311. package/components/Select/locale/types.js.map +1 -1
  312. package/components/Select/selectTheme.js.map +1 -1
  313. package/components/Select/tids.js.map +1 -1
  314. package/components/SidePage/SidePage.js.map +1 -1
  315. package/components/SidePage/SidePage.styles.js.map +1 -1
  316. package/components/SidePage/SidePageBody.js.map +1 -1
  317. package/components/SidePage/SidePageCloseButton.js.map +1 -1
  318. package/components/SidePage/SidePageContainer.js.map +1 -1
  319. package/components/SidePage/SidePageContext.js.map +1 -1
  320. package/components/SidePage/SidePageFooter.js.map +1 -1
  321. package/components/SidePage/SidePageHeader.js.map +1 -1
  322. package/components/SidePage/index.js.map +1 -1
  323. package/components/SidePage/locale/index.js.map +1 -1
  324. package/components/SidePage/locale/locales/en.js.map +1 -1
  325. package/components/SidePage/locale/locales/ru.js.map +1 -1
  326. package/components/SidePage/locale/types.js.map +1 -1
  327. package/components/SingleToast/SingleToast.d.ts +9 -6
  328. package/components/SingleToast/SingleToast.js +9 -6
  329. package/components/SingleToast/SingleToast.js.map +1 -1
  330. package/components/SingleToast/index.js.map +1 -1
  331. package/components/Spinner/Spinner.d.ts +23 -33
  332. package/components/Spinner/Spinner.js +23 -19
  333. package/components/Spinner/Spinner.js.map +1 -1
  334. package/components/Spinner/Spinner.styles.d.ts +0 -3
  335. package/components/Spinner/Spinner.styles.js +6 -15
  336. package/components/Spinner/Spinner.styles.js.map +1 -1
  337. package/components/Spinner/index.js.map +1 -1
  338. package/components/Sticky/Sticky.js.map +1 -1
  339. package/components/Sticky/Sticky.styles.js.map +1 -1
  340. package/components/Sticky/index.js.map +1 -1
  341. package/components/Switcher/Switcher.js +1 -0
  342. package/components/Switcher/Switcher.js.map +1 -1
  343. package/components/Switcher/Switcher.styles.js.map +1 -1
  344. package/components/Switcher/helpers.js.map +1 -1
  345. package/components/Switcher/index.js.map +1 -1
  346. package/components/Switcher/switcherTheme.js.map +1 -1
  347. package/components/Tabs/Indicator.js.map +1 -1
  348. package/components/Tabs/Indicator.styles.js.map +1 -1
  349. package/components/Tabs/Tab.js.map +1 -1
  350. package/components/Tabs/Tab.styles.js.map +1 -1
  351. package/components/Tabs/Tabs.js.map +1 -1
  352. package/components/Tabs/Tabs.styles.js.map +1 -1
  353. package/components/Tabs/TabsContext.js.map +1 -1
  354. package/components/Tabs/helpers.js.map +1 -1
  355. package/components/Tabs/index.js.map +1 -1
  356. package/components/Textarea/Textarea.js +1 -1
  357. package/components/Textarea/Textarea.js.map +1 -1
  358. package/components/Textarea/Textarea.mixins.js.map +1 -1
  359. package/components/Textarea/Textarea.styles.d.ts +1 -0
  360. package/components/Textarea/Textarea.styles.js +7 -4
  361. package/components/Textarea/Textarea.styles.js.map +1 -1
  362. package/components/Textarea/TextareaCounter.d.ts +2 -0
  363. package/components/Textarea/TextareaCounter.js +22 -4
  364. package/components/Textarea/TextareaCounter.js.map +1 -1
  365. package/components/Textarea/TextareaHelpers.js.map +1 -1
  366. package/components/Textarea/TextareaWithSafari17Workaround.js.map +1 -1
  367. package/components/Textarea/index.js.map +1 -1
  368. package/components/Toast/Toast.d.ts +13 -14
  369. package/components/Toast/Toast.js +3 -3
  370. package/components/Toast/Toast.js.map +1 -1
  371. package/components/Toast/Toast.styles.js.map +1 -1
  372. package/components/Toast/ToastView.d.ts +8 -5
  373. package/components/Toast/ToastView.js +28 -8
  374. package/components/Toast/ToastView.js.map +1 -1
  375. package/components/Toast/ToastView.styles.d.ts +7 -0
  376. package/components/Toast/ToastView.styles.js +30 -8
  377. package/components/Toast/ToastView.styles.js.map +1 -1
  378. package/components/Toast/index.js.map +1 -1
  379. package/components/Toast/locale/index.js.map +1 -1
  380. package/components/Toast/locale/locales/en.js.map +1 -1
  381. package/components/Toast/locale/locales/ru.js.map +1 -1
  382. package/components/Toast/locale/types.js.map +1 -1
  383. package/components/Toggle/Toggle.js.map +1 -1
  384. package/components/Toggle/Toggle.mixins.js.map +1 -1
  385. package/components/Toggle/Toggle.styles.js.map +1 -1
  386. package/components/Toggle/index.js.map +1 -1
  387. package/components/Token/Token.js.map +1 -1
  388. package/components/Token/Token.mixins.js.map +1 -1
  389. package/components/Token/Token.styles.js.map +1 -1
  390. package/components/Token/TokenView.js.map +1 -1
  391. package/components/Token/index.js.map +1 -1
  392. package/components/Token/locale/index.js.map +1 -1
  393. package/components/Token/locale/locales/en.js.map +1 -1
  394. package/components/Token/locale/locales/ru.js.map +1 -1
  395. package/components/Token/locale/types.js.map +1 -1
  396. package/components/TokenInput/TextWidthHelper.js.map +1 -1
  397. package/components/TokenInput/TokenInput.d.ts +18 -2
  398. package/components/TokenInput/TokenInput.js +236 -79
  399. package/components/TokenInput/TokenInput.js.map +1 -1
  400. package/components/TokenInput/TokenInput.mixins.js.map +1 -1
  401. package/components/TokenInput/TokenInput.styles.d.ts +1 -0
  402. package/components/TokenInput/TokenInput.styles.js +12 -9
  403. package/components/TokenInput/TokenInput.styles.js.map +1 -1
  404. package/components/TokenInput/TokenInputMenu.d.ts +2 -1
  405. package/components/TokenInput/TokenInputMenu.js +1 -1
  406. package/components/TokenInput/TokenInputMenu.js.map +1 -1
  407. package/components/TokenInput/TokenInputMobileMenu.d.ts +25 -0
  408. package/components/TokenInput/TokenInputMobileMenu.js +40 -0
  409. package/components/TokenInput/TokenInputMobileMenu.js.map +1 -0
  410. package/components/TokenInput/TokenInputReducer.d.ts +2 -0
  411. package/components/TokenInput/TokenInputReducer.js +14 -0
  412. package/components/TokenInput/TokenInputReducer.js.map +1 -1
  413. package/components/TokenInput/index.js.map +1 -1
  414. package/components/TokenInput/locale/index.js.map +1 -1
  415. package/components/TokenInput/locale/locales/en.js.map +1 -1
  416. package/components/TokenInput/locale/locales/ru.js.map +1 -1
  417. package/components/TokenInput/locale/types.js.map +1 -1
  418. package/components/Tooltip/Tooltip.d.ts +4 -0
  419. package/components/Tooltip/Tooltip.js +50 -11
  420. package/components/Tooltip/Tooltip.js.map +1 -1
  421. package/components/Tooltip/Tooltip.styles.js.map +1 -1
  422. package/components/Tooltip/index.js.map +1 -1
  423. package/components/TooltipMenu/TooltipMenu.js.map +1 -1
  424. package/components/TooltipMenu/index.js.map +1 -1
  425. package/hooks/useDrop.js.map +1 -1
  426. package/hooks/useEffectWithoutInitCall.js.map +1 -1
  427. package/hooks/useMemoObject.js.map +1 -1
  428. package/index.js.map +1 -1
  429. package/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  430. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  431. package/internal/ClearCrossIcon/CrossIcon.js.map +1 -1
  432. package/internal/CloseButtonIcon/CloseButtonIcon.js +1 -1
  433. package/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  434. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +1 -1
  435. package/internal/CloseButtonIcon/CrossIcon.js.map +1 -1
  436. package/internal/CommonWrapper/CommonWrapper.js +5 -0
  437. package/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  438. package/internal/CommonWrapper/index.js.map +1 -1
  439. package/internal/CommonWrapper/types.js.map +1 -1
  440. package/internal/CommonWrapper/utils/extractCommonProps.js.map +1 -1
  441. package/internal/CommonWrapper/utils/getCommonVisualStateDataAttributes.js.map +1 -1
  442. package/internal/CommonWrapper/utils/getVisualStateDataAttributes.js.map +1 -1
  443. package/internal/CommonWrapper/utils/tryGetBoolean.js.map +1 -1
  444. package/internal/CustomComboBox/ArrowDownIcon.js.map +1 -1
  445. package/internal/CustomComboBox/ComboBoxMenu.js +1 -1
  446. package/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  447. package/internal/CustomComboBox/ComboBoxView.js +13 -2
  448. package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  449. package/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  450. package/internal/CustomComboBox/CustomComboBox.styles.js.map +1 -1
  451. package/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  452. package/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
  453. package/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
  454. package/internal/CustomComboBox/index.js.map +1 -1
  455. package/internal/CustomComboBox/locale/index.js.map +1 -1
  456. package/internal/CustomComboBox/locale/locales/en.js.map +1 -1
  457. package/internal/CustomComboBox/locale/locales/ru.js.map +1 -1
  458. package/internal/CustomComboBox/locale/types.js.map +1 -1
  459. package/internal/CustomComboBox/tids.js.map +1 -1
  460. package/internal/DateSelect/DateSelect.js.map +1 -1
  461. package/internal/DateSelect/DateSelect.styles.js.map +1 -1
  462. package/internal/DateSelect/index.js.map +1 -1
  463. package/internal/DateSelect/locale/index.js.map +1 -1
  464. package/internal/DateSelect/locale/locales/en.js.map +1 -1
  465. package/internal/DateSelect/locale/locales/ru.js.map +1 -1
  466. package/internal/DateSelect/locale/types.js.map +1 -1
  467. package/internal/FocusControlWrapper/FocusControlWrapper.js.map +1 -1
  468. package/internal/FocusControlWrapper/index.js.map +1 -1
  469. package/internal/FocusControlWrapper/useFocusControl.js.map +1 -1
  470. package/internal/FocusTrap/FocusTrap.js.map +1 -1
  471. package/internal/FocusTrap/index.js.map +1 -1
  472. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  473. package/internal/HideBodyVerticalScroll/index.js.map +1 -1
  474. package/internal/InputLikeText/InputLikeText.d.ts +1 -1
  475. package/internal/InputLikeText/InputLikeText.js.map +1 -1
  476. package/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  477. package/internal/InputLikeText/index.js.map +1 -1
  478. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
  479. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -1
  480. package/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  481. package/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +1 -1
  482. package/internal/MaskCharLowLine/index.js.map +1 -1
  483. package/internal/Menu/Menu.js +3 -0
  484. package/internal/Menu/Menu.js.map +1 -1
  485. package/internal/Menu/Menu.styles.d.ts +1 -0
  486. package/internal/Menu/Menu.styles.js +13 -10
  487. package/internal/Menu/Menu.styles.js.map +1 -1
  488. package/internal/Menu/MenuContext.js.map +1 -1
  489. package/internal/Menu/MenuNavigation.js.map +1 -1
  490. package/internal/Menu/index.js.map +1 -1
  491. package/internal/MenuMessage/MenuMessage.js +17 -1
  492. package/internal/MenuMessage/MenuMessage.js.map +1 -1
  493. package/internal/MenuMessage/MenuMessage.styles.d.ts +3 -0
  494. package/internal/MenuMessage/MenuMessage.styles.js +13 -4
  495. package/internal/MenuMessage/MenuMessage.styles.js.map +1 -1
  496. package/internal/MenuMessage/index.js.map +1 -1
  497. package/internal/MobilePopup/MobilePopup.d.ts +8 -0
  498. package/internal/MobilePopup/MobilePopup.js +34 -11
  499. package/internal/MobilePopup/MobilePopup.js.map +1 -1
  500. package/internal/MobilePopup/MobilePopup.styles.d.ts +7 -0
  501. package/internal/MobilePopup/MobilePopup.styles.js +34 -10
  502. package/internal/MobilePopup/MobilePopup.styles.js.map +1 -1
  503. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.d.ts +8 -1
  504. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +18 -1
  505. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
  506. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.d.ts +3 -0
  507. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +14 -4
  508. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +1 -1
  509. package/internal/MobilePopup/MobilePopupFooter/index.js.map +1 -1
  510. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +4 -0
  511. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +48 -11
  512. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  513. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +6 -0
  514. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js +28 -8
  515. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +1 -1
  516. package/internal/MobilePopup/MobilePopupHeader/index.js.map +1 -1
  517. package/internal/MobilePopup/index.js.map +1 -1
  518. package/internal/NativeDateInput/NativeDateInput.js.map +1 -1
  519. package/internal/NativeDateInput/NativeDateInput.styles.js.map +1 -1
  520. package/internal/NativeDateInput/index.js.map +1 -1
  521. package/internal/NativeDateInput/utils.js.map +1 -1
  522. package/internal/Popup/Popup.d.ts +9 -3
  523. package/internal/Popup/Popup.js +117 -15
  524. package/internal/Popup/Popup.js.map +1 -1
  525. package/internal/Popup/Popup.styles.js +1 -1
  526. package/internal/Popup/Popup.styles.js.map +1 -1
  527. package/internal/Popup/PopupHelper.d.ts +4 -0
  528. package/internal/Popup/PopupHelper.js +8 -0
  529. package/internal/Popup/PopupHelper.js.map +1 -1
  530. package/internal/Popup/PopupPin.d.ts +19 -4
  531. package/internal/Popup/PopupPin.js +109 -8
  532. package/internal/Popup/PopupPin.js.map +1 -1
  533. package/internal/Popup/PopupPin.styles.d.ts +2 -0
  534. package/internal/Popup/PopupPin.styles.js +11 -5
  535. package/internal/Popup/PopupPin.styles.js.map +1 -1
  536. package/internal/Popup/index.js.map +1 -1
  537. package/internal/Popup/types.js.map +1 -1
  538. package/internal/PopupMenu/PopupMenu.js.map +1 -1
  539. package/internal/PopupMenu/PopupMenu.styles.js.map +1 -1
  540. package/internal/PopupMenu/index.js.map +1 -1
  541. package/internal/PopupMenu/tids.js.map +1 -1
  542. package/internal/PopupMenu/validatePositions.js.map +1 -1
  543. package/internal/RenderContainer/RenderContainer.js.map +1 -1
  544. package/internal/RenderContainer/RenderContainerTypes.js.map +1 -1
  545. package/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  546. package/internal/RenderContainer/index.js.map +1 -1
  547. package/internal/RenderLayer/RenderLayer.js.map +1 -1
  548. package/internal/RenderLayer/index.js.map +1 -1
  549. package/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  550. package/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
  551. package/internal/ResizeDetector/index.js.map +1 -1
  552. package/internal/SpinnerIcon/SpinnerIcon.d.ts +3 -3
  553. package/internal/SpinnerIcon/SpinnerIcon.js +4 -4
  554. package/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
  555. package/internal/SpinnerIcon/SpinnerIcon.styles.js.map +1 -1
  556. package/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  557. package/internal/TextWidthHelper/TextWidthHelper.styles.js.map +1 -1
  558. package/internal/ZIndex/ZIndex.js.map +1 -1
  559. package/internal/ZIndex/ZIndexStorage.js.map +1 -1
  560. package/internal/ZIndex/index.js.map +1 -1
  561. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon16Light.js.map +1 -1
  562. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon20Light.js.map +1 -1
  563. package/internal/icons2022/ArrowALeftIcon/ArrowALeftIcon24Regular.js.map +1 -1
  564. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon16Light.js.map +1 -1
  565. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon20Light.js.map +1 -1
  566. package/internal/icons2022/ArrowARightIcon/ArrowARightIcon24Regular.js.map +1 -1
  567. package/internal/icons2022/ArrowAUpIcon/ArrowAUp16Light.js.map +1 -1
  568. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon16Regular.js.map +1 -1
  569. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon20Regular.js.map +1 -1
  570. package/internal/icons2022/ArrowCDownIcon/ArrowCDownIcon24Regular.js.map +1 -1
  571. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon16Light.js.map +1 -1
  572. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon20Light.js.map +1 -1
  573. package/internal/icons2022/ArrowCRightIcon/ArrowCRightIcon24Regular.js.map +1 -1
  574. package/internal/icons2022/ArrowCollapseCVOpenIcon/ArrowCollapseCVOpenIcon16Regular.js.map +1 -1
  575. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.js.map +1 -1
  576. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.js.map +1 -1
  577. package/internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.js.map +1 -1
  578. package/internal/icons2022/BaseIcon.js.map +1 -1
  579. package/internal/icons2022/BaseIcon.styles.js.map +1 -1
  580. package/internal/icons2022/CalendarIcon/CalendarIcon16Light.js.map +1 -1
  581. package/internal/icons2022/CalendarIcon/CalendarIcon20Light.js.map +1 -1
  582. package/internal/icons2022/CalendarIcon/CalendarIcon24Regular.js.map +1 -1
  583. package/internal/icons2022/CheckAIcon/CheckAIcon16Solid.js.map +1 -1
  584. package/internal/icons2022/CheckAIcon/CheckAIcon20Solid.js.map +1 -1
  585. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon16Light.js.map +1 -1
  586. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon20Light.js.map +1 -1
  587. package/internal/icons2022/EyeClosedIcon/EyeClosedIcon24Regular.js.map +1 -1
  588. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon16Light.js.map +1 -1
  589. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon20Light.js.map +1 -1
  590. package/internal/icons2022/EyeOpenIcon/EyeOpenIcon24Regular.js.map +1 -1
  591. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon16Solid.js.map +1 -1
  592. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon20Solid.js.map +1 -1
  593. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon24Regular.js.map +1 -1
  594. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon24Solid.js.map +1 -1
  595. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon32Regular.js.map +1 -1
  596. package/internal/icons2022/FileTypeArchiveIcon/ArchiveIcon64Regular.js.map +1 -1
  597. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon16Solid.js.map +1 -1
  598. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon20Solid.js.map +1 -1
  599. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon24Regular.js.map +1 -1
  600. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon24Solid.js.map +1 -1
  601. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon32Regular.js.map +1 -1
  602. package/internal/icons2022/FileTypeDocTextIcon/DocTextIcon64Regular.js.map +1 -1
  603. package/internal/icons2022/FileTypeFolderIcon/FolderIcon16Solid.js.map +1 -1
  604. package/internal/icons2022/FileTypeFolderIcon/FolderIcon20Solid.js.map +1 -1
  605. package/internal/icons2022/FileTypeFolderIcon/FolderIcon24Regular.js.map +1 -1
  606. package/internal/icons2022/FileTypeFolderIcon/FolderIcon24Solid.js.map +1 -1
  607. package/internal/icons2022/FileTypeFolderIcon/FolderIcon32Regular.js.map +1 -1
  608. package/internal/icons2022/FileTypeFolderIcon/FolderIcon64Regular.js.map +1 -1
  609. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon16Solid.js.map +1 -1
  610. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon20Solid.js.map +1 -1
  611. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon24Regular.js.map +1 -1
  612. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon24Solid.js.map +1 -1
  613. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon32Regular.js.map +1 -1
  614. package/internal/icons2022/FileTypeMarkupIcon/MarkupIcon64Regular.js.map +1 -1
  615. package/internal/icons2022/FileTypePdfIcon/PdfIcon16Solid.js.map +1 -1
  616. package/internal/icons2022/FileTypePdfIcon/PdfIcon20Solid.js.map +1 -1
  617. package/internal/icons2022/FileTypePdfIcon/PdfIcon24Regular.js.map +1 -1
  618. package/internal/icons2022/FileTypePdfIcon/PdfIcon24Solid.js.map +1 -1
  619. package/internal/icons2022/FileTypePdfIcon/PdfIcon32Regular.js.map +1 -1
  620. package/internal/icons2022/FileTypePdfIcon/PdfIcon64Regular.js.map +1 -1
  621. package/internal/icons2022/FileTypePictureIcon/PictureIcon16Solid.js.map +1 -1
  622. package/internal/icons2022/FileTypePictureIcon/PictureIcon20Solid.js.map +1 -1
  623. package/internal/icons2022/FileTypePictureIcon/PictureIcon24Regular.js.map +1 -1
  624. package/internal/icons2022/FileTypePictureIcon/PictureIcon24Solid.js.map +1 -1
  625. package/internal/icons2022/FileTypePictureIcon/PictureIcon32Regular.js.map +1 -1
  626. package/internal/icons2022/FileTypePictureIcon/PictureIcon64Regular.js.map +1 -1
  627. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon16Solid.js.map +1 -1
  628. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon20Solid.js.map +1 -1
  629. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon24Regular.js.map +1 -1
  630. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon24Solid.js.map +1 -1
  631. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon32Regular.js.map +1 -1
  632. package/internal/icons2022/FileTypePresentationIcon/PresentationIcon64Regular.js.map +1 -1
  633. package/internal/icons2022/FileTypeTableIcon/TableIcon16Solid.js.map +1 -1
  634. package/internal/icons2022/FileTypeTableIcon/TableIcon20Solid.js.map +1 -1
  635. package/internal/icons2022/FileTypeTableIcon/TableIcon24Regular.js.map +1 -1
  636. package/internal/icons2022/FileTypeTableIcon/TableIcon24Solid.js.map +1 -1
  637. package/internal/icons2022/FileTypeTableIcon/TableIcon32Regular.js.map +1 -1
  638. package/internal/icons2022/FileTypeTableIcon/TableIcon64Regular.js.map +1 -1
  639. package/internal/icons2022/FileTypeTextIcon/TextIcon16Solid.js.map +1 -1
  640. package/internal/icons2022/FileTypeTextIcon/TextIcon20Solid.js.map +1 -1
  641. package/internal/icons2022/FileTypeTextIcon/TextIcon24Regular.js.map +1 -1
  642. package/internal/icons2022/FileTypeTextIcon/TextIcon24Solid.js.map +1 -1
  643. package/internal/icons2022/FileTypeTextIcon/TextIcon32Regular.js.map +1 -1
  644. package/internal/icons2022/FileTypeTextIcon/TextIcon64Regular.js.map +1 -1
  645. package/internal/icons2022/InfoCircleIcon/InfoCircleIcon64Regular.js.map +1 -1
  646. package/internal/icons2022/LoadingIcon.js +1 -1
  647. package/internal/icons2022/LoadingIcon.js.map +1 -1
  648. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.js.map +1 -1
  649. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.js.map +1 -1
  650. package/internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.js.map +1 -1
  651. package/internal/icons2022/NetUploadIcon/NetUploadIcon16Light.js.map +1 -1
  652. package/internal/icons2022/NetUploadIcon/NetUploadIcon20Regular.js.map +1 -1
  653. package/internal/icons2022/NetUploadIcon/NetUploadIcon24Regular.js.map +1 -1
  654. package/internal/icons2022/NetUploadIcon/NetUploadIcon32Regular.js.map +1 -1
  655. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Light.d.ts +2 -0
  656. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Light.js +21 -0
  657. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Light.js.map +1 -0
  658. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.js.map +1 -1
  659. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon20Regular.d.ts +2 -0
  660. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon20Regular.js +21 -0
  661. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon20Regular.js.map +1 -0
  662. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon24Regular.d.ts +2 -0
  663. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon24Regular.js +21 -0
  664. package/internal/icons2022/QuestionCircleIcon/QuestionCircleIcon24Regular.js.map +1 -0
  665. package/internal/icons2022/ShapeSquareIcon/ShapeSquareIcon16Solid.js.map +1 -1
  666. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -1
  667. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon16Light.js.map +1 -1
  668. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon20Regular.js.map +1 -1
  669. package/internal/icons2022/UiMenuDotsThreeVIcon/UiMenuDotsThreeVIcon24Regular.js.map +1 -1
  670. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon16Solid.js.map +1 -1
  671. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon20Solid.js.map +1 -1
  672. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon24Regular.js.map +1 -1
  673. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon24Solid.js.map +1 -1
  674. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon32Regular.js.map +1 -1
  675. package/internal/icons2022/WarningTriangleIcon/WarningTriangleIcon64Regular.js.map +1 -1
  676. package/internal/icons2022/XCircleIcon/XCircleIcon16Solid.js.map +1 -1
  677. package/internal/icons2022/XCircleIcon/XCircleIcon20Solid.js.map +1 -1
  678. package/internal/icons2022/XCircleIcon/XCircleIcon24Regular.js.map +1 -1
  679. package/internal/icons2022/XCircleIcon/XCircleIcon24Solid.js.map +1 -1
  680. package/internal/icons2022/XCircleIcon/XCircleIcon32Regular.js.map +1 -1
  681. package/internal/icons2022/XCircleIcon/XCircleIcon64Regular.js.map +1 -1
  682. package/internal/icons2022/XIcon/XIcon16Light.js.map +1 -1
  683. package/internal/icons2022/XIcon/XIcon20Light.js.map +1 -1
  684. package/internal/icons2022/XIcon/XIcon20Regular.js.map +1 -1
  685. package/internal/icons2022/XIcon/XIcon24Regular.js.map +1 -1
  686. package/internal/icons2022/iconConstants.js.map +1 -1
  687. package/internal/icons2022/iconSizer.js.map +1 -1
  688. package/internal/react-focus-lock/Combination.js.map +1 -1
  689. package/internal/react-focus-lock/FocusGuard.js.map +1 -1
  690. package/internal/react-focus-lock/Lock.js.map +1 -1
  691. package/internal/react-focus-lock/Trap.js.map +1 -1
  692. package/internal/react-focus-lock/constants.js.map +1 -1
  693. package/internal/react-focus-lock/index.js.map +1 -1
  694. package/internal/react-focus-lock/medium.js.map +1 -1
  695. package/internal/react-focus-lock/scope.js.map +1 -1
  696. package/internal/react-focus-lock/util.js.map +1 -1
  697. package/internal/themes/BasicTheme.d.ts +83 -4
  698. package/internal/themes/BasicTheme.js +186 -5
  699. package/internal/themes/BasicTheme.js.map +1 -1
  700. package/internal/themes/DarkTheme6_0.js.map +1 -1
  701. package/internal/themes/DarkTheme6_1.d.ts +1 -0
  702. package/internal/themes/DarkTheme6_1.js +41 -0
  703. package/internal/themes/DarkTheme6_1.js.map +1 -0
  704. package/internal/themes/LightTheme6_0.js.map +1 -1
  705. package/internal/themes/LightTheme6_1.d.ts +1 -0
  706. package/internal/themes/LightTheme6_1.js +39 -0
  707. package/internal/themes/LightTheme6_1.js.map +1 -0
  708. package/lib/ConditionalHandler.js.map +1 -1
  709. package/lib/InstanceWithAnchorElement.js.map +1 -1
  710. package/lib/LayoutEvents.js.map +1 -1
  711. package/lib/ModalStack.js.map +1 -1
  712. package/lib/Upgrades.js.map +1 -1
  713. package/lib/animation/index.js.map +1 -1
  714. package/lib/animation/presets.js.map +1 -1
  715. package/lib/animation/stepper.js.map +1 -1
  716. package/lib/blink.js.map +1 -1
  717. package/lib/callChildRef/callChildRef.js.map +1 -1
  718. package/lib/chars.js.map +1 -1
  719. package/lib/client.js.map +1 -1
  720. package/lib/createPropsGetter.js.map +1 -1
  721. package/lib/currentEnvironment.js.map +1 -1
  722. package/lib/date/InternalDate.js.map +1 -1
  723. package/lib/date/InternalDateCalculator.js.map +1 -1
  724. package/lib/date/InternalDateGetter.js.map +1 -1
  725. package/lib/date/InternalDateSetter.js.map +1 -1
  726. package/lib/date/InternalDateTransformer.js.map +1 -1
  727. package/lib/date/InternalDateValidator.js.map +1 -1
  728. package/lib/date/comparison.js.map +1 -1
  729. package/lib/date/constants.js.map +1 -1
  730. package/lib/date/localeSets.js.map +1 -1
  731. package/lib/date/types.js.map +1 -1
  732. package/lib/delay.js.map +1 -1
  733. package/lib/dom/getDOMRect.js.map +1 -1
  734. package/lib/dom/getParentOrShadowHost.js.map +1 -1
  735. package/lib/dom/getScrollWidth.js.map +1 -1
  736. package/lib/dom/scrollYCenterIntoNearestScrollable.js.map +1 -1
  737. package/lib/dom/selectionHelpers.js.map +1 -1
  738. package/lib/dom/tabbableHelpers.js.map +1 -1
  739. package/lib/events/MouseDrag.js.map +1 -1
  740. package/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -1
  741. package/lib/events/keyListener.js.map +1 -1
  742. package/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  743. package/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  744. package/lib/events/keyboard/extractCode.js.map +1 -1
  745. package/lib/events/keyboard/identifiers.js.map +1 -1
  746. package/lib/extractKeyboardAction.js.map +1 -1
  747. package/lib/featureFlagsContext/FeatureFlagsHelpers.js.map +1 -1
  748. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  749. package/lib/featureFlagsContext/index.js.map +1 -1
  750. package/lib/filterProps.js.map +1 -1
  751. package/lib/forwardRefAndName.js.map +1 -1
  752. package/lib/getElementRef.js.map +1 -1
  753. package/lib/getMenuPositions.js.map +1 -1
  754. package/lib/globalObject.js.map +1 -1
  755. package/lib/isInstanceOf.js.map +1 -1
  756. package/lib/listenFocusOutside.js.map +1 -1
  757. package/lib/locale/LocaleContext.js.map +1 -1
  758. package/lib/locale/LocaleHelper.js.map +1 -1
  759. package/lib/locale/constants.js.map +1 -1
  760. package/lib/locale/decorators.js.map +1 -1
  761. package/lib/locale/index.js.map +1 -1
  762. package/lib/locale/types.js.map +1 -1
  763. package/lib/locale/useLocaleForControl.js.map +1 -1
  764. package/lib/memo.js.map +1 -1
  765. package/lib/mergeRefs.js.map +1 -1
  766. package/lib/needsPolyfillPlaceholder.js.map +1 -1
  767. package/lib/pluralize.js.map +1 -1
  768. package/lib/react-is.js.map +1 -1
  769. package/lib/reactGetTextContent.js.map +1 -1
  770. package/lib/renderEnvironment/RenderEnvironmentContext.js.map +1 -1
  771. package/lib/renderEnvironment/RenderEnvironmentDecorator.js.map +1 -1
  772. package/lib/renderEnvironment/index.js.map +1 -1
  773. package/lib/rootNode/getRootNode.js.map +1 -1
  774. package/lib/rootNode/index.js.map +1 -1
  775. package/lib/rootNode/rootNodeDecorator.js.map +1 -1
  776. package/lib/scrollInputCaretIntoView.js.map +1 -1
  777. package/lib/size/SizeControlContext.js.map +1 -1
  778. package/lib/size/SizeDecorator.js.map +1 -1
  779. package/lib/size/constants.js.map +1 -1
  780. package/lib/size/index.js.map +1 -1
  781. package/lib/size/useSizeControl.js.map +1 -1
  782. package/lib/stringUtils.js.map +1 -1
  783. package/lib/styles/ColorFactory.js.map +1 -1
  784. package/lib/styles/ColorFunctions.js.map +1 -1
  785. package/lib/styles/ColorHelpers.js.map +1 -1
  786. package/lib/styles/ColorKeywords.js.map +1 -1
  787. package/lib/styles/ColorObject.js.map +1 -1
  788. package/lib/styles/DimensionFunctions.js.map +1 -1
  789. package/lib/styles/Mixins.js.map +1 -1
  790. package/lib/styles/UiFont.js.map +1 -1
  791. package/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -1
  792. package/lib/taskWithDelayAndMinimalDuration.js.map +1 -1
  793. package/lib/theming/AnimationKeyframes.js.map +1 -1
  794. package/lib/theming/Emotion.js.map +1 -1
  795. package/lib/theming/Theme.js.map +1 -1
  796. package/lib/theming/ThemeContext.js.map +1 -1
  797. package/lib/theming/ThemeFactory.js.map +1 -1
  798. package/lib/theming/ThemeHelpers.js.map +1 -1
  799. package/lib/theming/ThemeVersions.js.map +1 -1
  800. package/lib/theming/themes/DarkTheme.d.ts +1 -0
  801. package/lib/theming/themes/DarkTheme.js +3 -1
  802. package/lib/theming/themes/DarkTheme.js.map +1 -1
  803. package/lib/theming/themes/LightTheme.d.ts +1 -0
  804. package/lib/theming/themes/LightTheme.js +3 -1
  805. package/lib/theming/themes/LightTheme.js.map +1 -1
  806. package/lib/theming/useTheme.js.map +1 -1
  807. package/lib/toKebabCase.js.map +1 -1
  808. package/lib/typeGuards.js.map +1 -1
  809. package/lib/types/button-link.js.map +1 -1
  810. package/lib/types/polymorphic-component.js.map +1 -1
  811. package/lib/types/props.js.map +1 -1
  812. package/lib/uidUtils.js.map +1 -1
  813. package/lib/utils.js.map +1 -1
  814. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../components/FileUploader/locale/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,iBAAiB,IAAI,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,IAAI,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG7D,cAAc,YAAY,CAAC;AAE3B,MAAM,CAAC,IAAM,wBAAwB,GAAG,IAAI,YAAY,CAAqB;IAC3E,KAAK,OAAA;IACL,KAAK,OAAA;CACN,CAAC,CAAC","sourcesContent":["import { LocaleHelper } from '../../../lib/locale/LocaleHelper.js';\nimport { componentsLocales as en_GB } from './locales/en.js';\nimport { componentsLocales as ru_RU } from './locales/ru.js';\nimport type { FileUploaderLocale } from './types.js';\n\nexport * from './types.js';\n\nexport const FileUploaderLocaleHelper = new LocaleHelper<FileUploaderLocale>({\n ru_RU,\n en_GB,\n});\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,iBAAiB,IAAI,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,IAAI,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG7D,cAAc,YAAY,CAAC;AAE3B,MAAM,CAAC,IAAM,wBAAwB,GAAG,IAAI,YAAY,CAAqB;IAC3E,KAAK,OAAA;IACL,KAAK,OAAA;CACN,CAAC,CAAC","sourcesContent":["import { LocaleHelper } from '../../../lib/locale/LocaleHelper.js';\nimport { componentsLocales as en_GB } from './locales/en.js';\nimport { componentsLocales as ru_RU } from './locales/ru.js';\nimport type { FileUploaderLocale } from './types.js';\n\nexport * from './types.js';\n\nexport const FileUploaderLocaleHelper = new LocaleHelper<FileUploaderLocale>({\n ru_RU,\n en_GB,\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"en.js","sourceRoot":"","sources":["../../../../../components/FileUploader/locale/locales/en.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAM,iBAAiB,GAAuB;IACnD,UAAU,EAAE,eAAe;IAC3B,gBAAgB,EAAE,sEAAsE;IACxF,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;IACrC,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;CAC9C,CAAC","sourcesContent":["import type { FileUploaderLocale } from '../types.js';\n\nexport const componentsLocales: FileUploaderLocale = {\n chooseFile: 'Upload a file',\n requestErrorText: 'The file could not be uploaded to the server, please try again later',\n errors: ['error', 'errors', 'errors'],\n warnings: ['warning', 'warnings', 'warnings'],\n};\n"]}
1
+ {"version":3,"file":"en.js","sourceRoot":"","sources":["en.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAM,iBAAiB,GAAuB;IACnD,UAAU,EAAE,eAAe;IAC3B,gBAAgB,EAAE,sEAAsE;IACxF,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;IACrC,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC;CAC9C,CAAC","sourcesContent":["import type { FileUploaderLocale } from '../types.js';\n\nexport const componentsLocales: FileUploaderLocale = {\n chooseFile: 'Upload a file',\n requestErrorText: 'The file could not be uploaded to the server, please try again later',\n errors: ['error', 'errors', 'errors'],\n warnings: ['warning', 'warnings', 'warnings'],\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ru.js","sourceRoot":"","sources":["../../../../../components/FileUploader/locale/locales/ru.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAM,iBAAiB,GAAuB;IACnD,UAAU,EAAE,gBAAgB;IAC5B,gBAAgB,EAAE,8DAA8D;IAChF,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;IACtC,QAAQ,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;CACjE,CAAC","sourcesContent":["import type { FileUploaderLocale } from '../types.js';\n\nexport const componentsLocales: FileUploaderLocale = {\n chooseFile: 'Загрузить файл',\n requestErrorText: 'Файл не удалось загрузить на сервер, повторите попытку позже',\n errors: ['ошибка', 'ошибки', 'ошибок'],\n warnings: ['предупреждение', 'предупреждения', 'предупреждений'],\n};\n"]}
1
+ {"version":3,"file":"ru.js","sourceRoot":"","sources":["ru.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAM,iBAAiB,GAAuB;IACnD,UAAU,EAAE,gBAAgB;IAC5B,gBAAgB,EAAE,8DAA8D;IAChF,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC;IACtC,QAAQ,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;CACjE,CAAC","sourcesContent":["import type { FileUploaderLocale } from '../types.js';\n\nexport const componentsLocales: FileUploaderLocale = {\n chooseFile: 'Загрузить файл',\n requestErrorText: 'Файл не удалось загрузить на сервер, повторите попытку позже',\n errors: ['ошибка', 'ошибки', 'ошибок'],\n warnings: ['предупреждение', 'предупреждения', 'предупреждений'],\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../components/FileUploader/locale/types.ts"],"names":[],"mappings":"","sourcesContent":["export interface FileUploaderLocale {\n chooseFile: string;\n requestErrorText: string;\n errors: string[];\n warnings: string[];\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"","sourcesContent":["export interface FileUploaderLocale {\n chooseFile: string;\n requestErrorText: string;\n errors: string[];\n warnings: string[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"withFileUploaderControlProvider.js","sourceRoot":"","sources":["../../../components/FileUploader/withFileUploaderControlProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAG/E,MAAM,CAAC,IAAM,+BAA+B,GAAG,UAC7C,SAKC;IAID,OAAO,KAAK,CAAC,UAAU,CAAkD,UAAC,KAAK,EAAE,GAAG;QAC1E,IAAA,QAAQ,GAAqD,KAAK,SAA1D,EAAE,aAAa,GAAsC,KAAK,cAA3C,EAAE,QAAQ,GAA4B,KAAK,SAAjC,EAAE,YAAY,GAAc,KAAK,aAAnB,EAAK,IAAI,UAAK,KAAK,EAApE,yDAA4D,CAAF,CAAW;QAC3E,OAAO,CACL,oBAAC,2BAA2B,eAAK,KAAK;YACpC,oBAAC,SAAS,aAAC,GAAG,EAAE,GAAG,IAAO,IAAY,EAAI,CACd,CAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import type { ComponentType } from 'react';\nimport React from 'react';\n\nimport { FileUploaderControlProvider } from './FileUploaderControlProvider.js';\nimport type { FileUploaderControlProviderProps } from './FileUploaderControlProvider.js';\n\nexport const withFileUploaderControlProvider = <TProps extends Record<string, any>, TRef extends Record<string, any>>(\n Component: ComponentType<\n Omit<\n React.PropsWithoutRef<TProps & FileUploaderControlProviderProps>,\n 'onAttach' | 'onRemove' | 'onValueChange' | 'initialFiles'\n >\n >,\n): React.ForwardRefExoticComponent<\n React.PropsWithoutRef<TProps & FileUploaderControlProviderProps> & React.RefAttributes<TRef>\n> => {\n return React.forwardRef<TRef, TProps & FileUploaderControlProviderProps>((props, ref) => {\n const { onRemove, onValueChange, onAttach, initialFiles, ...rest } = props;\n return (\n <FileUploaderControlProvider {...props}>\n <Component ref={ref} {...(rest as any)} />\n </FileUploaderControlProvider>\n );\n });\n};\n"]}
1
+ {"version":3,"file":"withFileUploaderControlProvider.js","sourceRoot":"","sources":["withFileUploaderControlProvider.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAG/E,MAAM,CAAC,IAAM,+BAA+B,GAAG,UAC7C,SAKC;IAID,OAAO,KAAK,CAAC,UAAU,CAAkD,UAAC,KAAK,EAAE,GAAG;QAC1E,IAAA,QAAQ,GAAqD,KAAK,SAA1D,EAAE,aAAa,GAAsC,KAAK,cAA3C,EAAE,QAAQ,GAA4B,KAAK,SAAjC,EAAE,YAAY,GAAc,KAAK,aAAnB,EAAK,IAAI,UAAK,KAAK,EAApE,yDAA4D,CAAF,CAAW;QAC3E,OAAO,CACL,oBAAC,2BAA2B,eAAK,KAAK;YACpC,oBAAC,SAAS,aAAC,GAAG,EAAE,GAAG,IAAO,IAAY,EAAI,CACd,CAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import type { ComponentType } from 'react';\nimport React from 'react';\n\nimport { FileUploaderControlProvider } from './FileUploaderControlProvider.js';\nimport type { FileUploaderControlProviderProps } from './FileUploaderControlProvider.js';\n\nexport const withFileUploaderControlProvider = <TProps extends Record<string, any>, TRef extends Record<string, any>>(\n Component: ComponentType<\n Omit<\n React.PropsWithoutRef<TProps & FileUploaderControlProviderProps>,\n 'onAttach' | 'onRemove' | 'onValueChange' | 'initialFiles'\n >\n >,\n): React.ForwardRefExoticComponent<\n React.PropsWithoutRef<TProps & FileUploaderControlProviderProps> & React.RefAttributes<TRef>\n> => {\n return React.forwardRef<TRef, TProps & FileUploaderControlProviderProps>((props, ref) => {\n const { onRemove, onValueChange, onAttach, initialFiles, ...rest } = props;\n return (\n <FileUploaderControlProvider {...props}>\n <Component ref={ref} {...(rest as any)} />\n </FileUploaderControlProvider>\n );\n });\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FxInput.js","sourceRoot":"","sources":["../../../components/FxInput/FxInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport warning from 'warning';\n\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/types.js';\nimport type { DefaultizedProps } from '../../lib/createPropsGetter.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode//rootNodeDecorator.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { Override } from '../../typings/utility-types.js';\nimport { CurrencyInput } from '../CurrencyInput/index.js';\nimport type { CurrencyInputProps } from '../CurrencyInput/index.js';\nimport { Group } from '../Group/index.js';\nimport { Input } from '../Input/index.js';\nimport type { InputProps } from '../Input/Input.js';\nimport { MaskedInput } from '../MaskedInput/index.js';\nimport type { MaskedInputProps } from '../MaskedInput/index.js';\nimport { FxInputRestoreBtn } from './FxInputRestoreBtn.js';\nimport { MathFunctionIcon } from './MathFunctionIcon.js';\n\nexport interface FxInputProps\n extends\n Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Pick<Partial<MaskedInputProps>, 'alwaysShowMask' | 'mask' | 'maskChar' | 'formatChars'>,\n Override<\n Omit<CurrencyInputProps, 'alwaysShowMask' | 'mask' | 'maskChar' | 'formatChars'>,\n {\n /** Управляет видимостью кнопки Restore:\n * - true — кнопка Restore не отображается. Значение в поле является автоматически рассчитанным.\n * - false — кнопка Restore отображается в поле. Значение в поле считается отредактированным. */\n auto?: boolean;\n\n /** Тип поля. */\n type?: 'currency' | InputProps['type'];\n\n /** Событие нажатия на кнопку Restore. */\n onRestore?: () => void;\n\n /** Событие изменения value. */\n onValueChange: CurrencyInputProps['onValueChange'] | InputProps['onValueChange'];\n\n /** Значение поля. */\n value?: string | number;\n\n /** Задаёт ref поля. */\n refInput?: (element: CurrencyInput | Input | null) => void;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n\n /** Атрибут aria-label кнопке Restore. */\n buttonAriaLabel?: AriaAttributes['aria-label'];\n\n /** @ignore */\n corners?: React.CSSProperties;\n }\n > {}\n\nexport const FxInputDataTids = {\n root: 'FxInput__root',\n} as const;\n\ntype DefaultProps = Required<Pick<FxInputProps, 'width' | 'type' | 'value' | 'auto'>>;\ntype DefaultizedFxInputProps = DefaultizedProps<FxInputProps, DefaultProps>;\n\n/** В автополе можно вывести автоматически рассчитанное цифровое значение. В него можно передавать итог любого вычисления, например, сумму других полей, процент или более сложную функцию.\n *\n * У поля есть иконка математической формулы и кнопка Restore — с её помощью пользователь может вернуть исходное значение, если редактировал поле. Видимость кнопки и поведение при нажатии нужно прописывать в компоненте самостоятельно.\n */\n@rootNode\n@withSize\nexport class FxInput extends React.Component<FxInputProps> {\n public static __KONTUR_REACT_UI__ = 'FxInput';\n public static displayName = 'FxInput';\n\n public static defaultProps: DefaultProps = {\n width: 250,\n type: 'text',\n value: '',\n auto: false,\n };\n\n private theme!: Theme;\n private size!: SizeProp;\n private input: Input | CurrencyInput | null = null;\n\n private getProps = createPropsGetter(FxInput.defaultProps);\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n private validateProps(props: FxInputProps) {\n if (props.type === 'currency' && props.mask !== undefined) {\n warning(false, '[FxInput]: Prop \"mask\" is not supported when type=\"currency\"');\n }\n }\n\n public componentDidMount() {\n this.validateProps(this.getProps());\n }\n\n public componentDidUpdate() {\n this.validateProps(this.getProps());\n }\n\n public render(): React.JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DefaultizedFxInputProps>): React.JSX.Element => {\n const button = props.auto ? null : (\n <FxInputRestoreBtn\n size={props.size}\n onRestore={props.onRestore}\n corners={props.corners}\n disabled={props.disabled}\n borderless={props.borderless}\n aria-label={props.buttonAriaLabel}\n />\n );\n\n return (\n <Group data-tid={FxInputDataTids.root} width={props.width}>\n {button}\n {this.getInput(props)}\n </Group>\n );\n };\n\n /** Программно устанавливает фокус на поле.\n * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus = (): void => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /** Программно снимает фокус с кнопки.\n * @public\n */\n public blur = (): void => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private refInput = (element: Input | CurrencyInput | null) => {\n this.input = element;\n\n if (this.props.refInput) {\n this.props.refInput(this.input);\n }\n };\n\n private getLeftIcon = (props: FxInputProps) => {\n if (!props.auto) {\n return null;\n }\n\n const iconSizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.inputIconSizeSmall),\n medium: parseInt(this.theme.inputIconSizeMedium),\n large: parseInt(this.theme.inputIconSizeLarge),\n };\n const size = this.size;\n\n return <MathFunctionIcon size={iconSizes[size]} />;\n };\n\n private getInput = (props: FxInputProps) => {\n const {\n type,\n onRestore,\n auto,\n refInput,\n value,\n width,\n size: _size,\n mask,\n maskChar,\n formatChars,\n alwaysShowMask,\n signed,\n integerDigits,\n fractionDigits,\n hideTrailingZeros,\n buttonAriaLabel,\n corners: originalCorners,\n ...rest\n } = props;\n const corners: InputProps['corners'] = auto\n ? originalCorners\n : { borderBottomLeftRadius: 0, borderTopLeftRadius: 0, ...originalCorners };\n const size = this.size;\n const commonInputProps = {\n corners,\n size,\n width: '100%',\n ref: this.refInput,\n ...rest,\n };\n\n if (type === 'currency') {\n return (\n <CurrencyInput\n {...commonInputProps}\n signed={signed}\n integerDigits={integerDigits}\n fractionDigits={fractionDigits}\n value={value as CurrencyInputProps['value']}\n onValueChange={this.props.onValueChange as CurrencyInputProps['onValueChange']}\n />\n );\n }\n if (mask) {\n return (\n <MaskedInput\n {...commonInputProps}\n leftIcon={this.getLeftIcon(props)}\n align=\"right\"\n mask={mask}\n maskChar={maskChar}\n formatChars={formatChars}\n alwaysShowMask={alwaysShowMask}\n value={value as MaskedInputProps['value']}\n onValueChange={this.props.onValueChange as MaskedInputProps['onValueChange']}\n />\n );\n }\n return (\n <Input\n {...commonInputProps}\n leftIcon={this.getLeftIcon(props)}\n align=\"right\"\n type={type}\n value={value as InputProps['value']}\n onValueChange={this.props.onValueChange as InputProps['onValueChange']}\n />\n );\n };\n}\n"]}
1
+ {"version":3,"file":"FxInput.js","sourceRoot":"","sources":["FxInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { AriaAttributes } from 'react';\nimport React from 'react';\nimport warning from 'warning';\n\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/types.js';\nimport type { DefaultizedProps } from '../../lib/createPropsGetter.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode//rootNodeDecorator.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { Override } from '../../typings/utility-types.js';\nimport { CurrencyInput } from '../CurrencyInput/index.js';\nimport type { CurrencyInputProps } from '../CurrencyInput/index.js';\nimport { Group } from '../Group/index.js';\nimport { Input } from '../Input/index.js';\nimport type { InputProps } from '../Input/Input.js';\nimport { MaskedInput } from '../MaskedInput/index.js';\nimport type { MaskedInputProps } from '../MaskedInput/index.js';\nimport { FxInputRestoreBtn } from './FxInputRestoreBtn.js';\nimport { MathFunctionIcon } from './MathFunctionIcon.js';\n\nexport interface FxInputProps\n extends\n Pick<AriaAttributes, 'aria-label'>,\n CommonProps,\n Pick<Partial<MaskedInputProps>, 'alwaysShowMask' | 'mask' | 'maskChar' | 'formatChars'>,\n Override<\n Omit<CurrencyInputProps, 'alwaysShowMask' | 'mask' | 'maskChar' | 'formatChars'>,\n {\n /** Управляет видимостью кнопки Restore:\n * - true — кнопка Restore не отображается. Значение в поле является автоматически рассчитанным.\n * - false — кнопка Restore отображается в поле. Значение в поле считается отредактированным. */\n auto?: boolean;\n\n /** Тип поля. */\n type?: 'currency' | InputProps['type'];\n\n /** Событие нажатия на кнопку Restore. */\n onRestore?: () => void;\n\n /** Событие изменения value. */\n onValueChange: CurrencyInputProps['onValueChange'] | InputProps['onValueChange'];\n\n /** Значение поля. */\n value?: string | number;\n\n /** Задаёт ref поля. */\n refInput?: (element: CurrencyInput | Input | null) => void;\n\n /** Убирает лишние нули после запятой. */\n hideTrailingZeros?: boolean;\n\n /** Атрибут aria-label кнопке Restore. */\n buttonAriaLabel?: AriaAttributes['aria-label'];\n\n /** @ignore */\n corners?: React.CSSProperties;\n }\n > {}\n\nexport const FxInputDataTids = {\n root: 'FxInput__root',\n} as const;\n\ntype DefaultProps = Required<Pick<FxInputProps, 'width' | 'type' | 'value' | 'auto'>>;\ntype DefaultizedFxInputProps = DefaultizedProps<FxInputProps, DefaultProps>;\n\n/** В автополе можно вывести автоматически рассчитанное цифровое значение. В него можно передавать итог любого вычисления, например, сумму других полей, процент или более сложную функцию.\n *\n * У поля есть иконка математической формулы и кнопка Restore — с её помощью пользователь может вернуть исходное значение, если редактировал поле. Видимость кнопки и поведение при нажатии нужно прописывать в компоненте самостоятельно.\n */\n@rootNode\n@withSize\nexport class FxInput extends React.Component<FxInputProps> {\n public static __KONTUR_REACT_UI__ = 'FxInput';\n public static displayName = 'FxInput';\n\n public static defaultProps: DefaultProps = {\n width: 250,\n type: 'text',\n value: '',\n auto: false,\n };\n\n private theme!: Theme;\n private size!: SizeProp;\n private input: Input | CurrencyInput | null = null;\n\n private getProps = createPropsGetter(FxInput.defaultProps);\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n private validateProps(props: FxInputProps) {\n if (props.type === 'currency' && props.mask !== undefined) {\n warning(false, '[FxInput]: Prop \"mask\" is not supported when type=\"currency\"');\n }\n }\n\n public componentDidMount() {\n this.validateProps(this.getProps());\n }\n\n public componentDidUpdate() {\n this.validateProps(this.getProps());\n }\n\n public render(): React.JSX.Element {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<DefaultizedFxInputProps>): React.JSX.Element => {\n const button = props.auto ? null : (\n <FxInputRestoreBtn\n size={props.size}\n onRestore={props.onRestore}\n corners={props.corners}\n disabled={props.disabled}\n borderless={props.borderless}\n aria-label={props.buttonAriaLabel}\n />\n );\n\n return (\n <Group data-tid={FxInputDataTids.root} width={props.width}>\n {button}\n {this.getInput(props)}\n </Group>\n );\n };\n\n /** Программно устанавливает фокус на поле.\n * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus = (): void => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /** Программно снимает фокус с кнопки.\n * @public\n */\n public blur = (): void => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private refInput = (element: Input | CurrencyInput | null) => {\n this.input = element;\n\n if (this.props.refInput) {\n this.props.refInput(this.input);\n }\n };\n\n private getLeftIcon = (props: FxInputProps) => {\n if (!props.auto) {\n return null;\n }\n\n const iconSizes: Record<SizeProp, number> = {\n small: parseInt(this.theme.inputIconSizeSmall),\n medium: parseInt(this.theme.inputIconSizeMedium),\n large: parseInt(this.theme.inputIconSizeLarge),\n };\n const size = this.size;\n\n return <MathFunctionIcon size={iconSizes[size]} />;\n };\n\n private getInput = (props: FxInputProps) => {\n const {\n type,\n onRestore,\n auto,\n refInput,\n value,\n width,\n size: _size,\n mask,\n maskChar,\n formatChars,\n alwaysShowMask,\n signed,\n integerDigits,\n fractionDigits,\n hideTrailingZeros,\n buttonAriaLabel,\n corners: originalCorners,\n ...rest\n } = props;\n const corners: InputProps['corners'] = auto\n ? originalCorners\n : { borderBottomLeftRadius: 0, borderTopLeftRadius: 0, ...originalCorners };\n const size = this.size;\n const commonInputProps = {\n corners,\n size,\n width: '100%',\n ref: this.refInput,\n ...rest,\n };\n\n if (type === 'currency') {\n return (\n <CurrencyInput\n {...commonInputProps}\n signed={signed}\n integerDigits={integerDigits}\n fractionDigits={fractionDigits}\n value={value as CurrencyInputProps['value']}\n onValueChange={this.props.onValueChange as CurrencyInputProps['onValueChange']}\n />\n );\n }\n if (mask) {\n return (\n <MaskedInput\n {...commonInputProps}\n leftIcon={this.getLeftIcon(props)}\n align=\"right\"\n mask={mask}\n maskChar={maskChar}\n formatChars={formatChars}\n alwaysShowMask={alwaysShowMask}\n value={value as MaskedInputProps['value']}\n onValueChange={this.props.onValueChange as MaskedInputProps['onValueChange']}\n />\n );\n }\n return (\n <Input\n {...commonInputProps}\n leftIcon={this.getLeftIcon(props)}\n align=\"right\"\n type={type}\n value={value as InputProps['value']}\n onValueChange={this.props.onValueChange as InputProps['onValueChange']}\n />\n );\n };\n}\n"]}
@@ -38,6 +38,6 @@ export var FxInputRestoreBtn = function (props) {
38
38
  };
39
39
  var buttonCorners = cornersSizes[size];
40
40
  var iconUndo = React.createElement(UndoIcon, { size: iconSizes[size] });
41
- return (React.createElement(Button, { size: props.size, onClick: props.onRestore, borderless: props.borderless, disabled: props.disabled, corners: __assign(__assign({ borderTopRightRadius: 0, borderBottomRightRadius: 0 }, buttonCorners), props.corners), icon: iconUndo, "aria-label": props['aria-label'] }));
41
+ return (React.createElement(Button, { use: 'default', size: props.size, onClick: props.onRestore, borderless: props.borderless, disabled: props.disabled, corners: __assign(__assign({ borderTopRightRadius: 0, borderBottomRightRadius: 0 }, buttonCorners), props.corners), icon: iconUndo, "aria-label": props['aria-label'] }));
42
42
  };
43
43
  //# sourceMappingURL=FxInputRestoreBtn.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FxInputRestoreBtn.js","sourceRoot":"","sources":["../../../components/FxInput/FxInputRestoreBtn.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQzC,MAAM,CAAC,IAAM,iBAAiB,GAAoD,UAAC,KAAK;IACtF,IAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACvC,IAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAExC,IAAM,SAAS,GAA6B;QAC1C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACzC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC;QAC3C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC;KAC1C,CAAC;IACF,IAAM,YAAY,GAA0C;QAC1D,KAAK,EAAE;YACL,mBAAmB,EAAE,KAAK,CAAC,sBAAsB;YACjD,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;SACrD;QACD,MAAM,EAAE;YACN,mBAAmB,EAAE,KAAK,CAAC,uBAAuB;YAClD,sBAAsB,EAAE,KAAK,CAAC,uBAAuB;SACtD;QACD,KAAK,EAAE;YACL,mBAAmB,EAAE,KAAK,CAAC,sBAAsB;YACjD,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;SACrD;KACF,CAAC;IACF,IAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACzC,IAAM,QAAQ,GAAG,oBAAC,QAAQ,IAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,GAAI,CAAC;IAErD,OAAO,CACL,oBAAC,MAAM,IACL,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,OAAO,EAAE,KAAK,CAAC,SAAS,EACxB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,sBACL,oBAAoB,EAAE,CAAC,EACvB,uBAAuB,EAAE,CAAC,IACvB,aAAa,GACb,KAAK,CAAC,OAAO,GAElB,IAAI,EAAE,QAAQ,gBACF,KAAK,CAAC,YAAY,CAAC,GAC/B,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React, { useContext } from 'react';\nimport type { AriaAttributes } from 'react';\n\nimport { useSizeControl } from '../../lib/size/useSizeControl.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { Button } from '../Button/index.js';\nimport type { FxInputProps } from './FxInput.js';\nimport { UndoIcon } from './UndoIcon.js';\n\ninterface FxInputRestoreBtnProps\n extends Pick<AriaAttributes, 'aria-label'>, Pick<FxInputProps, 'size' | 'onRestore' | 'borderless' | 'disabled'> {\n /** @ignore */\n corners?: React.CSSProperties;\n}\n\nexport const FxInputRestoreBtn: React.FunctionComponent<FxInputRestoreBtnProps> = (props) => {\n const theme = useContext(ThemeContext);\n const size = useSizeControl(props.size);\n\n const iconSizes: Record<SizeProp, number> = {\n small: parseInt(theme.inputIconSizeSmall),\n medium: parseInt(theme.inputIconSizeMedium),\n large: parseInt(theme.inputIconSizeLarge),\n };\n const cornersSizes: Record<SizeProp, React.CSSProperties> = {\n small: {\n borderTopLeftRadius: theme.inputBorderRadiusSmall,\n borderBottomLeftRadius: theme.inputBorderRadiusSmall,\n },\n medium: {\n borderTopLeftRadius: theme.inputBorderRadiusMedium,\n borderBottomLeftRadius: theme.inputBorderRadiusMedium,\n },\n large: {\n borderTopLeftRadius: theme.inputBorderRadiusLarge,\n borderBottomLeftRadius: theme.inputBorderRadiusLarge,\n },\n };\n const buttonCorners = cornersSizes[size];\n const iconUndo = <UndoIcon size={iconSizes[size]} />;\n\n return (\n <Button\n size={props.size}\n onClick={props.onRestore}\n borderless={props.borderless}\n disabled={props.disabled}\n corners={{\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n ...buttonCorners,\n ...props.corners,\n }}\n icon={iconUndo}\n aria-label={props['aria-label']}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"FxInputRestoreBtn.js","sourceRoot":"","sources":["FxInputRestoreBtn.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQzC,MAAM,CAAC,IAAM,iBAAiB,GAAoD,UAAC,KAAK;IACtF,IAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACvC,IAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAExC,IAAM,SAAS,GAA6B;QAC1C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC;QACzC,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,mBAAmB,CAAC;QAC3C,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC;KAC1C,CAAC;IACF,IAAM,YAAY,GAA0C;QAC1D,KAAK,EAAE;YACL,mBAAmB,EAAE,KAAK,CAAC,sBAAsB;YACjD,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;SACrD;QACD,MAAM,EAAE;YACN,mBAAmB,EAAE,KAAK,CAAC,uBAAuB;YAClD,sBAAsB,EAAE,KAAK,CAAC,uBAAuB;SACtD;QACD,KAAK,EAAE;YACL,mBAAmB,EAAE,KAAK,CAAC,sBAAsB;YACjD,sBAAsB,EAAE,KAAK,CAAC,sBAAsB;SACrD;KACF,CAAC;IACF,IAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACzC,IAAM,QAAQ,GAAG,oBAAC,QAAQ,IAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,GAAI,CAAC;IAErD,OAAO,CACL,oBAAC,MAAM,IACL,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,OAAO,EAAE,KAAK,CAAC,SAAS,EACxB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,OAAO,sBACL,oBAAoB,EAAE,CAAC,EACvB,uBAAuB,EAAE,CAAC,IACvB,aAAa,GACb,KAAK,CAAC,OAAO,GAElB,IAAI,EAAE,QAAQ,gBACF,KAAK,CAAC,YAAY,CAAC,GAC/B,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React, { useContext } from 'react';\nimport type { AriaAttributes } from 'react';\n\nimport { useSizeControl } from '../../lib/size/useSizeControl.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { Button } from '../Button/index.js';\nimport type { FxInputProps } from './FxInput.js';\nimport { UndoIcon } from './UndoIcon.js';\n\ninterface FxInputRestoreBtnProps\n extends Pick<AriaAttributes, 'aria-label'>, Pick<FxInputProps, 'size' | 'onRestore' | 'borderless' | 'disabled'> {\n /** @ignore */\n corners?: React.CSSProperties;\n}\n\nexport const FxInputRestoreBtn: React.FunctionComponent<FxInputRestoreBtnProps> = (props) => {\n const theme = useContext(ThemeContext);\n const size = useSizeControl(props.size);\n\n const iconSizes: Record<SizeProp, number> = {\n small: parseInt(theme.inputIconSizeSmall),\n medium: parseInt(theme.inputIconSizeMedium),\n large: parseInt(theme.inputIconSizeLarge),\n };\n const cornersSizes: Record<SizeProp, React.CSSProperties> = {\n small: {\n borderTopLeftRadius: theme.inputBorderRadiusSmall,\n borderBottomLeftRadius: theme.inputBorderRadiusSmall,\n },\n medium: {\n borderTopLeftRadius: theme.inputBorderRadiusMedium,\n borderBottomLeftRadius: theme.inputBorderRadiusMedium,\n },\n large: {\n borderTopLeftRadius: theme.inputBorderRadiusLarge,\n borderBottomLeftRadius: theme.inputBorderRadiusLarge,\n },\n };\n const buttonCorners = cornersSizes[size];\n const iconUndo = <UndoIcon size={iconSizes[size]} />;\n\n return (\n <Button\n use={'default'}\n size={props.size}\n onClick={props.onRestore}\n borderless={props.borderless}\n disabled={props.disabled}\n corners={{\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n ...buttonCorners,\n ...props.corners,\n }}\n icon={iconUndo}\n aria-label={props['aria-label']}\n />\n );\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"MathFunctionIcon.js","sourceRoot":"","sources":["../../../components/FxInput/MathFunctionIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sEAAsE,CAAC;AAC/G,OAAO,EAAE,uBAAuB,EAAE,MAAM,sEAAsE,CAAC;AAC/G,OAAO,EAAE,yBAAyB,EAAE,MAAM,wEAAwE,CAAC;AAEnH,MAAM,CAAC,IAAM,gBAAgB,GAAG,SAAS,CACvC;IACE,KAAK,EAAE,cAAM,OAAA,oBAAC,uBAAuB,OAAG,EAA3B,CAA2B;IACxC,MAAM,EAAE,cAAM,OAAA,oBAAC,uBAAuB,OAAG,EAA3B,CAA2B;IACzC,KAAK,EAAE,cAAM,OAAA,oBAAC,yBAAyB,OAAG,EAA7B,CAA6B;CAC3C,EACD,kBAAkB,CACnB,CAAC","sourcesContent":["import React from 'react';\n\nimport { iconSizer } from '../../internal/icons2022/iconSizer.js';\nimport { MathFunctionIcon16Light } from '../../internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.js';\nimport { MathFunctionIcon20Light } from '../../internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.js';\nimport { MathFunctionIcon24Regular } from '../../internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.js';\n\nexport const MathFunctionIcon = iconSizer(\n {\n small: () => <MathFunctionIcon16Light />,\n medium: () => <MathFunctionIcon20Light />,\n large: () => <MathFunctionIcon24Regular />,\n },\n 'MathFunctionIcon',\n);\n"]}
1
+ {"version":3,"file":"MathFunctionIcon.js","sourceRoot":"","sources":["MathFunctionIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sEAAsE,CAAC;AAC/G,OAAO,EAAE,uBAAuB,EAAE,MAAM,sEAAsE,CAAC;AAC/G,OAAO,EAAE,yBAAyB,EAAE,MAAM,wEAAwE,CAAC;AAEnH,MAAM,CAAC,IAAM,gBAAgB,GAAG,SAAS,CACvC;IACE,KAAK,EAAE,cAAM,OAAA,oBAAC,uBAAuB,OAAG,EAA3B,CAA2B;IACxC,MAAM,EAAE,cAAM,OAAA,oBAAC,uBAAuB,OAAG,EAA3B,CAA2B;IACzC,KAAK,EAAE,cAAM,OAAA,oBAAC,yBAAyB,OAAG,EAA7B,CAA6B;CAC3C,EACD,kBAAkB,CACnB,CAAC","sourcesContent":["import React from 'react';\n\nimport { iconSizer } from '../../internal/icons2022/iconSizer.js';\nimport { MathFunctionIcon16Light } from '../../internal/icons2022/MathFunctionIcon/MathFunctionIcon16Light.js';\nimport { MathFunctionIcon20Light } from '../../internal/icons2022/MathFunctionIcon/MathFunctionIcon20Light.js';\nimport { MathFunctionIcon24Regular } from '../../internal/icons2022/MathFunctionIcon/MathFunctionIcon24Regular.js';\n\nexport const MathFunctionIcon = iconSizer(\n {\n small: () => <MathFunctionIcon16Light />,\n medium: () => <MathFunctionIcon20Light />,\n large: () => <MathFunctionIcon24Regular />,\n },\n 'MathFunctionIcon',\n);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"UndoIcon.js","sourceRoot":"","sources":["../../../components/FxInput/UndoIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kCAAkC,EAAE,MAAM,4FAA4F,CAAC;AAChJ,OAAO,EAAE,kCAAkC,EAAE,MAAM,4FAA4F,CAAC;AAChJ,OAAO,EAAE,oCAAoC,EAAE,MAAM,8FAA8F,CAAC;AACpJ,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAElE,MAAM,CAAC,IAAM,QAAQ,GAAG,SAAS,CAC/B;IACE,KAAK,EAAE,cAAM,OAAA,oBAAC,kCAAkC,OAAG,EAAtC,CAAsC;IACnD,MAAM,EAAE,cAAM,OAAA,oBAAC,kCAAkC,OAAG,EAAtC,CAAsC;IACpD,KAAK,EAAE,cAAM,OAAA,oBAAC,oCAAoC,OAAG,EAAxC,CAAwC;CACtD,EACD,UAAU,CACX,CAAC","sourcesContent":["import React from 'react';\n\nimport { ArrowShapeDRadiusUpLeftIcon16Light } from '../../internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.js';\nimport { ArrowShapeDRadiusUpLeftIcon20Light } from '../../internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.js';\nimport { ArrowShapeDRadiusUpLeftIcon24Regular } from '../../internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.js';\nimport { iconSizer } from '../../internal/icons2022/iconSizer.js';\n\nexport const UndoIcon = iconSizer(\n {\n small: () => <ArrowShapeDRadiusUpLeftIcon16Light />,\n medium: () => <ArrowShapeDRadiusUpLeftIcon20Light />,\n large: () => <ArrowShapeDRadiusUpLeftIcon24Regular />,\n },\n 'UndoIcon',\n);\n"]}
1
+ {"version":3,"file":"UndoIcon.js","sourceRoot":"","sources":["UndoIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kCAAkC,EAAE,MAAM,4FAA4F,CAAC;AAChJ,OAAO,EAAE,kCAAkC,EAAE,MAAM,4FAA4F,CAAC;AAChJ,OAAO,EAAE,oCAAoC,EAAE,MAAM,8FAA8F,CAAC;AACpJ,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAElE,MAAM,CAAC,IAAM,QAAQ,GAAG,SAAS,CAC/B;IACE,KAAK,EAAE,cAAM,OAAA,oBAAC,kCAAkC,OAAG,EAAtC,CAAsC;IACnD,MAAM,EAAE,cAAM,OAAA,oBAAC,kCAAkC,OAAG,EAAtC,CAAsC;IACpD,KAAK,EAAE,cAAM,OAAA,oBAAC,oCAAoC,OAAG,EAAxC,CAAwC;CACtD,EACD,UAAU,CACX,CAAC","sourcesContent":["import React from 'react';\n\nimport { ArrowShapeDRadiusUpLeftIcon16Light } from '../../internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon16Light.js';\nimport { ArrowShapeDRadiusUpLeftIcon20Light } from '../../internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon20Light.js';\nimport { ArrowShapeDRadiusUpLeftIcon24Regular } from '../../internal/icons2022/ArrowShapeDRadiusUpLeftIcon/ArrowShapeDRadiusUpLeftIcon24Regular.js';\nimport { iconSizer } from '../../internal/icons2022/iconSizer.js';\n\nexport const UndoIcon = iconSizer(\n {\n small: () => <ArrowShapeDRadiusUpLeftIcon16Light />,\n medium: () => <ArrowShapeDRadiusUpLeftIcon20Light />,\n large: () => <ArrowShapeDRadiusUpLeftIcon24Regular />,\n },\n 'UndoIcon',\n);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../components/FxInput/index.tsx"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC","sourcesContent":["export * from './FxInput.js';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC","sourcesContent":["export * from './FxInput.js';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Gapped.js","sourceRoot":"","sources":["../../../components/Gapped/Gapped.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { CommonProps } from '../../internal/CommonWrapper/types.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/rootNodeDecorator.js';\nimport { isNonNullable } from '../../lib/utils.js';\n\nexport interface GappedProps extends CommonProps {\n /** Расстояние между элементами в пикселях. */\n gap?: number;\n\n /** Выравнивает элементы при вертикальном расположении по нужной линии: сверху, снизу, по базовой линии или посередине. */\n verticalAlign?: 'top' | 'middle' | 'baseline' | 'bottom';\n\n /** Располагает элементы по вертикали. */\n vertical?: boolean;\n\n /** Переносит элементы на новую строку при горизонтальном расположении. */\n wrap?: boolean;\n\n /** @ignore */\n children: React.ReactNode;\n}\n\nexport const GappedDataTids = {\n vertical: 'Gapped__vertical',\n horizontal: 'Gapped__horizontal',\n} as const;\n\ntype DefaultProps = Required<Pick<GappedProps, 'wrap' | 'vertical' | 'verticalAlign'>>;\n\n/**\n * Контейнер, с помощью которого можно располагать элементы горизонтально или вертикально с нужным расстоянием между элементами.\n *\n * По умолчанию располагает элементы горизонтально в одну строку. Расстояние между элементами указывается в пропе `gap`.\n */\n@rootNode\nexport class Gapped extends React.Component<GappedProps> {\n public static __KONTUR_REACT_UI__ = 'Gapped';\n public static displayName = 'Gapped';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public static defaultProps: DefaultProps = {\n wrap: false,\n vertical: false,\n verticalAlign: 'baseline',\n };\n\n private getProps = createPropsGetter(Gapped.defaultProps);\n\n public render(): React.JSX.Element {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.getProps().vertical ? this.renderVertical() : this.renderHorizontal()}\n </CommonWrapper>\n );\n }\n\n private getGapValue() {\n const { gap: propsGap } = this.props;\n if (isNonNullable(propsGap)) {\n return propsGap;\n }\n\n return 8;\n }\n\n private renderVertical() {\n const subsequentItemStyle: React.CSSProperties = {\n paddingTop: this.getGapValue(),\n };\n const children = React.Children.toArray(this.props.children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const style = index === 0 ? undefined : subsequentItemStyle;\n return (\n <div style={style} key={index}>\n {child}\n </div>\n );\n });\n\n return <div data-tid={GappedDataTids.vertical}>{children}</div>;\n }\n\n private renderHorizontal() {\n const { children, verticalAlign } = this.props;\n const wrap = this.getProps().wrap;\n const gap = this.getGapValue();\n const itemStyle: React.CSSProperties = {\n display: 'inline-block',\n verticalAlign,\n ...(wrap ? { marginLeft: gap, marginTop: gap } : {}),\n };\n const rootStyle: React.CSSProperties = wrap ? { paddingTop: 1 } : {};\n const contStyle: React.CSSProperties = wrap ? { marginTop: -gap - 1, marginLeft: -gap } : { whiteSpace: 'nowrap' };\n\n return (\n <div data-tid={GappedDataTids.horizontal} style={rootStyle}>\n <div style={contStyle}>\n {React.Children.toArray(children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const marginLeft = index === 0 ? undefined : gap;\n return (\n <span key={index} style={{ marginLeft, ...itemStyle }}>\n {child}\n </span>\n );\n })}\n </div>\n </div>\n );\n }\n\n private filterChildren(child: React.ReactNode): boolean {\n return Boolean(child) || typeof child === 'number';\n }\n}\n"]}
1
+ {"version":3,"file":"Gapped.js","sourceRoot":"","sources":["Gapped.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport type { CommonProps } from '../../internal/CommonWrapper/types.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/rootNodeDecorator.js';\nimport { isNonNullable } from '../../lib/utils.js';\n\nexport interface GappedProps extends CommonProps {\n /** Расстояние между элементами в пикселях. */\n gap?: number;\n\n /** Выравнивает элементы при вертикальном расположении по нужной линии: сверху, снизу, по базовой линии или посередине. */\n verticalAlign?: 'top' | 'middle' | 'baseline' | 'bottom';\n\n /** Располагает элементы по вертикали. */\n vertical?: boolean;\n\n /** Переносит элементы на новую строку при горизонтальном расположении. */\n wrap?: boolean;\n\n /** @ignore */\n children: React.ReactNode;\n}\n\nexport const GappedDataTids = {\n vertical: 'Gapped__vertical',\n horizontal: 'Gapped__horizontal',\n} as const;\n\ntype DefaultProps = Required<Pick<GappedProps, 'wrap' | 'vertical' | 'verticalAlign'>>;\n\n/**\n * Контейнер, с помощью которого можно располагать элементы горизонтально или вертикально с нужным расстоянием между элементами.\n *\n * По умолчанию располагает элементы горизонтально в одну строку. Расстояние между элементами указывается в пропе `gap`.\n */\n@rootNode\nexport class Gapped extends React.Component<GappedProps> {\n public static __KONTUR_REACT_UI__ = 'Gapped';\n public static displayName = 'Gapped';\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public static defaultProps: DefaultProps = {\n wrap: false,\n vertical: false,\n verticalAlign: 'baseline',\n };\n\n private getProps = createPropsGetter(Gapped.defaultProps);\n\n public render(): React.JSX.Element {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.getProps().vertical ? this.renderVertical() : this.renderHorizontal()}\n </CommonWrapper>\n );\n }\n\n private getGapValue() {\n const { gap: propsGap } = this.props;\n if (isNonNullable(propsGap)) {\n return propsGap;\n }\n\n return 8;\n }\n\n private renderVertical() {\n const subsequentItemStyle: React.CSSProperties = {\n paddingTop: this.getGapValue(),\n };\n const children = React.Children.toArray(this.props.children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const style = index === 0 ? undefined : subsequentItemStyle;\n return (\n <div style={style} key={index}>\n {child}\n </div>\n );\n });\n\n return <div data-tid={GappedDataTids.vertical}>{children}</div>;\n }\n\n private renderHorizontal() {\n const { children, verticalAlign } = this.props;\n const wrap = this.getProps().wrap;\n const gap = this.getGapValue();\n const itemStyle: React.CSSProperties = {\n display: 'inline-block',\n verticalAlign,\n ...(wrap ? { marginLeft: gap, marginTop: gap } : {}),\n };\n const rootStyle: React.CSSProperties = wrap ? { paddingTop: 1 } : {};\n const contStyle: React.CSSProperties = wrap ? { marginTop: -gap - 1, marginLeft: -gap } : { whiteSpace: 'nowrap' };\n\n return (\n <div data-tid={GappedDataTids.horizontal} style={rootStyle}>\n <div style={contStyle}>\n {React.Children.toArray(children)\n .filter(this.filterChildren)\n .map((child, index) => {\n const marginLeft = index === 0 ? undefined : gap;\n return (\n <span key={index} style={{ marginLeft, ...itemStyle }}>\n {child}\n </span>\n );\n })}\n </div>\n </div>\n );\n }\n\n private filterChildren(child: React.ReactNode): boolean {\n return Boolean(child) || typeof child === 'number';\n }\n}\n"]}
@@ -1 +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":"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","sourcesContent":["import React, { forwardRef, useContext, useRef } from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { ZIndex } from '../../internal/ZIndex/index.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { getAnimations, getStyles } from './GlobalLoaderView.styles.js';\nimport { useGlobalLoaderPosition, useGlobalLoaderWidth } from './useParams.js';\n\nexport interface GlobalLoaderViewProps extends Pick<CommonProps, 'data-tid'> {\n /** Устанавливает ожидаемое время(ms) ответа сервера. */\n expectedResponseTime: number;\n\n /** Устанавливает задержку в миллисекундах до исчезновения лоадера. */\n delayBeforeHide: number;\n\n /** Устанавливает статус операции. */\n status?: 'success' | 'error' | 'standard' | 'accept';\n\n /** Отключает анимацию. */\n disableAnimations: boolean;\n}\n\nexport interface GlobalLoaderViewRef {\n element: HTMLDivElement;\n refObject: React.RefObject<GlobalLoaderViewRef['element'] | null>;\n}\n\nexport const GlobalLoaderView = forwardRef(\n (\n { expectedResponseTime, delayBeforeHide, status, disableAnimations, ...rest }: GlobalLoaderViewProps,\n externalRef: React.Ref<CommonWrapper<CommonProps>>,\n ) => {\n const ref = useRef<GlobalLoaderViewRef['element']>(null);\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const animations = useStyles(getAnimations);\n const { width, startWidth, fullWidth } = useGlobalLoaderWidth(status, ref);\n const { left } = useGlobalLoaderPosition(ref);\n\n const getAnimationClass = (status: GlobalLoaderViewProps['status']) => {\n if (!disableAnimations) {\n switch (status) {\n case 'success':\n return animations.successAnimation(delayBeforeHide, width, left);\n case 'accept':\n if (startWidth < fullWidth * 0.8) {\n return animations.acceptAnimation(theme, startWidth, expectedResponseTime, width, left);\n }\n return animations.slowAcceptAnimation(theme, startWidth, width, left);\n case 'error':\n return animations.errorAnimation(theme);\n case 'standard':\n return animations.standardAnimation(theme, expectedResponseTime);\n }\n }\n\n if (disableAnimations) {\n switch (status) {\n case 'success':\n return styles.successWithoutAnimation();\n case 'accept':\n return animations.acceptWithoutAnimation(startWidth);\n case 'error':\n return styles.errorWithoutAnimation();\n case 'standard':\n return styles.standardWithoutAnimation();\n }\n }\n };\n\n return (\n <CommonWrapper {...rest} data-status={status} ref={externalRef}>\n <ZIndex priority=\"GlobalLoader\" className={styles.outer(theme)}>\n <div ref={ref} className={cx(styles.inner(theme), getAnimationClass(status))} />\n </ZIndex>\n </CommonWrapper>\n );\n },\n);\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"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"]}