@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,4 +1,4 @@
1
- import type { AriaAttributes, HTMLAttributes, JSX, ReactElement } from 'react';
1
+ import type { AriaAttributes, HTMLAttributes, JSX, ReactElement, ReactNode } from 'react';
2
2
  import React from 'react';
3
3
  import type { CommonProps } from '../../internal/CommonWrapper/index.js';
4
4
  import type { TGetRootNode } from '../../lib/rootNode/index.js';
@@ -60,6 +60,20 @@ export interface InputProps extends CommonProps, Pick<HTMLAttributes<unknown>, '
60
60
  suffix?: React.ReactNode;
61
61
  /** Выделяет введённое значение при фокусе в поле. Работает с типами `text`, `password`, `tel`, `search`, `url`. */
62
62
  selectAllOnFocus?: boolean;
63
+ /** Отображает счётчик введённых символов. */
64
+ showLengthCounter?: boolean;
65
+ /** Допустимое количество символов в поле. Отображается в счётчике символов.
66
+ * @default maxLength */
67
+ lengthCounter?: number;
68
+ /** Подсказка для счётчика символов.
69
+ *
70
+ * Если передать `ReactNode`, рисует тултип со встроенной иконкой.
71
+ * Если передать функцию, рисует произвольный элемент.
72
+ * @example
73
+ * ```
74
+ * counterHelp={() => <Hint text="..."><Icon /></Hint>}
75
+ * ``` */
76
+ counterHelp?: ReactNode | (() => ReactNode);
63
77
  /** Устанавливает обработчик на случай некорректного ввода.
64
78
  * Если передан onUnexpectedInput, он будет вызван при ошибке, а эффект мигания можно запустить вручную через публичный метод blink.
65
79
  * @param {string} value - значение поля. */
@@ -75,10 +89,13 @@ export interface InputState {
75
89
  focused: boolean;
76
90
  hovered: boolean;
77
91
  clearCrossShowed: boolean;
92
+ isCounterVisible: boolean;
78
93
  }
79
94
  export declare const InputDataTids: {
80
95
  readonly root: "Input__root";
81
96
  readonly clearCross: "Input__clearCross";
97
+ readonly counter: "Input__counter";
98
+ readonly counterHelpIcon: "Input__counterHelpIcon";
82
99
  };
83
100
  type DefaultProps = Required<Pick<InputProps, 'type' | 'showClearIcon'>>;
84
101
  /**
@@ -139,6 +156,7 @@ export declare class Input extends React.Component<InputProps, InputState> {
139
156
  private cancelDelayedSelectAll;
140
157
  private getInput;
141
158
  private renderMain;
159
+ private handleCloseCounterHelp;
142
160
  private getSizeClassName;
143
161
  private refInput;
144
162
  private handleClearInput;
@@ -47,6 +47,7 @@ import warning from 'warning';
47
47
  import { ClearCrossIcon } from '../../internal/ClearCrossIcon/ClearCrossIcon.js';
48
48
  import { CommonWrapper } from '../../internal/CommonWrapper/index.js';
49
49
  import { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';
50
+ import { RenderLayer } from '../../internal/RenderLayer/index.js';
50
51
  import { blink } from '../../lib/blink.js';
51
52
  import { createPropsGetter } from '../../lib/createPropsGetter.js';
52
53
  import { isKeyBackspace, isKeyDelete, someKeys } from '../../lib/events/keyboard/identifiers.js';
@@ -81,6 +82,8 @@ export var calculateClearCrossShowedState = function (_a) {
81
82
  export var InputDataTids = {
82
83
  root: 'Input__root',
83
84
  clearCross: 'Input__clearCross',
85
+ counter: 'Input__counter',
86
+ counterHelpIcon: 'Input__counterHelpIcon',
84
87
  };
85
88
  /**
86
89
  * Поле ввода позволяет ввести или отредактировать значение.
@@ -109,6 +112,7 @@ var Input = /** @class */ (function (_super) {
109
112
  _this.state = {
110
113
  focused: false,
111
114
  hovered: false,
115
+ isCounterVisible: false,
112
116
  clearCrossShowed: _this.getClearCrossShowed({
113
117
  focused: false,
114
118
  hasInitialValue: Boolean(_this.props.value || _this.props.defaultValue),
@@ -144,8 +148,8 @@ var Input = /** @class */ (function (_super) {
144
148
  };
145
149
  _this.renderMain = function (props) {
146
150
  var _a, _b;
147
- var onMouseEnter = props.onMouseEnter, onMouseLeave = props.onMouseLeave, onMouseOver = props.onMouseOver, onKeyDown = props.onKeyDown, onKeyPress = props.onKeyPress, onValueChange = props.onValueChange, width = props.width, error = props.error, role = props.role, warning = props.warning, leftIcon = props.leftIcon, rightIcon = props.rightIcon, borderless = props.borderless, value = props.value, align = props.align, type = props.type, size = props.size, placeholder = props.placeholder, selectAllOnFocus = props.selectAllOnFocus, disabled = props.disabled, onUnexpectedInput = props.onUnexpectedInput, prefix = props.prefix, suffix = props.suffix, corners = props.corners, ariaDescribedby = props["aria-describedby"], ariaControls = props["aria-controls"], ariaLabel = props["aria-label"], element = props.element, showClearIcon = props.showClearIcon, rest = __rest(props, ["onMouseEnter", "onMouseLeave", "onMouseOver", "onKeyDown", "onKeyPress", "onValueChange", "width", "error", "role", "warning", "leftIcon", "rightIcon", "borderless", "value", "align", "type", "size", "placeholder", "selectAllOnFocus", "disabled", "onUnexpectedInput", "prefix", "suffix", "corners", 'aria-describedby', 'aria-controls', 'aria-label', "element", "showClearIcon"]);
148
- var focused = _this.state.focused;
151
+ var onMouseEnter = props.onMouseEnter, onMouseLeave = props.onMouseLeave, onMouseOver = props.onMouseOver, onKeyDown = props.onKeyDown, onKeyPress = props.onKeyPress, onValueChange = props.onValueChange, width = props.width, error = props.error, role = props.role, warning = props.warning, leftIcon = props.leftIcon, rightIcon = props.rightIcon, borderless = props.borderless, value = props.value, align = props.align, type = props.type, size = props.size, placeholder = props.placeholder, selectAllOnFocus = props.selectAllOnFocus, showLengthCounter = props.showLengthCounter, lengthCounter = props.lengthCounter, counterHelp = props.counterHelp, disabled = props.disabled, onUnexpectedInput = props.onUnexpectedInput, prefix = props.prefix, suffix = props.suffix, corners = props.corners, ariaDescribedby = props["aria-describedby"], ariaControls = props["aria-controls"], ariaLabel = props["aria-label"], element = props.element, showClearIcon = props.showClearIcon, rest = __rest(props, ["onMouseEnter", "onMouseLeave", "onMouseOver", "onKeyDown", "onKeyPress", "onValueChange", "width", "error", "role", "warning", "leftIcon", "rightIcon", "borderless", "value", "align", "type", "size", "placeholder", "selectAllOnFocus", "showLengthCounter", "lengthCounter", "counterHelp", "disabled", "onUnexpectedInput", "prefix", "suffix", "corners", 'aria-describedby', 'aria-controls', 'aria-label', "element", "showClearIcon"]);
152
+ var _c = _this.state, focused = _c.focused, isCounterVisible = _c.isCounterVisible;
149
153
  var labelProps = {
150
154
  className: _this.cx(_this.styles.root(_this.theme), _this.getSizeClassName(), (_a = {},
151
155
  _a[_this.styles.focus(_this.theme)] = focused && !warning && !error,
@@ -170,8 +174,10 @@ var Input = /** @class */ (function (_super) {
170
174
  var getRightIcon = function () {
171
175
  return _this.state.clearCrossShowed ? (React.createElement(ClearCrossIcon, { "data-tid": InputDataTids.clearCross, size: _this.size, onClick: _this.handleClearInput })) : (rightIcon);
172
176
  };
173
- return (React.createElement(InputLayout, { leftIcon: leftIcon, rightIcon: getRightIcon(), prefix: prefix, suffix: suffix, labelProps: labelProps, context: { disabled: Boolean(disabled), focused: focused, size: _this.size } }, input));
177
+ return (React.createElement(RenderLayer, { onFocusOutside: _this.handleCloseCounterHelp, onClickOutside: _this.handleCloseCounterHelp, active: isCounterVisible },
178
+ React.createElement(InputLayout, { leftIcon: leftIcon, rightIcon: getRightIcon(), prefix: prefix, suffix: suffix, value: value, showLengthCounter: showLengthCounter, isCounterVisible: isCounterVisible, lengthCounter: lengthCounter, counterHelp: counterHelp, onCloseCounterHelp: _this.handleCloseCounterHelp, maxLength: _this.props.maxLength, size: _this.size, labelProps: labelProps, context: { disabled: Boolean(disabled), focused: focused, size: _this.size } }, input)));
174
179
  };
180
+ _this.handleCloseCounterHelp = function () { return _this.setState({ isCounterVisible: false }); };
175
181
  _this.refInput = function (element) {
176
182
  if (element && 'input' in element) {
177
183
  _this.input = element.input;
@@ -224,6 +230,7 @@ var Input = /** @class */ (function (_super) {
224
230
  _this.handleFocus = function (event) {
225
231
  _this.setState({
226
232
  focused: true,
233
+ isCounterVisible: true,
227
234
  clearCrossShowed: _this.getClearCrossShowed({ focused: true, hovered: _this.state.hovered }),
228
235
  });
229
236
  if (_this.props.selectAllOnFocus) {
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../components/Input/Input.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport invariant from 'invariant';\nimport type { AriaAttributes, ClassAttributes, HTMLAttributes, JSX, ReactElement } from 'react';\nimport React, { createRef } from 'react';\nimport warning from 'warning';\n\nimport { ClearCrossIcon } from '../../internal/ClearCrossIcon/ClearCrossIcon.js';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';\nimport { blink } from '../../lib/blink.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { isKeyBackspace, isKeyDelete, someKeys } from '../../lib/events/keyboard/identifiers.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { getRootNode, rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { catchUnreachableWarning } from '../../lib/typeGuards.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { Override } from '../../typings/utility-types.js';\nimport { getStyles } from './Input.styles.js';\nimport type { InputElement, InputElementProps } from './Input.typings.js';\nimport { InputLayout } from './InputLayout/InputLayout.js';\n\nexport const inputTypes = ['password', 'text', 'number', 'tel', 'search', 'time', 'date', 'url', 'email'] as const;\n\nexport type InputAlign = 'left' | 'center' | 'right';\nexport type ShowClearIcon = 'auto' | 'always' | 'never';\nexport type InputType = (typeof inputTypes)[number];\nexport type InputIconType = React.ReactNode | (() => React.ReactNode);\n\nexport const selectionAllowedTypes: InputType[] = ['text', 'password', 'tel', 'search', 'url'];\nexport const selectionErrorMessage = (type: InputType, allowedTypes: InputType[] = selectionAllowedTypes): string => {\n return `<Input />. Selection is not supported by the type \"${type}\". Types that support selection: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}. Reason: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange.`;\n};\n\nexport const calculateClearCrossShowedState = ({\n showClearIcon,\n notEmptyValue,\n focused,\n hovered,\n}: {\n showClearIcon: ShowClearIcon;\n notEmptyValue: boolean;\n focused?: boolean;\n hovered?: boolean;\n}): boolean => {\n switch (showClearIcon) {\n case 'always':\n return notEmptyValue;\n case 'auto':\n return Boolean((focused || hovered) && notEmptyValue);\n case 'never':\n return false;\n default:\n return catchUnreachableWarning(showClearIcon, false);\n }\n};\n\nexport interface InputProps\n extends\n CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-controls' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /** Показывает иконку очистки значения в заполненном поле.\n * @default never */\n showClearIcon?: ShowClearIcon;\n\n /** Добавляет иконку слева.\n * При использовании `ReactNode` применяются дефолтные стили для иконки.\n * При использовании `() => ReactNode` применяются только стили для позиционирования. */\n leftIcon?: InputIconType;\n\n /** Добавляет иконку справа.\n * При использовании `ReactNode` применяются дефолтные стили для иконки.\n * При использовании `() => ReactNode` применяются только стили для позиционирования. */\n rightIcon?: InputIconType;\n\n /** Переводит поле в состояние ошибки. */\n error?: boolean;\n\n /** Переводит поле в состояние предупреждения. */\n warning?: boolean;\n\n /** Убирает обводку поля. */\n borderless?: boolean;\n\n /** Выравнивает контент внутри поля. */\n align?: InputAlign;\n\n /** Размер поля.\n * @default small\n */\n size?: SizeProp;\n\n /** Событие изменения значения `value` в поле. */\n onValueChange?: (value: string) => void;\n\n /** @ignore */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** @ignore */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** @ignore */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Тип поля ввода. */\n type?: InputType;\n\n /** Значение внутри поля. */\n value?: string;\n\n /** Устанавливает префикс `ReactNode` перед значением, но после иконки. */\n prefix?: React.ReactNode;\n\n /** Устанавливает суффикс `ReactNode` после значения, но перед правой иконкой. */\n suffix?: React.ReactNode;\n\n /** Выделяет введённое значение при фокусе в поле. Работает с типами `text`, `password`, `tel`, `search`, `url`. */\n selectAllOnFocus?: boolean;\n\n /** Устанавливает обработчик на случай некорректного ввода.\n * Если передан onUnexpectedInput, он будет вызван при ошибке, а эффект мигания можно запустить вручную через публичный метод blink.\n * @param {string} value - значение поля. */\n onUnexpectedInput?: (value: string) => void;\n\n /** Устанавливает радиус скруглений углов.\n * @ignore */\n corners?: Partial<\n Pick<\n React.CSSProperties,\n 'borderTopRightRadius' | 'borderBottomRightRadius' | 'borderBottomLeftRadius' | 'borderTopLeftRadius'\n >\n >;\n\n /** Устанавливает элемент, заменяющий нативный input. Должен иметь пропсы `InputElementProps` и тип `InputElement`. */\n element?: ReactElement<InputElementProps>;\n }\n > {}\n\nexport interface InputState {\n focused: boolean;\n hovered: boolean;\n clearCrossShowed: boolean;\n}\n\nexport const InputDataTids = {\n root: 'Input__root',\n clearCross: 'Input__clearCross',\n} as const;\n\ntype DefaultProps = Required<Pick<InputProps, 'type' | 'showClearIcon'>>;\n\n/**\n * Поле ввода позволяет ввести или отредактировать значение.\n */\n@withRenderEnvironment\n@rootNode\n@withSize\nexport class Input extends React.Component<InputProps, InputState> {\n public static __KONTUR_REACT_UI__ = 'Input';\n public static displayName = 'Input';\n\n public static defaultProps: DefaultProps = {\n type: 'text',\n showClearIcon: 'never',\n };\n private size!: SizeProp;\n\n private getProps = createPropsGetter(Input.defaultProps);\n\n private selectAllId: number | null = null;\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n public input: HTMLInputElement | null = null;\n public labelRef = createRef<HTMLLabelElement>();\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n private getClearCrossShowed = ({\n focused,\n hovered,\n hasInitialValue,\n }: {\n focused?: boolean;\n hovered?: boolean;\n hasInitialValue?: boolean;\n }): boolean => {\n if (this.props.disabled) {\n return false;\n }\n return calculateClearCrossShowedState({\n showClearIcon: this.getProps().showClearIcon,\n notEmptyValue: Boolean(this.input?.value || hasInitialValue),\n focused,\n hovered,\n });\n };\n\n public state: InputState = {\n focused: false,\n hovered: false,\n clearCrossShowed: this.getClearCrossShowed({\n focused: false,\n hasInitialValue: Boolean(this.props.value || this.props.defaultValue),\n }),\n };\n\n public componentWillUnmount() {\n this.cancelDelayedSelectAll();\n }\n\n /** Программно устанавливает фокус на поле.\n * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus(): void {\n invariant(this.input, 'Cannot call \"focus\" because Input is not mounted');\n this.input.focus();\n }\n\n /** Программно снимает фокус с поля.\n * @public\n */\n public blur(): void {\n invariant(this.input, 'Cannot call \"blur\" because Input is not mounted');\n this.input.blur();\n }\n\n /** Возвращает DOM-узел поля ввода.\n * @public\n */\n public getNode(): HTMLInputElement | null {\n return this.input;\n }\n\n /** Кратковременно визуально подсвечивает поле ввода, чтобы привлечь внимание пользователя.\n * @public\n */\n public blink(): void {\n blink({ el: this.labelRef.current, blinkColor: this.theme.inputBlinkColor });\n }\n\n /** start - инициирует последовательное изменение числового значения: начинает повторяющееся увеличение/уменьшение, обычно используется при удерживании кнопки «+» или «−» для числового Input. end - останавливает ранее запущенное числоизменение, инициируемое numberStart.\n * [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange(start: number, end: number): void {\n // https://github.com/facebook/react/issues/7769\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n if (!selectionAllowedTypes.includes(this.getProps().type)) {\n warning(false, selectionErrorMessage(this.getProps().type));\n\n return;\n }\n\n if (!this.input) {\n warning(false, 'Cannot call \"setSelectionRange\" on unmounted Input');\n return;\n }\n\n if (this.globalObject.document?.activeElement !== this.input) {\n this.focus();\n }\n\n this.input?.setSelectionRange(start, end);\n }\n\n public render(): JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Переводит фокус в поле (если ещё не в фокусе) и выделяет весь текст в нём.\n * Работает с типами `text`, `password`, `tel`, `search`, `url`.\n * @public\n */\n public selectAll = (): void => this._selectAll();\n\n public delaySelectAll = (): number | null => {\n return (this.selectAllId = this.globalObject.requestAnimationFrame?.(this._selectAll) ?? null);\n };\n\n private _selectAll = (): void => {\n if (this.input) {\n this.setSelectionRange(0, this.input.value.length);\n }\n };\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n this.globalObject.cancelAnimationFrame?.(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private getInput = (inputProps: InputElementProps & ClassAttributes<HTMLInputElement>) => {\n if (this.props.element) {\n return React.cloneElement(this.props.element, inputProps);\n }\n\n return React.createElement('input', inputProps);\n };\n\n private renderMain = (props: CommonWrapperRestProps<InputProps>) => {\n const {\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onKeyPress,\n onValueChange,\n width,\n error,\n role,\n warning,\n leftIcon,\n rightIcon,\n borderless,\n value,\n align,\n type,\n size,\n placeholder,\n selectAllOnFocus,\n disabled,\n onUnexpectedInput,\n prefix,\n suffix,\n corners,\n 'aria-describedby': ariaDescribedby,\n 'aria-controls': ariaControls,\n 'aria-label': ariaLabel,\n element,\n showClearIcon,\n ...rest\n } = props;\n\n const { focused } = this.state;\n\n const labelProps = {\n className: this.cx(this.styles.root(this.theme), this.getSizeClassName(), {\n [this.styles.focus(this.theme)]: focused && !warning && !error,\n [this.styles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [this.styles.borderless()]: borderless && !focused,\n [this.styles.disabled(this.theme)]: disabled,\n [this.styles.warning(this.theme)]: warning,\n [this.styles.error(this.theme)]: error,\n }),\n 'aria-controls': ariaControls,\n style: { width, ...corners },\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n onMouseOver,\n ref: this.labelRef,\n };\n\n const inputProps: InputElementProps & ClassAttributes<HTMLInputElement> = {\n ...rest,\n className: this.cx(this.styles.input(this.theme), {\n [this.styles.inputFocus(this.theme)]: focused,\n [this.styles.inputDisabled(this.theme)]: disabled,\n }),\n value,\n role,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onKeyDown: this.handleKeyDown,\n onKeyPress: this.handleKeyPress,\n onBlur: this.handleBlur,\n style: { textAlign: align },\n ref: this.refInput,\n type,\n placeholder,\n disabled,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n };\n\n const input = (\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>{this.getInput(inputProps)}</FocusControlWrapper>\n );\n\n const getRightIcon = () => {\n return this.state.clearCrossShowed ? (\n <ClearCrossIcon data-tid={InputDataTids.clearCross} size={this.size} onClick={this.handleClearInput} />\n ) : (\n rightIcon\n );\n };\n return (\n <InputLayout\n leftIcon={leftIcon}\n rightIcon={getRightIcon()}\n prefix={prefix}\n suffix={suffix}\n labelProps={labelProps}\n context={{ disabled: Boolean(disabled), focused, size: this.size }}\n >\n {input}\n </InputLayout>\n );\n };\n\n private getSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.cx({\n [this.styles.sizeLarge(this.theme)]: true,\n });\n case 'medium':\n return this.cx({\n [this.styles.sizeMedium(this.theme)]: true,\n });\n case 'small':\n default:\n return this.cx({\n [this.styles.sizeSmall(this.theme)]: true,\n });\n }\n }\n\n private refInput = (element: HTMLInputElement | InputElement | null) => {\n if (element && 'input' in element) {\n this.input = element.input;\n } else {\n this.input = element;\n }\n };\n\n private handleClearInput = () => {\n if (this.input) {\n this.input.value = '';\n }\n\n this.setState({ clearCrossShowed: false });\n\n if (this.props.onValueChange) {\n this.props.onValueChange('');\n }\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n\n const clearCrossShowed = this.getClearCrossShowed({ focused: this.state.focused, hovered: this.state.hovered });\n\n if (this.state.clearCrossShowed !== clearCrossShowed) {\n this.setState({\n clearCrossShowed,\n });\n }\n };\n\n private handleMouseEnter = (e: React.MouseEvent<HTMLLabelElement, MouseEvent>) => {\n this.setState({\n hovered: true,\n clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: true }),\n });\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n private handleMouseLeave = (e: React.MouseEvent<HTMLLabelElement, MouseEvent>) => {\n this.setState({\n hovered: false,\n clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: false }),\n });\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({\n focused: true,\n clearCrossShowed: this.getClearCrossShowed({ focused: true, hovered: this.state.hovered }),\n });\n\n if (this.props.selectAllOnFocus) {\n this.input && this.selectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n\n const isDeleteKey = someKeys(isKeyBackspace, isKeyDelete)(e);\n\n if (!e.currentTarget.value && isDeleteKey && !e.repeat) {\n this.handleUnexpectedInput();\n }\n };\n\n private handleKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyPress) {\n this.props.onKeyPress(event);\n }\n\n if (this.props.maxLength === event.currentTarget.value.length) {\n this.handleUnexpectedInput(event.currentTarget.value);\n }\n };\n\n private handleUnexpectedInput = (value: string = this.props.value || '') => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(value);\n } else {\n this.blink();\n }\n };\n\n private resetFocus = () => this.setState({ focused: false });\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n const showClearIcon = this.props.showClearIcon;\n if (showClearIcon && getRootNode(this)?.contains(event.relatedTarget)) {\n this.setState({ focused: false });\n } else {\n const clearCrossShowed = this.getClearCrossShowed({ focused: false, hovered: this.state.hovered });\n this.setState({\n focused: false,\n clearCrossShowed,\n });\n this.props.onBlur?.(event);\n }\n };\n}\n"]}
1
+ {"version":3,"file":"Input.js","sourceRoot":"","sources":["Input.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport invariant from 'invariant';\nimport type { AriaAttributes, ClassAttributes, HTMLAttributes, JSX, ReactElement, ReactNode } from 'react';\nimport React, { createRef } from 'react';\nimport warning from 'warning';\n\nimport { ClearCrossIcon } from '../../internal/ClearCrossIcon/ClearCrossIcon.js';\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';\nimport { RenderLayer } from '../../internal/RenderLayer/index.js';\nimport { blink } from '../../lib/blink.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { isKeyBackspace, isKeyDelete, someKeys } from '../../lib/events/keyboard/identifiers.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { getRootNode, rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { catchUnreachableWarning } from '../../lib/typeGuards.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { Override } from '../../typings/utility-types.js';\nimport { getStyles } from './Input.styles.js';\nimport type { InputElement, InputElementProps } from './Input.typings.js';\nimport { InputLayout } from './InputLayout/InputLayout.js';\n\nexport const inputTypes = ['password', 'text', 'number', 'tel', 'search', 'time', 'date', 'url', 'email'] as const;\n\nexport type InputAlign = 'left' | 'center' | 'right';\nexport type ShowClearIcon = 'auto' | 'always' | 'never';\nexport type InputType = (typeof inputTypes)[number];\nexport type InputIconType = React.ReactNode | (() => React.ReactNode);\n\nexport const selectionAllowedTypes: InputType[] = ['text', 'password', 'tel', 'search', 'url'];\nexport const selectionErrorMessage = (type: InputType, allowedTypes: InputType[] = selectionAllowedTypes): string => {\n return `<Input />. Selection is not supported by the type \"${type}\". Types that support selection: ${allowedTypes\n .map((i) => `\"${i}\"`)\n .join(', ')}. Reason: https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange.`;\n};\n\nexport const calculateClearCrossShowedState = ({\n showClearIcon,\n notEmptyValue,\n focused,\n hovered,\n}: {\n showClearIcon: ShowClearIcon;\n notEmptyValue: boolean;\n focused?: boolean;\n hovered?: boolean;\n}): boolean => {\n switch (showClearIcon) {\n case 'always':\n return notEmptyValue;\n case 'auto':\n return Boolean((focused || hovered) && notEmptyValue);\n case 'never':\n return false;\n default:\n return catchUnreachableWarning(showClearIcon, false);\n }\n};\n\nexport interface InputProps\n extends\n CommonProps,\n Pick<HTMLAttributes<unknown>, 'role'>,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-controls' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /** Показывает иконку очистки значения в заполненном поле.\n * @default never */\n showClearIcon?: ShowClearIcon;\n\n /** Добавляет иконку слева.\n * При использовании `ReactNode` применяются дефолтные стили для иконки.\n * При использовании `() => ReactNode` применяются только стили для позиционирования. */\n leftIcon?: InputIconType;\n\n /** Добавляет иконку справа.\n * При использовании `ReactNode` применяются дефолтные стили для иконки.\n * При использовании `() => ReactNode` применяются только стили для позиционирования. */\n rightIcon?: InputIconType;\n\n /** Переводит поле в состояние ошибки. */\n error?: boolean;\n\n /** Переводит поле в состояние предупреждения. */\n warning?: boolean;\n\n /** Убирает обводку поля. */\n borderless?: boolean;\n\n /** Выравнивает контент внутри поля. */\n align?: InputAlign;\n\n /** Размер поля.\n * @default small\n */\n size?: SizeProp;\n\n /** Событие изменения значения `value` в поле. */\n onValueChange?: (value: string) => void;\n\n /** @ignore */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** @ignore */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** @ignore */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Тип поля ввода. */\n type?: InputType;\n\n /** Значение внутри поля. */\n value?: string;\n\n /** Устанавливает префикс `ReactNode` перед значением, но после иконки. */\n prefix?: React.ReactNode;\n\n /** Устанавливает суффикс `ReactNode` после значения, но перед правой иконкой. */\n suffix?: React.ReactNode;\n\n /** Выделяет введённое значение при фокусе в поле. Работает с типами `text`, `password`, `tel`, `search`, `url`. */\n selectAllOnFocus?: boolean;\n\n /** Отображает счётчик введённых символов. */\n showLengthCounter?: boolean;\n\n /** Допустимое количество символов в поле. Отображается в счётчике символов.\n * @default maxLength */\n lengthCounter?: number;\n\n /** Подсказка для счётчика символов.\n *\n * Если передать `ReactNode`, рисует тултип со встроенной иконкой.\n * Если передать функцию, рисует произвольный элемент.\n * @example\n * ```\n * counterHelp={() => <Hint text=\"...\"><Icon /></Hint>}\n * ``` */\n counterHelp?: ReactNode | (() => ReactNode);\n\n /** Устанавливает обработчик на случай некорректного ввода.\n * Если передан onUnexpectedInput, он будет вызван при ошибке, а эффект мигания можно запустить вручную через публичный метод blink.\n * @param {string} value - значение поля. */\n onUnexpectedInput?: (value: string) => void;\n\n /** Устанавливает радиус скруглений углов.\n * @ignore */\n corners?: Partial<\n Pick<\n React.CSSProperties,\n 'borderTopRightRadius' | 'borderBottomRightRadius' | 'borderBottomLeftRadius' | 'borderTopLeftRadius'\n >\n >;\n\n /** Устанавливает элемент, заменяющий нативный input. Должен иметь пропсы `InputElementProps` и тип `InputElement`. */\n element?: ReactElement<InputElementProps>;\n }\n > {}\n\nexport interface InputState {\n focused: boolean;\n hovered: boolean;\n clearCrossShowed: boolean;\n isCounterVisible: boolean;\n}\n\nexport const InputDataTids = {\n root: 'Input__root',\n clearCross: 'Input__clearCross',\n counter: 'Input__counter',\n counterHelpIcon: 'Input__counterHelpIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<InputProps, 'type' | 'showClearIcon'>>;\n\n/**\n * Поле ввода позволяет ввести или отредактировать значение.\n */\n@withRenderEnvironment\n@rootNode\n@withSize\nexport class Input extends React.Component<InputProps, InputState> {\n public static __KONTUR_REACT_UI__ = 'Input';\n public static displayName = 'Input';\n\n public static defaultProps: DefaultProps = {\n type: 'text',\n showClearIcon: 'never',\n };\n private size!: SizeProp;\n\n private getProps = createPropsGetter(Input.defaultProps);\n\n private selectAllId: number | null = null;\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n public input: HTMLInputElement | null = null;\n public labelRef = createRef<HTMLLabelElement>();\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n private getClearCrossShowed = ({\n focused,\n hovered,\n hasInitialValue,\n }: {\n focused?: boolean;\n hovered?: boolean;\n hasInitialValue?: boolean;\n }): boolean => {\n if (this.props.disabled) {\n return false;\n }\n return calculateClearCrossShowedState({\n showClearIcon: this.getProps().showClearIcon,\n notEmptyValue: Boolean(this.input?.value || hasInitialValue),\n focused,\n hovered,\n });\n };\n\n public state: InputState = {\n focused: false,\n hovered: false,\n isCounterVisible: false,\n clearCrossShowed: this.getClearCrossShowed({\n focused: false,\n hasInitialValue: Boolean(this.props.value || this.props.defaultValue),\n }),\n };\n\n public componentWillUnmount() {\n this.cancelDelayedSelectAll();\n }\n\n /** Программно устанавливает фокус на поле.\n * Появляется фокусная рамка, элемент получает клавиатурные события и воспринимается как текущий элемент для чтения скринридерами.\n * @public\n */\n public focus(): void {\n invariant(this.input, 'Cannot call \"focus\" because Input is not mounted');\n this.input.focus();\n }\n\n /** Программно снимает фокус с поля.\n * @public\n */\n public blur(): void {\n invariant(this.input, 'Cannot call \"blur\" because Input is not mounted');\n this.input.blur();\n }\n\n /** Возвращает DOM-узел поля ввода.\n * @public\n */\n public getNode(): HTMLInputElement | null {\n return this.input;\n }\n\n /** Кратковременно визуально подсвечивает поле ввода, чтобы привлечь внимание пользователя.\n * @public\n */\n public blink(): void {\n blink({ el: this.labelRef.current, blinkColor: this.theme.inputBlinkColor });\n }\n\n /** start - инициирует последовательное изменение числового значения: начинает повторяющееся увеличение/уменьшение, обычно используется при удерживании кнопки «+» или «−» для числового Input. end - останавливает ранее запущенное числоизменение, инициируемое numberStart.\n * [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)\n * @public\n * @param {number} start\n * @param {number} end\n */\n public setSelectionRange(start: number, end: number): void {\n // https://github.com/facebook/react/issues/7769\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange\n if (!selectionAllowedTypes.includes(this.getProps().type)) {\n warning(false, selectionErrorMessage(this.getProps().type));\n\n return;\n }\n\n if (!this.input) {\n warning(false, 'Cannot call \"setSelectionRange\" on unmounted Input');\n return;\n }\n\n if (this.globalObject.document?.activeElement !== this.input) {\n this.focus();\n }\n\n this.input?.setSelectionRange(start, end);\n }\n\n public render(): JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /**\n * Переводит фокус в поле (если ещё не в фокусе) и выделяет весь текст в нём.\n * Работает с типами `text`, `password`, `tel`, `search`, `url`.\n * @public\n */\n public selectAll = (): void => this._selectAll();\n\n public delaySelectAll = (): number | null => {\n return (this.selectAllId = this.globalObject.requestAnimationFrame?.(this._selectAll) ?? null);\n };\n\n private _selectAll = (): void => {\n if (this.input) {\n this.setSelectionRange(0, this.input.value.length);\n }\n };\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n this.globalObject.cancelAnimationFrame?.(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private getInput = (inputProps: InputElementProps & ClassAttributes<HTMLInputElement>) => {\n if (this.props.element) {\n return React.cloneElement(this.props.element, inputProps);\n }\n\n return React.createElement('input', inputProps);\n };\n\n private renderMain = (props: CommonWrapperRestProps<InputProps>) => {\n const {\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onKeyDown,\n onKeyPress,\n onValueChange,\n width,\n error,\n role,\n warning,\n leftIcon,\n rightIcon,\n borderless,\n value,\n align,\n type,\n size,\n placeholder,\n selectAllOnFocus,\n showLengthCounter,\n lengthCounter,\n counterHelp,\n disabled,\n onUnexpectedInput,\n prefix,\n suffix,\n corners,\n 'aria-describedby': ariaDescribedby,\n 'aria-controls': ariaControls,\n 'aria-label': ariaLabel,\n element,\n showClearIcon,\n ...rest\n } = props;\n\n const { focused, isCounterVisible } = this.state;\n\n const labelProps = {\n className: this.cx(this.styles.root(this.theme), this.getSizeClassName(), {\n [this.styles.focus(this.theme)]: focused && !warning && !error,\n [this.styles.hovering(this.theme)]: !focused && !disabled && !warning && !error && !borderless,\n [this.styles.borderless()]: borderless && !focused,\n [this.styles.disabled(this.theme)]: disabled,\n [this.styles.warning(this.theme)]: warning,\n [this.styles.error(this.theme)]: error,\n }),\n 'aria-controls': ariaControls,\n style: { width, ...corners },\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n onMouseOver,\n ref: this.labelRef,\n };\n\n const inputProps: InputElementProps & ClassAttributes<HTMLInputElement> = {\n ...rest,\n className: this.cx(this.styles.input(this.theme), {\n [this.styles.inputFocus(this.theme)]: focused,\n [this.styles.inputDisabled(this.theme)]: disabled,\n }),\n value,\n role,\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onKeyDown: this.handleKeyDown,\n onKeyPress: this.handleKeyPress,\n onBlur: this.handleBlur,\n style: { textAlign: align },\n ref: this.refInput,\n type,\n placeholder,\n disabled,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n };\n\n const input = (\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>{this.getInput(inputProps)}</FocusControlWrapper>\n );\n\n const getRightIcon = () => {\n return this.state.clearCrossShowed ? (\n <ClearCrossIcon data-tid={InputDataTids.clearCross} size={this.size} onClick={this.handleClearInput} />\n ) : (\n rightIcon\n );\n };\n return (\n <RenderLayer\n onFocusOutside={this.handleCloseCounterHelp}\n onClickOutside={this.handleCloseCounterHelp}\n active={isCounterVisible}\n >\n <InputLayout\n leftIcon={leftIcon}\n rightIcon={getRightIcon()}\n prefix={prefix}\n suffix={suffix}\n value={value}\n showLengthCounter={showLengthCounter}\n isCounterVisible={isCounterVisible}\n lengthCounter={lengthCounter}\n counterHelp={counterHelp}\n onCloseCounterHelp={this.handleCloseCounterHelp}\n maxLength={this.props.maxLength}\n size={this.size}\n labelProps={labelProps}\n context={{ disabled: Boolean(disabled), focused, size: this.size }}\n >\n {input}\n </InputLayout>\n </RenderLayer>\n );\n };\n\n private handleCloseCounterHelp = () => this.setState({ isCounterVisible: false });\n\n private getSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.cx({\n [this.styles.sizeLarge(this.theme)]: true,\n });\n case 'medium':\n return this.cx({\n [this.styles.sizeMedium(this.theme)]: true,\n });\n case 'small':\n default:\n return this.cx({\n [this.styles.sizeSmall(this.theme)]: true,\n });\n }\n }\n\n private refInput = (element: HTMLInputElement | InputElement | null) => {\n if (element && 'input' in element) {\n this.input = element.input;\n } else {\n this.input = element;\n }\n };\n\n private handleClearInput = () => {\n if (this.input) {\n this.input.value = '';\n }\n\n this.setState({ clearCrossShowed: false });\n\n if (this.props.onValueChange) {\n this.props.onValueChange('');\n }\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(event.target.value);\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n\n const clearCrossShowed = this.getClearCrossShowed({ focused: this.state.focused, hovered: this.state.hovered });\n\n if (this.state.clearCrossShowed !== clearCrossShowed) {\n this.setState({\n clearCrossShowed,\n });\n }\n };\n\n private handleMouseEnter = (e: React.MouseEvent<HTMLLabelElement, MouseEvent>) => {\n this.setState({\n hovered: true,\n clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: true }),\n });\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n private handleMouseLeave = (e: React.MouseEvent<HTMLLabelElement, MouseEvent>) => {\n this.setState({\n hovered: false,\n clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: false }),\n });\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n this.setState({\n focused: true,\n isCounterVisible: true,\n clearCrossShowed: this.getClearCrossShowed({ focused: true, hovered: this.state.hovered }),\n });\n\n if (this.props.selectAllOnFocus) {\n this.input && this.selectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n\n const isDeleteKey = someKeys(isKeyBackspace, isKeyDelete)(e);\n\n if (!e.currentTarget.value && isDeleteKey && !e.repeat) {\n this.handleUnexpectedInput();\n }\n };\n\n private handleKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (this.props.onKeyPress) {\n this.props.onKeyPress(event);\n }\n\n if (this.props.maxLength === event.currentTarget.value.length) {\n this.handleUnexpectedInput(event.currentTarget.value);\n }\n };\n\n private handleUnexpectedInput = (value: string = this.props.value || '') => {\n if (this.props.onUnexpectedInput) {\n this.props.onUnexpectedInput(value);\n } else {\n this.blink();\n }\n };\n\n private resetFocus = () => this.setState({ focused: false });\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n const showClearIcon = this.props.showClearIcon;\n if (showClearIcon && getRootNode(this)?.contains(event.relatedTarget)) {\n this.setState({ focused: false });\n } else {\n const clearCrossShowed = this.getClearCrossShowed({ focused: false, hovered: this.state.hovered });\n this.setState({\n focused: false,\n clearCrossShowed,\n });\n this.props.onBlur?.(event);\n }\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Input.styles.js","sourceRoot":"","sources":["../../../components/Input/Input.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,OAAO;YACL,OAAO,GAAG,+YAAA,8UAgBT,KAAC;QACJ,CAAC;QAED,IAAI,YAAC,CAAQ;YACX,OAAO,GAAG,yhBAAA,UACN,EAAW,0DAGM,EAAqB,6BACpB,EAAS,mBACnB,EAAkB,SAAU,EAAkB,6BACpC,EAAqB,oCACd,EAAoB,GAAI,EAA0B,uBAC/D,EAAa,iDAElB,EAAY,qHAKZ,EAAY,kEAKtB,KApBG,SAAS,EAAE,EAGM,CAAC,CAAC,mBAAmB,EACpB,CAAC,CAAC,OAAO,EACnB,CAAC,CAAC,gBAAgB,EAAU,CAAC,CAAC,gBAAgB,EACpC,CAAC,CAAC,mBAAmB,EACd,CAAC,CAAC,kBAAkB,EAAI,CAAC,CAAC,wBAAwB,EAC/D,CAAC,CAAC,WAAW,EAElB,CAAC,CAAC,UAAU,EAKZ,CAAC,CAAC,UAAU,EAKrB;QACJ,CAAC;QAED,QAAQ,YAAC,CAAQ;YACf,OAAO,GAAG,kIAAA,2CAEU,EAAuB,kBAE1C,KAFmB,CAAC,CAAC,qBAAqB,EAEzC;QACJ,CAAC;QAED,UAAU;YACR,OAAO,GAAG,2KAAA,wGAIT,KAAC;QACJ,CAAC;QAED,KAAK,YAAC,CAAQ;YACZ,OAAO,GAAG,uMAAA,4BACY,EAAgB,yBACpB,EAAuB,uBACzB,EAAkB,kDAGjC,KALqB,CAAC,CAAC,cAAc,EACpB,CAAC,CAAC,qBAAqB,EACzB,CAAC,CAAC,gBAAgB,EAGhC;QACJ,CAAC;QAED,WAAW,YAAC,CAAQ;YAClB,OAAO,GAAG,4XAAA,+CAEC,EAAuB,wQAYjC,KAZU,CAAC,CAAC,qBAAqB,EAYhC;QACJ,CAAC;QAED,gBAAgB,YAAC,CAAQ;YACvB,OAAO,GAAG,+FAAA,iBACC,EAA4B,SACtC,KADU,CAAC,CAAC,0BAA0B,EACrC;QACJ,CAAC;QAED,mBAAmB,YAAC,CAAQ;YAC1B,OAAO,GAAG,+FAAA,iBACC,EAA+B,SACzC,KADU,CAAC,CAAC,6BAA6B,EACxC;QACJ,CAAC;QAED,KAAK,YAAC,CAAQ;YACZ,OAAO,GAAG,wuBAAA,yGAIC,EAAgB,mNAST,EAAkB,8NAYvB,EAAuB,0DAGvB,EAAuB,qDAGvB,EAAuB,kBAEnC,KA7BU,CAAC,CAAC,cAAc,EAST,CAAC,CAAC,gBAAgB,EAYvB,CAAC,CAAC,qBAAqB,EAGvB,CAAC,CAAC,qBAAqB,EAGvB,CAAC,CAAC,qBAAqB,EAElC;QACJ,CAAC;QAED,UAAU,YAAC,CAAQ;YACjB,OAAO,GAAG,2PAAA,+CAEG,EAA4B,0DAG5B,EAA4B,qDAG5B,EAA4B,kBAExC,KARY,CAAC,CAAC,0BAA0B,EAG5B,CAAC,CAAC,0BAA0B,EAG5B,CAAC,CAAC,0BAA0B,EAEvC;QACJ,CAAC;QAED,aAAa,YAAC,CAAQ;YACpB,OAAO,GAAG,kcAAA,iBACC,EAAwB,yHAEN,EAAwB,oEAGtB,EAA+B,4EAG/B,EAA+B,uEAG/B,EAA+B,kBAE7D,KAbU,CAAC,CAAC,sBAAsB,EAEN,CAAC,CAAC,sBAAsB,EAGtB,CAAC,CAAC,6BAA6B,EAG/B,CAAC,CAAC,6BAA6B,EAG/B,CAAC,CAAC,6BAA6B,EAE5D;QACJ,CAAC;QAED,OAAO,YAAC,CAAQ;YACd,OAAO,GAAG,+JAAA,wBACQ,EAAyB,6BACrB,EAAmB,GAAI,EAAyB,4BAErE,KAHiB,CAAC,CAAC,uBAAuB,EACrB,CAAC,CAAC,iBAAiB,EAAI,CAAC,CAAC,uBAAuB,EAEpE;QACJ,CAAC;QAED,KAAK,YAAC,CAAQ;YACZ,OAAO,GAAG,+JAAA,wBACQ,EAAuB,6BACnB,EAAmB,GAAI,EAAuB,4BAEnE,KAHiB,CAAC,CAAC,qBAAqB,EACnB,CAAC,CAAC,iBAAiB,EAAI,CAAC,CAAC,qBAAqB,EAElE;QACJ,CAAC;QAED,QAAQ,YAAC,CAAQ;YACf,OAAO,GAAG,gKAAA,4BACY,EAAiB,yBACrB,EAA0B,kCAE3C,KAHqB,CAAC,CAAC,eAAe,EACrB,CAAC,CAAC,wBAAwB,EAE1C;QACJ,CAAC;QAED,SAAS,YAAC,CAAQ;YAChB,OAAO,GAAG,8RAAA,qBACK,EAAoB,wBAClB,EAAsB,wBACtB,EAAoB,2BACjB,EAAoB,yBACtB,EAAoB,0BACnB,EAAoB,mBAC3B,EAAkB,0BACX,EAAwB,SAC1C,KARc,CAAC,CAAC,kBAAkB,EAClB,CAAC,CAAC,oBAAoB,EACtB,CAAC,CAAC,kBAAkB,EACjB,CAAC,CAAC,kBAAkB,EACtB,CAAC,CAAC,kBAAkB,EACnB,CAAC,CAAC,kBAAkB,EAC3B,CAAC,CAAC,gBAAgB,EACX,CAAC,CAAC,sBAAsB,EACzC;QACJ,CAAC;QAED,UAAU,YAAC,CAAQ;YACjB,OAAO,GAAG,8RAAA,qBACK,EAAqB,wBACnB,EAAuB,wBACvB,EAAqB,2BAClB,EAAqB,yBACvB,EAAqB,0BACpB,EAAqB,mBAC5B,EAAmB,0BACZ,EAAyB,SAC3C,KARc,CAAC,CAAC,mBAAmB,EACnB,CAAC,CAAC,qBAAqB,EACvB,CAAC,CAAC,mBAAmB,EAClB,CAAC,CAAC,mBAAmB,EACvB,CAAC,CAAC,mBAAmB,EACpB,CAAC,CAAC,mBAAmB,EAC5B,CAAC,CAAC,iBAAiB,EACZ,CAAC,CAAC,uBAAuB,EAC1C;QACJ,CAAC;QAED,SAAS,YAAC,CAAQ;YAChB,OAAO,GAAG,8RAAA,qBACK,EAAoB,wBAClB,EAAsB,mBAC3B,EAAkB,wBACb,EAAgC,2BAC7B,EAAgC,yBAClC,EAAoB,0BACnB,EAAoB,0BACpB,EAAwB,SAC1C,KARc,CAAC,CAAC,kBAAkB,EAClB,CAAC,CAAC,oBAAoB,EAC3B,CAAC,CAAC,gBAAgB,EACb,KAAK,CAAC,CAAC,CAAC,kBAAkB,EAAE,GAAG,CAAC,EAC7B,KAAK,CAAC,CAAC,CAAC,kBAAkB,EAAE,GAAG,CAAC,EAClC,CAAC,CAAC,kBAAkB,EACnB,CAAC,CAAC,kBAAkB,EACpB,CAAC,CAAC,sBAAsB,EACzC;QACJ,CAAC;QAED,kBAAkB;YAChB,OAAO,GAAG,8GAAA,yCAET,KAAC;QACJ,CAAC;KACF,CAAC;AA/O8D,CA+O9D,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { shift } from '../../lib/styles/DimensionFunctions.js';\nimport { resetText } from '../../lib/styles/Mixins.js';\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n wrapper() {\n return css`\n align-items: center;\n display: flex;\n margin: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n\n &::before {\n content: '\\\\A0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n root(t: Theme) {\n return css`\n ${resetText()};\n\n align-items: center;\n background-clip: ${t.inputBackgroundClip};\n background-color: ${t.inputBg};\n border: ${t.inputBorderWidth} solid ${t.inputBorderColor};\n border-top-color: ${t.inputBorderTopColor};\n transition: border-color ${t.transitionDuration} ${t.transitionTimingFunction};\n box-shadow: ${t.inputShadow};\n box-sizing: border-box;\n color: ${t.inputColor};\n cursor: text;\n display: inline-flex;\n outline: none;\n position: relative;\n width: ${t.inputWidth};\n\n & * {\n box-sizing: border-box;\n }\n `;\n },\n\n hovering(t: Theme) {\n return css`\n &:hover {\n border-color: ${t.inputBorderColorHover};\n }\n `;\n },\n\n borderless() {\n return css`\n box-shadow: none;\n border-color: transparent;\n background-clip: padding-box;\n `;\n },\n\n focus(t: Theme) {\n return css`\n background-color: ${t.inputFocusedBg};\n border-color: ${t.inputBorderColorFocus};\n box-shadow: ${t.inputFocusShadow};\n outline: none;\n z-index: 2;\n `;\n },\n\n placeholder(t: Theme) {\n return css`\n -ms-user-select: none;\n color: ${t.inputPlaceholderColor};\n cursor: text;\n font-size: inherit;\n height: 100%;\n left: 0;\n overflow: hidden;\n pointer-events: none;\n position: absolute;\n top: 0;\n user-select: none;\n white-space: nowrap;\n width: 100%;\n `;\n },\n\n placeholderFocus(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorLight};\n `;\n },\n\n placeholderDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n input(t: Theme) {\n return css`\n -webkit-appearance: none;\n background: transparent;\n border: 0 none;\n color: ${t.inputTextColor};\n font: inherit;\n line-height: inherit;\n margin: 0;\n outline: none;\n padding: 0;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n color-scheme: ${t.inputColorScheme};\n\n &:-moz-placeholder {\n opacity: 1;\n }\n &::-moz-placeholder {\n opacity: 1;\n }\n &::-ms-clear {\n display: none;\n }\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColor};\n }\n `;\n },\n\n inputFocus(t: Theme) {\n return css`\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n `;\n },\n\n inputDisabled(t: Theme) {\n return css`\n color: ${t.inputTextColorDisabled};\n /* fix text color in safari https://bugs.webkit.org/show_bug.cgi?id=115510 */\n -webkit-text-fill-color: ${t.inputTextColorDisabled};\n\n &:-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n `;\n },\n\n warning(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorWarning};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorWarning};\n z-index: 2;\n `;\n },\n\n error(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorError};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorError};\n z-index: 2;\n `;\n },\n\n disabled(t: Theme) {\n return css`\n background-color: ${t.inputDisabledBg};\n border-color: ${t.inputDisabledBorderColor};\n box-shadow: none;\n `;\n },\n\n sizeSmall(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeSmall};\n line-height: ${t.inputLineHeightSmall};\n padding-top: ${t.inputPaddingYSmall};\n padding-bottom: ${t.inputPaddingYSmall};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n height: ${t.inputHeightSmall};\n border-radius: ${t.inputBorderRadiusSmall};\n `;\n },\n\n sizeMedium(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeMedium};\n line-height: ${t.inputLineHeightMedium};\n padding-top: ${t.inputPaddingYMedium};\n padding-bottom: ${t.inputPaddingYMedium};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n height: ${t.inputHeightMedium};\n border-radius: ${t.inputBorderRadiusMedium};\n `;\n },\n\n sizeLarge(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeLarge};\n line-height: ${t.inputLineHeightLarge};\n height: ${t.inputHeightLarge};\n padding-top: ${shift(t.inputPaddingYLarge, '0')};\n padding-bottom: ${shift(t.inputPaddingYLarge, '0')};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n border-radius: ${t.inputBorderRadiusLarge};\n `;\n },\n\n hideBlinkingCursor() {\n return css`\n caret-color: transparent;\n `;\n },\n}));\n"]}
1
+ {"version":3,"file":"Input.styles.js","sourceRoot":"","sources":["Input.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { shift } from '../../lib/styles/DimensionFunctions.js';\nimport { resetText } from '../../lib/styles/Mixins.js';\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n wrapper() {\n return css`\n align-items: center;\n display: flex;\n margin: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n\n &::before {\n content: '\\\\A0';\n display: inline-block;\n width: 0;\n }\n `;\n },\n\n root(t: Theme) {\n return css`\n ${resetText()};\n\n align-items: center;\n background-clip: ${t.inputBackgroundClip};\n background-color: ${t.inputBg};\n border: ${t.inputBorderWidth} solid ${t.inputBorderColor};\n border-top-color: ${t.inputBorderTopColor};\n transition: border-color ${t.transitionDuration} ${t.transitionTimingFunction};\n box-shadow: ${t.inputShadow};\n box-sizing: border-box;\n color: ${t.inputColor};\n cursor: text;\n display: inline-flex;\n outline: none;\n position: relative;\n width: ${t.inputWidth};\n\n & * {\n box-sizing: border-box;\n }\n `;\n },\n\n hovering(t: Theme) {\n return css`\n &:hover {\n border-color: ${t.inputBorderColorHover};\n }\n `;\n },\n\n borderless() {\n return css`\n box-shadow: none;\n border-color: transparent;\n background-clip: padding-box;\n `;\n },\n\n focus(t: Theme) {\n return css`\n background-color: ${t.inputFocusedBg};\n border-color: ${t.inputBorderColorFocus};\n box-shadow: ${t.inputFocusShadow};\n outline: none;\n z-index: 2;\n `;\n },\n\n placeholder(t: Theme) {\n return css`\n -ms-user-select: none;\n color: ${t.inputPlaceholderColor};\n cursor: text;\n font-size: inherit;\n height: 100%;\n left: 0;\n overflow: hidden;\n pointer-events: none;\n position: absolute;\n top: 0;\n user-select: none;\n white-space: nowrap;\n width: 100%;\n `;\n },\n\n placeholderFocus(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorLight};\n `;\n },\n\n placeholderDisabled(t: Theme) {\n return css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n\n input(t: Theme) {\n return css`\n -webkit-appearance: none;\n background: transparent;\n border: 0 none;\n color: ${t.inputTextColor};\n font: inherit;\n line-height: inherit;\n margin: 0;\n outline: none;\n padding: 0;\n text-overflow: clip;\n white-space: nowrap;\n width: 100%;\n color-scheme: ${t.inputColorScheme};\n\n &:-moz-placeholder {\n opacity: 1;\n }\n &::-moz-placeholder {\n opacity: 1;\n }\n &::-ms-clear {\n display: none;\n }\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColor};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColor};\n }\n `;\n },\n\n inputFocus(t: Theme) {\n return css`\n &:-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::-moz-placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n &::placeholder {\n color: ${t.inputPlaceholderColorLight};\n }\n `;\n },\n\n inputDisabled(t: Theme) {\n return css`\n color: ${t.inputTextColorDisabled};\n /* fix text color in safari https://bugs.webkit.org/show_bug.cgi?id=115510 */\n -webkit-text-fill-color: ${t.inputTextColorDisabled};\n\n &:-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::-moz-placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n &::placeholder {\n -webkit-text-fill-color: ${t.inputPlaceholderColorDisabled};\n }\n `;\n },\n\n warning(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorWarning};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorWarning};\n z-index: 2;\n `;\n },\n\n error(t: Theme) {\n return css`\n border-color: ${t.inputBorderColorError};\n box-shadow: 0 0 0 ${t.inputOutlineWidth} ${t.inputBorderColorError};\n z-index: 2;\n `;\n },\n\n disabled(t: Theme) {\n return css`\n background-color: ${t.inputDisabledBg};\n border-color: ${t.inputDisabledBorderColor};\n box-shadow: none;\n `;\n },\n\n sizeSmall(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeSmall};\n line-height: ${t.inputLineHeightSmall};\n padding-top: ${t.inputPaddingYSmall};\n padding-bottom: ${t.inputPaddingYSmall};\n padding-left: ${t.inputPaddingXSmall};\n padding-right: ${t.inputPaddingXSmall};\n height: ${t.inputHeightSmall};\n border-radius: ${t.inputBorderRadiusSmall};\n `;\n },\n\n sizeMedium(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeMedium};\n line-height: ${t.inputLineHeightMedium};\n padding-top: ${t.inputPaddingYMedium};\n padding-bottom: ${t.inputPaddingYMedium};\n padding-left: ${t.inputPaddingXMedium};\n padding-right: ${t.inputPaddingXMedium};\n height: ${t.inputHeightMedium};\n border-radius: ${t.inputBorderRadiusMedium};\n `;\n },\n\n sizeLarge(t: Theme) {\n return css`\n font-size: ${t.inputFontSizeLarge};\n line-height: ${t.inputLineHeightLarge};\n height: ${t.inputHeightLarge};\n padding-top: ${shift(t.inputPaddingYLarge, '0')};\n padding-bottom: ${shift(t.inputPaddingYLarge, '0')};\n padding-left: ${t.inputPaddingXLarge};\n padding-right: ${t.inputPaddingXLarge};\n border-radius: ${t.inputBorderRadiusLarge};\n `;\n },\n\n hideBlinkingCursor() {\n return css`\n caret-color: transparent;\n `;\n },\n}));\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Input.typings.js","sourceRoot":"","sources":["../../../components/Input/Input.typings.ts"],"names":[],"mappings":"","sourcesContent":["import type React from 'react';\n\nexport type InputElement = (HTMLInputElement | { input: HTMLInputElement | null }) & {\n getRootNode: () => HTMLElement | null;\n};\n\nexport type InputElementProps = React.InputHTMLAttributes<HTMLInputElement>;\n"]}
1
+ {"version":3,"file":"Input.typings.js","sourceRoot":"","sources":["Input.typings.ts"],"names":[],"mappings":"","sourcesContent":["import type React from 'react';\n\nexport type InputElement = (HTMLInputElement | { input: HTMLInputElement | null }) & {\n getRootNode: () => HTMLElement | null;\n};\n\nexport type InputElementProps = React.InputHTMLAttributes<HTMLInputElement>;\n"]}
@@ -2,12 +2,14 @@ import React from 'react';
2
2
  import type { CommonProps } from '../../../internal/CommonWrapper/index.js';
3
3
  import type { InputProps } from '../Input.js';
4
4
  import type { InputLayoutContextProps } from './InputLayoutContext.js';
5
- type InputLayoutRootFromInputProps = Pick<InputProps, 'leftIcon' | 'rightIcon' | 'prefix' | 'suffix'>;
5
+ type InputLayoutRootFromInputProps = Pick<InputProps, 'leftIcon' | 'rightIcon' | 'prefix' | 'suffix' | 'value' | 'showLengthCounter' | 'lengthCounter' | 'counterHelp' | 'maxLength' | 'size'>;
6
6
  export interface InputLayoutRootProps extends InputLayoutRootFromInputProps, CommonProps {
7
7
  labelProps: React.LabelHTMLAttributes<HTMLLabelElement> & {
8
8
  ref?: React.Ref<HTMLLabelElement>;
9
9
  };
10
10
  context: Partial<InputLayoutContextProps>;
11
+ isCounterVisible?: boolean;
12
+ onCloseCounterHelp?: () => void;
11
13
  tag?: 'label' | 'span';
12
14
  }
13
15
  export declare const InputLayout: import("../../../lib/forwardRefAndName.js").ReactUIComponentWithRef<HTMLLabelElement, InputLayoutRootProps> & Record<never, never>;
@@ -17,17 +17,20 @@ import { useStyles } from '../../../lib/renderEnvironment/index.js';
17
17
  import { InputDataTids } from '../Input.js';
18
18
  import { getStylesLayout } from './InputLayout.styles.js';
19
19
  import { InputLayoutAside } from './InputLayoutAside.js';
20
+ import { InputLayoutAsideCounter } from './InputLayoutAsideCounter.js';
20
21
  import { InputLayoutContext, InputLayoutContextDefault } from './InputLayoutContext.js';
21
22
  export var InputLayout = forwardRefAndName('InputLayout', function (props, ref) {
23
+ var _a;
22
24
  var stylesLayout = useStyles(getStylesLayout);
23
- var leftIcon = props.leftIcon, rightIcon = props.rightIcon, prefix = props.prefix, suffix = props.suffix, labelProps = props.labelProps, context = props.context, children = props.children, _a = props.tag, tag = _a === void 0 ? 'label' : _a;
25
+ var leftIcon = props.leftIcon, rightIcon = props.rightIcon, prefix = props.prefix, suffix = props.suffix, value = props.value, showLengthCounter = props.showLengthCounter, isCounterVisible = props.isCounterVisible, lengthCounter = props.lengthCounter, counterHelp = props.counterHelp, onCloseCounterHelp = props.onCloseCounterHelp, maxLength = props.maxLength, size = props.size, labelProps = props.labelProps, context = props.context, children = props.children, _b = props.tag, tag = _b === void 0 ? 'label' : _b;
24
26
  var _context = __assign(__assign({}, InputLayoutContextDefault), context);
25
27
  var Tag = tag;
28
+ var counter = showLengthCounter && isCounterVisible ? (React.createElement(InputLayoutAsideCounter, { key: "counter", inputValue: value, length: (_a = maxLength !== null && maxLength !== void 0 ? maxLength : lengthCounter) !== null && _a !== void 0 ? _a : 0, help: counterHelp, onCloseHelp: onCloseCounterHelp, size: size })) : undefined;
26
29
  return (React.createElement(InputLayoutContext.Provider, { value: _context },
27
30
  React.createElement(CommonWrapper, __assign({}, props),
28
31
  React.createElement(Tag, __assign({ "data-tid": InputDataTids.root }, labelProps, { ref: mergeRefs(ref, labelProps.ref) }),
29
32
  React.createElement(InputLayoutAside, { icon: leftIcon, text: prefix, side: "left" }),
30
33
  React.createElement("span", { className: stylesLayout.input() }, children),
31
- React.createElement(InputLayoutAside, { icon: rightIcon, text: suffix, side: "right" })))));
34
+ React.createElement(InputLayoutAside, { icon: rightIcon, text: suffix, counter: counter, side: "right" })))));
32
35
  });
33
36
  //# sourceMappingURL=InputLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputLayout.js","sourceRoot":"","sources":["../../../../components/Input/InputLayout/InputLayout.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAWxF,MAAM,CAAC,IAAM,WAAW,GAAG,iBAAiB,CAAyC,aAAa,EAAE,UAAC,KAAK,EAAE,GAAG;IAC7G,IAAM,YAAY,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;IACxC,IAAA,QAAQ,GAA8E,KAAK,SAAnF,EAAE,SAAS,GAAmE,KAAK,UAAxE,EAAE,MAAM,GAA2D,KAAK,OAAhE,EAAE,MAAM,GAAmD,KAAK,OAAxD,EAAE,UAAU,GAAuC,KAAK,WAA5C,EAAE,OAAO,GAA8B,KAAK,QAAnC,EAAE,QAAQ,GAAoB,KAAK,SAAzB,EAAE,KAAkB,KAAK,IAAV,EAAb,GAAG,mBAAG,OAAO,KAAA,CAAW;IACpG,IAAM,QAAQ,yBAAiC,yBAAyB,GAAK,OAAO,CAAE,CAAC;IACvF,IAAM,GAAG,GAAG,GAAG,CAAC;IAEhB,OAAO,CACL,oBAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ;QAC1C,oBAAC,aAAa,eAAK,KAAK;YACtB,oBAAC,GAAG,yBAAW,aAAa,CAAC,IAAI,IAAM,UAAU,IAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC;gBACpF,oBAAC,gBAAgB,IAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,GAAG;gBAC9D,8BAAM,SAAS,EAAE,YAAY,CAAC,KAAK,EAAE,IAAG,QAAQ,CAAQ;gBACxD,oBAAC,gBAAgB,IAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC,OAAO,GAAG,CAC5D,CACQ,CACY,CAC/B,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport type { CommonProps } from '../../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../../internal/CommonWrapper/index.js';\nimport { forwardRefAndName } from '../../../lib/forwardRefAndName.js';\nimport { mergeRefs } from '../../../lib/mergeRefs.js';\nimport { useStyles } from '../../../lib/renderEnvironment/index.js';\nimport { InputDataTids } from '../Input.js';\nimport type { InputProps } from '../Input.js';\nimport { getStylesLayout } from './InputLayout.styles.js';\nimport { InputLayoutAside } from './InputLayoutAside.js';\nimport { InputLayoutContext, InputLayoutContextDefault } from './InputLayoutContext.js';\nimport type { InputLayoutContextProps } from './InputLayoutContext.js';\n\ntype InputLayoutRootFromInputProps = Pick<InputProps, 'leftIcon' | 'rightIcon' | 'prefix' | 'suffix'>;\n\nexport interface InputLayoutRootProps extends InputLayoutRootFromInputProps, CommonProps {\n labelProps: React.LabelHTMLAttributes<HTMLLabelElement> & { ref?: React.Ref<HTMLLabelElement> };\n context: Partial<InputLayoutContextProps>;\n tag?: 'label' | 'span';\n}\n\nexport const InputLayout = forwardRefAndName<HTMLLabelElement, InputLayoutRootProps>('InputLayout', (props, ref) => {\n const stylesLayout = useStyles(getStylesLayout);\n const { leftIcon, rightIcon, prefix, suffix, labelProps, context, children, tag = 'label' } = props;\n const _context: InputLayoutContextProps = { ...InputLayoutContextDefault, ...context };\n const Tag = tag;\n\n return (\n <InputLayoutContext.Provider value={_context}>\n <CommonWrapper {...props}>\n <Tag data-tid={InputDataTids.root} {...labelProps} ref={mergeRefs(ref, labelProps.ref)}>\n <InputLayoutAside icon={leftIcon} text={prefix} side=\"left\" />\n <span className={stylesLayout.input()}>{children}</span>\n <InputLayoutAside icon={rightIcon} text={suffix} side=\"right\" />\n </Tag>\n </CommonWrapper>\n </InputLayoutContext.Provider>\n );\n});\n"]}
1
+ {"version":3,"file":"InputLayout.js","sourceRoot":"","sources":["InputLayout.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAyBxF,MAAM,CAAC,IAAM,WAAW,GAAG,iBAAiB,CAAyC,aAAa,EAAE,UAAC,KAAK,EAAE,GAAG;;IAC7G,IAAM,YAAY,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;IAE9C,IAAA,QAAQ,GAgBN,KAAK,SAhBC,EACR,SAAS,GAeP,KAAK,UAfE,EACT,MAAM,GAcJ,KAAK,OAdD,EACN,MAAM,GAaJ,KAAK,OAbD,EACN,KAAK,GAYH,KAAK,MAZF,EACL,iBAAiB,GAWf,KAAK,kBAXU,EACjB,gBAAgB,GAUd,KAAK,iBAVS,EAChB,aAAa,GASX,KAAK,cATM,EACb,WAAW,GAQT,KAAK,YARI,EACX,kBAAkB,GAOhB,KAAK,mBAPW,EAClB,SAAS,GAMP,KAAK,UANE,EACT,IAAI,GAKF,KAAK,KALH,EACJ,UAAU,GAIR,KAAK,WAJG,EACV,OAAO,GAGL,KAAK,QAHA,EACP,QAAQ,GAEN,KAAK,SAFC,EACR,KACE,KAAK,IADM,EAAb,GAAG,mBAAG,OAAO,KAAA,CACL;IACV,IAAM,QAAQ,yBAAiC,yBAAyB,GAAK,OAAO,CAAE,CAAC;IACvF,IAAM,GAAG,GAAG,GAAG,CAAC;IAChB,IAAM,OAAO,GACX,iBAAiB,IAAI,gBAAgB,CAAC,CAAC,CAAC,CACtC,oBAAC,uBAAuB,IACtB,GAAG,EAAC,SAAS,EACb,UAAU,EAAE,KAAK,EACjB,MAAM,EAAE,MAAA,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,aAAa,mCAAI,CAAC,EACvC,IAAI,EAAE,WAAW,EACjB,WAAW,EAAE,kBAAkB,EAC/B,IAAI,EAAE,IAAI,GACV,CACH,CAAC,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO,CACL,oBAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ;QAC1C,oBAAC,aAAa,eAAK,KAAK;YACtB,oBAAC,GAAG,yBAAW,aAAa,CAAC,IAAI,IAAM,UAAU,IAAE,GAAG,EAAE,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC;gBACpF,oBAAC,gBAAgB,IAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,GAAG;gBAC9D,8BAAM,SAAS,EAAE,YAAY,CAAC,KAAK,EAAE,IAAG,QAAQ,CAAQ;gBACxD,oBAAC,gBAAgB,IAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,OAAO,GAAG,CAC9E,CACQ,CACY,CAC/B,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport type { CommonProps } from '../../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../../internal/CommonWrapper/index.js';\nimport { forwardRefAndName } from '../../../lib/forwardRefAndName.js';\nimport { mergeRefs } from '../../../lib/mergeRefs.js';\nimport { useStyles } from '../../../lib/renderEnvironment/index.js';\nimport { InputDataTids } from '../Input.js';\nimport type { InputProps } from '../Input.js';\nimport { getStylesLayout } from './InputLayout.styles.js';\nimport { InputLayoutAside } from './InputLayoutAside.js';\nimport { InputLayoutAsideCounter } from './InputLayoutAsideCounter.js';\nimport { InputLayoutContext, InputLayoutContextDefault } from './InputLayoutContext.js';\nimport type { InputLayoutContextProps } from './InputLayoutContext.js';\n\ntype InputLayoutRootFromInputProps = Pick<\n InputProps,\n | 'leftIcon'\n | 'rightIcon'\n | 'prefix'\n | 'suffix'\n | 'value'\n | 'showLengthCounter'\n | 'lengthCounter'\n | 'counterHelp'\n | 'maxLength'\n | 'size'\n>;\n\nexport interface InputLayoutRootProps extends InputLayoutRootFromInputProps, CommonProps {\n labelProps: React.LabelHTMLAttributes<HTMLLabelElement> & { ref?: React.Ref<HTMLLabelElement> };\n context: Partial<InputLayoutContextProps>;\n isCounterVisible?: boolean;\n onCloseCounterHelp?: () => void;\n tag?: 'label' | 'span';\n}\n\nexport const InputLayout = forwardRefAndName<HTMLLabelElement, InputLayoutRootProps>('InputLayout', (props, ref) => {\n const stylesLayout = useStyles(getStylesLayout);\n const {\n leftIcon,\n rightIcon,\n prefix,\n suffix,\n value,\n showLengthCounter,\n isCounterVisible,\n lengthCounter,\n counterHelp,\n onCloseCounterHelp,\n maxLength,\n size,\n labelProps,\n context,\n children,\n tag = 'label',\n } = props;\n const _context: InputLayoutContextProps = { ...InputLayoutContextDefault, ...context };\n const Tag = tag;\n const counter =\n showLengthCounter && isCounterVisible ? (\n <InputLayoutAsideCounter\n key=\"counter\"\n inputValue={value}\n length={maxLength ?? lengthCounter ?? 0}\n help={counterHelp}\n onCloseHelp={onCloseCounterHelp}\n size={size}\n />\n ) : undefined;\n\n return (\n <InputLayoutContext.Provider value={_context}>\n <CommonWrapper {...props}>\n <Tag data-tid={InputDataTids.root} {...labelProps} ref={mergeRefs(ref, labelProps.ref)}>\n <InputLayoutAside icon={leftIcon} text={prefix} side=\"left\" />\n <span className={stylesLayout.input()}>{children}</span>\n <InputLayoutAside icon={rightIcon} text={suffix} counter={counter} side=\"right\" />\n </Tag>\n </CommonWrapper>\n </InputLayoutContext.Provider>\n );\n});\n"]}
@@ -8,4 +8,10 @@ export declare const getStylesLayout: import("../../../lib/theming/Emotion.js").
8
8
  iconDisabled(t: Theme): string;
9
9
  text(t: Theme): string;
10
10
  textDisabled(t: Theme): string;
11
+ counter(t: Theme): string;
12
+ counterSmall(t: Theme): string;
13
+ counterMedium(t: Theme): string;
14
+ counterLarge(t: Theme): string;
15
+ counterError(t: Theme): string;
16
+ counterHelp(t: Theme): string;
11
17
  }>;
@@ -32,7 +32,25 @@ export var getStylesLayout = memoizeGetStyles(function (emotion) {
32
32
  textDisabled: function (t) {
33
33
  return emotion.css(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n color: ", ";\n "], ["\n color: ", ";\n "])), t.inputPlaceholderColorDisabled);
34
34
  },
35
+ counter: function (t) {
36
+ return emotion.css(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n font-variant-numeric: tabular-nums;\n color: ", ";\n "], ["\n font-variant-numeric: tabular-nums;\n color: ", ";\n "])), t.inputCounterColor);
37
+ },
38
+ counterSmall: function (t) {
39
+ return emotion.css(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n margin-left: ", ";\n "], ["\n margin-left: ", ";\n "])), t.inputCounterMarginLeftSmall);
40
+ },
41
+ counterMedium: function (t) {
42
+ return emotion.css(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n margin-left: ", ";\n "], ["\n margin-left: ", ";\n "])), t.inputCounterMarginLeftMedium);
43
+ },
44
+ counterLarge: function (t) {
45
+ return emotion.css(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n margin-left: ", ";\n "], ["\n margin-left: ", ";\n "])), t.inputCounterMarginLeftLarge);
46
+ },
47
+ counterError: function (t) {
48
+ return emotion.css(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n color: ", ";\n "], ["\n color: ", ";\n "])), t.inputCounterColorError);
49
+ },
50
+ counterHelp: function (t) {
51
+ return emotion.css(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n margin-left: ", ";\n "], ["\n margin-left: ", ";\n "])), t.inputCounterHelpMarginLeft);
52
+ },
35
53
  };
36
54
  });
37
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;
55
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13;
38
56
  //# sourceMappingURL=InputLayout.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputLayout.styles.js","sourceRoot":"","sources":["../../../../components/Input/InputLayout/InputLayout.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,IAAM,eAAe,GAAG,gBAAgB,CAAC,UAAC,OAAgB;IAC/D,IAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAElC,OAAO;QACL,IAAI,YAAC,CAAQ;YACX,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QACD,KAAK;YACH,OAAO,OAAO,CAAC,GAAG,0MAAA,uIAMjB,KAAC;QACJ,CAAC;QACD,KAAK;YACH,OAAO,OAAO,CAAC,GAAG,iOAAA,qIAMF,EAAoB,uBAEnC,KAFe,oBAAoB,EAElC;QACJ,CAAC;QACD,IAAI,YAAC,CAAQ;YACX,OAAO,OAAO,CAAC,GAAG,mGAAA,mBACP,EAAgB,WAC1B,KADU,CAAC,CAAC,cAAc,EACzB;QACJ,CAAC;QACD,SAAS,YAAC,CAAQ;YAChB,OAAO,OAAO,CAAC,GAAG,mGAAA,mBACP,EAAuB,WACjC,KADU,CAAC,CAAC,qBAAqB,EAChC;QACJ,CAAC;QACD,YAAY,YAAC,CAAQ;YACnB,OAAO,OAAO,CAAC,GAAG,6HAAA,6CAEP,EAAwB,WAClC,KADU,CAAC,CAAC,sBAAsB,EACjC;QACJ,CAAC;QACD,IAAI,YAAC,CAAQ;YACX,OAAO,OAAO,CAAC,GAAG,mGAAA,mBACP,EAAuB,WACjC,KADU,CAAC,CAAC,qBAAqB,EAChC;QACJ,CAAC;QACD,YAAY,YAAC,CAAQ;YACnB,OAAO,OAAO,CAAC,GAAG,mGAAA,mBACP,EAA+B,WACzC,KADU,CAAC,CAAC,6BAA6B,EACxC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { ZERO_WIDTH_SPACE_CSS } from '../../../lib/chars.js';\nimport { memoizeGetStyles } from '../../../lib/theming/Emotion.js';\nimport type { Theme } from '../../../lib/theming/Theme.js';\nimport { getStyles } from '../Input.styles.js';\n\nexport const getStylesLayout = memoizeGetStyles((emotion: Emotion) => {\n const styles = getStyles(emotion);\n\n return {\n root(t: Theme) {\n return styles.root(t);\n },\n input() {\n return emotion.css`\n min-width: 0;\n overflow: hidden;\n position: relative;\n width: 100%;\n display: flex;\n `;\n },\n aside() {\n return emotion.css`\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n\n &::before {\n content: '${ZERO_WIDTH_SPACE_CSS}';\n }\n `;\n },\n icon(t: Theme) {\n return emotion.css`\n color: ${t.inputIconColor};\n `;\n },\n iconFocus(t: Theme) {\n return emotion.css`\n color: ${t.inputFocusedIconColor};\n `;\n },\n iconDisabled(t: Theme) {\n return emotion.css`\n cursor: default;\n color: ${t.inputIconColorDisabled};\n `;\n },\n text(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n textDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n };\n});\n"]}
1
+ {"version":3,"file":"InputLayout.styles.js","sourceRoot":"","sources":["InputLayout.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,CAAC,IAAM,eAAe,GAAG,gBAAgB,CAAC,UAAC,OAAgB;IAC/D,IAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAElC,OAAO;QACL,IAAI,YAAC,CAAQ;YACX,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QACD,KAAK;YACH,OAAO,OAAO,CAAC,GAAG,0MAAA,uIAMjB,KAAC;QACJ,CAAC;QACD,KAAK;YACH,OAAO,OAAO,CAAC,GAAG,iOAAA,qIAMF,EAAoB,uBAEnC,KAFe,oBAAoB,EAElC;QACJ,CAAC;QACD,IAAI,YAAC,CAAQ;YACX,OAAO,OAAO,CAAC,GAAG,mGAAA,mBACP,EAAgB,WAC1B,KADU,CAAC,CAAC,cAAc,EACzB;QACJ,CAAC;QACD,SAAS,YAAC,CAAQ;YAChB,OAAO,OAAO,CAAC,GAAG,mGAAA,mBACP,EAAuB,WACjC,KADU,CAAC,CAAC,qBAAqB,EAChC;QACJ,CAAC;QACD,YAAY,YAAC,CAAQ;YACnB,OAAO,OAAO,CAAC,GAAG,6HAAA,6CAEP,EAAwB,WAClC,KADU,CAAC,CAAC,sBAAsB,EACjC;QACJ,CAAC;QACD,IAAI,YAAC,CAAQ;YACX,OAAO,OAAO,CAAC,GAAG,mGAAA,mBACP,EAAuB,WACjC,KADU,CAAC,CAAC,qBAAqB,EAChC;QACJ,CAAC;QACD,YAAY,YAAC,CAAQ;YACnB,OAAO,OAAO,CAAC,GAAG,mGAAA,mBACP,EAA+B,WACzC,KADU,CAAC,CAAC,6BAA6B,EACxC;QACJ,CAAC;QACD,OAAO,YAAC,CAAQ;YACd,OAAO,OAAO,CAAC,GAAG,gJAAA,gEAEP,EAAmB,WAC7B,KADU,CAAC,CAAC,iBAAiB,EAC5B;QACJ,CAAC;QACD,YAAY,YAAC,CAAQ;YACnB,OAAO,OAAO,CAAC,GAAG,yGAAA,yBACD,EAA6B,WAC7C,KADgB,CAAC,CAAC,2BAA2B,EAC5C;QACJ,CAAC;QACD,aAAa,YAAC,CAAQ;YACpB,OAAO,OAAO,CAAC,GAAG,2GAAA,yBACD,EAA8B,WAC9C,KADgB,CAAC,CAAC,4BAA4B,EAC7C;QACJ,CAAC;QACD,YAAY,YAAC,CAAQ;YACnB,OAAO,OAAO,CAAC,GAAG,2GAAA,yBACD,EAA6B,WAC7C,KADgB,CAAC,CAAC,2BAA2B,EAC5C;QACJ,CAAC;QACD,YAAY,YAAC,CAAQ;YACnB,OAAO,OAAO,CAAC,GAAG,qGAAA,mBACP,EAAwB,WAClC,KADU,CAAC,CAAC,sBAAsB,EACjC;QACJ,CAAC;QACD,WAAW,YAAC,CAAQ;YAClB,OAAO,OAAO,CAAC,GAAG,2GAAA,yBACD,EAA4B,WAC5C,KADgB,CAAC,CAAC,0BAA0B,EAC3C;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { ZERO_WIDTH_SPACE_CSS } from '../../../lib/chars.js';\nimport { memoizeGetStyles } from '../../../lib/theming/Emotion.js';\nimport type { Theme } from '../../../lib/theming/Theme.js';\nimport { getStyles } from '../Input.styles.js';\n\nexport const getStylesLayout = memoizeGetStyles((emotion: Emotion) => {\n const styles = getStyles(emotion);\n\n return {\n root(t: Theme) {\n return styles.root(t);\n },\n input() {\n return emotion.css`\n min-width: 0;\n overflow: hidden;\n position: relative;\n width: 100%;\n display: flex;\n `;\n },\n aside() {\n return emotion.css`\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n\n &::before {\n content: '${ZERO_WIDTH_SPACE_CSS}';\n }\n `;\n },\n icon(t: Theme) {\n return emotion.css`\n color: ${t.inputIconColor};\n `;\n },\n iconFocus(t: Theme) {\n return emotion.css`\n color: ${t.inputFocusedIconColor};\n `;\n },\n iconDisabled(t: Theme) {\n return emotion.css`\n cursor: default;\n color: ${t.inputIconColorDisabled};\n `;\n },\n text(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColor};\n `;\n },\n textDisabled(t: Theme) {\n return emotion.css`\n color: ${t.inputPlaceholderColorDisabled};\n `;\n },\n counter(t: Theme) {\n return emotion.css`\n font-variant-numeric: tabular-nums;\n color: ${t.inputCounterColor};\n `;\n },\n counterSmall(t: Theme) {\n return emotion.css`\n margin-left: ${t.inputCounterMarginLeftSmall};\n `;\n },\n counterMedium(t: Theme) {\n return emotion.css`\n margin-left: ${t.inputCounterMarginLeftMedium};\n `;\n },\n counterLarge(t: Theme) {\n return emotion.css`\n margin-left: ${t.inputCounterMarginLeftLarge};\n `;\n },\n counterError(t: Theme) {\n return emotion.css`\n color: ${t.inputCounterColorError};\n `;\n },\n counterHelp(t: Theme) {\n return emotion.css`\n margin-left: ${t.inputCounterHelpMarginLeft};\n `;\n },\n };\n});\n"]}
@@ -1,8 +1,10 @@
1
+ import type { ReactElement } from 'react';
1
2
  import React from 'react';
2
3
  import type { InputProps } from '../Input.js';
3
4
  export interface InputLayoutAsideProps {
4
5
  icon: InputProps['leftIcon'] | InputProps['rightIcon'];
5
6
  text: InputProps['prefix'] | InputProps['suffix'];
7
+ counter?: ReactElement;
6
8
  side: 'left' | 'right';
7
9
  }
8
10
  export declare const InputLayoutAside: React.FunctionComponent<InputLayoutAsideProps>;
@@ -4,12 +4,12 @@ import { getStylesLayout } from './InputLayout.styles.js';
4
4
  import { InputLayoutAsideIcon } from './InputLayoutAsideIcon.js';
5
5
  import { InputLayoutAsideText } from './InputLayoutAsideText.js';
6
6
  export var InputLayoutAside = function (_a) {
7
- var icon = _a.icon, text = _a.text, side = _a.side;
7
+ var icon = _a.icon, text = _a.text, counter = _a.counter, side = _a.side;
8
8
  var stylesLayout = useStyles(getStylesLayout);
9
9
  var asideClassName = stylesLayout.aside();
10
10
  var _icon = React.createElement(InputLayoutAsideIcon, { key: "icon", icon: icon, side: side });
11
11
  var _text = React.createElement(InputLayoutAsideText, { key: "text", text: text });
12
- var child = side === 'left' ? [_icon, _text] : [_text, _icon];
12
+ var child = side === 'left' ? [_icon, _text] : [_text, counter, _icon];
13
13
  return React.createElement("span", { className: asideClassName }, child);
14
14
  };
15
15
  //# sourceMappingURL=InputLayoutAside.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputLayoutAside.js","sourceRoot":"","sources":["../../../../components/Input/InputLayout/InputLayoutAside.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAQjE,MAAM,CAAC,IAAM,gBAAgB,GAAmD,UAAC,EAAoB;QAAlB,IAAI,UAAA,EAAE,IAAI,UAAA,EAAE,IAAI,UAAA;IACjG,IAAM,YAAY,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;IAChD,IAAM,cAAc,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;IAE5C,IAAM,KAAK,GAAG,oBAAC,oBAAoB,IAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAI,CAAC;IAC1E,IAAM,KAAK,GAAG,oBAAC,oBAAoB,IAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAE,IAAI,GAAI,CAAC;IAE9D,IAAM,KAAK,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAEhE,OAAO,8BAAM,SAAS,EAAE,cAAc,IAAG,KAAK,CAAQ,CAAC;AACzD,CAAC,CAAC","sourcesContent":["import React from 'react';\n\nimport { useStyles } from '../../../lib/renderEnvironment/index.js';\nimport type { InputProps } from '../Input.js';\nimport { getStylesLayout } from './InputLayout.styles.js';\nimport { InputLayoutAsideIcon } from './InputLayoutAsideIcon.js';\nimport { InputLayoutAsideText } from './InputLayoutAsideText.js';\n\nexport interface InputLayoutAsideProps {\n icon: InputProps['leftIcon'] | InputProps['rightIcon'];\n text: InputProps['prefix'] | InputProps['suffix'];\n side: 'left' | 'right';\n}\n\nexport const InputLayoutAside: React.FunctionComponent<InputLayoutAsideProps> = ({ icon, text, side }) => {\n const stylesLayout = useStyles(getStylesLayout);\n const asideClassName = stylesLayout.aside();\n\n const _icon = <InputLayoutAsideIcon key=\"icon\" icon={icon} side={side} />;\n const _text = <InputLayoutAsideText key=\"text\" text={text} />;\n\n const child = side === 'left' ? [_icon, _text] : [_text, _icon];\n\n return <span className={asideClassName}>{child}</span>;\n};\n"]}
1
+ {"version":3,"file":"InputLayoutAside.js","sourceRoot":"","sources":["InputLayoutAside.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AASjE,MAAM,CAAC,IAAM,gBAAgB,GAAmD,UAAC,EAA6B;QAA3B,IAAI,UAAA,EAAE,IAAI,UAAA,EAAE,OAAO,aAAA,EAAE,IAAI,UAAA;IAC1G,IAAM,YAAY,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC;IAChD,IAAM,cAAc,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;IAE5C,IAAM,KAAK,GAAG,oBAAC,oBAAoB,IAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAI,CAAC;IAC1E,IAAM,KAAK,GAAG,oBAAC,oBAAoB,IAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAE,IAAI,GAAI,CAAC;IAE9D,IAAM,KAAK,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAEzE,OAAO,8BAAM,SAAS,EAAE,cAAc,IAAG,KAAK,CAAQ,CAAC;AACzD,CAAC,CAAC","sourcesContent":["import type { ReactElement } from 'react';\nimport React from 'react';\n\nimport { useStyles } from '../../../lib/renderEnvironment/index.js';\nimport type { InputProps } from '../Input.js';\nimport { getStylesLayout } from './InputLayout.styles.js';\nimport { InputLayoutAsideIcon } from './InputLayoutAsideIcon.js';\nimport { InputLayoutAsideText } from './InputLayoutAsideText.js';\n\nexport interface InputLayoutAsideProps {\n icon: InputProps['leftIcon'] | InputProps['rightIcon'];\n text: InputProps['prefix'] | InputProps['suffix'];\n counter?: ReactElement;\n side: 'left' | 'right';\n}\n\nexport const InputLayoutAside: React.FunctionComponent<InputLayoutAsideProps> = ({ icon, text, counter, side }) => {\n const stylesLayout = useStyles(getStylesLayout);\n const asideClassName = stylesLayout.aside();\n\n const _icon = <InputLayoutAsideIcon key=\"icon\" icon={icon} side={side} />;\n const _text = <InputLayoutAsideText key=\"text\" text={text} />;\n\n const child = side === 'left' ? [_icon, _text] : [_text, counter, _icon];\n\n return <span className={asideClassName}>{child}</span>;\n};\n"]}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { SizeProp } from '../../../lib/types/props.js';
3
+ import { type InputProps } from '../Input.js';
4
+ export interface InputLayoutAsideCounterProps {
5
+ length: number;
6
+ inputValue: InputProps['value'];
7
+ help: InputProps['counterHelp'];
8
+ onCloseHelp?: () => void;
9
+ size?: SizeProp;
10
+ }
11
+ export declare const InputLayoutAsideCounter: React.FunctionComponent<InputLayoutAsideCounterProps>;
@@ -0,0 +1,74 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import React, { useCallback } from 'react';
13
+ import { Tooltip } from '../../../components/Tooltip/Tooltip.js';
14
+ import { QuestionCircleIcon16Light } from '../../../internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Light.js';
15
+ import { QuestionCircleIcon20Regular } from '../../../internal/icons2022/QuestionCircleIcon/QuestionCircleIcon20Regular.js';
16
+ import { QuestionCircleIcon24Regular } from '../../../internal/icons2022/QuestionCircleIcon/QuestionCircleIcon24Regular.js';
17
+ import { useEmotion, useStyles } from '../../../lib/renderEnvironment/index.js';
18
+ import { ThemeContext } from '../../../lib/theming/ThemeContext.js';
19
+ import { isFunction } from '../../../lib/utils.js';
20
+ import { InputDataTids } from '../Input.js';
21
+ import { getStylesLayout } from './InputLayout.styles.js';
22
+ var handleHelpMouseDown = function (e) { return e.preventDefault(); };
23
+ export var InputLayoutAsideCounter = function (_a) {
24
+ var _b;
25
+ var length = _a.length, inputValue = _a.inputValue, help = _a.help, onCloseHelp = _a.onCloseHelp, size = _a.size;
26
+ var theme = React.useContext(ThemeContext);
27
+ var cx = useEmotion().cx;
28
+ var stylesLayout = useStyles(getStylesLayout);
29
+ var renderTooltipContent = useCallback(function () {
30
+ if (typeof help === 'function') {
31
+ return help();
32
+ }
33
+ return help;
34
+ }, [help]);
35
+ var getHelpIcon = function () {
36
+ switch (size) {
37
+ case 'large':
38
+ return React.createElement(QuestionCircleIcon24Regular, __assign({}, helpIconProps));
39
+ case 'medium':
40
+ return React.createElement(QuestionCircleIcon20Regular, __assign({}, helpIconProps));
41
+ case 'small':
42
+ default:
43
+ return React.createElement(QuestionCircleIcon16Light, __assign({}, helpIconProps));
44
+ }
45
+ };
46
+ var helpIconProps = {
47
+ onMouseDown: handleHelpMouseDown,
48
+ color: theme.inputCounterHelpIconColor,
49
+ 'data-tid': InputDataTids.counterHelpIcon,
50
+ style: { cursor: 'pointer' },
51
+ };
52
+ var counterHelp = isFunction(help) ? (help()) : (React.createElement(Tooltip, { pos: 'right bottom', trigger: 'click', render: renderTooltipContent, onCloseClick: onCloseHelp, size: size }, getHelpIcon()));
53
+ var asideClassName = stylesLayout.aside();
54
+ var getCounterSizeClassName = function () {
55
+ switch (size) {
56
+ case 'large':
57
+ return stylesLayout.counterLarge(theme);
58
+ case 'medium':
59
+ return stylesLayout.counterMedium(theme);
60
+ case 'small':
61
+ default:
62
+ return stylesLayout.counterSmall(theme);
63
+ }
64
+ };
65
+ var inputValueLength = inputValue ? inputValue.length : 0;
66
+ var counterValue = length - inputValueLength;
67
+ var isNegativeValue = counterValue < 0;
68
+ return (React.createElement("span", { "data-tid": InputDataTids.counter, className: cx(asideClassName, getCounterSizeClassName(), stylesLayout.counter(theme), (_b = {},
69
+ _b[stylesLayout.counterError(theme)] = isNegativeValue,
70
+ _b)) },
71
+ isNegativeValue ? "\u2013".concat(-counterValue) : counterValue,
72
+ help && React.createElement("span", { className: stylesLayout.counterHelp(theme) }, counterHelp)));
73
+ };
74
+ //# sourceMappingURL=InputLayoutAsideCounter.js.map