@skbkontur/react-ui 0.0.0-a8f1c3e7a1 → 0.0.0-aa4659ca48

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 (1206) hide show
  1. package/CHANGELOG.md +217 -0
  2. package/README.md +7 -7
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +17 -26
  4. package/cjs/components/Autocomplete/Autocomplete.js +61 -56
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/ArrowLeftIcon.d.ts +1 -1
  7. package/cjs/components/Button/ArrowRightIcon.d.ts +1 -1
  8. package/cjs/components/Button/Button.d.ts +27 -14
  9. package/cjs/components/Button/Button.js +44 -20
  10. package/cjs/components/Button/Button.js.map +1 -1
  11. package/cjs/components/Button/Button.mixins.d.ts +0 -1
  12. package/cjs/components/Button/Button.mixins.js +2 -9
  13. package/cjs/components/Button/Button.mixins.js.map +1 -1
  14. package/cjs/components/Button/Button.styles.d.ts +3 -3
  15. package/cjs/components/Button/Button.styles.js +48 -58
  16. package/cjs/components/Button/Button.styles.js.map +1 -1
  17. package/cjs/components/Button/ButtonArrow.js +13 -14
  18. package/cjs/components/Button/ButtonArrow.js.map +1 -1
  19. package/cjs/components/Calendar/Calendar.d.ts +2 -0
  20. package/cjs/components/Calendar/Calendar.js +1 -0
  21. package/cjs/components/Calendar/Calendar.js.map +1 -1
  22. package/cjs/components/Center/Center.d.ts +2 -0
  23. package/cjs/components/Center/Center.js +1 -0
  24. package/cjs/components/Center/Center.js.map +1 -1
  25. package/cjs/components/Checkbox/Checkbox.d.ts +7 -16
  26. package/cjs/components/Checkbox/Checkbox.js +24 -54
  27. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  28. package/cjs/components/Checkbox/Checkbox.styles.d.ts +0 -3
  29. package/cjs/components/Checkbox/Checkbox.styles.js +16 -43
  30. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  31. package/cjs/components/Checkbox/CheckedIcon.d.ts +1 -1
  32. package/cjs/components/Checkbox/IndeterminateIcon.d.ts +1 -1
  33. package/cjs/components/ComboBox/ComboBox.d.ts +22 -3
  34. package/cjs/components/ComboBox/ComboBox.js +26 -1
  35. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  36. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +15 -45
  37. package/cjs/components/CurrencyInput/CurrencyInput.js +17 -55
  38. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  39. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +1 -1
  40. package/cjs/components/CurrencyInput/CursorHelper.js +5 -2
  41. package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
  42. package/cjs/components/CurrencyInput/constants.js +1 -2
  43. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  44. package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -28
  45. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  46. package/cjs/components/DateInput/CalendarIcon.d.ts +1 -1
  47. package/cjs/components/DateInput/DateInput.d.ts +5 -2
  48. package/cjs/components/DateInput/DateInput.js +7 -25
  49. package/cjs/components/DateInput/DateInput.js.map +1 -1
  50. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  51. package/cjs/components/DateInput/helpers/InternalDateMediator.js +1 -10
  52. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  53. package/cjs/components/DatePicker/DatePicker.d.ts +8 -35
  54. package/cjs/components/DatePicker/DatePicker.js +6 -60
  55. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  56. package/cjs/components/DateRangePicker/DateRangePicker.d.ts +34 -28
  57. package/cjs/components/DateRangePicker/DateRangePicker.js +24 -1
  58. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  59. package/cjs/components/DateRangePicker/DateRangePickerInput.js +2 -2
  60. package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  61. package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
  62. package/cjs/components/Dropdown/Dropdown.js +2 -82
  63. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  64. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  65. package/cjs/components/DropdownMenu/DropdownMenu.js +3 -1
  66. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  67. package/cjs/components/FileUploader/FileUploader.js +1 -0
  68. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  69. package/cjs/components/FileUploader/UploadIcon.d.ts +1 -1
  70. package/cjs/components/FxInput/FxInput.d.ts +25 -21
  71. package/cjs/components/FxInput/FxInput.js +129 -68
  72. package/cjs/components/FxInput/FxInput.js.map +1 -1
  73. package/cjs/components/FxInput/FxInputRestoreBtn.js +2 -3
  74. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  75. package/cjs/components/FxInput/MathFunctionIcon.d.ts +1 -1
  76. package/cjs/components/FxInput/UndoIcon.d.ts +1 -1
  77. package/cjs/components/Gapped/Gapped.d.ts +2 -15
  78. package/cjs/components/Gapped/Gapped.js +1 -25
  79. package/cjs/components/Gapped/Gapped.js.map +1 -1
  80. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  81. package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
  82. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  83. package/cjs/components/GlobalLoader/useParams.d.ts +2 -2
  84. package/cjs/components/Group/Group.d.ts +4 -4
  85. package/cjs/components/Group/Group.js +80 -41
  86. package/cjs/components/Group/Group.js.map +1 -1
  87. package/cjs/components/Group/Group.styles.d.ts +1 -1
  88. package/cjs/components/Group/Group.styles.js +7 -7
  89. package/cjs/components/Group/Group.styles.js.map +1 -1
  90. package/cjs/components/Hint/Hint.d.ts +2 -0
  91. package/cjs/components/Hint/Hint.js +1 -0
  92. package/cjs/components/Hint/Hint.js.map +1 -1
  93. package/cjs/components/Input/Input.d.ts +33 -66
  94. package/cjs/components/Input/Input.js +31 -181
  95. package/cjs/components/Input/Input.js.map +1 -1
  96. package/cjs/components/Input/Input.styles.d.ts +0 -7
  97. package/cjs/components/Input/Input.styles.js +14 -76
  98. package/cjs/components/Input/Input.styles.js.map +1 -1
  99. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -0
  100. package/cjs/components/Input/InputLayout/InputLayout.js +4 -2
  101. package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
  102. package/cjs/components/Kebab/Kebab.d.ts +4 -2
  103. package/cjs/components/Kebab/Kebab.js +9 -29
  104. package/cjs/components/Kebab/Kebab.js.map +1 -1
  105. package/cjs/components/Kebab/KebabIcon.d.ts +1 -1
  106. package/cjs/components/Link/Link.d.ts +12 -10
  107. package/cjs/components/Link/Link.js +11 -2
  108. package/cjs/components/Link/Link.js.map +1 -1
  109. package/cjs/components/Loader/Loader.d.ts +7 -36
  110. package/cjs/components/Loader/Loader.js +9 -59
  111. package/cjs/components/Loader/Loader.js.map +1 -1
  112. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  113. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +107 -78
  114. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  115. package/cjs/components/MaskedInput/FixedIMaskInput.js +3 -2
  116. package/cjs/components/MaskedInput/FixedIMaskInput.js.map +1 -1
  117. package/cjs/components/MaskedInput/MaskedInput.d.ts +9 -0
  118. package/cjs/components/MaskedInput/MaskedInput.js +44 -9
  119. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  120. package/cjs/components/MenuFooter/MenuFooter.d.ts +1 -1
  121. package/cjs/components/MenuFooter/MenuFooter.js +0 -1
  122. package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
  123. package/cjs/components/MenuHeader/MenuHeader.d.ts +1 -1
  124. package/cjs/components/MenuHeader/MenuHeader.js +0 -1
  125. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  126. package/cjs/components/MenuItem/MenuItem.d.ts +2 -17
  127. package/cjs/components/MenuItem/MenuItem.js +5 -34
  128. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  129. package/cjs/components/MenuItem/MenuItem.styles.d.ts +1 -2
  130. package/cjs/components/MenuItem/MenuItem.styles.js +12 -17
  131. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  132. package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -1
  133. package/cjs/components/MiniModal/MiniModal.styles.js +4 -2
  134. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
  135. package/cjs/components/MiniModal/MiniModalBody.js +10 -2
  136. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
  137. package/cjs/components/Modal/Modal.d.ts +1 -1
  138. package/cjs/components/Modal/Modal.js +2 -18
  139. package/cjs/components/Modal/Modal.js.map +1 -1
  140. package/cjs/components/Modal/Modal.styles.d.ts +8 -21
  141. package/cjs/components/Modal/Modal.styles.js +82 -168
  142. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  143. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  144. package/cjs/components/Modal/ModalBody.js +2 -6
  145. package/cjs/components/Modal/ModalBody.js.map +1 -1
  146. package/cjs/components/Modal/ModalClose.js +1 -6
  147. package/cjs/components/Modal/ModalClose.js.map +1 -1
  148. package/cjs/components/Modal/ModalFooter.js +2 -5
  149. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  150. package/cjs/components/Modal/ModalHeader.d.ts +5 -0
  151. package/cjs/components/Modal/ModalHeader.js +9 -7
  152. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  153. package/cjs/components/Paging/DotsIcon.d.ts +3 -0
  154. package/cjs/components/Paging/DotsIcon.js +13 -0
  155. package/cjs/components/Paging/DotsIcon.js.map +1 -0
  156. package/cjs/components/Paging/ForwardIcon.d.ts +4 -1
  157. package/cjs/components/Paging/ForwardIcon.js +13 -1
  158. package/cjs/components/Paging/ForwardIcon.js.map +1 -1
  159. package/cjs/components/Paging/NavigationHelper.js +5 -7
  160. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  161. package/cjs/components/Paging/Paging.d.ts +14 -3
  162. package/cjs/components/Paging/Paging.js +116 -58
  163. package/cjs/components/Paging/Paging.js.map +1 -1
  164. package/cjs/components/Paging/Paging.styles.d.ts +16 -1
  165. package/cjs/components/Paging/Paging.styles.js +123 -28
  166. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  167. package/cjs/components/Paging/PagingHelper.d.ts +1 -1
  168. package/cjs/components/Paging/PagingHelper.js +18 -11
  169. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  170. package/cjs/components/PasswordInput/ClosedIcon.d.ts +1 -1
  171. package/cjs/components/PasswordInput/OpenedIcon.d.ts +1 -1
  172. package/cjs/components/PasswordInput/PasswordInput.d.ts +10 -18
  173. package/cjs/components/PasswordInput/PasswordInput.js +22 -46
  174. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  175. package/cjs/components/Radio/Radio.d.ts +4 -1
  176. package/cjs/components/Radio/Radio.js +9 -10
  177. package/cjs/components/Radio/Radio.js.map +1 -1
  178. package/cjs/components/Radio/Radio.styles.d.ts +0 -2
  179. package/cjs/components/Radio/Radio.styles.js +19 -31
  180. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  181. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -1
  182. package/cjs/components/RadioGroup/RadioGroup.js +1 -15
  183. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  184. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +0 -1
  185. package/cjs/components/RadioGroup/RadioGroup.styles.js +5 -10
  186. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  187. package/cjs/components/ResponsiveLayout/decorator.d.ts +4 -2
  188. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +3 -14
  189. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +1 -1
  190. package/cjs/components/ScrollContainer/ScrollContainer.js +3 -19
  191. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  192. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -1
  193. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +10 -20
  194. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  195. package/cjs/components/Select/ArrowDownIcon.d.ts +1 -1
  196. package/cjs/components/Select/Select.d.ts +4 -1
  197. package/cjs/components/Select/Select.js +10 -6
  198. package/cjs/components/Select/Select.js.map +1 -1
  199. package/cjs/components/SidePage/SidePage.js +5 -12
  200. package/cjs/components/SidePage/SidePage.js.map +1 -1
  201. package/cjs/components/SidePage/SidePage.styles.d.ts +2 -7
  202. package/cjs/components/SidePage/SidePage.styles.js +41 -74
  203. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  204. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  205. package/cjs/components/SidePage/SidePageBody.js +1 -0
  206. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  207. package/cjs/components/SidePage/SidePageCloseButton.js +3 -7
  208. package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
  209. package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
  210. package/cjs/components/SidePage/SidePageContainer.js +1 -0
  211. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  212. package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
  213. package/cjs/components/SidePage/SidePageFooter.js +1 -0
  214. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  215. package/cjs/components/SidePage/SidePageHeader.d.ts +10 -7
  216. package/cjs/components/SidePage/SidePageHeader.js +31 -51
  217. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  218. package/cjs/components/SingleToast/SingleToast.d.ts +17 -4
  219. package/cjs/components/SingleToast/SingleToast.js +28 -5
  220. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  221. package/cjs/components/Spinner/Spinner.d.ts +2 -18
  222. package/cjs/components/Spinner/Spinner.js +2 -33
  223. package/cjs/components/Spinner/Spinner.js.map +1 -1
  224. package/cjs/components/Spinner/Spinner.styles.js +10 -15
  225. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  226. package/cjs/components/Sticky/Sticky.d.ts +2 -13
  227. package/cjs/components/Sticky/Sticky.js +4 -30
  228. package/cjs/components/Sticky/Sticky.js.map +1 -1
  229. package/cjs/components/Switcher/Switcher.d.ts +6 -21
  230. package/cjs/components/Switcher/Switcher.js +8 -26
  231. package/cjs/components/Switcher/Switcher.js.map +1 -1
  232. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -1
  233. package/cjs/components/Switcher/Switcher.styles.js +14 -17
  234. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  235. package/cjs/components/Tabs/Indicator.d.ts +2 -0
  236. package/cjs/components/Tabs/Indicator.js +1 -0
  237. package/cjs/components/Tabs/Indicator.js.map +1 -1
  238. package/cjs/components/Tabs/Tab.d.ts +2 -0
  239. package/cjs/components/Tabs/Tab.js +1 -0
  240. package/cjs/components/Tabs/Tab.js.map +1 -1
  241. package/cjs/components/Tabs/Tabs.d.ts +2 -0
  242. package/cjs/components/Tabs/Tabs.js +1 -0
  243. package/cjs/components/Tabs/Tabs.js.map +1 -1
  244. package/cjs/components/Textarea/Textarea.d.ts +10 -47
  245. package/cjs/components/Textarea/Textarea.js +28 -66
  246. package/cjs/components/Textarea/Textarea.js.map +1 -1
  247. package/cjs/components/Textarea/Textarea.styles.js +3 -2
  248. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  249. package/cjs/components/Textarea/TextareaCounter.js +2 -13
  250. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  251. package/cjs/components/Toast/Toast.d.ts +30 -16
  252. package/cjs/components/Toast/Toast.js +57 -52
  253. package/cjs/components/Toast/Toast.js.map +1 -1
  254. package/cjs/components/Toast/ToastView.d.ts +7 -15
  255. package/cjs/components/Toast/ToastView.js +19 -22
  256. package/cjs/components/Toast/ToastView.js.map +1 -1
  257. package/cjs/components/Toast/ToastView.styles.d.ts +4 -0
  258. package/cjs/components/Toast/ToastView.styles.js +43 -9
  259. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  260. package/cjs/components/Toggle/Toggle.d.ts +4 -11
  261. package/cjs/components/Toggle/Toggle.js +4 -14
  262. package/cjs/components/Toggle/Toggle.js.map +1 -1
  263. package/cjs/components/Token/Token.d.ts +2 -0
  264. package/cjs/components/Token/Token.js +1 -0
  265. package/cjs/components/Token/Token.js.map +1 -1
  266. package/cjs/components/TokenInput/TokenInput.d.ts +9 -3
  267. package/cjs/components/TokenInput/TokenInput.js +74 -58
  268. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  269. package/cjs/components/Tooltip/Tooltip.d.ts +14 -10
  270. package/cjs/components/Tooltip/Tooltip.js +96 -19
  271. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  272. package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
  273. package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
  274. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  275. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  276. package/cjs/components/TooltipMenu/TooltipMenu.js +4 -2
  277. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  278. package/cjs/components/__stories__/Form.js +95 -0
  279. package/cjs/components/__stories__/Form.js.map +1 -0
  280. package/cjs/index.d.ts +2 -0
  281. package/cjs/index.js +1 -0
  282. package/cjs/index.js.map +1 -1
  283. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  284. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +16 -7
  285. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  286. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  287. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +27 -9
  288. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  289. package/cjs/internal/ClearCrossIcon/CrossIcon.d.ts +1 -1
  290. package/cjs/internal/CloseButtonIcon/CrossIcon.d.ts +1 -1
  291. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  292. package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
  293. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  294. package/cjs/internal/CommonWrapper/types.d.ts +1 -1
  295. package/cjs/internal/CommonWrapper/types.js.map +1 -1
  296. package/cjs/internal/ComponentTable.js +2 -3
  297. package/cjs/internal/ComponentTable.js.map +1 -1
  298. package/cjs/internal/CustomComboBox/ArrowDownIcon.d.ts +1 -1
  299. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +1 -1
  300. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  301. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
  302. package/cjs/internal/CustomComboBox/ComboBoxView.js +48 -6
  303. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  304. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +12 -6
  305. package/cjs/internal/CustomComboBox/CustomComboBox.js +12 -10
  306. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  307. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +0 -1
  308. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +18 -24
  309. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  310. package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
  311. package/cjs/internal/DateSelect/DateSelect.js +2 -19
  312. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  313. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +2 -2
  314. package/cjs/internal/FileUploaderControl/FileUploaderFile/DeleteIcon.d.ts +1 -1
  315. package/cjs/internal/FileUploaderControl/FileUploaderFile/ErrorIcon.d.ts +1 -1
  316. package/cjs/internal/FileUploaderControl/FileUploaderFile/OkIcon.d.ts +1 -1
  317. package/cjs/internal/FocusControlWrapper/FocusControlWrapper.stories.d.ts +3 -2
  318. package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
  319. package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
  320. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  321. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +1 -1
  322. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
  323. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  324. package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -13
  325. package/cjs/internal/InputLikeText/InputLikeText.js +17 -111
  326. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  327. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  328. package/cjs/internal/InputLikeText/InputLikeText.styles.js +12 -4
  329. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  330. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
  331. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +235 -0
  332. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  333. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  334. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +10 -0
  335. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
  336. package/cjs/internal/Menu/Menu.d.ts +4 -3
  337. package/cjs/internal/Menu/Menu.js +4 -10
  338. package/cjs/internal/Menu/Menu.js.map +1 -1
  339. package/cjs/internal/Menu/Menu.styles.d.ts +0 -2
  340. package/cjs/internal/Menu/Menu.styles.js +9 -23
  341. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  342. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
  343. package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
  344. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  345. package/cjs/internal/Popup/Popup.d.ts +41 -61
  346. package/cjs/internal/Popup/Popup.js +58 -118
  347. package/cjs/internal/Popup/Popup.js.map +1 -1
  348. package/cjs/internal/Popup/PopupPin.d.ts +16 -42
  349. package/cjs/internal/Popup/PopupPin.js +130 -224
  350. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  351. package/cjs/internal/Popup/PopupPin.styles.d.ts +5 -1
  352. package/cjs/internal/Popup/PopupPin.styles.js +25 -3
  353. package/cjs/internal/Popup/PopupPin.styles.js.map +1 -1
  354. package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
  355. package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
  356. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  357. package/cjs/internal/PopupMenu/validatePositions.js +5 -2
  358. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  359. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  360. package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
  361. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  362. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
  363. package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
  364. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  365. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  366. package/cjs/internal/ResizeDetector/ResizeDetector.js +8 -1
  367. package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  368. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +1 -0
  369. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js +7 -1
  370. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
  371. package/cjs/internal/SpinnerIcon/SpinnerIcon.d.ts +1 -2
  372. package/cjs/internal/SpinnerIcon/SpinnerIcon.js +1 -55
  373. package/cjs/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
  374. package/cjs/internal/ThemePlayground/HintPlayground.js +7 -4
  375. package/cjs/internal/ThemePlayground/HintPlayground.js.map +1 -1
  376. package/cjs/internal/ThemePlayground/Playground.js +5 -1
  377. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  378. package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
  379. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  380. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
  381. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  382. package/cjs/internal/ThemePlayground/helpers.d.ts +1 -1
  383. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  384. package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
  385. package/cjs/internal/ZIndex/ZIndex.js +5 -1
  386. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  387. package/cjs/internal/icons2022/LoadingIcon.d.ts +1 -1
  388. package/cjs/internal/icons2022/LoadingIcon.js +0 -1
  389. package/cjs/internal/icons2022/LoadingIcon.js.map +1 -1
  390. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  391. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
  392. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
  393. package/cjs/internal/icons2022/iconSizer.d.ts +1 -1
  394. package/cjs/internal/themes/BasicTheme.d.ts +86 -57
  395. package/cjs/internal/themes/BasicTheme.js +144 -67
  396. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  397. package/cjs/internal/themes/DarkTheme6_0.d.ts +1 -0
  398. package/cjs/internal/themes/DarkTheme6_0.js +575 -0
  399. package/cjs/internal/themes/DarkTheme6_0.js.map +1 -0
  400. package/cjs/internal/themes/LightTheme6_0.d.ts +1 -0
  401. package/cjs/internal/themes/{LightTheme5_0.js → LightTheme6_0.js} +4 -4
  402. package/cjs/internal/themes/{LightTheme5_0.js.map → LightTheme6_0.js.map} +1 -1
  403. package/cjs/lib/blink.d.ts +15 -0
  404. package/cjs/lib/blink.js +65 -0
  405. package/cjs/lib/blink.js.map +1 -0
  406. package/cjs/lib/client.d.ts +0 -2
  407. package/cjs/lib/client.js +1 -3
  408. package/cjs/lib/client.js.map +1 -1
  409. package/cjs/lib/createPropsGetter.d.ts +1 -1
  410. package/cjs/lib/currentEnvironment.js +0 -1
  411. package/cjs/lib/currentEnvironment.js.map +1 -1
  412. package/cjs/lib/date/InternalDate.js +5 -4
  413. package/cjs/lib/date/InternalDate.js.map +1 -1
  414. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  415. package/cjs/lib/date/InternalDateGetter.js +2 -2
  416. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  417. package/cjs/lib/delay.mts +3 -0
  418. package/cjs/lib/dom/getDOMRect.d.ts +1 -1
  419. package/cjs/lib/dom/getScrollWidth.js +4 -2
  420. package/cjs/lib/dom/getScrollWidth.js.map +1 -1
  421. package/cjs/lib/events/MouseDrag.js +1 -7
  422. package/cjs/lib/events/MouseDrag.js.map +1 -1
  423. package/cjs/lib/events/keyboard/identifiers.js +2 -10
  424. package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
  425. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -7
  426. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +0 -5
  427. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +1 -13
  428. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  429. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  430. package/cjs/lib/forwardRefAndName.js +0 -1
  431. package/cjs/lib/forwardRefAndName.js.map +1 -1
  432. package/cjs/lib/listenFocusOutside.js +3 -1
  433. package/cjs/lib/listenFocusOutside.js.map +1 -1
  434. package/cjs/lib/locale/decorators.d.ts +3 -2
  435. package/cjs/lib/needsPolyfillPlaceholder.js +1 -3
  436. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -1
  437. package/cjs/lib/rootNode/getRootNode.js +2 -2
  438. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  439. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +3 -2
  440. package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
  441. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  442. package/cjs/lib/size/SizeControlContext.d.ts +6 -0
  443. package/cjs/lib/size/SizeControlContext.js +16 -0
  444. package/cjs/lib/size/SizeControlContext.js.map +1 -0
  445. package/cjs/lib/size/SizeDecorator.d.ts +33 -0
  446. package/cjs/lib/size/SizeDecorator.js +41 -0
  447. package/cjs/lib/size/SizeDecorator.js.map +1 -0
  448. package/cjs/lib/size/constants.d.ts +2 -0
  449. package/cjs/lib/size/constants.js +3 -0
  450. package/cjs/lib/size/constants.js.map +1 -0
  451. package/cjs/lib/size/index.d.ts +1 -0
  452. package/cjs/lib/size/index.js +1 -0
  453. package/cjs/lib/size/index.js.map +1 -0
  454. package/cjs/lib/size/useSizeControl.d.ts +2 -0
  455. package/cjs/lib/size/useSizeControl.js +10 -0
  456. package/cjs/lib/size/useSizeControl.js.map +1 -0
  457. package/cjs/lib/styles/Mixins.js +1 -3
  458. package/cjs/lib/styles/Mixins.js.map +1 -1
  459. package/cjs/lib/theming/Emotion.d.ts +7 -7
  460. package/cjs/lib/theming/ThemeHelpers.js +1 -1
  461. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  462. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  463. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  464. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -3
  465. package/cjs/lib/theming/themes/DarkTheme.js +3 -7
  466. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  467. package/cjs/lib/theming/themes/LightTheme.d.ts +1 -3
  468. package/cjs/lib/theming/themes/LightTheme.js +3 -7
  469. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  470. package/cjs/lib/typeGuards.js +1 -1
  471. package/cjs/lib/typeGuards.js.map +1 -1
  472. package/cjs/lib/utils.d.ts +20 -5
  473. package/cjs/lib/utils.js +39 -16
  474. package/cjs/lib/utils.js.map +1 -1
  475. package/cjs/lib/withClassWrapper.js +5 -2
  476. package/cjs/lib/withClassWrapper.js.map +1 -1
  477. package/cjs/test-setup.d.ts +1 -0
  478. package/cjs/vitest.config.d.ts +2 -0
  479. package/components/Autocomplete/Autocomplete/Autocomplete.js +49 -47
  480. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  481. package/components/Autocomplete/Autocomplete.d.ts +17 -26
  482. package/components/Button/ArrowLeftIcon.d.ts +1 -1
  483. package/components/Button/ArrowRightIcon.d.ts +1 -1
  484. package/components/Button/Button/Button.js +45 -27
  485. package/components/Button/Button/Button.js.map +1 -1
  486. package/components/Button/Button.d.ts +27 -14
  487. package/components/Button/Button.mixins/Button.mixins.js +1 -4
  488. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  489. package/components/Button/Button.mixins.d.ts +0 -1
  490. package/components/Button/Button.styles/Button.styles.js +29 -29
  491. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  492. package/components/Button/Button.styles.d.ts +3 -3
  493. package/components/Button/ButtonArrow/ButtonArrow.js +1 -3
  494. package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
  495. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  496. package/components/Calendar/Calendar.d.ts +2 -0
  497. package/components/Center/Center/Center.js.map +1 -1
  498. package/components/Center/Center.d.ts +2 -0
  499. package/components/Checkbox/Checkbox/Checkbox.js +17 -43
  500. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  501. package/components/Checkbox/Checkbox.d.ts +7 -16
  502. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +16 -25
  503. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  504. package/components/Checkbox/Checkbox.styles.d.ts +0 -3
  505. package/components/Checkbox/CheckedIcon.d.ts +1 -1
  506. package/components/Checkbox/IndeterminateIcon.d.ts +1 -1
  507. package/components/ComboBox/ComboBox/ComboBox.js +2 -1
  508. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  509. package/components/ComboBox/ComboBox.d.ts +22 -3
  510. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +20 -61
  511. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  512. package/components/CurrencyInput/CurrencyInput.d.ts +15 -45
  513. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +1 -1
  514. package/components/CurrencyInput/CursorHelper/CursorHelper.js +3 -1
  515. package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
  516. package/components/CurrencyInput/constants/constants.js +0 -1
  517. package/components/CurrencyInput/constants/constants.js.map +1 -1
  518. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
  519. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  520. package/components/DateInput/CalendarIcon.d.ts +1 -1
  521. package/components/DateInput/DateInput/DateInput.js +14 -24
  522. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  523. package/components/DateInput/DateInput.d.ts +5 -2
  524. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
  525. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  526. package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  527. package/components/DatePicker/DatePicker/DatePicker.js +1 -32
  528. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  529. package/components/DatePicker/DatePicker.d.ts +8 -35
  530. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +14 -1
  531. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  532. package/components/DateRangePicker/DateRangePicker.d.ts +34 -28
  533. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +2 -2
  534. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
  535. package/components/Dropdown/Dropdown/Dropdown.js +1 -47
  536. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  537. package/components/Dropdown/Dropdown.d.ts +2 -47
  538. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +4 -3
  539. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  540. package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  541. package/components/FileUploader/FileUploader/FileUploader.js +1 -0
  542. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  543. package/components/FileUploader/UploadIcon.d.ts +1 -1
  544. package/components/FxInput/FxInput/FxInput.js +112 -72
  545. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  546. package/components/FxInput/FxInput.d.ts +25 -21
  547. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js +2 -2
  548. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
  549. package/components/FxInput/MathFunctionIcon.d.ts +1 -1
  550. package/components/FxInput/UndoIcon.d.ts +1 -1
  551. package/components/Gapped/Gapped/Gapped.js +1 -16
  552. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  553. package/components/Gapped/Gapped.d.ts +2 -15
  554. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  555. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  556. package/components/GlobalLoader/useParams.d.ts +2 -2
  557. package/components/Group/Group/Group.js +68 -37
  558. package/components/Group/Group/Group.js.map +1 -1
  559. package/components/Group/Group.d.ts +4 -4
  560. package/components/Group/Group.styles/Group.styles.js +5 -5
  561. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  562. package/components/Group/Group.styles.d.ts +1 -1
  563. package/components/Hint/Hint/Hint.js.map +1 -1
  564. package/components/Hint/Hint.d.ts +2 -0
  565. package/components/Input/Input/Input.js +42 -166
  566. package/components/Input/Input/Input.js.map +1 -1
  567. package/components/Input/Input.d.ts +33 -66
  568. package/components/Input/Input.styles/Input.styles.js +15 -37
  569. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  570. package/components/Input/Input.styles.d.ts +0 -7
  571. package/components/Input/InputLayout/InputLayout/InputLayout.js +5 -2
  572. package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
  573. package/components/Input/InputLayout/InputLayout.d.ts +1 -0
  574. package/components/Kebab/Kebab/Kebab.js +8 -26
  575. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  576. package/components/Kebab/Kebab.d.ts +4 -2
  577. package/components/Kebab/KebabIcon.d.ts +1 -1
  578. package/components/Link/Link/Link.js +5 -2
  579. package/components/Link/Link/Link.js.map +1 -1
  580. package/components/Link/Link.d.ts +12 -10
  581. package/components/Loader/Loader/Loader.js +4 -37
  582. package/components/Loader/Loader/Loader.js.map +1 -1
  583. package/components/Loader/Loader.d.ts +7 -36
  584. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js +81 -66
  585. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js.map +1 -1
  586. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  587. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js +3 -2
  588. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js.map +1 -1
  589. package/components/MaskedInput/MaskedInput/MaskedInput.js +29 -7
  590. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  591. package/components/MaskedInput/MaskedInput.d.ts +9 -0
  592. package/components/MenuFooter/MenuFooter/MenuFooter.js +0 -2
  593. package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
  594. package/components/MenuFooter/MenuFooter.d.ts +1 -1
  595. package/components/MenuHeader/MenuHeader/MenuHeader.js +0 -2
  596. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  597. package/components/MenuHeader/MenuHeader.d.ts +1 -1
  598. package/components/MenuItem/MenuItem/MenuItem.js +3 -17
  599. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  600. package/components/MenuItem/MenuItem.d.ts +2 -17
  601. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +12 -15
  602. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  603. package/components/MenuItem/MenuItem.styles.d.ts +1 -2
  604. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +2 -2
  605. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
  606. package/components/MiniModal/MiniModal.styles.d.ts +1 -1
  607. package/components/MiniModal/MiniModalBody/MiniModalBody.js +11 -5
  608. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
  609. package/components/Modal/Modal/Modal.js +8 -16
  610. package/components/Modal/Modal/Modal.js.map +1 -1
  611. package/components/Modal/Modal.d.ts +1 -1
  612. package/components/Modal/Modal.styles/Modal.styles.js +55 -95
  613. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  614. package/components/Modal/Modal.styles.d.ts +8 -21
  615. package/components/Modal/ModalBody/ModalBody.js +1 -3
  616. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  617. package/components/Modal/ModalBody.d.ts +2 -0
  618. package/components/Modal/ModalClose/ModalClose.js +1 -3
  619. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  620. package/components/Modal/ModalFooter/ModalFooter.js +2 -4
  621. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  622. package/components/Modal/ModalHeader/ModalHeader.js +4 -4
  623. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  624. package/components/Modal/ModalHeader.d.ts +5 -0
  625. package/components/Paging/DotsIcon/DotsIcon.js +14 -0
  626. package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
  627. package/components/Paging/DotsIcon/package.json +6 -0
  628. package/components/Paging/DotsIcon.d.ts +3 -0
  629. package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
  630. package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
  631. package/components/Paging/ForwardIcon.d.ts +4 -1
  632. package/components/Paging/NavigationHelper/NavigationHelper.js +4 -7
  633. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  634. package/components/Paging/Paging/Paging.js +89 -57
  635. package/components/Paging/Paging/Paging.js.map +1 -1
  636. package/components/Paging/Paging.d.ts +14 -3
  637. package/components/Paging/Paging.styles/Paging.styles.js +61 -16
  638. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  639. package/components/Paging/Paging.styles.d.ts +16 -1
  640. package/components/Paging/PagingHelper/PagingHelper.js +16 -8
  641. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  642. package/components/Paging/PagingHelper.d.ts +1 -1
  643. package/components/PasswordInput/ClosedIcon.d.ts +1 -1
  644. package/components/PasswordInput/OpenedIcon.d.ts +1 -1
  645. package/components/PasswordInput/PasswordInput/PasswordInput.js +17 -37
  646. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  647. package/components/PasswordInput/PasswordInput.d.ts +10 -18
  648. package/components/Radio/Radio/Radio.js +10 -11
  649. package/components/Radio/Radio/Radio.js.map +1 -1
  650. package/components/Radio/Radio.d.ts +4 -1
  651. package/components/Radio/Radio.styles/Radio.styles.js +19 -25
  652. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  653. package/components/Radio/Radio.styles.d.ts +0 -2
  654. package/components/RadioGroup/RadioGroup/RadioGroup.js +18 -23
  655. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  656. package/components/RadioGroup/RadioGroup.d.ts +2 -1
  657. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +5 -8
  658. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  659. package/components/RadioGroup/RadioGroup.styles.d.ts +0 -1
  660. package/components/ResponsiveLayout/decorator.d.ts +4 -2
  661. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +2 -15
  662. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  663. package/components/ScrollContainer/ScrollContainer.d.ts +3 -14
  664. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +1 -1
  665. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +10 -13
  666. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  667. package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -1
  668. package/components/Select/ArrowDownIcon.d.ts +1 -1
  669. package/components/Select/Select/Select.js +14 -13
  670. package/components/Select/Select/Select.js.map +1 -1
  671. package/components/Select/Select.d.ts +4 -1
  672. package/components/SidePage/SidePage/SidePage.js +6 -11
  673. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  674. package/components/SidePage/SidePage.styles/SidePage.styles.js +27 -43
  675. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  676. package/components/SidePage/SidePage.styles.d.ts +2 -7
  677. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  678. package/components/SidePage/SidePageBody.d.ts +2 -0
  679. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +1 -3
  680. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
  681. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  682. package/components/SidePage/SidePageContainer.d.ts +2 -0
  683. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  684. package/components/SidePage/SidePageFooter.d.ts +2 -0
  685. package/components/SidePage/SidePageHeader/SidePageHeader.js +32 -65
  686. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  687. package/components/SidePage/SidePageHeader.d.ts +10 -7
  688. package/components/SingleToast/SingleToast/SingleToast.js +23 -14
  689. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  690. package/components/SingleToast/SingleToast.d.ts +17 -4
  691. package/components/Spinner/Spinner/Spinner.js +1 -19
  692. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  693. package/components/Spinner/Spinner.d.ts +2 -18
  694. package/components/Spinner/Spinner.styles/Spinner.styles.js +2 -3
  695. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  696. package/components/Sticky/Sticky/Sticky.js +6 -21
  697. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  698. package/components/Sticky/Sticky.d.ts +2 -13
  699. package/components/Switcher/Switcher/Switcher.js +14 -22
  700. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  701. package/components/Switcher/Switcher.d.ts +6 -21
  702. package/components/Switcher/Switcher.styles/Switcher.styles.js +9 -11
  703. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  704. package/components/Switcher/Switcher.styles.d.ts +1 -1
  705. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  706. package/components/Tabs/Indicator.d.ts +2 -0
  707. package/components/Tabs/Tab/Tab.js.map +1 -1
  708. package/components/Tabs/Tab.d.ts +2 -0
  709. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  710. package/components/Tabs/Tabs.d.ts +2 -0
  711. package/components/Textarea/Textarea/Textarea.js +26 -60
  712. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  713. package/components/Textarea/Textarea.d.ts +10 -47
  714. package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
  715. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  716. package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
  717. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  718. package/components/Toast/Toast/Toast.js +46 -41
  719. package/components/Toast/Toast/Toast.js.map +1 -1
  720. package/components/Toast/Toast.d.ts +30 -16
  721. package/components/Toast/ToastView/ToastView.js +20 -22
  722. package/components/Toast/ToastView/ToastView.js.map +1 -1
  723. package/components/Toast/ToastView.d.ts +7 -15
  724. package/components/Toast/ToastView.styles/ToastView.styles.js +17 -5
  725. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  726. package/components/Toast/ToastView.styles.d.ts +4 -0
  727. package/components/Toggle/Toggle/Toggle.js +11 -20
  728. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  729. package/components/Toggle/Toggle.d.ts +4 -11
  730. package/components/Token/Token/Token.js.map +1 -1
  731. package/components/Token/Token.d.ts +2 -0
  732. package/components/TokenInput/TokenInput/TokenInput.js +106 -88
  733. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  734. package/components/TokenInput/TokenInput.d.ts +9 -3
  735. package/components/Tooltip/Tooltip/Tooltip.js +96 -48
  736. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  737. package/components/Tooltip/Tooltip.d.ts +14 -10
  738. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
  739. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  740. package/components/Tooltip/Tooltip.styles.d.ts +7 -1
  741. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +4 -3
  742. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  743. package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  744. package/components/__stories__/Form/Form.js +98 -0
  745. package/components/__stories__/Form/Form.js.map +1 -0
  746. package/components/__stories__/Form/package.json +6 -0
  747. package/index.d.ts +2 -0
  748. package/index.js +2 -0
  749. package/index.js.map +1 -1
  750. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +21 -7
  751. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  752. package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  753. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +14 -5
  754. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
  755. package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  756. package/internal/ClearCrossIcon/CrossIcon.d.ts +1 -1
  757. package/internal/CloseButtonIcon/CrossIcon.d.ts +1 -1
  758. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  759. package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  760. package/internal/CommonWrapper/types/types.js.map +1 -1
  761. package/internal/CommonWrapper/types.d.ts +1 -1
  762. package/internal/ComponentTable/ComponentTable.js +0 -2
  763. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  764. package/internal/CustomComboBox/ArrowDownIcon.d.ts +1 -1
  765. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +0 -1
  766. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  767. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +69 -40
  768. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  769. package/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
  770. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +18 -19
  771. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  772. package/internal/CustomComboBox/CustomComboBox.d.ts +12 -6
  773. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +18 -23
  774. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  775. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +0 -1
  776. package/internal/DateSelect/DateSelect/DateSelect.js +2 -11
  777. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  778. package/internal/DateSelect/DateSelect.d.ts +0 -10
  779. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +2 -2
  780. package/internal/FileUploaderControl/FileUploaderFile/DeleteIcon.d.ts +1 -1
  781. package/internal/FileUploaderControl/FileUploaderFile/ErrorIcon.d.ts +1 -1
  782. package/internal/FileUploaderControl/FileUploaderFile/OkIcon.d.ts +1 -1
  783. package/internal/FocusControlWrapper/FocusControlWrapper.stories.d.ts +3 -2
  784. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  785. package/internal/FocusTrap/FocusTrap.d.ts +2 -0
  786. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  787. package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +1 -1
  788. package/internal/InputLikeText/InputLikeText/InputLikeText.js +22 -115
  789. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  790. package/internal/InputLikeText/InputLikeText.d.ts +4 -13
  791. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +7 -4
  792. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  793. package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  794. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +249 -0
  795. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  796. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/package.json +6 -0
  797. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
  798. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js +8 -0
  799. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js.map +1 -0
  800. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/package.json +6 -0
  801. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  802. package/internal/Menu/Menu/Menu.js +2 -5
  803. package/internal/Menu/Menu/Menu.js.map +1 -1
  804. package/internal/Menu/Menu.d.ts +4 -3
  805. package/internal/Menu/Menu.styles/Menu.styles.js +9 -15
  806. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  807. package/internal/Menu/Menu.styles.d.ts +0 -2
  808. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  809. package/internal/MobilePopup/MobilePopup.d.ts +2 -0
  810. package/internal/Popup/Popup/Popup.js +29 -94
  811. package/internal/Popup/Popup/Popup.js.map +1 -1
  812. package/internal/Popup/Popup.d.ts +41 -61
  813. package/internal/Popup/PopupPin/PopupPin.js +115 -172
  814. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  815. package/internal/Popup/PopupPin.d.ts +16 -42
  816. package/internal/Popup/PopupPin.styles/PopupPin.styles.js +15 -3
  817. package/internal/Popup/PopupPin.styles/PopupPin.styles.js.map +1 -1
  818. package/internal/Popup/PopupPin.styles.d.ts +5 -1
  819. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  820. package/internal/PopupMenu/PopupMenu.d.ts +2 -0
  821. package/internal/PopupMenu/validatePositions/validatePositions.js +3 -1
  822. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  823. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
  824. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  825. package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  826. package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
  827. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  828. package/internal/RenderLayer/RenderLayer.d.ts +2 -3
  829. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js +1 -1
  830. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
  831. package/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  832. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js +4 -1
  833. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js.map +1 -1
  834. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +1 -0
  835. package/internal/SpinnerIcon/SpinnerIcon/SpinnerIcon.js +0 -41
  836. package/internal/SpinnerIcon/SpinnerIcon/SpinnerIcon.js.map +1 -1
  837. package/internal/SpinnerIcon/SpinnerIcon.d.ts +1 -2
  838. package/internal/ThemePlayground/HintPlayground/HintPlayground.js +10 -8
  839. package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +1 -1
  840. package/internal/ThemePlayground/Playground/Playground.js +8 -5
  841. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  842. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
  843. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  844. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
  845. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  846. package/internal/ThemePlayground/helpers.d.ts +1 -1
  847. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  848. package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
  849. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  850. package/internal/ZIndex/ZIndex.d.ts +3 -3
  851. package/internal/icons2022/LoadingIcon/LoadingIcon.js +0 -1
  852. package/internal/icons2022/LoadingIcon/LoadingIcon.js.map +1 -1
  853. package/internal/icons2022/LoadingIcon.d.ts +1 -1
  854. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
  855. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
  856. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
  857. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  858. package/internal/icons2022/iconSizer.d.ts +1 -1
  859. package/internal/themes/BasicTheme/BasicTheme.js +176 -103
  860. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  861. package/internal/themes/BasicTheme.d.ts +86 -57
  862. package/internal/themes/DarkTheme6_0/DarkTheme6_0.js +409 -0
  863. package/internal/themes/DarkTheme6_0/DarkTheme6_0.js.map +1 -0
  864. package/internal/themes/DarkTheme6_0/package.json +6 -0
  865. package/internal/themes/DarkTheme6_0.d.ts +1 -0
  866. package/internal/themes/{LightTheme5_0/LightTheme5_0.js → LightTheme6_0/LightTheme6_0.js} +5 -5
  867. package/internal/themes/{LightTheme5_0/LightTheme5_0.js.map → LightTheme6_0/LightTheme6_0.js.map} +1 -1
  868. package/internal/themes/LightTheme6_0/package.json +6 -0
  869. package/internal/themes/LightTheme6_0.d.ts +1 -0
  870. package/lib/blink/blink.js +63 -0
  871. package/lib/blink/blink.js.map +1 -0
  872. package/lib/blink/package.json +6 -0
  873. package/lib/blink.d.ts +15 -0
  874. package/lib/client/client.js +0 -2
  875. package/lib/client/client.js.map +1 -1
  876. package/lib/client.d.ts +0 -2
  877. package/lib/createPropsGetter.d.ts +1 -1
  878. package/lib/currentEnvironment/currentEnvironment.js +2 -3
  879. package/lib/currentEnvironment/currentEnvironment.js.map +1 -1
  880. package/lib/date/InternalDate/InternalDate.js +5 -4
  881. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  882. package/lib/date/InternalDateGetter/InternalDateGetter.js +2 -2
  883. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  884. package/lib/date/InternalDateGetter.d.ts +1 -1
  885. package/lib/delay.d.mts +1 -0
  886. package/lib/delay.mts +3 -0
  887. package/lib/dom/getDOMRect.d.ts +1 -1
  888. package/lib/dom/getScrollWidth/getScrollWidth.js +3 -1
  889. package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
  890. package/lib/events/MouseDrag/MouseDrag.js +0 -7
  891. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  892. package/lib/events/keyboard/identifiers/identifiers.js +1 -10
  893. package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
  894. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -7
  895. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +1 -7
  896. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  897. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +0 -5
  898. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  899. package/lib/forwardRefAndName.d.ts +1 -1
  900. package/lib/listenFocusOutside/listenFocusOutside.js +3 -1
  901. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  902. package/lib/locale/decorators.d.ts +3 -2
  903. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +1 -2
  904. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -1
  905. package/lib/rootNode/getRootNode/getRootNode.js +1 -1
  906. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  907. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  908. package/lib/rootNode/rootNodeDecorator.d.ts +3 -2
  909. package/lib/size/SizeControlContext/SizeControlContext.js +7 -0
  910. package/lib/size/SizeControlContext/SizeControlContext.js.map +1 -0
  911. package/lib/size/SizeControlContext/package.json +6 -0
  912. package/lib/size/SizeControlContext.d.ts +6 -0
  913. package/lib/size/SizeDecorator/SizeDecorator.js +41 -0
  914. package/lib/size/SizeDecorator/SizeDecorator.js.map +1 -0
  915. package/lib/size/SizeDecorator/package.json +6 -0
  916. package/lib/size/SizeDecorator.d.ts +33 -0
  917. package/lib/size/constants/constants.js +1 -0
  918. package/lib/size/constants/constants.js.map +1 -0
  919. package/lib/size/constants/package.json +6 -0
  920. package/lib/size/constants.d.ts +2 -0
  921. package/lib/size/index/index.js +1 -0
  922. package/lib/size/index/index.js.map +1 -0
  923. package/{internal/InternalMaskedInput → lib/size}/index/package.json +1 -1
  924. package/lib/size/index.d.ts +1 -0
  925. package/{internal/InternalMaskedInput → lib/size}/package.json +1 -1
  926. package/lib/size/useSizeControl/package.json +6 -0
  927. package/lib/size/useSizeControl/useSizeControl.js +7 -0
  928. package/lib/size/useSizeControl/useSizeControl.js.map +1 -0
  929. package/lib/size/useSizeControl.d.ts +2 -0
  930. package/lib/styles/Mixins/Mixins.js +1 -1
  931. package/lib/styles/Mixins/Mixins.js.map +1 -1
  932. package/lib/theming/Emotion.d.ts +7 -7
  933. package/lib/theming/ThemeHelpers/ThemeHelpers.js +1 -1
  934. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  935. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  936. package/lib/theming/ThemeVersions.d.ts +1 -1
  937. package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -7
  938. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  939. package/lib/theming/themes/DarkTheme.d.ts +1 -3
  940. package/lib/theming/themes/LightTheme/LightTheme.js +3 -7
  941. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  942. package/lib/theming/themes/LightTheme.d.ts +1 -3
  943. package/lib/typeGuards/typeGuards.js +1 -1
  944. package/lib/typeGuards/typeGuards.js.map +1 -1
  945. package/lib/utils/utils.js +32 -14
  946. package/lib/utils/utils.js.map +1 -1
  947. package/lib/utils.d.ts +20 -5
  948. package/lib/withClassWrapper/withClassWrapper.js +3 -1
  949. package/lib/withClassWrapper/withClassWrapper.js.map +1 -1
  950. package/package.json +23 -39
  951. package/test-setup.d.ts +1 -0
  952. package/vitest.config.d.ts +2 -0
  953. package/cjs/components/Autocomplete/Autocomplete.md +0 -113
  954. package/cjs/components/Button/Button.md +0 -261
  955. package/cjs/components/Calendar/Calendar.md +0 -276
  956. package/cjs/components/Calendar/CalendarDay.md +0 -70
  957. package/cjs/components/Center/Center.md +0 -26
  958. package/cjs/components/Checkbox/Checkbox.md +0 -171
  959. package/cjs/components/ComboBox/ComboBox.md +0 -574
  960. package/cjs/components/CurrencyInput/CurrencyInput.md +0 -39
  961. package/cjs/components/CurrencyLabel/CurrencyLabel.md +0 -29
  962. package/cjs/components/DateInput/DateInput.md +0 -111
  963. package/cjs/components/DatePicker/DatePicker.md +0 -368
  964. package/cjs/components/Dropdown/Dropdown.md +0 -45
  965. package/cjs/components/DropdownMenu/DropdownMenu.md +0 -290
  966. package/cjs/components/FileUploader/FileUploader.md +0 -131
  967. package/cjs/components/FxInput/FxInput.md +0 -31
  968. package/cjs/components/Gapped/Gapped.md +0 -44
  969. package/cjs/components/GlobalLoader/GlobalLoader.md +0 -97
  970. package/cjs/components/Group/Group.md +0 -19
  971. package/cjs/components/Hint/Hint.md +0 -86
  972. package/cjs/components/Input/Input.md +0 -86
  973. package/cjs/components/Input/InputLayout/PolyfillPlaceholder.d.ts +0 -10
  974. package/cjs/components/Input/InputLayout/PolyfillPlaceholder.js +0 -46
  975. package/cjs/components/Input/InputLayout/PolyfillPlaceholder.js.map +0 -1
  976. package/cjs/components/Kebab/Kebab.md +0 -306
  977. package/cjs/components/Link/Link.md +0 -182
  978. package/cjs/components/Loader/Loader.md +0 -33
  979. package/cjs/components/MaskedInput/MaskedInput.md +0 -114
  980. package/cjs/components/MenuFooter/MenuFooter.md +0 -27
  981. package/cjs/components/MenuHeader/MenuHeader.md +0 -35
  982. package/cjs/components/MenuItem/MenuItem.md +0 -139
  983. package/cjs/components/MenuSeparator/MenuSeparator.md +0 -14
  984. package/cjs/components/MiniModal/MiniModal.md +0 -231
  985. package/cjs/components/Modal/Modal.md +0 -56
  986. package/cjs/components/Paging/Paging.md +0 -57
  987. package/cjs/components/PasswordInput/PasswordInput.md +0 -29
  988. package/cjs/components/Radio/Radio.md +0 -57
  989. package/cjs/components/RadioGroup/RadioGroup.md +0 -44
  990. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  991. package/cjs/components/ScrollContainer/ScrollContainer.md +0 -224
  992. package/cjs/components/Select/Select.md +0 -113
  993. package/cjs/components/SidePage/SidePage.md +0 -65
  994. package/cjs/components/SingleToast/SingleToast.md +0 -36
  995. package/cjs/components/Spinner/Spinner.md +0 -36
  996. package/cjs/components/Spinner/SpinnerFallbackAnimation.d.ts +0 -25
  997. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +0 -197
  998. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +0 -1
  999. package/cjs/components/Sticky/Sticky.md +0 -28
  1000. package/cjs/components/Switcher/Switcher.md +0 -111
  1001. package/cjs/components/Tabs/Tab.md +0 -73
  1002. package/cjs/components/Tabs/Tabs.md +0 -54
  1003. package/cjs/components/Textarea/Textarea.md +0 -58
  1004. package/cjs/components/Toast/Toast.md +0 -69
  1005. package/cjs/components/Toast/ToastStatic.d.ts +0 -10
  1006. package/cjs/components/Toast/ToastStatic.js +0 -53
  1007. package/cjs/components/Toast/ToastStatic.js.map +0 -1
  1008. package/cjs/components/Toggle/Toggle.md +0 -110
  1009. package/cjs/components/Token/Token.md +0 -48
  1010. package/cjs/components/TokenInput/TokenInput.md +0 -277
  1011. package/cjs/components/Tooltip/Tooltip.md +0 -322
  1012. package/cjs/components/TooltipMenu/TooltipMenu.md +0 -241
  1013. package/cjs/internal/DataTids/DATATIDS.md +0 -12
  1014. package/cjs/internal/DataTids/DataTids.d.ts +0 -12
  1015. package/cjs/internal/DataTids/DataTids.js +0 -50
  1016. package/cjs/internal/DataTids/DataTids.js.map +0 -1
  1017. package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
  1018. package/cjs/internal/DataTids/DataTids.styles.js +0 -42
  1019. package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
  1020. package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
  1021. package/cjs/internal/DataTids/componentsDataTids.js +0 -15
  1022. package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
  1023. package/cjs/internal/InputLikeText/HiddenInput.d.ts +0 -13
  1024. package/cjs/internal/InputLikeText/HiddenInput.js +0 -43
  1025. package/cjs/internal/InputLikeText/HiddenInput.js.map +0 -1
  1026. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.d.ts +0 -50
  1027. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js +0 -241
  1028. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +0 -1
  1029. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.d.ts +0 -6
  1030. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.js +0 -30
  1031. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.js.map +0 -1
  1032. package/cjs/internal/InternalMaskedInput/index.d.ts +0 -1
  1033. package/cjs/internal/InternalMaskedInput/index.js +0 -1
  1034. package/cjs/internal/InternalMaskedInput/index.js.map +0 -1
  1035. package/cjs/internal/ThemePlayground/Playground.md +0 -7
  1036. package/cjs/internal/themes/BasicLightTheme.d.ts +0 -5
  1037. package/cjs/internal/themes/BasicLightTheme.js +0 -6
  1038. package/cjs/internal/themes/BasicLightTheme.js.map +0 -1
  1039. package/cjs/internal/themes/DarkTheme5_0.d.ts +0 -1
  1040. package/cjs/internal/themes/DarkTheme5_0.js +0 -570
  1041. package/cjs/internal/themes/DarkTheme5_0.js.map +0 -1
  1042. package/cjs/internal/themes/DarkTheme5_1.d.ts +0 -1
  1043. package/cjs/internal/themes/DarkTheme5_1.js +0 -41
  1044. package/cjs/internal/themes/DarkTheme5_1.js.map +0 -1
  1045. package/cjs/internal/themes/DarkTheme5_2.d.ts +0 -1
  1046. package/cjs/internal/themes/DarkTheme5_2.js +0 -29
  1047. package/cjs/internal/themes/DarkTheme5_2.js.map +0 -1
  1048. package/cjs/internal/themes/LightTheme5_0.d.ts +0 -1
  1049. package/cjs/internal/themes/LightTheme5_1.d.ts +0 -1
  1050. package/cjs/internal/themes/LightTheme5_1.js +0 -41
  1051. package/cjs/internal/themes/LightTheme5_1.js.map +0 -1
  1052. package/cjs/internal/themes/LightTheme5_2.d.ts +0 -1
  1053. package/cjs/internal/themes/LightTheme5_2.js +0 -27
  1054. package/cjs/internal/themes/LightTheme5_2.js.map +0 -1
  1055. package/cjs/lib/SSRSafe.d.ts +0 -2
  1056. package/cjs/lib/SSRSafe.js +0 -5
  1057. package/cjs/lib/SSRSafe.js.map +0 -1
  1058. package/cjs/lib/events/fixClickFocusIE.d.ts +0 -1
  1059. package/cjs/lib/events/fixClickFocusIE.js +0 -20
  1060. package/cjs/lib/events/fixClickFocusIE.js.map +0 -1
  1061. package/cjs/lib/events/stopPropagation.d.ts +0 -1
  1062. package/cjs/lib/events/stopPropagation.js +0 -7
  1063. package/cjs/lib/events/stopPropagation.js.map +0 -1
  1064. package/cjs/lib/events/tabListener.d.ts +0 -1
  1065. package/cjs/lib/events/tabListener.js +0 -2
  1066. package/cjs/lib/events/tabListener.js.map +0 -1
  1067. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  1068. package/cjs/lib/locale/LOCALECONTEXT.md +0 -222
  1069. package/cjs/lib/theming/ThemeContext.md +0 -265
  1070. package/components/Autocomplete/Autocomplete.md +0 -113
  1071. package/components/Button/Button.md +0 -261
  1072. package/components/Calendar/Calendar.md +0 -276
  1073. package/components/Calendar/CalendarDay.md +0 -70
  1074. package/components/Center/Center.md +0 -26
  1075. package/components/Checkbox/Checkbox.md +0 -171
  1076. package/components/ComboBox/ComboBox.md +0 -574
  1077. package/components/CurrencyInput/CurrencyInput.md +0 -39
  1078. package/components/CurrencyLabel/CurrencyLabel.md +0 -29
  1079. package/components/DateInput/DateInput.md +0 -111
  1080. package/components/DatePicker/DatePicker.md +0 -368
  1081. package/components/Dropdown/Dropdown.md +0 -45
  1082. package/components/DropdownMenu/DropdownMenu.md +0 -290
  1083. package/components/FileUploader/FileUploader.md +0 -131
  1084. package/components/FxInput/FxInput.md +0 -31
  1085. package/components/Gapped/Gapped.md +0 -44
  1086. package/components/GlobalLoader/GlobalLoader.md +0 -97
  1087. package/components/Group/Group.md +0 -19
  1088. package/components/Hint/Hint.md +0 -86
  1089. package/components/Input/Input.md +0 -86
  1090. package/components/Input/InputLayout/PolyfillPlaceholder/PolyfillPlaceholder.js +0 -29
  1091. package/components/Input/InputLayout/PolyfillPlaceholder/PolyfillPlaceholder.js.map +0 -1
  1092. package/components/Input/InputLayout/PolyfillPlaceholder/package.json +0 -6
  1093. package/components/Input/InputLayout/PolyfillPlaceholder.d.ts +0 -10
  1094. package/components/Kebab/Kebab.md +0 -306
  1095. package/components/Link/Link.md +0 -182
  1096. package/components/Loader/Loader.md +0 -33
  1097. package/components/MaskedInput/MaskedInput.md +0 -114
  1098. package/components/MenuFooter/MenuFooter.md +0 -27
  1099. package/components/MenuHeader/MenuHeader.md +0 -35
  1100. package/components/MenuItem/MenuItem.md +0 -139
  1101. package/components/MenuSeparator/MenuSeparator.md +0 -14
  1102. package/components/MiniModal/MiniModal.md +0 -231
  1103. package/components/Modal/Modal.md +0 -56
  1104. package/components/Paging/Paging.md +0 -57
  1105. package/components/PasswordInput/PasswordInput.md +0 -29
  1106. package/components/Radio/Radio.md +0 -57
  1107. package/components/RadioGroup/RadioGroup.md +0 -44
  1108. package/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  1109. package/components/ScrollContainer/ScrollContainer.md +0 -224
  1110. package/components/Select/Select.md +0 -113
  1111. package/components/SidePage/SidePage.md +0 -65
  1112. package/components/SingleToast/SingleToast.md +0 -36
  1113. package/components/Spinner/Spinner.md +0 -36
  1114. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +0 -146
  1115. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +0 -1
  1116. package/components/Spinner/SpinnerFallbackAnimation/package.json +0 -6
  1117. package/components/Spinner/SpinnerFallbackAnimation.d.ts +0 -25
  1118. package/components/Sticky/Sticky.md +0 -28
  1119. package/components/Switcher/Switcher.md +0 -111
  1120. package/components/Tabs/Tab.md +0 -73
  1121. package/components/Tabs/Tabs.md +0 -54
  1122. package/components/Textarea/Textarea.md +0 -58
  1123. package/components/Toast/Toast.md +0 -69
  1124. package/components/Toast/ToastStatic/ToastStatic.js +0 -39
  1125. package/components/Toast/ToastStatic/ToastStatic.js.map +0 -1
  1126. package/components/Toast/ToastStatic/package.json +0 -6
  1127. package/components/Toast/ToastStatic.d.ts +0 -10
  1128. package/components/Toggle/Toggle.md +0 -110
  1129. package/components/Token/Token.md +0 -48
  1130. package/components/TokenInput/TokenInput.md +0 -277
  1131. package/components/Tooltip/Tooltip.md +0 -322
  1132. package/components/TooltipMenu/TooltipMenu.md +0 -241
  1133. package/internal/DataTids/DATATIDS.md +0 -12
  1134. package/internal/DataTids/DataTids/DataTids.js +0 -69
  1135. package/internal/DataTids/DataTids/DataTids.js.map +0 -1
  1136. package/internal/DataTids/DataTids/package.json +0 -6
  1137. package/internal/DataTids/DataTids.d.ts +0 -12
  1138. package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -20
  1139. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
  1140. package/internal/DataTids/DataTids.styles/package.json +0 -6
  1141. package/internal/DataTids/DataTids.styles.d.ts +0 -7
  1142. package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -12
  1143. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
  1144. package/internal/DataTids/componentsDataTids/package.json +0 -6
  1145. package/internal/DataTids/componentsDataTids.d.ts +0 -5
  1146. package/internal/InputLikeText/HiddenInput/HiddenInput.js +0 -42
  1147. package/internal/InputLikeText/HiddenInput/HiddenInput.js.map +0 -1
  1148. package/internal/InputLikeText/HiddenInput/package.json +0 -6
  1149. package/internal/InputLikeText/HiddenInput.d.ts +0 -13
  1150. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js +0 -191
  1151. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +0 -1
  1152. package/internal/InternalMaskedInput/InternalMaskedInput/package.json +0 -6
  1153. package/internal/InternalMaskedInput/InternalMaskedInput.d.ts +0 -50
  1154. package/internal/InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js +0 -14
  1155. package/internal/InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js.map +0 -1
  1156. package/internal/InternalMaskedInput/InternalMaskedInput.styles/package.json +0 -6
  1157. package/internal/InternalMaskedInput/InternalMaskedInput.styles.d.ts +0 -6
  1158. package/internal/InternalMaskedInput/index/index.js +0 -1
  1159. package/internal/InternalMaskedInput/index/index.js.map +0 -1
  1160. package/internal/InternalMaskedInput/index.d.ts +0 -1
  1161. package/internal/ThemePlayground/Playground.md +0 -7
  1162. package/internal/themes/BasicLightTheme/BasicLightTheme.js +0 -6
  1163. package/internal/themes/BasicLightTheme/BasicLightTheme.js.map +0 -1
  1164. package/internal/themes/BasicLightTheme/package.json +0 -6
  1165. package/internal/themes/BasicLightTheme.d.ts +0 -5
  1166. package/internal/themes/DarkTheme5_0/DarkTheme5_0.js +0 -409
  1167. package/internal/themes/DarkTheme5_0/DarkTheme5_0.js.map +0 -1
  1168. package/internal/themes/DarkTheme5_0/package.json +0 -6
  1169. package/internal/themes/DarkTheme5_0.d.ts +0 -1
  1170. package/internal/themes/DarkTheme5_1/DarkTheme5_1.js +0 -52
  1171. package/internal/themes/DarkTheme5_1/DarkTheme5_1.js.map +0 -1
  1172. package/internal/themes/DarkTheme5_1/package.json +0 -6
  1173. package/internal/themes/DarkTheme5_1.d.ts +0 -1
  1174. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +0 -27
  1175. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +0 -1
  1176. package/internal/themes/DarkTheme5_2/package.json +0 -6
  1177. package/internal/themes/DarkTheme5_2.d.ts +0 -1
  1178. package/internal/themes/LightTheme5_0/package.json +0 -6
  1179. package/internal/themes/LightTheme5_0.d.ts +0 -1
  1180. package/internal/themes/LightTheme5_1/LightTheme5_1.js +0 -52
  1181. package/internal/themes/LightTheme5_1/LightTheme5_1.js.map +0 -1
  1182. package/internal/themes/LightTheme5_1/package.json +0 -6
  1183. package/internal/themes/LightTheme5_1.d.ts +0 -1
  1184. package/internal/themes/LightTheme5_2/LightTheme5_2.js +0 -27
  1185. package/internal/themes/LightTheme5_2/LightTheme5_2.js.map +0 -1
  1186. package/internal/themes/LightTheme5_2/package.json +0 -6
  1187. package/internal/themes/LightTheme5_2.d.ts +0 -1
  1188. package/lib/SSRSafe/SSRSafe.js +0 -4
  1189. package/lib/SSRSafe/SSRSafe.js.map +0 -1
  1190. package/lib/SSRSafe/package.json +0 -6
  1191. package/lib/SSRSafe.d.ts +0 -2
  1192. package/lib/events/fixClickFocusIE/fixClickFocusIE.js +0 -18
  1193. package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +0 -1
  1194. package/lib/events/fixClickFocusIE/package.json +0 -6
  1195. package/lib/events/fixClickFocusIE.d.ts +0 -1
  1196. package/lib/events/stopPropagation/package.json +0 -6
  1197. package/lib/events/stopPropagation/stopPropagation.js +0 -7
  1198. package/lib/events/stopPropagation/stopPropagation.js.map +0 -1
  1199. package/lib/events/stopPropagation.d.ts +0 -1
  1200. package/lib/events/tabListener/package.json +0 -6
  1201. package/lib/events/tabListener/tabListener.js +0 -2
  1202. package/lib/events/tabListener/tabListener.js.map +0 -1
  1203. package/lib/events/tabListener.d.ts +0 -1
  1204. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  1205. package/lib/locale/LOCALECONTEXT.md +0 -222
  1206. package/lib/theming/ThemeContext.md +0 -265
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_lodash","_globalObject","_Popup","_identifiers","LayoutEvents","_interopRequireWildcard","_Token","_MenuItem","_utils","_ThemeContext","_decorators","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_uidUtils","_TokenView","_locale","_TokenInput2","_TokenInputReducer","_TokenInputMenu","_TextWidthHelper","_dec","_class","_TokenInput","TEMP_FAKE_FLAG","TokenInputType","exports","DefaultState","inputValue","reservedInputValue","undefined","autocompleteItems","activeTokens","editingTokenIndex","inFocus","loading","preventBlur","inputValueWidth","inputValueHeight","TokenInputDataTids","root","tokenInputMenu","label","defaultToKey","item","toString","identity","defaultRenderToken","_ref","isActive","onClick","onDoubleClick","onRemove","disabled","size","default","createElement","Token","key","TokenInput","locale","TokenInputLocaleHelper","rootNode","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","_textareaId","getUid","rootId","PopupIds","getRandomID","input","tokensInputMenu","textHelper","wrapper","memoizedTokens","Map","hasValueInItems","items","value","includes","some","isEqual","inputRef","node","tokensInputMenuRef","textHelperRef","wrapperRef","dispatch","action","cb","setState","prevState","tokenInputReducer","handleInputFocus","event","type","getProps","onFocus","handleInputBlur","isBlurToMenu","handleOutsideBlur","_this$input","preventDefault","focus","globalObject","requestAnimationFrame","_this$input2","payload","onBlur","_this$state","isEditingMode","finishTokenEdit","isTokenValueChanged","valueToString","selectItem","isInputChanged","checkForUnexpectedInput","menuRef","document","_this$tokensInputMenu","menu","getRootNode","getMenuRef","relatedTarget","activeElement","contains","handleWrapperMouseDown","_this$wrapper","target","isClickOnToken","handleWrapperMouseUp","handleCopy","isCursorVisible","_this$getProps","selectedItems","delimiters","tokens","map","token","indexOf","sort","index","clipboardData","setData","join","handleInputPaste","WithReference","paste","getData","_this$getProps2","valueToItem","onValueChange","delimiter","stopPropagation","trim","split","RegExp","filter","Boolean","newItems","tryGetItems","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","query","_this$getProps3","isSelectedItem","isEditingItem","autocompleteItemsUnique","editingItem","selectItemIndex","wrap","_callee$","_context","prev","next","props","getItems","hideMenuIfEmptyInputValue","sent","unshift","emit","highlightMenuItem","findIndex","toLowerCase","setTimeout","_this$menuRef","highlightItem","stop","_x","handleKeyDown","handleInputKeyDown","handleWrapperKeyDown","e","_this$input3","_this$input4","isKeyComma","isKeyEnter","WithoutReference","newValue","handleAddItem","isRightmostTokenNotDisabled","isTokenDisabled","enter","isKeyArrowVertical","isKeyArrowUp","up","down","isKeyEscape","blur","isKeyBackspace","moveFocusToLastToken","isKeyArrowLeft","selectionStart","getAvailableTokenIndex","itemNew","focusInput","_this$input5","selectInputText","setSelectionRange","_this$wrapper2","_this$getProps4","isKeyDelete","indexOfActiveToken","itemsNew","_this$input6","isKeyArrowHorizontal","handleWrapperArrows","handleTokenEdit","isShortcutSelectAll","activeItemIndex","newItemIndex","isLeftEdge","isRightEdge","isKeyArrowRight","shiftKey","handleWrapperArrowsWithoutShift","handleWrapperArrowsWithShift","_this$input7","handleValueChange","_this$getProps5","handleRemoveToken","_","filteredActiveTokens","handleTokenClick","ctrlKey","_this$getProps6","_this$state2","editedItem","splice","onUnexpectedInput","returnedValue","handleChangeInputValue","trimLeft","endsWith","trimRight","onInputValueChange","Combined","renderTokensStart","slice","renderToken","renderTokensEnd","_this$props$selectedI","_this$props","_this$props$renderTok","handleIconClick","handleTokenDoubleClick","renderedToken","set","renderAddButton","showAddItemHint","_this$locale","addButtonComment","addButtonTitle","MenuItem","comment","itemIndex","has","get","startIndex","isDirectionLeft","_this$getProps7","step","availableIndex","_inheritsLoose2","_proto","prototype","getDelimiters","_this$props$delimiter","every","propsGetter","createPropsGetter","defaultProps","propsWithOldDelimiters","_extends2","componentDidMount","_globalObject$documen","updateInputTextWidth","addEventListener","autoFocus","componentDidUpdate","prevProps","clear","isCursorVisibleForState","componentWillUnmount","_globalObject$documen2","removeEventListener","_this$input8","_this$input9","render","_this2","ThemeContext","Consumer","theme","renderMain","getLabelSizeClassName","styles","labelLarge","labelMedium","labelSmall","getInputSizeClassName","inputLarge","inputMedium","inputSmall","_cx","_cx2","_cx3","Error","_this$props2","maxMenuHeight","error","warning","renderNotFound","inputMode","renderTotalCount","totalCount","ariaDescribedby","ariaLabel","_this$getProps8","width","onMouseEnter","onMouseLeave","menuWidth","menuAlign","renderItem","_this$state3","showMenu","inputInlineStyles","height","caretColor","labelClassName","cx","hovering","labelDisabled","labelFocused","inputClassName","inputDisabled","placeholder","inputNode","TokenView","className","inputPlaceholderWrapper","hideCloseButton","id","textareaId","ref","style","spellCheck","onChange","onKeyDown","onPaste","CommonWrapper","rootNodeRef","setRootNode","onMouseDown","onMouseUp","htmlFor","TextWidthHelper","text","TokenInputMenu","popupMenuId","opened","anchorElementForCursor","anchorElementRoot","reservedInput","reset","parseFloat","getTextWidth","toFixed","getTextHeight","_createClass2","_this$props$id","isInputValueChanged","_this$state4","_this$getProps9","React","PureComponent","__KONTUR_REACT_UI__","displayName","renderValue","toKey","emptyHandler"],"sources":["TokenInput.tsx"],"sourcesContent":["import type {\n AriaAttributes,\n ChangeEvent,\n FocusEvent,\n FocusEventHandler,\n HTMLAttributes,\n KeyboardEvent,\n MouseEventHandler,\n ReactNode,\n} from 'react';\nimport React from 'react';\nimport isEqual from 'lodash.isequal';\nimport { globalObject } from '@skbkontur/global-object';\n\nimport { PopupIds } from '../../internal/Popup';\nimport {\n isKeyArrowHorizontal,\n isKeyArrowLeft,\n isKeyArrowRight,\n isKeyArrowUp,\n isKeyArrowVertical,\n isKeyBackspace,\n isKeyComma,\n isKeyDelete,\n isKeyEnter,\n isKeyEscape,\n isShortcutSelectAll,\n} from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { Menu } from '../../internal/Menu';\nimport type { TokenProps, TokenSize } from '../Token';\nimport { Token } from '../Token';\nimport type { MenuItemState } from '../MenuItem';\nimport { MenuItem } from '../MenuItem';\nimport type { AnyObject } from '../../lib/utils';\nimport { emptyHandler, getRandomID } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { locale } from '../../lib/locale/decorators';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { getUid } from '../../lib/uidUtils';\nimport { TokenView } from '../Token/TokenView';\n\nimport type { TokenInputLocale } from './locale';\nimport { TokenInputLocaleHelper } from './locale';\nimport { styles } from './TokenInput.styles';\nimport type { TokenInputAction } from './TokenInputReducer';\nimport { tokenInputReducer } from './TokenInputReducer';\nimport { TokenInputMenu } from './TokenInputMenu';\nimport { TextWidthHelper } from './TextWidthHelper';\n\nconst TEMP_FAKE_FLAG = 'TEMP_FAKE_FLAG';\n\nexport enum TokenInputType {\n WithReference,\n WithoutReference,\n Combined,\n}\n\nexport type TokenInputMenuAlign = 'left' | 'cursor';\n\nexport interface TokenInputProps<T>\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Задает выбранные токены, которые будут отображаться в поле ввода. */\n selectedItems?: T[];\n\n /** Задает функцию, которая вызывается при добавлении нового токена. */\n onValueChange?: (items: T[]) => void;\n\n /** Задает HTML-событие `onmouseenter`.\n * @ignore */\n onMouseEnter?: MouseEventHandler<HTMLDivElement>;\n\n /** Задает HTML-событие `onmouseleave`.\n * @ignore */\n onMouseLeave?: MouseEventHandler<HTMLDivElement>;\n\n /** Задает HTML-событие `onfocus`.\n * @ignore */\n onFocus?: FocusEventHandler<HTMLTextAreaElement>;\n\n /** Задает HTML-событие `onblur`.\n * @ignore */\n onBlur?: FocusEventHandler<HTMLTextAreaElement>;\n\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Задает размер контрола. */\n size?: TokenSize;\n\n /** Задает тип инпута.\n * Возможные значения:\n * `TokenInputType.WithReference` (можно выбирать токены только из предложенных, нельзя добавить новые).\n * `TokenInputType.WithoutReference` (можно добавлять токены, но нельзя выбирать).\n * `TokenInputType.Combined` (можно и выбирать, и добавлять). */\n type?: TokenInputType;\n\n /** Задает ширину выпадающего меню. Может быть 'auto', в пикселях, процентах (от ширины инпута) и других конкретных единицах.\n * Если menuAlign = 'cursor', то ширина выпадающего меню всегда будет равна 'auto' (по ширине текста). */\n menuWidth?: React.CSSProperties['width'];\n\n /** Задает выравнивание выпадающего меню. */\n menuAlign?: TokenInputMenuAlign;\n\n /** Задает функцию поиска элементов, должна возвращать Promise с массивом элементов. По умолчанию ожидаются строки.\n * Элементы могут быть любого типа. В таком случае необходимо определить свойства `renderItem`, `valueToString`. */\n getItems?: (query: string) => Promise<T[]>;\n\n /** Скрывает меню при пустом вводе. */\n hideMenuIfEmptyInputValue?: boolean;\n\n /** Задает функцию, которая отображает элемент списка. */\n renderItem?: (item: T, state: MenuItemState) => React.ReactNode | null;\n\n /** Задает функцию, которая отображает выбранное значение. */\n renderValue?: (item: T) => React.ReactNode;\n\n /** Задает функцию, которая возвращает строковое представление токена.\n * @default item => item */\n valueToString?: (item: T) => string;\n\n /** Задает функцию, которая отображает сообщение об общем количестве элементов.\n * `found` учитывает только компонент `MenuItem`. Им \"оборачиваются\" элементы, возвращаемые `getItems()`. */\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n\n /** Определяет общее количество элементов. Необходим для работы `renderTotalCount`. */\n totalCount?: number;\n\n /** Задает функцию, которая отображает заданное содержимое при пустом результате поиска. Не работает, если рендерится `AddButton`. */\n renderNotFound?: () => React.ReactNode;\n\n /** Преобразует значение в элемент списка. */\n valueToItem?: (item: string) => T;\n\n /** Определяет уникальный ключ по элементу. */\n toKey?: (item: T) => string | number | undefined;\n\n /** Задает текст, который отображается если не введено никакое значение. */\n placeholder?: string;\n\n /** Задает символы, которые разделяют введённый текст на токены. */\n delimiters?: string[];\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает ширину токен-инпута. */\n width?: string | number;\n\n /** Задает максимальную высоту выпадающего меню. */\n maxMenuHeight?: number | string;\n\n /** Задает функцию, которая отображает токен и предоставляет возможность кастомизации внешнего вида и поведения токена. */\n renderToken?: (item: T, props: Partial<TokenProps>) => ReactNode;\n\n /** Задает функцию, вызывающуюся при изменении текста в поле ввода. */\n onInputValueChange?: (value: string) => void;\n\n /** Задает функцию отрисовки кнопки добавления в выпадающем списке */\n renderAddButton?: (query?: string, onAddItem?: () => void) => ReactNode;\n\n /** Задает функцию для обработки ввода строки в инпут и последующую потерю фокуса компонентом.\n * Функция срабатывает с аргументом инпута строки\n *\n * Если при потере фокуса в выпадающем списке будет только один элемент и результат `valueToString` с этим элементом будет\n * совпадать со значением в текстовом поле, то сработает `onValueChange` со значением данного элемента\n *\n * Сама функция также может вернуть значение, неравное `undefined`, с которым будет вызван `onValueChange`.\n * При возвращаемом значении `null` будет выполнена очистка текущего значения инпута, а в режиме редактирования токен будет удален. */\n onUnexpectedInput?: (value: string) => void | null | undefined | T;\n\n /** Задает типы вводимых данных. */\n inputMode?: React.HTMLAttributes<HTMLTextAreaElement>['inputMode'];\n}\n\nexport interface TokenInputState<T> {\n autocompleteItems?: T[];\n activeTokens: T[];\n editingTokenIndex: number;\n clickedToken?: T;\n clickedTokenTimeout?: number;\n inFocus?: boolean;\n inputValue: string;\n reservedInputValue: string | undefined;\n inputValueWidth: number;\n inputValueHeight: number;\n preventBlur?: boolean;\n loading?: boolean;\n}\n\nexport const DefaultState = {\n inputValue: '',\n reservedInputValue: undefined,\n autocompleteItems: undefined,\n activeTokens: [],\n editingTokenIndex: -1,\n inFocus: false,\n loading: false,\n preventBlur: false,\n inputValueWidth: 2,\n inputValueHeight: 22,\n};\n\nexport const TokenInputDataTids = {\n root: 'TokenInput__root',\n tokenInputMenu: 'TokenInputMenu__root',\n label: 'TokenInput__label',\n} as const;\n\ntype DefaultProps<T> = Required<\n Pick<\n TokenInputProps<T>,\n | 'selectedItems'\n | 'delimiters'\n | 'renderItem'\n | 'renderValue'\n | 'valueToString'\n | 'valueToItem'\n | 'toKey'\n | 'onValueChange'\n | 'width'\n | 'onBlur'\n | 'onFocus'\n | 'onMouseEnter'\n | 'onMouseLeave'\n | 'menuWidth'\n | 'menuAlign'\n | 'size'\n >\n>;\n\nconst defaultToKey = <T extends AnyObject>(item: T): string => item.toString();\n// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-constraint\nconst identity = <T extends unknown>(item: T): T => item;\nconst defaultRenderToken = <T extends AnyObject>(\n item: T,\n { isActive, onClick, onDoubleClick, onRemove, disabled, size }: Partial<TokenProps>,\n) => (\n <Token\n key={item.toString()}\n isActive={isActive}\n onClick={onClick}\n onDoubleClick={onDoubleClick}\n onRemove={onRemove}\n disabled={disabled}\n size={size}\n >\n {item.toString()}\n </Token>\n);\n\n/**\n * Поле с токенами `TokenInput` — это поле ввода со списком подсказок.\n *\n * Поле с токенами используют для выбора нескольких значений из справочника и для добавления своих значений.\n */\n@rootNode\n@locale('TokenInput', TokenInputLocaleHelper)\nexport class TokenInput<T = string> extends React.PureComponent<TokenInputProps<T>, TokenInputState<T>> {\n public static __KONTUR_REACT_UI__ = 'TokenInput';\n public static displayName = 'TokenInput';\n\n public static defaultProps: DefaultProps<any> = {\n selectedItems: [],\n // TEMP_FAKE_FLAG помогает узнать, остались ли разделители дефолтными или пользователь передал их равными дефолтным.\n delimiters: [',', TEMP_FAKE_FLAG],\n renderItem: identity,\n renderValue: identity,\n valueToString: identity,\n valueToItem: (item: string) => item,\n toKey: defaultToKey,\n onValueChange: () => void 0,\n width: 250 as string | number,\n onBlur: emptyHandler,\n onFocus: emptyHandler,\n onMouseEnter: emptyHandler,\n onMouseLeave: emptyHandler,\n menuWidth: 'auto',\n menuAlign: 'cursor',\n size: 'small',\n };\n\n private getDelimiters(): string[] {\n const delimiters = this.props.delimiters ?? [];\n if (delimiters.every((delimiter) => delimiter !== TEMP_FAKE_FLAG)) {\n return delimiters;\n }\n return delimiters.filter((delimiter) => delimiter !== TEMP_FAKE_FLAG);\n }\n\n private getProps() {\n const propsGetter = createPropsGetter(TokenInput.defaultProps);\n const propsWithOldDelimiters = propsGetter.apply(this);\n return { ...propsWithOldDelimiters, delimiters: this.getDelimiters() };\n }\n\n private get textareaId() {\n return this.props.id ?? this._textareaId;\n }\n\n public state: TokenInputState<T> = DefaultState;\n\n private readonly _textareaId: string = getUid();\n private rootId = PopupIds.root + getRandomID();\n private readonly locale!: TokenInputLocale;\n private theme!: Theme;\n private input: HTMLTextAreaElement | null = null;\n private tokensInputMenu: TokenInputMenu<T> | null = null;\n private textHelper: TextWidthHelper | null = null;\n private wrapper: HTMLLabelElement | null = null;\n private setRootNode!: TSetRootNode;\n private memoizedTokens = new Map();\n\n public componentDidMount() {\n this.updateInputTextWidth();\n globalObject.document?.addEventListener('copy', this.handleCopy);\n if (this.props.autoFocus) {\n this.focusInput();\n }\n }\n\n public componentDidUpdate(prevProps: TokenInputProps<T> & DefaultProps<T>, prevState: TokenInputState<T>) {\n if (prevState.inputValue !== this.state.inputValue) {\n this.updateInputTextWidth();\n }\n if (prevState.activeTokens.length === 0 && this.state.activeTokens.length > 0) {\n this.dispatch({\n type: 'SET_AUTOCOMPLETE_ITEMS',\n payload: undefined,\n });\n }\n if (prevProps.selectedItems.length !== this.getProps().selectedItems.length) {\n LayoutEvents.emit();\n this.memoizedTokens.clear();\n }\n if (!this.isCursorVisibleForState(prevState) && this.isCursorVisible) {\n this.tryGetItems(this.isEditingMode ? '' : this.state.inputValue);\n }\n }\n\n public componentWillUnmount() {\n globalObject.document?.removeEventListener('copy', this.handleCopy);\n }\n\n /**\n * @public\n */\n public focus() {\n this.input?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.input?.blur();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getLabelSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.labelLarge(this.theme);\n case 'medium':\n return styles.labelMedium(this.theme);\n case 'small':\n default:\n return styles.labelSmall(this.theme);\n }\n }\n\n private getInputSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return styles.inputLarge(this.theme);\n case 'medium':\n return styles.inputMedium(this.theme);\n case 'small':\n default:\n return styles.inputSmall(this.theme);\n }\n }\n\n private renderMain() {\n if (this.type !== TokenInputType.WithoutReference && !this.props.getItems) {\n throw Error('Missed getItems for type ' + this.type);\n }\n\n const {\n maxMenuHeight,\n error,\n warning,\n disabled,\n renderNotFound,\n hideMenuIfEmptyInputValue,\n inputMode,\n renderTotalCount,\n totalCount,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n } = this.props;\n\n const { selectedItems, width, onMouseEnter, onMouseLeave, menuWidth, menuAlign, renderItem } = this.getProps();\n\n const {\n activeTokens,\n inFocus,\n inputValueWidth,\n inputValueHeight,\n inputValue,\n reservedInputValue,\n autocompleteItems,\n loading,\n } = this.state;\n\n const showMenu =\n this.type !== TokenInputType.WithoutReference &&\n this.isCursorVisible &&\n activeTokens.length === 0 &&\n (inputValue !== '' || !hideMenuIfEmptyInputValue);\n\n const theme = this.theme;\n\n const inputInlineStyles: React.CSSProperties = {\n // вычисляем ширину чтобы input автоматически перенёсся на следующую строку при необходимости\n width: inputValueWidth,\n height: inputValueHeight,\n // в ie не работает, но альтернативный способ --- дать tabindex для label --- предположительно ещё сложнее\n caretColor: this.isCursorVisible ? undefined : 'transparent',\n };\n\n const labelClassName = cx(styles.label(theme), this.getLabelSizeClassName(), {\n [styles.hovering(this.theme)]: !inFocus && !disabled && !warning && !error,\n [styles.labelDisabled(theme)]: !!disabled,\n [styles.labelFocused(theme)]: !!inFocus,\n [styles.error(theme)]: !!error,\n [styles.warning(theme)]: !!warning,\n });\n const inputClassName = cx(styles.input(theme), this.getInputSizeClassName(), {\n [styles.inputDisabled(theme)]: !!disabled,\n });\n\n const placeholder = selectedItems.length === 0 && !inputValue ? this.props.placeholder : '';\n\n const inputNode = (\n <TokenView\n size={this.getProps().size}\n className={cx({\n // input растягивается на всю ширину чтобы placeholder не обрезался\n [styles.inputPlaceholderWrapper()]: Boolean(placeholder),\n })}\n hideCloseButton={Boolean(placeholder)}\n >\n <textarea\n id={this.textareaId}\n ref={this.inputRef}\n value={inputValue}\n style={inputInlineStyles}\n spellCheck={false}\n disabled={disabled}\n className={inputClassName}\n placeholder={placeholder}\n onFocus={this.handleInputFocus}\n onBlur={this.handleInputBlur}\n onChange={this.handleChangeInputValue}\n onKeyDown={this.handleKeyDown}\n onPaste={this.handleInputPaste}\n inputMode={inputMode}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n />\n </TokenView>\n );\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div data-tid={TokenInputDataTids.root} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>\n <label\n ref={this.wrapperRef}\n style={{ width }}\n className={labelClassName}\n onMouseDown={this.handleWrapperMouseDown}\n onMouseUp={this.handleWrapperMouseUp}\n htmlFor={this.textareaId}\n aria-controls={this.rootId}\n data-tid={TokenInputDataTids.label}\n >\n <TextWidthHelper\n ref={this.textHelperRef}\n text={inputValue}\n theme={this.theme}\n size={this.getProps().size}\n />\n {this.renderTokensStart()}\n {inputNode}\n {showMenu && (\n <TokenInputMenu\n popupMenuId={this.rootId}\n ref={this.tokensInputMenuRef}\n items={autocompleteItems}\n loading={loading}\n opened={showMenu}\n maxMenuHeight={maxMenuHeight}\n anchorElementForCursor={this.input}\n anchorElementRoot={this.wrapper}\n renderNotFound={renderNotFound}\n renderItem={renderItem}\n onValueChange={this.selectItem}\n renderAddButton={this.renderAddButton}\n menuWidth={menuWidth}\n menuAlign={menuAlign}\n renderTotalCount={renderTotalCount}\n totalCount={totalCount}\n size={this.getProps().size}\n />\n )}\n {this.renderTokensEnd()}\n {this.isEditingMode ? (\n <TokenView size={this.props.size}>\n <span className={styles.reservedInput(theme)}>{reservedInputValue}</span>\n </TokenView>\n ) : null}\n </label>\n </div>\n </CommonWrapper>\n );\n }\n\n /**\n * Сбрасывает введенное пользователем значение\n * @public\n */\n public reset() {\n this.dispatch({ type: 'RESET' });\n }\n\n private hasValueInItems = (items: T[], value: T) => {\n if (typeof value === 'string') {\n return items.includes(value);\n }\n // todo: как то не очень\n return items.some((item) => isEqual(item, value));\n };\n\n private get showAddItemHint() {\n const items = this.state.autocompleteItems;\n const value = this.getProps().valueToItem(this.state.inputValue);\n\n if (items && this.hasValueInItems(items, value)) {\n return false;\n }\n\n const selectedItems = this.getProps().selectedItems;\n if (selectedItems && this.hasValueInItems(selectedItems, value)) {\n return false;\n }\n\n if (this.type === TokenInputType.Combined && this.state.inputValue !== '') {\n return true;\n }\n }\n\n private get type() {\n return this.props.type ? this.props.type : TokenInputType.WithReference;\n }\n\n private get menuRef(): Menu | null {\n return this.tokensInputMenu && this.tokensInputMenu.getMenuRef();\n }\n\n private get isCursorVisible() {\n return this.isCursorVisibleForState(this.state);\n }\n\n private get isEditingMode() {\n return this.state.editingTokenIndex > -1;\n }\n\n private isCursorVisibleForState(state: TokenInputState<T>) {\n return state.inFocus && (state.inputValue !== '' || state.activeTokens.length === 0);\n }\n\n private inputRef = (node: HTMLTextAreaElement) => (this.input = node);\n private tokensInputMenuRef = (node: TokenInputMenu<T>) => (this.tokensInputMenu = node);\n private textHelperRef = (node: TextWidthHelper) => (this.textHelper = node);\n private wrapperRef = (node: HTMLLabelElement) => (this.wrapper = node);\n\n private dispatch = (action: TokenInputAction, cb?: () => void) => {\n this.setState((prevState) => tokenInputReducer(prevState, action), cb);\n };\n\n private updateInputTextWidth() {\n if (this.textHelper) {\n // в IE текст иногда не помещается в input\n // из-за округления, поэтому округляем явно\n const inputValueWidth = parseFloat(this.textHelper.getTextWidth().toFixed(2));\n const inputValueHeight = parseFloat(this.textHelper.getTextHeight().toFixed(2));\n\n this.dispatch({ type: 'SET_INPUT_VALUE_WIDTH', payload: inputValueWidth }, LayoutEvents.emit);\n this.dispatch({ type: 'SET_INPUT_VALUE_HEIGHT', payload: inputValueHeight }, LayoutEvents.emit);\n }\n }\n\n private handleInputFocus = (event: FocusEvent<HTMLTextAreaElement>) => {\n this.dispatch({ type: 'SET_FOCUS_IN' });\n this.getProps().onFocus(event);\n };\n\n private handleInputBlur = (event: FocusEvent<HTMLTextAreaElement>) => {\n const isBlurToMenu = this.isBlurToMenu(event);\n\n if (!isBlurToMenu) {\n this.handleOutsideBlur();\n }\n\n if (isBlurToMenu || this.state.preventBlur) {\n event.preventDefault();\n // первый focus нужен для предотвращения/уменьшения моргания в других браузерах\n this.input?.focus();\n // в firefox не работает без второго focus\n globalObject.requestAnimationFrame?.(() => this.input?.focus());\n this.dispatch({ type: 'SET_PREVENT_BLUR', payload: false });\n } else {\n this.dispatch({ type: 'BLUR' });\n this.getProps().onBlur(event);\n }\n };\n\n private handleOutsideBlur = () => {\n const { inputValue, autocompleteItems } = this.state;\n\n if (inputValue === '') {\n // если стерли содержимое токена в режиме редактирования, то удаляем токен\n if (this.isEditingMode) {\n this.finishTokenEdit();\n }\n return;\n }\n\n // если не изменилось значение токена при редактировании\n if (this.isEditingMode && !this.isTokenValueChanged) {\n this.finishTokenEdit();\n return;\n }\n\n // чекаем автокомплит на совпадение с введенным значением в инпут\n if (autocompleteItems && autocompleteItems.length === 1) {\n const item = autocompleteItems[0];\n\n if (this.getProps().valueToString(item) === inputValue) {\n this.isEditingMode ? this.finishTokenEdit() : this.selectItem(item);\n\n return;\n }\n }\n\n if (this.isInputChanged) {\n this.checkForUnexpectedInput();\n }\n };\n\n private get isInputChanged() {\n if (this.isEditingMode) {\n return this.isTokenValueChanged;\n }\n\n return this.isInputValueChanged;\n }\n\n private get isInputValueChanged() {\n const { inputValue } = this.state;\n\n return inputValue !== '';\n }\n\n private get isTokenValueChanged() {\n const { inputValue, editingTokenIndex } = this.state;\n const { valueToString, selectedItems } = this.getProps();\n\n if (this.isEditingMode) {\n return valueToString(selectedItems[editingTokenIndex]) !== inputValue;\n }\n\n return false;\n }\n\n private isBlurToMenu = (event: FocusEvent<HTMLElement>) => {\n if (this.menuRef && globalObject.document) {\n const menu = getRootNode(this.tokensInputMenu?.getMenuRef());\n const relatedTarget = event.relatedTarget || globalObject.document.activeElement;\n\n if (menu && menu.contains(relatedTarget)) {\n return true;\n }\n }\n return false;\n };\n\n private handleWrapperMouseDown = (event: React.MouseEvent<HTMLElement>) => {\n this.dispatch({ type: 'SET_PREVENT_BLUR', payload: true });\n const target = event.target as HTMLElement;\n const isClickOnToken = target && this.wrapper?.contains(target) && target !== this.wrapper && target !== this.input;\n if (!isClickOnToken) {\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' });\n }\n };\n\n private handleWrapperMouseUp = () => {\n this.dispatch({ type: 'SET_PREVENT_BLUR', payload: false });\n };\n\n private handleCopy = (event: any) => {\n if (!this.state.inFocus || this.state.activeTokens.length === 0 || this.isCursorVisible) {\n return;\n }\n event.preventDefault();\n const { selectedItems, valueToString, delimiters } = this.getProps();\n // упорядочивание токенов по индексу\n const tokens = this.state.activeTokens\n .map((token) => selectedItems.indexOf(token))\n .sort()\n .map((index) => selectedItems[index])\n .map((item) => valueToString(item));\n event.clipboardData.setData('text/plain', tokens.join(delimiters[0]));\n };\n\n private handleInputPaste = (event: React.ClipboardEvent<HTMLElement>) => {\n if (this.type === TokenInputType.WithReference || !event.clipboardData) {\n return;\n }\n const paste = event.clipboardData.getData('text');\n const { delimiters, selectedItems, valueToItem, onValueChange } = this.getProps();\n if (delimiters.some((delimiter) => paste.includes(delimiter))) {\n event.preventDefault();\n event.stopPropagation();\n const tokens = paste.trim().split(new RegExp(`[${delimiters.join('')}]+`));\n const items = tokens\n .filter(Boolean)\n .map((token) => valueToItem(token))\n .filter((item) => item && !this.hasValueInItems(selectedItems, item));\n const newItems = selectedItems.concat(items);\n onValueChange(newItems);\n\n this.dispatch({ type: 'SET_AUTOCOMPLETE_ITEMS', payload: undefined });\n this.tryGetItems();\n }\n };\n\n private tryGetItems = async (query = '') => {\n if (this.props.getItems && (this.state.inputValue !== '' || !this.props.hideMenuIfEmptyInputValue)) {\n this.dispatch({ type: 'SET_LOADING', payload: true });\n const autocompleteItems = await this.props.getItems(query);\n this.dispatch({ type: 'SET_LOADING', payload: false });\n\n const { selectedItems, valueToItem, valueToString } = this.getProps();\n const isSelectedItem = (item: T) => this.hasValueInItems(selectedItems, item);\n const isEditingItem = (item: T) => {\n const editingItem = selectedItems[this.state.editingTokenIndex];\n return !!editingItem && isEqual(item, editingItem);\n };\n\n const autocompleteItemsUnique = autocompleteItems.filter((item) => !isSelectedItem(item) || isEditingItem(item));\n\n if (this.isEditingMode) {\n const editingItem = selectedItems[this.state.editingTokenIndex];\n if (\n isEqual(editingItem, valueToItem(this.state.inputValue)) &&\n !this.hasValueInItems(autocompleteItemsUnique, editingItem)\n ) {\n autocompleteItemsUnique.unshift(editingItem);\n }\n }\n\n if (query === '' || this.state.inputValue !== '') {\n this.dispatch({ type: 'SET_AUTOCOMPLETE_ITEMS', payload: autocompleteItemsUnique }, () => {\n LayoutEvents.emit();\n this.highlightMenuItem();\n });\n }\n const selectItemIndex = autocompleteItemsUnique.findIndex(\n (item) => valueToString(item).toLowerCase() === this.state.inputValue.toLowerCase(),\n );\n setTimeout(() => this.menuRef?.highlightItem(selectItemIndex < 0 ? 0 : selectItemIndex), 0);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent<HTMLTextAreaElement>) => {\n if (this.isCursorVisible) {\n this.handleInputKeyDown(event);\n } else {\n this.handleWrapperKeyDown(event);\n }\n };\n\n private handleInputKeyDown = (e: KeyboardEvent<HTMLTextAreaElement>) => {\n e.stopPropagation();\n\n if (\n (this.type !== TokenInputType.WithReference &&\n this.getProps().delimiters.some((key) => key === e.key || (key === ',' && isKeyComma(e)))) ||\n (isKeyEnter(e) && this.type === TokenInputType.WithoutReference)\n ) {\n e.preventDefault();\n const newValue = this.state.inputValue;\n if (newValue !== '') {\n if (this.isEditingMode) {\n this.finishTokenEdit();\n } else {\n this.handleAddItem();\n }\n }\n }\n const isRightmostTokenNotDisabled = !this.isTokenDisabled(this.getProps().selectedItems.length - 1);\n switch (true) {\n case isKeyEnter(e):\n if (this.menuRef) {\n this.menuRef.enter(e);\n }\n // don't allow textarea\n // became multiline\n e.preventDefault();\n break;\n case isKeyArrowVertical(e):\n e.preventDefault();\n if (this.menuRef) {\n if (isKeyArrowUp(e)) {\n this.menuRef.up();\n } else {\n this.menuRef.down();\n }\n }\n break;\n case isKeyEscape(e):\n this.input?.blur();\n break;\n case isKeyBackspace(e):\n if (!this.isEditingMode && isRightmostTokenNotDisabled) {\n this.moveFocusToLastToken();\n }\n break;\n case isKeyArrowLeft(e):\n if (this.input?.selectionStart === 0) {\n const index = this.getAvailableTokenIndex(this.getProps().selectedItems.length);\n const itemNew = this.getProps().selectedItems[index];\n if (itemNew) {\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: [itemNew] });\n }\n }\n break;\n }\n };\n\n private moveFocusToLastToken() {\n const items = this.getProps().selectedItems;\n if (this.state.inputValue === '' && items && items.length > 0) {\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: items.slice(-1) });\n }\n }\n\n private focusInput = () => {\n globalObject.requestAnimationFrame?.(() => this.input?.focus());\n };\n\n private selectInputText = () => {\n if (this.input) {\n this.input.setSelectionRange(0, this.state.inputValue.length);\n }\n };\n\n private handleWrapperKeyDown = (e: KeyboardEvent<HTMLElement>) => {\n const { selectedItems, onValueChange } = this.getProps();\n switch (true) {\n case isKeyBackspace(e):\n case isKeyDelete(e): {\n const indexOfActiveToken = this.getProps().selectedItems.indexOf(\n this.state.activeTokens[this.state.activeTokens.length - 1],\n );\n if (!this.isEditingMode && !this.isTokenDisabled(indexOfActiveToken)) {\n const itemsNew = selectedItems.filter((item) => !this.hasValueInItems(this.state.activeTokens, item));\n onValueChange(itemsNew);\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' }, () => {\n LayoutEvents.emit();\n this.input?.focus();\n });\n }\n break;\n }\n case isKeyArrowHorizontal(e):\n this.handleWrapperArrows(e);\n break;\n case isKeyEscape(e):\n this.wrapper?.blur();\n break;\n case isKeyEnter(e):\n e.preventDefault();\n if (this.state.activeTokens.length === 1) {\n this.handleTokenEdit(this.state.activeTokens[0]);\n }\n break;\n case isShortcutSelectAll(e):\n e.preventDefault();\n this.dispatch({\n type: 'SET_ACTIVE_TOKENS',\n payload: selectedItems.filter((item) => !this.isTokenDisabled(selectedItems.indexOf(item))),\n });\n break;\n }\n };\n\n private handleWrapperArrows = (e: KeyboardEvent<HTMLElement>) => {\n e.preventDefault();\n const selectedItems = this.getProps().selectedItems;\n const activeTokens = this.state.activeTokens;\n const activeItemIndex = selectedItems.indexOf(activeTokens[0]);\n const newItemIndex = this.getAvailableTokenIndex(activeItemIndex, isKeyArrowLeft(e));\n const isLeftEdge = activeItemIndex === 0 && isKeyArrowLeft(e);\n const isRightEdge = newItemIndex === selectedItems.length && isKeyArrowRight(e);\n if (!e.shiftKey && activeTokens.length === 1) {\n this.handleWrapperArrowsWithoutShift(isLeftEdge, isRightEdge, newItemIndex);\n } else {\n this.handleWrapperArrowsWithShift(isLeftEdge, isRightEdge, newItemIndex);\n }\n };\n\n private handleWrapperArrowsWithoutShift = (isLeftEdge: boolean, isRightEdge: boolean, newItemIndex: number) => {\n if (isRightEdge) {\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' }, () => this.input?.focus());\n } else if (!isLeftEdge) {\n this.dispatch({\n type: 'SET_ACTIVE_TOKENS',\n payload: [this.getProps().selectedItems[newItemIndex]],\n });\n }\n };\n\n private handleWrapperArrowsWithShift = (isLeftEdge: boolean, isRightEdge: boolean, newItemIndex: number) => {\n if (!isLeftEdge && !isRightEdge) {\n const itemNew = this.getProps().selectedItems[newItemIndex];\n const itemsNew = [itemNew, ...this.state.activeTokens.filter((item) => !isEqual(item, itemNew))];\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: itemsNew });\n }\n };\n\n private handleValueChange = (items: T[]) => {\n this.getProps().onValueChange(items);\n };\n\n private handleAddItem = () => {\n const item = this.getProps().valueToItem(this.state.inputValue);\n if (item) {\n this.selectItem(item);\n }\n };\n\n private selectItem = (item: T) => {\n const { selectedItems, valueToString } = this.getProps();\n if (this.isEditingMode) {\n this.dispatch({ type: 'UPDATE_QUERY', payload: valueToString(item) }, this.finishTokenEdit);\n } else if (!this.hasValueInItems(selectedItems, item)) {\n this.handleValueChange(selectedItems.concat([item]));\n this.dispatch({ type: 'CLEAR_INPUT' });\n this.tryGetItems();\n }\n };\n\n private handleRemoveToken = (item: T) => {\n this.props.onValueChange?.(this.getProps().selectedItems.filter((_) => !isEqual(_, item)));\n const filteredActiveTokens = this.state.activeTokens.filter((_) => !isEqual(_, item));\n\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: filteredActiveTokens });\n if (filteredActiveTokens.length === 0) {\n this.focusInput();\n }\n\n this.tryGetItems();\n };\n\n private handleTokenClick = (event: React.MouseEvent<HTMLElement>, itemNew: T) => {\n const items = this.state.activeTokens;\n if (event.ctrlKey) {\n const newItems = this.hasValueInItems(this.state.activeTokens, itemNew)\n ? items.filter((item) => !isEqual(item, itemNew))\n : [...items, itemNew];\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: newItems });\n } else {\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: [itemNew] });\n }\n this.focusInput();\n };\n\n private handleTokenEdit = (itemNew: T) => {\n const { selectedItems, valueToString } = this.getProps();\n const editingTokenIndex = selectedItems.findIndex((item) => item === itemNew);\n this.dispatch({ type: 'SET_EDITING_TOKEN_INDEX', payload: editingTokenIndex });\n\n if (this.state.inputValue !== '') {\n if (this.state.reservedInputValue === undefined) {\n this.dispatch({ type: 'SET_TEMPORARY_QUERY', payload: this.state.inputValue });\n }\n }\n this.dispatch({ type: 'UPDATE_QUERY', payload: valueToString(itemNew) }, this.selectInputText);\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' });\n\n this.tryGetItems();\n };\n\n private finishTokenEdit = () => {\n const selectedItems = this.getProps().selectedItems;\n const { editingTokenIndex, inputValue, reservedInputValue } = this.state;\n const editedItem = this.getProps().valueToItem(inputValue);\n const newItems = selectedItems.concat([]);\n\n if (!this.hasValueInItems(selectedItems, editedItem)) {\n newItems.splice(editingTokenIndex, 1, ...(inputValue !== '' ? [editedItem] : []));\n this.handleValueChange(newItems);\n }\n\n this.dispatch({ type: 'REMOVE_EDITING_TOKEN_INDEX' });\n\n if (reservedInputValue) {\n this.dispatch({ type: 'UPDATE_QUERY', payload: reservedInputValue });\n this.dispatch({ type: 'REMOVE_TEMPORARY_QUERY' });\n } else {\n this.dispatch({ type: 'CLEAR_INPUT' });\n }\n\n if (newItems.length === selectedItems.length) {\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: [newItems[editingTokenIndex]] });\n }\n };\n\n private checkForUnexpectedInput = () => {\n const { inputValue } = this.state;\n const { onUnexpectedInput } = this.props;\n\n if (onUnexpectedInput) {\n // чекаем не возвращает ли что-нибудь обработчик\n const returnedValue = onUnexpectedInput(inputValue);\n\n if (returnedValue === undefined) {\n return;\n }\n\n if (returnedValue === null) {\n this.dispatch({ type: 'CLEAR_INPUT' }, () => {\n if (this.isEditingMode) {\n this.finishTokenEdit();\n }\n });\n\n return;\n }\n\n if (returnedValue) {\n this.selectItem(returnedValue);\n }\n }\n };\n\n private handleChangeInputValue = (event: ChangeEvent<HTMLTextAreaElement>) => {\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' });\n let query = event.target.value.trimLeft();\n\n if (query.endsWith(' ')) {\n query = query.trimRight() + ' ';\n }\n if (this.state.inputValue !== '' && query === '') {\n this.dispatch({ type: 'SET_AUTOCOMPLETE_ITEMS', payload: undefined });\n }\n this.dispatch({ type: 'UPDATE_QUERY', payload: query }, () => {\n this.tryGetItems(query);\n });\n if (this.props.onInputValueChange) {\n this.props.onInputValueChange(query);\n }\n };\n\n private highlightMenuItem = () => {\n if (\n this.menuRef &&\n this.state.autocompleteItems &&\n this.state.autocompleteItems.length > 0 &&\n this.type !== TokenInputType.Combined\n ) {\n this.menuRef.highlightItem(0);\n }\n };\n\n private renderTokensStart = () => {\n const { editingTokenIndex } = this.state;\n const selectedItems = this.getProps().selectedItems;\n const delimiter = editingTokenIndex >= 0 ? editingTokenIndex : selectedItems.length;\n return selectedItems.slice(0, delimiter).map(this.renderToken);\n };\n\n private renderTokensEnd = () => {\n if (this.state.editingTokenIndex >= 0) {\n return this.getProps()\n .selectedItems.slice(this.state.editingTokenIndex + 1)\n .map(this.renderToken);\n }\n };\n\n private renderToken = (item: T) => {\n const { renderToken = defaultRenderToken, disabled, size } = this.props;\n\n const isActive = this.state.activeTokens.includes(item);\n\n // TODO useCallback\n const handleIconClick: React.MouseEventHandler<HTMLElement> = (event) => {\n event.stopPropagation();\n if (!this.isEditingMode) {\n this.handleRemoveToken(item);\n }\n };\n\n // TODO useCallback\n const handleTokenClick: React.MouseEventHandler<HTMLDivElement> = (event) => {\n event.stopPropagation();\n if (!this.isEditingMode) {\n this.handleTokenClick(event, item);\n }\n };\n\n const handleTokenDoubleClick: React.MouseEventHandler<HTMLDivElement> = (event) => {\n event.stopPropagation();\n if (!this.isEditingMode && !disabled) {\n this.handleTokenEdit(item);\n }\n };\n\n const renderedToken = renderToken(item as T & AnyObject, {\n size,\n isActive,\n onClick: handleTokenClick,\n onDoubleClick: handleTokenDoubleClick,\n onRemove: handleIconClick,\n disabled,\n });\n\n this.memoizedTokens.set(this.props.selectedItems?.indexOf(item), renderedToken);\n return renderedToken;\n };\n\n private renderAddButton = (value = this.state.inputValue): React.ReactNode | undefined => {\n if (!this.showAddItemHint) {\n return;\n }\n\n if (this.props.renderAddButton) {\n return this.props.renderAddButton(value, this.handleAddItem);\n }\n\n const { addButtonComment, addButtonTitle } = this.locale;\n\n return (\n <MenuItem onClick={this.handleAddItem} comment={addButtonComment} key=\"renderAddButton\">\n {addButtonTitle} {value}\n </MenuItem>\n );\n };\n\n private isTokenDisabled = (itemIndex: number) => {\n let renderedToken;\n if (this.memoizedTokens.has(itemIndex)) {\n renderedToken = this.memoizedTokens.get(itemIndex);\n } else if (itemIndex < 0 || itemIndex > this.getProps().selectedItems.length - 1) {\n return false;\n } else {\n renderedToken = this.renderToken(this.getProps().selectedItems[itemIndex]) as React.ReactElement<\n TokenInputProps<unknown>\n >;\n }\n return renderedToken.props.disabled;\n };\n\n private getAvailableTokenIndex = (startIndex: number, isDirectionLeft = true) => {\n const { selectedItems } = this.getProps();\n const step = isDirectionLeft ? -1 : +1;\n let availableIndex = startIndex + step;\n\n while (this.isTokenDisabled(availableIndex)) {\n availableIndex += step;\n if (availableIndex === selectedItems.length) {\n return availableIndex;\n } else if (availableIndex === -1) {\n return startIndex;\n }\n }\n\n return availableIndex;\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_lodash","_globalObject","_warning","_Popup","_identifiers","LayoutEvents","_interopRequireWildcard","_Token","_MenuItem","_utils","_ThemeContext","_decorators","_CommonWrapper","_Emotion","_rootNode","_createPropsGetter","_uidUtils","_TokenView","_SizeDecorator","_locale","_TokenInput2","_TokenInputReducer","_TokenInputMenu","_TextWidthHelper","_dec","_class","_TokenInput","TEMP_FAKE_FLAG","TokenInputType","exports","DefaultState","inputValue","reservedInputValue","undefined","autocompleteItems","activeTokens","editingTokenIndex","inFocus","loading","preventBlur","inputValueWidth","inputValueHeight","TokenInputDataTids","root","tokenInputMenu","label","defaultToKey","item","toString","identity","defaultRenderToken","_ref","isActive","onClick","onDoubleClick","onRemove","disabled","size","default","createElement","Token","key","TokenInput","locale","TokenInputLocaleHelper","rootNode","withSize","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","_textareaId","getUid","rootId","PopupIds","getRandomID","input","tokensInputMenu","textHelper","wrapper","memoizedTokens","Map","isEqual","itemA","itemB","_this$getProps","getProps","itemToId","lodashIsEqual","hasValueInItems","items","value","_this$getProps2","valueToString","map","includes","some","inputRef","node","tokensInputMenuRef","textHelperRef","wrapperRef","dispatch","action","cb","setState","prevState","tokenInputReducer","handleInputFocus","event","type","onFocus","handleInputBlur","isBlurToMenu","handleOutsideBlur","_this$input","preventDefault","focus","globalObject","requestAnimationFrame","_this$input2","payload","onBlur","_this$state","isEditingMode","finishTokenEdit","isTokenValueChanged","selectItem","isInputChanged","checkForUnexpectedInput","menuRef","document","_this$tokensInputMenu","menu","getRootNode","getMenuRef","relatedTarget","activeElement","contains","handleWrapperMouseDown","_this$wrapper","target","isClickOnToken","handleWrapperMouseUp","handleCopy","isCursorVisible","_this$getProps3","selectedItems","delimiters","tokens","token","indexOf","sort","index","clipboardData","setData","join","handleInputPaste","WithReference","paste","getData","_this$getProps4","valueToItem","onValueChange","delimiter","stopPropagation","trim","split","RegExp","filter","Boolean","newItems","tryGetItems","_ref2","_asyncToGenerator2","_regenerator","mark","_callee","query","_this$getProps5","isSelectedItem","isEditingItem","autocompleteItemsUnique","editingItem","selectItemIndex","wrap","_callee$","_context","prev","next","props","getItems","isInputValueChanged","hideMenuIfEmptyInputValue","sent","unshift","emit","highlightMenuItem","findIndex","toLowerCase","setTimeout","_this$menuRef","highlightItem","stop","_x","handleKeyDown","handleInputKeyDown","handleWrapperKeyDown","e","_this$state$autocompl","_this$state$autocompl2","_this$input3","_this$input4","isKeyComma","isKeyEnter","WithoutReference","newValue","handleAddItem","isRightmostTokenNotDisabled","isTokenDisabled","canSetValueToInput","showAddItemHint","enter","isKeyArrowVertical","isKeyArrowUp","up","down","isKeyEscape","blur","isKeyBackspace","moveFocusToLastToken","isKeyArrowLeft","selectionStart","getAvailableTokenIndex","itemNew","focusInput","_this$input5","selectInputText","setSelectionRange","_this$wrapper2","_this$getProps6","isKeyDelete","indexOfActiveToken","itemsNew","_this$input6","isKeyArrowHorizontal","handleWrapperArrows","handleTokenEdit","isShortcutSelectAll","activeItemIndex","newItemIndex","isLeftEdge","isRightEdge","isKeyArrowRight","shiftKey","handleWrapperArrowsWithoutShift","handleWrapperArrowsWithShift","_this$input7","handleValueChange","_this$getProps7","handleRemoveToken","_","filteredActiveTokens","handleTokenClick","ctrlKey","_this$getProps8","_autocompleteItems$fi","_this$getProps9","_this$state2","editedItem","find","splice","onUnexpectedInput","returnedValue","handleChangeInputValue","trimLeft","endsWith","trimRight","onInputValueChange","Combined","renderTokensStart","slice","renderToken","renderTokensEnd","_this$props$selectedI","_this$props","_this$props$renderTok","handleIconClick","handleTokenDoubleClick","renderedToken","set","renderAddButton","_this$locale","addButtonComment","addButtonTitle","MenuItem","comment","itemIndex","has","get","startIndex","isDirectionLeft","_this$getProps10","step","availableIndex","_inheritsLoose2","_proto","prototype","getDelimiters","_this$props$delimiter","every","propsGetter","createPropsGetter","defaultProps","propsWithOldDelimiters","_extends2","componentDidMount","_globalObject$documen","updateInputTextWidth","addEventListener","autoFocus","componentDidUpdate","prevProps","clear","isCursorVisibleForState","componentWillUnmount","_globalObject$documen2","removeEventListener","_this$input8","_this$input9","render","_this2","ThemeContext","Consumer","theme","renderMain","getLabelSizeClassName","styles","labelLarge","labelMedium","labelSmall","getInputSizeClassName","inputLarge","inputMedium","inputSmall","_cx","_cx2","_cx3","logWarning","_this$props2","maxMenuHeight","error","warning","renderNotFound","inputMode","renderTotalCount","totalCount","ariaDescribedby","ariaLabel","_this$getProps11","width","onMouseEnter","onMouseLeave","menuWidth","menuAlign","renderItem","_this$state3","showMenu","inputInlineStyles","height","caretColor","labelClassName","cx","hovering","labelDisabled","labelFocused","inputClassName","inputDisabled","placeholder","inputNode","TokenView","className","inputPlaceholderWrapper","hideCloseButton","id","textareaId","ref","style","spellCheck","onChange","onKeyDown","onPaste","CommonWrapper","rootNodeRef","setRootNode","onMouseDown","onMouseUp","htmlFor","TextWidthHelper","text","TokenInputMenu","popupMenuId","opened","anchorElementForCursor","anchorElementRoot","reservedInput","reset","parseFloat","getTextWidth","toFixed","getTextHeight","_createClass2","_this$props$id","_this$state4","_this$getProps12","React","PureComponent","__KONTUR_REACT_UI__","displayName","renderValue","toKey","emptyHandler"],"sources":["TokenInput.tsx"],"sourcesContent":["import type {\n AriaAttributes,\n ChangeEvent,\n FocusEvent,\n FocusEventHandler,\n HTMLAttributes,\n KeyboardEvent,\n MouseEventHandler,\n ReactNode,\n} from 'react';\nimport React from 'react';\nimport lodashIsEqual from 'lodash.isequal';\nimport { globalObject } from '@skbkontur/global-object';\nimport logWarning from 'warning';\n\nimport { PopupIds } from '../../internal/Popup';\nimport {\n isKeyArrowHorizontal,\n isKeyArrowLeft,\n isKeyArrowRight,\n isKeyArrowUp,\n isKeyArrowVertical,\n isKeyBackspace,\n isKeyComma,\n isKeyDelete,\n isKeyEnter,\n isKeyEscape,\n isShortcutSelectAll,\n} from '../../lib/events/keyboard/identifiers';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { Menu } from '../../internal/Menu';\nimport type { TokenProps, TokenSize } from '../Token';\nimport { Token } from '../Token';\nimport type { MenuItemState } from '../MenuItem';\nimport { MenuItem } from '../MenuItem';\nimport type { AnyObject } from '../../lib/utils';\nimport { emptyHandler, getRandomID } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { locale } from '../../lib/locale/decorators';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { getUid } from '../../lib/uidUtils';\nimport { TokenView } from '../Token/TokenView';\nimport { withSize } from '../../lib/size/SizeDecorator';\nimport type { SizeProp } from '../../lib/types/props';\n\nimport type { TokenInputLocale } from './locale';\nimport { TokenInputLocaleHelper } from './locale';\nimport { styles } from './TokenInput.styles';\nimport type { TokenInputAction } from './TokenInputReducer';\nimport { tokenInputReducer } from './TokenInputReducer';\nimport { TokenInputMenu } from './TokenInputMenu';\nimport { TextWidthHelper } from './TextWidthHelper';\n\nconst TEMP_FAKE_FLAG = 'TEMP_FAKE_FLAG';\n\nexport enum TokenInputType {\n WithReference,\n WithoutReference,\n Combined,\n}\n\nexport type TokenInputMenuAlign = 'left' | 'cursor';\n\nexport interface TokenInputProps<T>\n extends CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Задает выбранные токены, которые будут отображаться в поле ввода. */\n selectedItems?: T[];\n\n /** Задает функцию, которая вызывается при добавлении нового токена. */\n onValueChange?: (items: T[]) => void;\n\n /** Задает HTML-событие `onmouseenter`.\n * @ignore */\n onMouseEnter?: MouseEventHandler<HTMLDivElement>;\n\n /** Задает HTML-событие `onmouseleave`.\n * @ignore */\n onMouseLeave?: MouseEventHandler<HTMLDivElement>;\n\n /** Задает HTML-событие `onfocus`.\n * @ignore */\n onFocus?: FocusEventHandler<HTMLTextAreaElement>;\n\n /** Задает HTML-событие `onblur`.\n * @ignore */\n onBlur?: FocusEventHandler<HTMLTextAreaElement>;\n\n /** Устанавливает фокус на контроле после окончания загрузки страницы. */\n autoFocus?: boolean;\n\n /** Задает размер контрола. */\n size?: TokenSize;\n\n /** Задает тип инпута.\n * Возможные значения:\n * `TokenInputType.WithReference` (можно выбирать токены только из предложенных, нельзя добавить новые).\n * `TokenInputType.WithoutReference` (можно добавлять токены, но нельзя выбирать).\n * `TokenInputType.Combined` (можно и выбирать, и добавлять). */\n type?: TokenInputType;\n\n /** Задает ширину выпадающего меню. Может быть 'auto', в пикселях, процентах (от ширины инпута) и других конкретных единицах.\n * Если menuAlign = 'cursor', то ширина выпадающего меню всегда будет равна 'auto' (по ширине текста). */\n menuWidth?: React.CSSProperties['width'];\n\n /** Задает выравнивание выпадающего меню. */\n menuAlign?: TokenInputMenuAlign;\n\n /** Задает функцию поиска элементов, должна возвращать Promise с массивом элементов. По умолчанию ожидаются строки.\n * Элементы могут быть любого типа. В таком случае необходимо определить свойства `renderItem`, `valueToString`. */\n getItems?: (query: string) => Promise<T[]>;\n\n /** Скрывает меню при пустом вводе. */\n hideMenuIfEmptyInputValue?: boolean;\n\n /** Задает функцию, которая отображает элемент списка. */\n renderItem?: (item: T, state: MenuItemState) => React.ReactNode | null;\n\n /** Задает функцию, которая отображает выбранное значение. */\n renderValue?: (item: T) => React.ReactNode;\n\n /** Задает функцию, которая возвращает строковое представление токена.\n * @default item => item */\n valueToString?: (item: T) => string;\n\n /** Задает функцию, которая отображает сообщение об общем количестве элементов.\n * `found` учитывает только компонент `MenuItem`. Им \"оборачиваются\" элементы, возвращаемые `getItems()`. */\n renderTotalCount?: (found: number, total: number) => React.ReactNode;\n\n /** Определяет общее количество элементов. Необходим для работы `renderTotalCount`. */\n totalCount?: number;\n\n /** Задает функцию, которая отображает заданное содержимое при пустом результате поиска. Не работает, если рендерится `AddButton`. */\n renderNotFound?: () => React.ReactNode;\n\n /** Преобразует значение в элемент списка. */\n valueToItem?: (value: string) => T;\n\n /** @deprecated Используйте `itemToId` вместо `toKey`. */\n toKey?: (item: T) => string | number | undefined;\n\n /** Задает функцию сравнения полученных результатов с value. */\n itemToId?: (item: T) => string | number | undefined;\n\n /** Задает текст, который отображается если не введено никакое значение. */\n placeholder?: string;\n\n /** Задает символы, которые разделяют введённый текст на токены. */\n delimiters?: string[];\n\n /** Переводит контрол в состояние валидации \"ошибка\". */\n error?: boolean;\n\n /** Переводит контрол в состояние валидации \"предупреждение\". */\n warning?: boolean;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Задает ширину токен-инпута. */\n width?: string | number;\n\n /** Задает максимальную высоту выпадающего меню. */\n maxMenuHeight?: number | string;\n\n /** Задает функцию, которая отображает токен и предоставляет возможность кастомизации внешнего вида и поведения токена. */\n renderToken?: (item: T, props: Partial<TokenProps>) => ReactNode;\n\n /** Задает функцию, вызывающуюся при изменении текста в поле ввода. */\n onInputValueChange?: (value: string) => void;\n\n /** Задает функцию отрисовки кнопки добавления в выпадающем списке */\n renderAddButton?: (query?: string, onAddItem?: () => void) => ReactNode;\n\n /** Задает функцию для обработки ввода строки в инпут и последующую потерю фокуса компонентом.\n * Функция срабатывает с аргументом инпута строки\n *\n * Если при потере фокуса в выпадающем списке будет только один элемент и результат `valueToString` с этим элементом будет\n * совпадать со значением в текстовом поле, то сработает `onValueChange` со значением данного элемента\n *\n * Сама функция также может вернуть значение, неравное `undefined`, с которым будет вызван `onValueChange`.\n * При возвращаемом значении `null` будет выполнена очистка текущего значения инпута, а в режиме редактирования токен будет удален. */\n onUnexpectedInput?: (value: string) => void | null | undefined | T;\n\n /** Задает типы вводимых данных. */\n inputMode?: React.HTMLAttributes<HTMLTextAreaElement>['inputMode'];\n}\n\nexport interface TokenInputState<T> {\n autocompleteItems?: T[];\n activeTokens: T[];\n editingTokenIndex: number;\n clickedToken?: T;\n clickedTokenTimeout?: number;\n inFocus?: boolean;\n inputValue: string;\n reservedInputValue: string | undefined;\n inputValueWidth: number;\n inputValueHeight: number;\n preventBlur?: boolean;\n loading?: boolean;\n}\n\nexport const DefaultState = {\n inputValue: '',\n reservedInputValue: undefined,\n autocompleteItems: undefined,\n activeTokens: [],\n editingTokenIndex: -1,\n inFocus: false,\n loading: false,\n preventBlur: false,\n inputValueWidth: 2,\n inputValueHeight: 22,\n};\n\nexport const TokenInputDataTids = {\n root: 'TokenInput__root',\n tokenInputMenu: 'TokenInputMenu__root',\n label: 'TokenInput__label',\n} as const;\n\ntype DefaultProps<T> = Required<\n Pick<\n TokenInputProps<T>,\n | 'selectedItems'\n | 'delimiters'\n | 'renderItem'\n | 'renderValue'\n | 'valueToString'\n | 'valueToItem'\n | 'toKey'\n | 'itemToId'\n | 'onValueChange'\n | 'width'\n | 'onBlur'\n | 'onFocus'\n | 'onMouseEnter'\n | 'onMouseLeave'\n | 'menuWidth'\n | 'menuAlign'\n >\n>;\n\nconst defaultToKey = <T extends AnyObject>(item: T): string => item.toString();\n// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-constraint\nconst identity = <T extends unknown>(item: T): T => item;\nconst defaultRenderToken = <T extends AnyObject>(\n item: T,\n { isActive, onClick, onDoubleClick, onRemove, disabled, size }: Partial<TokenProps>,\n) => (\n <Token\n key={item.toString()}\n isActive={isActive}\n onClick={onClick}\n onDoubleClick={onDoubleClick}\n onRemove={onRemove}\n disabled={disabled}\n size={size}\n >\n {item.toString()}\n </Token>\n);\n\n/**\n * Поле с токенами `TokenInput` — это поле ввода со списком подсказок.\n *\n * Поле с токенами используют для выбора нескольких значений из справочника и для добавления своих значений.\n */\n@rootNode\n@locale('TokenInput', TokenInputLocaleHelper)\n@withSize\nexport class TokenInput<T = string> extends React.PureComponent<TokenInputProps<T>, TokenInputState<T>> {\n public static __KONTUR_REACT_UI__ = 'TokenInput';\n public static displayName = 'TokenInput';\n\n public static defaultProps: DefaultProps<any> = {\n selectedItems: [],\n // TEMP_FAKE_FLAG помогает узнать, остались ли разделители дефолтными или пользователь передал их равными дефолтным.\n delimiters: [',', TEMP_FAKE_FLAG],\n renderItem: identity,\n renderValue: identity,\n valueToString: identity,\n valueToItem: (item: string) => item,\n toKey: defaultToKey,\n itemToId: defaultToKey,\n onValueChange: () => void 0,\n width: 250 as string | number,\n onBlur: emptyHandler,\n onFocus: emptyHandler,\n onMouseEnter: emptyHandler,\n onMouseLeave: emptyHandler,\n menuWidth: 'auto',\n menuAlign: 'cursor',\n };\n\n private getDelimiters(): string[] {\n const delimiters = this.props.delimiters ?? [];\n if (delimiters.every((delimiter) => delimiter !== TEMP_FAKE_FLAG)) {\n return delimiters;\n }\n return delimiters.filter((delimiter) => delimiter !== TEMP_FAKE_FLAG);\n }\n\n private getProps() {\n const propsGetter = createPropsGetter(TokenInput.defaultProps);\n const propsWithOldDelimiters = propsGetter.apply(this);\n return { ...propsWithOldDelimiters, delimiters: this.getDelimiters() };\n }\n\n private get textareaId() {\n return this.props.id ?? this._textareaId;\n }\n\n public state: TokenInputState<T> = DefaultState;\n\n private readonly _textareaId: string = getUid();\n private rootId = PopupIds.root + getRandomID();\n private readonly locale!: TokenInputLocale;\n private theme!: Theme;\n private size!: SizeProp;\n private input: HTMLTextAreaElement | null = null;\n private tokensInputMenu: TokenInputMenu<T> | null = null;\n private textHelper: TextWidthHelper | null = null;\n private wrapper: HTMLLabelElement | null = null;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private memoizedTokens = new Map();\n\n public componentDidMount() {\n this.updateInputTextWidth();\n globalObject.document?.addEventListener('copy', this.handleCopy);\n if (this.props.autoFocus) {\n this.focusInput();\n }\n }\n\n public componentDidUpdate(prevProps: TokenInputProps<T> & DefaultProps<T>, prevState: TokenInputState<T>) {\n if (prevState.inputValue !== this.state.inputValue) {\n this.updateInputTextWidth();\n }\n if (prevState.activeTokens.length === 0 && this.state.activeTokens.length > 0) {\n this.dispatch({\n type: 'SET_AUTOCOMPLETE_ITEMS',\n payload: undefined,\n });\n }\n if (prevProps.selectedItems.length !== this.getProps().selectedItems.length) {\n LayoutEvents.emit();\n this.memoizedTokens.clear();\n }\n if (!this.isCursorVisibleForState(prevState) && this.isCursorVisible) {\n this.tryGetItems(this.isEditingMode ? '' : this.state.inputValue);\n }\n }\n\n public componentWillUnmount() {\n globalObject.document?.removeEventListener('copy', this.handleCopy);\n }\n\n /**\n * @public\n */\n public focus() {\n this.input?.focus();\n }\n\n /**\n * @public\n */\n public blur() {\n this.input?.blur();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getLabelSizeClassName() {\n switch (this.size) {\n case 'large':\n return styles.labelLarge(this.theme);\n case 'medium':\n return styles.labelMedium(this.theme);\n case 'small':\n default:\n return styles.labelSmall(this.theme);\n }\n }\n\n private getInputSizeClassName() {\n switch (this.size) {\n case 'large':\n return styles.inputLarge(this.theme);\n case 'medium':\n return styles.inputMedium(this.theme);\n case 'small':\n default:\n return styles.inputSmall(this.theme);\n }\n }\n\n private renderMain() {\n if (this.type !== TokenInputType.WithoutReference && !this.props.getItems) {\n logWarning(false, `getItems is required for \"Combined\" and \"WithReference\" modes.`);\n }\n\n const {\n maxMenuHeight,\n error,\n warning,\n disabled,\n renderNotFound,\n hideMenuIfEmptyInputValue,\n inputMode,\n renderTotalCount,\n totalCount,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n } = this.props;\n\n const { selectedItems, width, onMouseEnter, onMouseLeave, menuWidth, menuAlign, renderItem } = this.getProps();\n\n const {\n activeTokens,\n inFocus,\n inputValueWidth,\n inputValueHeight,\n inputValue,\n reservedInputValue,\n autocompleteItems,\n loading,\n } = this.state;\n\n const showMenu =\n this.type !== TokenInputType.WithoutReference &&\n this.isCursorVisible &&\n activeTokens.length === 0 &&\n (this.isInputValueChanged || !hideMenuIfEmptyInputValue);\n\n const theme = this.theme;\n\n const inputInlineStyles: React.CSSProperties = {\n // вычисляем ширину чтобы input автоматически перенёсся на следующую строку при необходимости\n width: inputValueWidth,\n height: inputValueHeight,\n // в ie не работает, но альтернативный способ --- дать tabindex для label --- предположительно ещё сложнее\n caretColor: this.isCursorVisible ? undefined : 'transparent',\n };\n\n const labelClassName = cx(styles.label(theme), this.getLabelSizeClassName(), {\n [styles.hovering(this.theme)]: !inFocus && !disabled && !warning && !error,\n [styles.labelDisabled(theme)]: !!disabled,\n [styles.labelFocused(theme)]: !!inFocus,\n [styles.error(theme)]: !!error,\n [styles.warning(theme)]: !!warning,\n });\n const inputClassName = cx(styles.input(theme), this.getInputSizeClassName(), {\n [styles.inputDisabled(theme)]: !!disabled,\n });\n\n const placeholder = selectedItems.length === 0 && !inputValue ? this.props.placeholder : '';\n\n const inputNode = (\n <TokenView\n size={this.size}\n className={cx({\n // input растягивается на всю ширину чтобы placeholder не обрезался\n [styles.inputPlaceholderWrapper()]: Boolean(placeholder),\n })}\n hideCloseButton={Boolean(placeholder)}\n >\n <textarea\n id={this.textareaId}\n ref={this.inputRef}\n value={inputValue}\n style={inputInlineStyles}\n spellCheck={false}\n disabled={disabled}\n className={inputClassName}\n placeholder={placeholder}\n onFocus={this.handleInputFocus}\n onBlur={this.handleInputBlur}\n onChange={this.handleChangeInputValue}\n onKeyDown={this.handleKeyDown}\n onPaste={this.handleInputPaste}\n inputMode={inputMode}\n aria-label={ariaLabel}\n aria-describedby={ariaDescribedby}\n />\n </TokenView>\n );\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div data-tid={TokenInputDataTids.root} onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>\n <label\n ref={this.wrapperRef}\n style={{ width }}\n className={labelClassName}\n onMouseDown={this.handleWrapperMouseDown}\n onMouseUp={this.handleWrapperMouseUp}\n htmlFor={this.textareaId}\n aria-controls={this.rootId}\n data-tid={TokenInputDataTids.label}\n >\n <TextWidthHelper ref={this.textHelperRef} text={inputValue} theme={this.theme} size={this.size} />\n {this.renderTokensStart()}\n {inputNode}\n {showMenu && (\n <TokenInputMenu\n popupMenuId={this.rootId}\n ref={this.tokensInputMenuRef}\n items={autocompleteItems}\n loading={loading}\n opened={showMenu}\n maxMenuHeight={maxMenuHeight}\n anchorElementForCursor={this.input}\n anchorElementRoot={this.wrapper}\n renderNotFound={renderNotFound}\n renderItem={renderItem}\n onValueChange={this.selectItem}\n renderAddButton={this.renderAddButton}\n menuWidth={menuWidth}\n menuAlign={menuAlign}\n renderTotalCount={renderTotalCount}\n totalCount={totalCount}\n size={this.size}\n />\n )}\n {this.renderTokensEnd()}\n {this.isEditingMode ? (\n <TokenView size={this.size}>\n <span className={styles.reservedInput(theme)}>{reservedInputValue}</span>\n </TokenView>\n ) : null}\n </label>\n </div>\n </CommonWrapper>\n );\n }\n\n /**\n * Сбрасывает введенное пользователем значение\n * @public\n */\n public reset() {\n this.dispatch({ type: 'RESET' });\n }\n\n private isEqual = (itemA: T, itemB: T) => {\n const { itemToId } = this.getProps();\n return lodashIsEqual(itemToId(itemA), itemToId(itemB));\n };\n\n private hasValueInItems = (items: T[], value: string | T) => {\n const { valueToString } = this.getProps();\n if (typeof value === 'string') {\n return items.map((item) => valueToString(item)).includes(value);\n }\n\n return items.some((item) => this.isEqual(item, value));\n };\n\n private get showAddItemHint() {\n const items = this.state.autocompleteItems;\n const value = this.getProps().valueToItem(this.state.inputValue);\n if (items && this.hasValueInItems(items, value)) {\n return false;\n }\n\n const selectedItems = this.getProps().selectedItems;\n if (selectedItems && this.hasValueInItems(selectedItems, value)) {\n return false;\n }\n\n if (this.type === TokenInputType.Combined && this.isInputValueChanged) {\n return true;\n }\n }\n\n private get type() {\n return this.props.type ? this.props.type : TokenInputType.WithReference;\n }\n\n private get menuRef(): Menu | null {\n return this.tokensInputMenu && this.tokensInputMenu.getMenuRef();\n }\n\n private get isCursorVisible() {\n return this.isCursorVisibleForState(this.state);\n }\n\n private get isEditingMode() {\n return this.state.editingTokenIndex > -1;\n }\n\n private isCursorVisibleForState(state: TokenInputState<T>) {\n return state.inFocus && (this.isInputValueChanged || state.activeTokens.length === 0);\n }\n\n private inputRef = (node: HTMLTextAreaElement) => (this.input = node);\n private tokensInputMenuRef = (node: TokenInputMenu<T>) => (this.tokensInputMenu = node);\n private textHelperRef = (node: TextWidthHelper) => (this.textHelper = node);\n private wrapperRef = (node: HTMLLabelElement) => (this.wrapper = node);\n\n private dispatch = (action: TokenInputAction, cb?: () => void) => {\n this.setState((prevState) => tokenInputReducer(prevState, action), cb);\n };\n\n private updateInputTextWidth() {\n if (this.textHelper) {\n // в IE текст иногда не помещается в input\n // из-за округления, поэтому округляем явно\n const inputValueWidth = parseFloat(this.textHelper.getTextWidth().toFixed(2));\n const inputValueHeight = parseFloat(this.textHelper.getTextHeight().toFixed(2));\n\n this.dispatch({ type: 'SET_INPUT_VALUE_WIDTH', payload: inputValueWidth }, LayoutEvents.emit);\n this.dispatch({ type: 'SET_INPUT_VALUE_HEIGHT', payload: inputValueHeight }, LayoutEvents.emit);\n }\n }\n\n private handleInputFocus = (event: FocusEvent<HTMLTextAreaElement>) => {\n this.dispatch({ type: 'SET_FOCUS_IN' });\n this.getProps().onFocus(event);\n };\n\n private handleInputBlur = (event: FocusEvent<HTMLTextAreaElement>) => {\n const isBlurToMenu = this.isBlurToMenu(event);\n\n if (!isBlurToMenu) {\n this.handleOutsideBlur();\n }\n\n if (isBlurToMenu || this.state.preventBlur) {\n event.preventDefault();\n // первый focus нужен для предотвращения/уменьшения моргания в других браузерах\n this.input?.focus();\n // в firefox не работает без второго focus\n globalObject.requestAnimationFrame?.(() => this.input?.focus());\n this.dispatch({ type: 'SET_PREVENT_BLUR', payload: false });\n } else {\n this.dispatch({ type: 'BLUR' });\n this.getProps().onBlur(event);\n }\n };\n\n private handleOutsideBlur = () => {\n const { inputValue, autocompleteItems } = this.state;\n\n if (inputValue === '') {\n // если стерли содержимое токена в режиме редактирования, то удаляем токен\n if (this.isEditingMode) {\n this.finishTokenEdit();\n }\n return;\n }\n\n // если не изменилось значение токена при редактировании\n if (this.isEditingMode && !this.isTokenValueChanged) {\n this.finishTokenEdit();\n return;\n }\n\n // чекаем автокомплит на совпадение с введенным значением в инпут\n if (autocompleteItems && autocompleteItems.length === 1) {\n const item = autocompleteItems[0];\n\n if (this.getProps().valueToString(item) === inputValue) {\n this.isEditingMode ? this.finishTokenEdit() : this.selectItem(item);\n\n return;\n }\n }\n\n if (this.isInputChanged) {\n this.checkForUnexpectedInput();\n }\n };\n\n private get isInputChanged() {\n if (this.isEditingMode) {\n return this.isTokenValueChanged;\n }\n\n return this.isInputValueChanged;\n }\n\n private get isInputValueChanged() {\n const { inputValue } = this.state;\n\n return inputValue !== '';\n }\n\n private get isTokenValueChanged() {\n const { inputValue, editingTokenIndex } = this.state;\n const { valueToString, selectedItems } = this.getProps();\n\n if (this.isEditingMode) {\n return valueToString(selectedItems[editingTokenIndex]) !== inputValue;\n }\n\n return false;\n }\n\n private isBlurToMenu = (event: FocusEvent<HTMLElement>) => {\n if (this.menuRef && globalObject.document) {\n const menu = getRootNode(this.tokensInputMenu?.getMenuRef());\n const relatedTarget = event.relatedTarget || globalObject.document.activeElement;\n\n if (menu && menu.contains(relatedTarget)) {\n return true;\n }\n }\n return false;\n };\n\n private handleWrapperMouseDown = (event: React.MouseEvent<HTMLElement>) => {\n this.dispatch({ type: 'SET_PREVENT_BLUR', payload: true });\n const target = event.target as HTMLElement;\n const isClickOnToken = target && this.wrapper?.contains(target) && target !== this.wrapper && target !== this.input;\n if (!isClickOnToken) {\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' });\n }\n };\n\n private handleWrapperMouseUp = () => {\n this.dispatch({ type: 'SET_PREVENT_BLUR', payload: false });\n };\n\n private handleCopy = (event: any) => {\n if (!this.state.inFocus || this.state.activeTokens.length === 0 || this.isCursorVisible) {\n return;\n }\n event.preventDefault();\n const { selectedItems, valueToString, delimiters } = this.getProps();\n // упорядочивание токенов по индексу\n const tokens = this.state.activeTokens\n .map((token) => selectedItems.indexOf(token))\n .sort()\n .map((index) => selectedItems[index])\n .map((item) => valueToString(item));\n event.clipboardData.setData('text/plain', tokens.join(delimiters[0]));\n };\n\n private handleInputPaste = (event: React.ClipboardEvent<HTMLElement>) => {\n if (this.type === TokenInputType.WithReference || !event.clipboardData) {\n return;\n }\n const paste = event.clipboardData.getData('text');\n const { delimiters, selectedItems, valueToItem, onValueChange } = this.getProps();\n if (delimiters.some((delimiter) => paste.includes(delimiter))) {\n event.preventDefault();\n event.stopPropagation();\n const tokens = paste.trim().split(new RegExp(`[${delimiters.join('')}]+`));\n const items = tokens\n .filter(Boolean)\n .map((token) => valueToItem(token))\n .filter((item) => item && !this.hasValueInItems(selectedItems, item));\n const newItems = selectedItems.concat(items);\n onValueChange(newItems);\n\n this.dispatch({ type: 'SET_AUTOCOMPLETE_ITEMS', payload: undefined });\n this.tryGetItems();\n }\n };\n\n private tryGetItems = async (query = '') => {\n if (this.props.getItems && (this.isInputValueChanged || !this.props.hideMenuIfEmptyInputValue)) {\n this.dispatch({ type: 'SET_LOADING', payload: true });\n const autocompleteItems = await this.props.getItems(query);\n this.dispatch({ type: 'SET_LOADING', payload: false });\n\n const { selectedItems, valueToItem, valueToString } = this.getProps();\n const isSelectedItem = (item: T) => this.hasValueInItems(selectedItems, item);\n const isEditingItem = (item: T) => {\n const editingItem = selectedItems[this.state.editingTokenIndex];\n return !!editingItem && this.isEqual(item, editingItem);\n };\n\n const autocompleteItemsUnique = autocompleteItems.filter((item) => !isSelectedItem(item) || isEditingItem(item));\n\n if (this.isEditingMode) {\n const editingItem = selectedItems[this.state.editingTokenIndex];\n if (\n this.isEqual(editingItem, valueToItem(this.state.inputValue)) &&\n !this.hasValueInItems(autocompleteItemsUnique, editingItem)\n ) {\n autocompleteItemsUnique.unshift(editingItem);\n }\n }\n\n if (query === '' || this.isInputValueChanged) {\n this.dispatch({ type: 'SET_AUTOCOMPLETE_ITEMS', payload: autocompleteItemsUnique }, () => {\n LayoutEvents.emit();\n this.highlightMenuItem();\n });\n }\n const selectItemIndex = autocompleteItemsUnique.findIndex(\n (item) => valueToString(item).toLowerCase() === this.state.inputValue.toLowerCase(),\n );\n setTimeout(() => this.menuRef?.highlightItem(selectItemIndex < 0 ? 0 : selectItemIndex), 0);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent<HTMLTextAreaElement>) => {\n if (this.isCursorVisible) {\n this.handleInputKeyDown(event);\n } else {\n this.handleWrapperKeyDown(event);\n }\n };\n\n private handleInputKeyDown = (e: KeyboardEvent<HTMLTextAreaElement>) => {\n e.stopPropagation();\n\n if (\n (this.type !== TokenInputType.WithReference &&\n this.getProps().delimiters.some((key) => key === e.key || (key === ',' && isKeyComma(e)))) ||\n (isKeyEnter(e) && this.type === TokenInputType.WithoutReference)\n ) {\n e.preventDefault();\n const newValue = this.state.inputValue;\n if (newValue !== '') {\n if (this.isEditingMode) {\n this.finishTokenEdit();\n } else {\n this.handleAddItem();\n }\n }\n }\n const isRightmostTokenNotDisabled = !this.isTokenDisabled(this.getProps().selectedItems.length - 1);\n const canSetValueToInput = this.showAddItemHint || (this.state.autocompleteItems?.length ?? 0) > 0;\n\n switch (true) {\n case isKeyEnter(e):\n if (canSetValueToInput && this.menuRef) {\n this.menuRef.enter(e);\n }\n // don't allow textarea\n // became multiline\n e.preventDefault();\n break;\n case isKeyArrowVertical(e):\n e.preventDefault();\n if (this.menuRef) {\n if (isKeyArrowUp(e)) {\n this.menuRef.up();\n } else {\n this.menuRef.down();\n }\n }\n break;\n case isKeyEscape(e):\n this.input?.blur();\n break;\n case isKeyBackspace(e):\n if (!this.isEditingMode && isRightmostTokenNotDisabled) {\n this.moveFocusToLastToken();\n }\n break;\n case isKeyArrowLeft(e):\n if (this.input?.selectionStart === 0) {\n const index = this.getAvailableTokenIndex(this.getProps().selectedItems.length);\n const itemNew = this.getProps().selectedItems[index];\n if (itemNew) {\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: [itemNew] });\n }\n }\n break;\n }\n };\n\n private moveFocusToLastToken() {\n const items = this.getProps().selectedItems;\n if (this.state.inputValue === '' && items && items.length > 0) {\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: items.slice(-1) });\n }\n }\n\n private focusInput = () => {\n globalObject.requestAnimationFrame?.(() => this.input?.focus());\n };\n\n private selectInputText = () => {\n if (this.input) {\n this.input.setSelectionRange(0, this.state.inputValue.length);\n }\n };\n\n private handleWrapperKeyDown = (e: KeyboardEvent<HTMLElement>) => {\n const { selectedItems, onValueChange } = this.getProps();\n switch (true) {\n case isKeyBackspace(e):\n case isKeyDelete(e): {\n const indexOfActiveToken = this.getProps().selectedItems.indexOf(\n this.state.activeTokens[this.state.activeTokens.length - 1],\n );\n if (!this.isEditingMode && !this.isTokenDisabled(indexOfActiveToken)) {\n const itemsNew = selectedItems.filter((item) => !this.hasValueInItems(this.state.activeTokens, item));\n onValueChange(itemsNew);\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' }, () => {\n LayoutEvents.emit();\n this.input?.focus();\n });\n }\n break;\n }\n case isKeyArrowHorizontal(e):\n this.handleWrapperArrows(e);\n break;\n case isKeyEscape(e):\n this.wrapper?.blur();\n break;\n case isKeyEnter(e):\n e.preventDefault();\n if (this.state.activeTokens.length === 1) {\n this.handleTokenEdit(this.state.activeTokens[0]);\n }\n break;\n case isShortcutSelectAll(e):\n e.preventDefault();\n this.dispatch({\n type: 'SET_ACTIVE_TOKENS',\n payload: selectedItems.filter((item) => !this.isTokenDisabled(selectedItems.indexOf(item))),\n });\n break;\n }\n };\n\n private handleWrapperArrows = (e: KeyboardEvent<HTMLElement>) => {\n e.preventDefault();\n const selectedItems = this.getProps().selectedItems;\n const activeTokens = this.state.activeTokens;\n const activeItemIndex = selectedItems.indexOf(activeTokens[0]);\n const newItemIndex = this.getAvailableTokenIndex(activeItemIndex, isKeyArrowLeft(e));\n const isLeftEdge = activeItemIndex === 0 && isKeyArrowLeft(e);\n const isRightEdge = newItemIndex === selectedItems.length && isKeyArrowRight(e);\n if (!e.shiftKey && activeTokens.length === 1) {\n this.handleWrapperArrowsWithoutShift(isLeftEdge, isRightEdge, newItemIndex);\n } else {\n this.handleWrapperArrowsWithShift(isLeftEdge, isRightEdge, newItemIndex);\n }\n };\n\n private handleWrapperArrowsWithoutShift = (isLeftEdge: boolean, isRightEdge: boolean, newItemIndex: number) => {\n if (isRightEdge) {\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' }, () => this.input?.focus());\n } else if (!isLeftEdge) {\n this.dispatch({\n type: 'SET_ACTIVE_TOKENS',\n payload: [this.getProps().selectedItems[newItemIndex]],\n });\n }\n };\n\n private handleWrapperArrowsWithShift = (isLeftEdge: boolean, isRightEdge: boolean, newItemIndex: number) => {\n if (!isLeftEdge && !isRightEdge) {\n const itemNew = this.getProps().selectedItems[newItemIndex];\n const itemsNew = [itemNew, ...this.state.activeTokens.filter((item) => !this.isEqual(item, itemNew))];\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: itemsNew });\n }\n };\n\n private handleValueChange = (items: T[]) => {\n this.getProps().onValueChange(items);\n };\n\n private handleAddItem = () => {\n const item = this.getProps().valueToItem(this.state.inputValue);\n if (item) {\n this.selectItem(item);\n }\n };\n\n private selectItem = (item: T) => {\n const { selectedItems, valueToString } = this.getProps();\n if (this.isEditingMode) {\n this.dispatch({ type: 'UPDATE_QUERY', payload: valueToString(item) }, this.finishTokenEdit);\n } else if (!this.hasValueInItems(selectedItems, item)) {\n this.handleValueChange(selectedItems.concat([item]));\n this.dispatch({ type: 'CLEAR_INPUT' });\n this.tryGetItems();\n }\n };\n\n private handleRemoveToken = (item: T) => {\n this.props.onValueChange?.(this.getProps().selectedItems.filter((_) => !this.isEqual(_, item)));\n const filteredActiveTokens = this.state.activeTokens.filter((_) => !this.isEqual(_, item));\n\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: filteredActiveTokens });\n if (filteredActiveTokens.length === 0) {\n this.focusInput();\n }\n\n this.tryGetItems();\n };\n\n private handleTokenClick = (event: React.MouseEvent<HTMLElement>, itemNew: T) => {\n const items = this.state.activeTokens;\n if (event.ctrlKey) {\n const newItems = this.hasValueInItems(this.state.activeTokens, itemNew)\n ? items.filter((item) => !this.isEqual(item, itemNew))\n : [...items, itemNew];\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: newItems });\n } else {\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: [itemNew] });\n }\n this.focusInput();\n };\n\n private handleTokenEdit = (itemNew: T) => {\n const { selectedItems, valueToString } = this.getProps();\n const editingTokenIndex = selectedItems.findIndex((item) => item === itemNew);\n this.dispatch({ type: 'SET_EDITING_TOKEN_INDEX', payload: editingTokenIndex });\n\n if (this.isInputValueChanged) {\n if (this.state.reservedInputValue === undefined) {\n this.dispatch({ type: 'SET_TEMPORARY_QUERY', payload: this.state.inputValue });\n }\n }\n this.dispatch({ type: 'UPDATE_QUERY', payload: valueToString(itemNew) }, this.selectInputText);\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' });\n\n this.tryGetItems();\n };\n\n private finishTokenEdit = () => {\n const { selectedItems, valueToString } = this.getProps();\n const { editingTokenIndex, inputValue, reservedInputValue, autocompleteItems } = this.state;\n\n const editedItem =\n autocompleteItems?.find((item) => valueToString(item) === inputValue) ?? this.getProps().valueToItem(inputValue);\n\n const newItems = selectedItems.concat([]);\n\n if (!this.hasValueInItems(selectedItems, editedItem)) {\n newItems.splice(editingTokenIndex, 1, ...(this.isInputValueChanged ? [editedItem] : []));\n this.handleValueChange(newItems);\n }\n\n this.dispatch({ type: 'REMOVE_EDITING_TOKEN_INDEX' });\n\n if (reservedInputValue) {\n this.dispatch({ type: 'UPDATE_QUERY', payload: reservedInputValue });\n this.dispatch({ type: 'REMOVE_TEMPORARY_QUERY' });\n } else {\n this.dispatch({ type: 'CLEAR_INPUT' });\n }\n\n if (newItems.length === selectedItems.length) {\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: [newItems[editingTokenIndex]] });\n }\n };\n\n private checkForUnexpectedInput = () => {\n const { inputValue } = this.state;\n const { onUnexpectedInput } = this.props;\n\n // чекаем не возвращает ли что-нибудь обработчик\n const returnedValue = onUnexpectedInput?.(inputValue);\n\n if (returnedValue === undefined) {\n if (this.type === TokenInputType.WithoutReference) {\n this.handleAddItem();\n }\n\n return;\n }\n\n if (returnedValue === null) {\n this.dispatch({ type: 'CLEAR_INPUT' }, () => {\n if (this.isEditingMode) {\n this.finishTokenEdit();\n }\n });\n\n return;\n }\n\n if (returnedValue) {\n this.selectItem(returnedValue);\n }\n };\n\n private handleChangeInputValue = (event: ChangeEvent<HTMLTextAreaElement>) => {\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' });\n let query = event.target.value.trimLeft();\n\n if (query.endsWith(' ')) {\n query = query.trimRight() + ' ';\n }\n if (this.isInputValueChanged && query === '') {\n this.dispatch({ type: 'SET_AUTOCOMPLETE_ITEMS', payload: undefined });\n }\n this.dispatch({ type: 'UPDATE_QUERY', payload: query }, () => {\n this.tryGetItems(query);\n });\n if (this.props.onInputValueChange) {\n this.props.onInputValueChange(query);\n }\n };\n\n private highlightMenuItem = () => {\n if (\n this.menuRef &&\n this.state.autocompleteItems &&\n this.state.autocompleteItems.length > 0 &&\n this.type !== TokenInputType.Combined\n ) {\n this.menuRef.highlightItem(0);\n }\n };\n\n private renderTokensStart = () => {\n const { editingTokenIndex } = this.state;\n const selectedItems = this.getProps().selectedItems;\n const delimiter = editingTokenIndex >= 0 ? editingTokenIndex : selectedItems.length;\n return selectedItems.slice(0, delimiter).map(this.renderToken);\n };\n\n private renderTokensEnd = () => {\n if (this.state.editingTokenIndex >= 0) {\n return this.getProps()\n .selectedItems.slice(this.state.editingTokenIndex + 1)\n .map(this.renderToken);\n }\n };\n\n private renderToken = (item: T) => {\n const { renderToken = defaultRenderToken, disabled } = this.props;\n\n const isActive = this.state.activeTokens.includes(item);\n\n // TODO useCallback\n const handleIconClick: React.MouseEventHandler<HTMLElement> = (event) => {\n event.stopPropagation();\n if (!this.isEditingMode) {\n this.handleRemoveToken(item);\n }\n };\n\n // TODO useCallback\n const handleTokenClick: React.MouseEventHandler<HTMLDivElement> = (event) => {\n event.stopPropagation();\n if (!this.isEditingMode) {\n this.handleTokenClick(event, item);\n }\n };\n\n const handleTokenDoubleClick: React.MouseEventHandler<HTMLDivElement> = (event) => {\n event.stopPropagation();\n if (!this.isEditingMode && !disabled) {\n this.handleTokenEdit(item);\n }\n };\n\n const renderedToken = renderToken(item as T & AnyObject, {\n size: this.size,\n isActive,\n onClick: handleTokenClick,\n onDoubleClick: handleTokenDoubleClick,\n onRemove: handleIconClick,\n disabled,\n });\n\n this.memoizedTokens.set(this.props.selectedItems?.indexOf(item), renderedToken);\n return renderedToken;\n };\n\n private renderAddButton = (value = this.state.inputValue): React.ReactNode | undefined => {\n if (!this.showAddItemHint) {\n return;\n }\n\n if (this.props.renderAddButton) {\n return this.props.renderAddButton(value, this.handleAddItem);\n }\n\n const { addButtonComment, addButtonTitle } = this.locale;\n\n return (\n <MenuItem onClick={this.handleAddItem} comment={addButtonComment} key=\"renderAddButton\">\n {addButtonTitle} {value}\n </MenuItem>\n );\n };\n\n private isTokenDisabled = (itemIndex: number) => {\n let renderedToken;\n if (this.memoizedTokens.has(itemIndex)) {\n renderedToken = this.memoizedTokens.get(itemIndex);\n } else if (itemIndex < 0 || itemIndex > this.getProps().selectedItems.length - 1) {\n return false;\n } else {\n renderedToken = this.renderToken(this.getProps().selectedItems[itemIndex]) as React.ReactElement<\n TokenInputProps<unknown>\n >;\n }\n return renderedToken.props.disabled;\n };\n\n private getAvailableTokenIndex = (startIndex: number, isDirectionLeft = true) => {\n const { selectedItems } = this.getProps();\n const step = isDirectionLeft ? -1 : +1;\n let availableIndex = startIndex + step;\n\n while (this.isTokenDisabled(availableIndex)) {\n availableIndex += step;\n if (availableIndex === selectedItems.length) {\n return availableIndex;\n } else if (availableIndex === -1) {\n return startIndex;\n }\n }\n\n return availableIndex;\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,8 +2,9 @@ import React from 'react';
2
2
  import type { PopupPositionsType, ShortPopupPositionsType } from '../../internal/Popup';
3
3
  import type { Nullable } from '../../typings/utility-types';
4
4
  import type { CommonProps } from '../../internal/CommonWrapper';
5
+ import type { TGetRootNode } from '../../lib/rootNode';
5
6
  import type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';
6
- import type { ReactUIFeatureFlags } from '../../lib/featureFlagsContext';
7
+ import type { SizeProp } from '../../lib/types/props';
7
8
  export type TooltipTrigger =
8
9
  /** Наведение на children и на тултип */
9
10
  'hover'
@@ -34,6 +35,9 @@ export interface TooltipProps extends CommonProps {
34
35
  render?: Nullable<() => React.ReactNode>;
35
36
  /** Задает приоритетное расположение подсказки относительно текста. */
36
37
  pos?: ShortPopupPositionsType | PopupPositionsType;
38
+ /** Задает размер тултипа.
39
+ * @default 'small' */
40
+ size?: SizeProp;
37
41
  /** Задает триггер открытия тултипа. */
38
42
  trigger?: TooltipTrigger;
39
43
  /** Задает хендлер, который вызывается при клике по крестику. */
@@ -69,32 +73,31 @@ export declare const TooltipDataTids: {
69
73
  };
70
74
  type DefaultProps = Required<Pick<TooltipProps, 'trigger' | 'disableAnimations' | 'useWrapper' | 'delayBeforeShow'>>;
71
75
  /**
72
- * `Tooltip` — это подсказка, которую пользователь открывает сам, кликом по элементу.
76
+ * `Tooltip` — это подсказка, которая объясняет состояние контрола или даёт контекстную справку.
73
77
  *
74
- * `Tooltip` используется для коротких поясняющих текстов, если необходимо дать разъяснение к деталям интерфейса, упомянутой информации или помочь с заполнением полей.
75
- * Если эти подробности не нужны постоянно, но могут помочь пользователю в момент когда он испытывает трудности.
76
- *
77
- * Для подсказки, всплывающей по наведению используйте Hint.
78
+ * Открывается по клику, фокусом на элемент или по наведению. В отличие от `Hint`, `Tooltip` может содержать
79
+ * изображения, кнопки, ссылки и прочие интерактивные элементы.
78
80
  */
79
81
  export declare class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {
80
82
  static __KONTUR_REACT_UI__: string;
81
83
  static displayName: string;
82
- static propTypes: {
83
- children(props: TooltipProps, propName: keyof TooltipProps, componentName: string): void;
84
- };
85
84
  static defaultProps: DefaultProps;
86
85
  private getProps;
86
+ private validateProps;
87
87
  static delay: number;
88
88
  private static triggersWithoutCloseButton;
89
89
  state: TooltipState;
90
90
  private theme;
91
- featureFlags: ReactUIFeatureFlags;
91
+ private size;
92
+ private sizeVariables;
92
93
  private hoverTimeout;
93
94
  private contentElement;
94
95
  private clickedOutside;
96
+ getRootNode: TGetRootNode;
95
97
  private setRootNode;
96
98
  private popupRef;
97
99
  getAllowedPositions(): string[];
100
+ componentDidMount(): void;
98
101
  componentDidUpdate(): void;
99
102
  componentWillUnmount(): void;
100
103
  render(): React.JSX.Element;
@@ -129,5 +132,6 @@ export declare class Tooltip extends React.PureComponent<TooltipProps, TooltipSt
129
132
  private handleFocus;
130
133
  private handleBlur;
131
134
  private handleCloseButtonClick;
135
+ private getSizeVariables;
132
136
  }
133
137
  export {};