@skbkontur/react-ui 0.0.0-0b8a8f7a39 → 0.0.0-151f385a39

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 (2288) hide show
  1. package/CHANGELOG.md +2735 -2098
  2. package/LICENSE +21 -21
  3. package/README.md +129 -61
  4. package/cjs/components/Autocomplete/Autocomplete.d.ts +13 -1
  5. package/cjs/components/Autocomplete/Autocomplete.js +120 -44
  6. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  7. package/cjs/components/Autocomplete/Autocomplete.md +7 -7
  8. package/cjs/components/Autocomplete/Autocomplete.styles.d.ts +4 -0
  9. package/cjs/components/Autocomplete/Autocomplete.styles.js +10 -0
  10. package/cjs/components/Autocomplete/Autocomplete.styles.js.map +1 -0
  11. package/cjs/components/Autocomplete/index.js.map +1 -1
  12. package/cjs/components/Button/Button.d.ts +77 -19
  13. package/cjs/components/Button/Button.js +128 -15
  14. package/cjs/components/Button/Button.js.map +1 -1
  15. package/cjs/components/Button/Button.md +104 -92
  16. package/cjs/components/Button/Button.mixins.d.ts +6 -5
  17. package/cjs/components/Button/Button.mixins.js +39 -48
  18. package/cjs/components/Button/Button.mixins.js.map +1 -1
  19. package/cjs/components/Button/Button.styles.d.ts +37 -10
  20. package/cjs/components/Button/Button.styles.js +329 -261
  21. package/cjs/components/Button/Button.styles.js.map +1 -1
  22. package/cjs/components/Button/index.js.map +1 -1
  23. package/cjs/components/Center/Center.d.ts +5 -8
  24. package/cjs/components/Center/Center.js +18 -16
  25. package/cjs/components/Center/Center.js.map +1 -1
  26. package/cjs/components/Center/Center.md +26 -5
  27. package/cjs/components/Center/Center.styles.d.ts +1 -1
  28. package/cjs/components/Center/Center.styles.js +3 -6
  29. package/cjs/components/Center/Center.styles.js.map +1 -1
  30. package/cjs/components/Center/index.js.map +1 -1
  31. package/cjs/components/Checkbox/Checkbox.d.ts +34 -17
  32. package/cjs/components/Checkbox/Checkbox.js +95 -56
  33. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  34. package/cjs/components/Checkbox/Checkbox.md +104 -63
  35. package/cjs/components/Checkbox/Checkbox.styles.d.ts +12 -7
  36. package/cjs/components/Checkbox/Checkbox.styles.js +91 -79
  37. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  38. package/cjs/components/Checkbox/index.js.map +1 -1
  39. package/cjs/components/ComboBox/ComboBox.d.ts +12 -2
  40. package/cjs/components/ComboBox/ComboBox.js +113 -76
  41. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  42. package/cjs/components/ComboBox/ComboBox.md +445 -445
  43. package/cjs/components/ComboBox/index.js.map +1 -1
  44. package/cjs/components/CurrencyInput/CurrencyHelper.js +25 -18
  45. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  46. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +7 -4
  47. package/cjs/components/CurrencyInput/CurrencyInput.js +86 -31
  48. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  49. package/cjs/components/CurrencyInput/CurrencyInput.md +24 -24
  50. package/cjs/components/CurrencyInput/CurrencyInputHelper.js +7 -5
  51. package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  52. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js +2 -2
  53. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js.map +1 -1
  54. package/cjs/components/CurrencyInput/CursorHelper.js +19 -16
  55. package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
  56. package/cjs/components/CurrencyInput/SelectionHelper.js.map +1 -1
  57. package/cjs/components/CurrencyInput/constants.js +1 -1
  58. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  59. package/cjs/components/CurrencyInput/index.js.map +1 -1
  60. package/cjs/components/CurrencyLabel/CurrencyLabel.js +5 -5
  61. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  62. package/cjs/components/CurrencyLabel/CurrencyLabel.md +23 -23
  63. package/cjs/components/CurrencyLabel/index.js.map +1 -1
  64. package/cjs/components/DateInput/DateFragmentsView.js +3 -3
  65. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  66. package/cjs/components/DateInput/DateFragmentsView.styles.d.ts +1 -1
  67. package/cjs/components/DateInput/DateFragmentsView.styles.js +4 -7
  68. package/cjs/components/DateInput/DateFragmentsView.styles.js.map +1 -1
  69. package/cjs/components/DateInput/DateInput.d.ts +8 -0
  70. package/cjs/components/DateInput/DateInput.js +32 -17
  71. package/cjs/components/DateInput/DateInput.js.map +1 -1
  72. package/cjs/components/DateInput/DateInput.md +106 -106
  73. package/cjs/components/DateInput/DateInput.styles.d.ts +3 -1
  74. package/cjs/components/DateInput/DateInput.styles.js +15 -3
  75. package/cjs/components/DateInput/DateInput.styles.js.map +1 -1
  76. package/cjs/components/DateInput/ViewDateInputValidateChecks.js.map +1 -1
  77. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js +2 -2
  78. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  79. package/cjs/components/DateInput/helpers/InternalDateMediator.js +11 -8
  80. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  81. package/cjs/components/DateInput/helpers/SelectionHelpers.js +1 -1
  82. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  83. package/cjs/components/DateInput/helpers/inputNumber.js.map +1 -1
  84. package/cjs/components/DateInput/index.js.map +1 -1
  85. package/cjs/components/DatePicker/DatePicker.d.ts +21 -8
  86. package/cjs/components/DatePicker/DatePicker.js +83 -32
  87. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  88. package/cjs/components/DatePicker/DatePicker.md +307 -307
  89. package/cjs/components/DatePicker/DatePicker.styles.d.ts +1 -1
  90. package/cjs/components/DatePicker/DatePicker.styles.js +4 -5
  91. package/cjs/components/DatePicker/DatePicker.styles.js.map +1 -1
  92. package/cjs/components/DatePicker/DatePickerHelpers.js +2 -2
  93. package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
  94. package/cjs/components/DatePicker/Picker.js +5 -4
  95. package/cjs/components/DatePicker/Picker.js.map +1 -1
  96. package/cjs/components/DatePicker/Picker.styles.d.ts +1 -1
  97. package/cjs/components/DatePicker/Picker.styles.js +5 -7
  98. package/cjs/components/DatePicker/Picker.styles.js.map +1 -1
  99. package/cjs/components/DatePicker/index.js.map +1 -1
  100. package/cjs/components/DatePicker/locale/index.js.map +1 -1
  101. package/cjs/components/DatePicker/locale/locales/en.js.map +1 -1
  102. package/cjs/components/DatePicker/locale/locales/ru.js.map +1 -1
  103. package/cjs/components/DatePicker/locale/types.js +1 -1
  104. package/cjs/components/Dropdown/Dropdown.d.ts +4 -2
  105. package/cjs/components/Dropdown/Dropdown.js +36 -28
  106. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  107. package/cjs/components/Dropdown/Dropdown.md +11 -12
  108. package/cjs/components/Dropdown/index.js.map +1 -1
  109. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +21 -9
  110. package/cjs/components/DropdownMenu/DropdownMenu.js +20 -17
  111. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  112. package/cjs/components/DropdownMenu/DropdownMenu.md +154 -73
  113. package/cjs/components/DropdownMenu/index.js.map +1 -1
  114. package/cjs/components/FileUploader/FileUploader.d.ts +42 -0
  115. package/cjs/components/FileUploader/FileUploader.js +286 -0
  116. package/cjs/components/FileUploader/FileUploader.js.map +1 -0
  117. package/cjs/components/FileUploader/FileUploader.md +67 -0
  118. package/cjs/components/FileUploader/FileUploader.styles.d.ts +22 -0
  119. package/cjs/components/FileUploader/FileUploader.styles.js +173 -0
  120. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -0
  121. package/cjs/components/FileUploader/index.d.ts +5 -0
  122. package/cjs/components/FileUploader/index.js +5 -0
  123. package/cjs/components/FileUploader/index.js.map +1 -0
  124. package/cjs/components/FileUploader/locale/index.d.ts +4 -0
  125. package/cjs/components/FileUploader/locale/index.js +11 -0
  126. package/cjs/components/FileUploader/locale/index.js.map +1 -0
  127. package/cjs/components/FileUploader/locale/locales/en.d.ts +2 -0
  128. package/cjs/components/FileUploader/locale/locales/en.js +7 -0
  129. package/cjs/components/FileUploader/locale/locales/en.js.map +1 -0
  130. package/cjs/components/FileUploader/locale/locales/ru.d.ts +2 -0
  131. package/cjs/components/FileUploader/locale/locales/ru.js +7 -0
  132. package/cjs/components/FileUploader/locale/locales/ru.js.map +1 -0
  133. package/cjs/components/FileUploader/locale/types.d.ts +6 -0
  134. package/cjs/components/FileUploader/locale/types.js +1 -0
  135. package/cjs/components/FileUploader/locale/types.js.map +1 -0
  136. package/cjs/components/FxInput/FxInput.d.ts +1 -0
  137. package/cjs/components/FxInput/FxInput.js +11 -4
  138. package/cjs/components/FxInput/FxInput.js.map +1 -1
  139. package/cjs/components/FxInput/FxInput.md +16 -16
  140. package/cjs/components/FxInput/index.js.map +1 -1
  141. package/cjs/components/Gapped/Gapped.d.ts +2 -1
  142. package/cjs/components/Gapped/Gapped.js +33 -37
  143. package/cjs/components/Gapped/Gapped.js.map +1 -1
  144. package/cjs/components/Gapped/Gapped.md +43 -43
  145. package/cjs/components/Gapped/index.js.map +1 -1
  146. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +110 -0
  147. package/cjs/components/GlobalLoader/GlobalLoader.js +267 -0
  148. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -0
  149. package/cjs/components/GlobalLoader/GlobalLoader.md +98 -0
  150. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +13 -0
  151. package/cjs/components/GlobalLoader/GlobalLoaderView.js +73 -0
  152. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -0
  153. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.d.ts +16 -0
  154. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js +192 -0
  155. package/cjs/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -0
  156. package/cjs/components/GlobalLoader/index.d.ts +1 -0
  157. package/cjs/components/GlobalLoader/index.js +1 -0
  158. package/cjs/components/GlobalLoader/index.js.map +1 -0
  159. package/cjs/components/GlobalLoader/useParams.d.ts +22 -0
  160. package/cjs/components/GlobalLoader/useParams.js +45 -0
  161. package/cjs/components/GlobalLoader/useParams.js.map +1 -0
  162. package/cjs/components/Group/Group.d.ts +1 -0
  163. package/cjs/components/Group/Group.js +84 -38
  164. package/cjs/components/Group/Group.js.map +1 -1
  165. package/cjs/components/Group/Group.md +18 -18
  166. package/cjs/components/Group/Group.styles.d.ts +1 -1
  167. package/cjs/components/Group/Group.styles.js +5 -7
  168. package/cjs/components/Group/Group.styles.js.map +1 -1
  169. package/cjs/components/Group/index.js.map +1 -1
  170. package/cjs/components/Hint/Hint.d.ts +50 -3
  171. package/cjs/components/Hint/Hint.js +65 -8
  172. package/cjs/components/Hint/Hint.js.map +1 -1
  173. package/cjs/components/Hint/Hint.md +42 -3
  174. package/cjs/components/Hint/Hint.styles.d.ts +2 -1
  175. package/cjs/components/Hint/Hint.styles.js +14 -9
  176. package/cjs/components/Hint/Hint.styles.js.map +1 -1
  177. package/cjs/components/Hint/index.js.map +1 -1
  178. package/cjs/components/Input/Input.d.ts +13 -6
  179. package/cjs/components/Input/Input.js +72 -50
  180. package/cjs/components/Input/Input.js.map +1 -1
  181. package/cjs/components/Input/Input.md +13 -13
  182. package/cjs/components/Input/Input.styles.d.ts +9 -1
  183. package/cjs/components/Input/Input.styles.js +133 -96
  184. package/cjs/components/Input/Input.styles.js.map +1 -1
  185. package/cjs/components/Input/index.js.map +1 -1
  186. package/cjs/components/Kebab/Kebab.d.ts +15 -17
  187. package/cjs/components/Kebab/Kebab.js +39 -61
  188. package/cjs/components/Kebab/Kebab.js.map +1 -1
  189. package/cjs/components/Kebab/Kebab.md +278 -45
  190. package/cjs/components/Kebab/Kebab.styles.d.ts +6 -5
  191. package/cjs/components/Kebab/Kebab.styles.js +20 -26
  192. package/cjs/components/Kebab/Kebab.styles.js.map +1 -1
  193. package/cjs/components/Kebab/__stories__/Kebab.items.js.map +1 -1
  194. package/cjs/components/Kebab/index.js.map +1 -1
  195. package/cjs/components/Link/Link.d.ts +29 -10
  196. package/cjs/components/Link/Link.js +60 -36
  197. package/cjs/components/Link/Link.js.map +1 -1
  198. package/cjs/components/Link/Link.md +77 -11
  199. package/cjs/components/Link/Link.mixins.js +3 -2
  200. package/cjs/components/Link/Link.mixins.js.map +1 -1
  201. package/cjs/components/Link/Link.styles.d.ts +3 -2
  202. package/cjs/components/Link/Link.styles.js +16 -20
  203. package/cjs/components/Link/Link.styles.js.map +1 -1
  204. package/cjs/components/Link/index.js.map +1 -1
  205. package/cjs/components/Loader/Loader.d.ts +35 -3
  206. package/cjs/components/Loader/Loader.js +176 -33
  207. package/cjs/components/Loader/Loader.js.map +1 -1
  208. package/cjs/components/Loader/Loader.md +25 -25
  209. package/cjs/components/Loader/Loader.styles.d.ts +1 -3
  210. package/cjs/components/Loader/Loader.styles.js +11 -31
  211. package/cjs/components/Loader/Loader.styles.js.map +1 -1
  212. package/cjs/components/Loader/__stories__/LoaderAndButton.js.map +1 -1
  213. package/cjs/components/Loader/index.js.map +1 -1
  214. package/cjs/components/MenuHeader/MenuHeader.d.ts +5 -1
  215. package/cjs/components/MenuHeader/MenuHeader.js +13 -9
  216. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  217. package/cjs/components/MenuHeader/MenuHeader.md +23 -0
  218. package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +1 -1
  219. package/cjs/components/MenuHeader/MenuHeader.styles.js +3 -6
  220. package/cjs/components/MenuHeader/MenuHeader.styles.js.map +1 -1
  221. package/cjs/components/MenuHeader/index.js.map +1 -1
  222. package/cjs/components/MenuItem/MenuItem.d.ts +53 -7
  223. package/cjs/components/MenuItem/MenuItem.js +76 -29
  224. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  225. package/cjs/components/MenuItem/MenuItem.md +109 -7
  226. package/cjs/components/MenuItem/MenuItem.styles.d.ts +2 -1
  227. package/cjs/components/MenuItem/MenuItem.styles.js +25 -18
  228. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  229. package/cjs/components/MenuItem/index.js.map +1 -1
  230. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +3 -1
  231. package/cjs/components/MenuSeparator/MenuSeparator.js +7 -5
  232. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  233. package/cjs/components/MenuSeparator/MenuSeparator.md +14 -0
  234. package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +1 -1
  235. package/cjs/components/MenuSeparator/MenuSeparator.styles.js +3 -6
  236. package/cjs/components/MenuSeparator/MenuSeparator.styles.js.map +1 -1
  237. package/cjs/components/MenuSeparator/index.js.map +1 -1
  238. package/cjs/components/Modal/Modal.d.ts +8 -4
  239. package/cjs/components/Modal/Modal.js +56 -29
  240. package/cjs/components/Modal/Modal.js.map +1 -1
  241. package/cjs/components/Modal/Modal.md +38 -38
  242. package/cjs/components/Modal/Modal.styles.d.ts +17 -2
  243. package/cjs/components/Modal/Modal.styles.js +155 -41
  244. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  245. package/cjs/components/Modal/ModalBody.d.ts +3 -0
  246. package/cjs/components/Modal/ModalBody.js +46 -27
  247. package/cjs/components/Modal/ModalBody.js.map +1 -1
  248. package/cjs/components/Modal/ModalClose.d.ts +1 -1
  249. package/cjs/components/Modal/ModalClose.js +40 -11
  250. package/cjs/components/Modal/ModalClose.js.map +1 -1
  251. package/cjs/components/Modal/ModalContext.d.ts +5 -1
  252. package/cjs/components/Modal/ModalContext.js +5 -0
  253. package/cjs/components/Modal/ModalContext.js.map +1 -1
  254. package/cjs/components/Modal/ModalFooter.js +37 -30
  255. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  256. package/cjs/components/Modal/ModalHeader.js +35 -30
  257. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  258. package/cjs/components/Modal/index.js.map +1 -1
  259. package/cjs/components/Paging/NavigationHelper.js +3 -2
  260. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  261. package/cjs/components/Paging/Paging.d.ts +15 -5
  262. package/cjs/components/Paging/Paging.js +56 -44
  263. package/cjs/components/Paging/Paging.js.map +1 -1
  264. package/cjs/components/Paging/Paging.md +43 -43
  265. package/cjs/components/Paging/Paging.styles.d.ts +2 -2
  266. package/cjs/components/Paging/Paging.styles.js +16 -31
  267. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  268. package/cjs/components/Paging/PagingDefaultComponent.d.ts +9 -0
  269. package/cjs/components/Paging/PagingDefaultComponent.js +21 -0
  270. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -0
  271. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  272. package/cjs/components/Paging/index.js.map +1 -1
  273. package/cjs/components/Paging/locale/index.js.map +1 -1
  274. package/cjs/components/Paging/locale/locales/en.js.map +1 -1
  275. package/cjs/components/Paging/locale/locales/ru.js.map +1 -1
  276. package/cjs/components/Paging/locale/types.js +1 -1
  277. package/cjs/components/PasswordInput/PasswordInput.d.ts +5 -2
  278. package/cjs/components/PasswordInput/PasswordInput.js +53 -27
  279. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  280. package/cjs/components/PasswordInput/PasswordInput.md +9 -9
  281. package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +2 -2
  282. package/cjs/components/PasswordInput/PasswordInput.styles.js +11 -12
  283. package/cjs/components/PasswordInput/PasswordInput.styles.js.map +1 -1
  284. package/cjs/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
  285. package/cjs/components/PasswordInput/PasswordInputIcon.js +11 -0
  286. package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -0
  287. package/cjs/components/PasswordInput/index.js.map +1 -1
  288. package/cjs/components/Radio/Radio.d.ts +41 -22
  289. package/cjs/components/Radio/Radio.js +94 -29
  290. package/cjs/components/Radio/Radio.js.map +1 -1
  291. package/cjs/components/Radio/Radio.md +38 -14
  292. package/cjs/components/Radio/Radio.styles.d.ts +11 -5
  293. package/cjs/components/Radio/Radio.styles.js +94 -60
  294. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  295. package/cjs/components/Radio/index.js.map +1 -1
  296. package/cjs/components/RadioGroup/Prevent.js.map +1 -1
  297. package/cjs/components/RadioGroup/RadioGroup.d.ts +53 -78
  298. package/cjs/components/RadioGroup/RadioGroup.js +56 -106
  299. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  300. package/cjs/components/RadioGroup/RadioGroup.md +43 -43
  301. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -1
  302. package/cjs/components/RadioGroup/RadioGroup.styles.js +5 -7
  303. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  304. package/cjs/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  305. package/cjs/components/RadioGroup/RadioGroupContext.js +21 -0
  306. package/cjs/components/RadioGroup/RadioGroupContext.js.map +1 -0
  307. package/cjs/components/RadioGroup/index.js.map +1 -1
  308. package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +11 -0
  309. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +37 -0
  310. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -0
  311. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +43 -0
  312. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +11 -0
  313. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +100 -0
  314. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -0
  315. package/cjs/components/ResponsiveLayout/decorator.d.ts +33 -0
  316. package/cjs/components/ResponsiveLayout/decorator.js +44 -0
  317. package/cjs/components/ResponsiveLayout/decorator.js.map +1 -0
  318. package/cjs/components/ResponsiveLayout/index.d.ts +3 -0
  319. package/cjs/components/ResponsiveLayout/index.js +3 -0
  320. package/cjs/components/ResponsiveLayout/index.js.map +1 -0
  321. package/cjs/components/ResponsiveLayout/types.d.ts +3 -0
  322. package/cjs/components/ResponsiveLayout/types.js +1 -0
  323. package/cjs/components/ResponsiveLayout/types.js.map +1 -0
  324. package/cjs/components/ResponsiveLayout/useResponsiveLayout.d.ts +2 -0
  325. package/cjs/components/ResponsiveLayout/useResponsiveLayout.js +61 -0
  326. package/cjs/components/ResponsiveLayout/useResponsiveLayout.js.map +1 -0
  327. package/cjs/components/ScrollContainer/ScrollBar.d.ts +37 -0
  328. package/cjs/components/ScrollContainer/ScrollBar.js +246 -0
  329. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -0
  330. package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -0
  331. package/cjs/components/ScrollContainer/ScrollContainer.constants.js +33 -0
  332. package/cjs/components/ScrollContainer/ScrollContainer.constants.js.map +1 -0
  333. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +43 -23
  334. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -0
  335. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js +62 -0
  336. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -0
  337. package/cjs/components/ScrollContainer/ScrollContainer.js +98 -155
  338. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  339. package/cjs/components/ScrollContainer/ScrollContainer.md +143 -94
  340. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +14 -4
  341. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +75 -11
  342. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  343. package/cjs/components/ScrollContainer/index.js.map +1 -1
  344. package/cjs/components/Select/Item.js.map +1 -1
  345. package/cjs/components/Select/Select.d.ts +22 -6
  346. package/cjs/components/Select/Select.js +142 -22
  347. package/cjs/components/Select/Select.js.map +1 -1
  348. package/cjs/components/Select/Select.md +67 -55
  349. package/cjs/components/Select/Select.styles.d.ts +4 -2
  350. package/cjs/components/Select/Select.styles.js +30 -20
  351. package/cjs/components/Select/Select.styles.js.map +1 -1
  352. package/cjs/components/Select/index.js.map +1 -1
  353. package/cjs/components/Select/locale/index.js.map +1 -1
  354. package/cjs/components/Select/locale/locales/en.js.map +1 -1
  355. package/cjs/components/Select/locale/locales/ru.js.map +1 -1
  356. package/cjs/components/Select/locale/types.js +1 -1
  357. package/cjs/components/Select/selectTheme.js +5 -1
  358. package/cjs/components/Select/selectTheme.js.map +1 -1
  359. package/cjs/components/SidePage/SidePage.d.ts +24 -2
  360. package/cjs/components/SidePage/SidePage.js +97 -54
  361. package/cjs/components/SidePage/SidePage.js.map +1 -1
  362. package/cjs/components/SidePage/SidePage.md +48 -48
  363. package/cjs/components/SidePage/SidePage.styles.d.ts +23 -7
  364. package/cjs/components/SidePage/SidePage.styles.js +195 -64
  365. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  366. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  367. package/cjs/components/SidePage/SidePageBody.js +27 -11
  368. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  369. package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
  370. package/cjs/components/SidePage/SidePageContainer.js +30 -22
  371. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  372. package/cjs/components/SidePage/SidePageContext.d.ts +5 -0
  373. package/cjs/components/SidePage/SidePageContext.js +6 -0
  374. package/cjs/components/SidePage/SidePageContext.js.map +1 -1
  375. package/cjs/components/SidePage/SidePageFooter.d.ts +5 -2
  376. package/cjs/components/SidePage/SidePageFooter.js +47 -20
  377. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  378. package/cjs/components/SidePage/SidePageHeader.d.ts +14 -4
  379. package/cjs/components/SidePage/SidePageHeader.js +112 -36
  380. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  381. package/cjs/components/SidePage/index.js.map +1 -1
  382. package/cjs/components/Spinner/Spinner.d.ts +10 -1
  383. package/cjs/components/Spinner/Spinner.js +40 -21
  384. package/cjs/components/Spinner/Spinner.js.map +1 -1
  385. package/cjs/components/Spinner/Spinner.md +35 -34
  386. package/cjs/components/Spinner/Spinner.styles.d.ts +4 -2
  387. package/cjs/components/Spinner/Spinner.styles.js +24 -16
  388. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  389. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +20 -9
  390. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  391. package/cjs/components/Spinner/index.js.map +1 -1
  392. package/cjs/components/Spinner/locale/index.js.map +1 -1
  393. package/cjs/components/Spinner/locale/locales/en.js.map +1 -1
  394. package/cjs/components/Spinner/locale/locales/ru.js.map +1 -1
  395. package/cjs/components/Spinner/locale/types.js +1 -1
  396. package/cjs/components/Sticky/Sticky.d.ts +7 -1
  397. package/cjs/components/Sticky/Sticky.js +29 -20
  398. package/cjs/components/Sticky/Sticky.js.map +1 -1
  399. package/cjs/components/Sticky/Sticky.md +27 -27
  400. package/cjs/components/Sticky/Sticky.styles.d.ts +1 -1
  401. package/cjs/components/Sticky/Sticky.styles.js +3 -6
  402. package/cjs/components/Sticky/Sticky.styles.js.map +1 -1
  403. package/cjs/components/Sticky/index.js.map +1 -1
  404. package/cjs/components/Switcher/Switcher.d.ts +5 -3
  405. package/cjs/components/Switcher/Switcher.js +20 -16
  406. package/cjs/components/Switcher/Switcher.js.map +1 -1
  407. package/cjs/components/Switcher/Switcher.md +10 -10
  408. package/cjs/components/Switcher/Switcher.styles.d.ts +6 -5
  409. package/cjs/components/Switcher/Switcher.styles.js +34 -28
  410. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  411. package/cjs/components/Switcher/index.js.map +1 -1
  412. package/cjs/components/Switcher/switcherTheme.js.map +1 -1
  413. package/cjs/components/Tabs/Indicator.d.ts +2 -2
  414. package/cjs/components/Tabs/Indicator.js +21 -21
  415. package/cjs/components/Tabs/Indicator.js.map +1 -1
  416. package/cjs/components/Tabs/Indicator.styles.d.ts +1 -1
  417. package/cjs/components/Tabs/Indicator.styles.js +3 -6
  418. package/cjs/components/Tabs/Indicator.styles.js.map +1 -1
  419. package/cjs/components/Tabs/Tab.d.ts +9 -13
  420. package/cjs/components/Tabs/Tab.js +30 -34
  421. package/cjs/components/Tabs/Tab.js.map +1 -1
  422. package/cjs/components/Tabs/Tab.styles.d.ts +17 -2
  423. package/cjs/components/Tabs/Tab.styles.js +87 -46
  424. package/cjs/components/Tabs/Tab.styles.js.map +1 -1
  425. package/cjs/components/Tabs/Tabs.d.ts +7 -5
  426. package/cjs/components/Tabs/Tabs.js +26 -26
  427. package/cjs/components/Tabs/Tabs.js.map +1 -1
  428. package/cjs/components/Tabs/Tabs.md +36 -36
  429. package/cjs/components/Tabs/Tabs.styles.d.ts +2 -2
  430. package/cjs/components/Tabs/Tabs.styles.js +5 -10
  431. package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
  432. package/cjs/components/Tabs/TabsContext.d.ts +8 -8
  433. package/cjs/components/Tabs/TabsContext.js +1 -1
  434. package/cjs/components/Tabs/TabsContext.js.map +1 -1
  435. package/cjs/components/Tabs/index.js.map +1 -1
  436. package/cjs/components/Textarea/Textarea.d.ts +11 -8
  437. package/cjs/components/Textarea/Textarea.js +64 -47
  438. package/cjs/components/Textarea/Textarea.js.map +1 -1
  439. package/cjs/components/Textarea/Textarea.md +25 -25
  440. package/cjs/components/Textarea/Textarea.styles.d.ts +2 -1
  441. package/cjs/components/Textarea/Textarea.styles.js +28 -30
  442. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  443. package/cjs/components/Textarea/TextareaCounter.d.ts +1 -2
  444. package/cjs/components/Textarea/TextareaCounter.js +28 -20
  445. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  446. package/cjs/components/Textarea/TextareaHelpers.js +2 -2
  447. package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
  448. package/cjs/components/Textarea/index.js.map +1 -1
  449. package/cjs/components/Toast/Toast.d.ts +3 -0
  450. package/cjs/components/Toast/Toast.js +34 -23
  451. package/cjs/components/Toast/Toast.js.map +1 -1
  452. package/cjs/components/Toast/Toast.md +41 -41
  453. package/cjs/components/Toast/Toast.styles.d.ts +1 -1
  454. package/cjs/components/Toast/Toast.styles.js +5 -8
  455. package/cjs/components/Toast/Toast.styles.js.map +1 -1
  456. package/cjs/components/Toast/ToastStatic.js +7 -6
  457. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  458. package/cjs/components/Toast/ToastView.d.ts +1 -0
  459. package/cjs/components/Toast/ToastView.js +18 -15
  460. package/cjs/components/Toast/ToastView.js.map +1 -1
  461. package/cjs/components/Toast/ToastView.styles.d.ts +2 -2
  462. package/cjs/components/Toast/ToastView.styles.js +16 -17
  463. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  464. package/cjs/components/Toast/index.js.map +1 -1
  465. package/cjs/components/Toggle/Toggle.d.ts +49 -2
  466. package/cjs/components/Toggle/Toggle.js +81 -13
  467. package/cjs/components/Toggle/Toggle.js.map +1 -1
  468. package/cjs/components/Toggle/Toggle.md +94 -20
  469. package/cjs/components/Toggle/Toggle.styles.d.ts +17 -5
  470. package/cjs/components/Toggle/Toggle.styles.js +115 -58
  471. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  472. package/cjs/components/Toggle/index.js.map +1 -1
  473. package/cjs/components/Token/Token.d.ts +9 -2
  474. package/cjs/components/Token/Token.js +29 -8
  475. package/cjs/components/Token/Token.js.map +1 -1
  476. package/cjs/components/Token/Token.md +112 -112
  477. package/cjs/components/Token/Token.styles.d.ts +5 -2
  478. package/cjs/components/Token/Token.styles.js +33 -25
  479. package/cjs/components/Token/Token.styles.js.map +1 -1
  480. package/cjs/components/Token/index.js.map +1 -1
  481. package/cjs/components/TokenInput/TextWidthHelper.js +5 -4
  482. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  483. package/cjs/components/TokenInput/TokenInput.d.ts +26 -0
  484. package/cjs/components/TokenInput/TokenInput.js +112 -60
  485. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  486. package/cjs/components/TokenInput/TokenInput.md +79 -79
  487. package/cjs/components/TokenInput/TokenInput.styles.d.ts +1 -3
  488. package/cjs/components/TokenInput/TokenInput.styles.js +37 -40
  489. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  490. package/cjs/components/TokenInput/TokenInputMenu.d.ts +3 -0
  491. package/cjs/components/TokenInput/TokenInputMenu.js +13 -4
  492. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  493. package/cjs/components/TokenInput/TokenInputReducer.js +1 -1
  494. package/cjs/components/TokenInput/TokenInputReducer.js.map +1 -1
  495. package/cjs/components/TokenInput/index.js.map +1 -1
  496. package/cjs/components/TokenInput/locale/index.js.map +1 -1
  497. package/cjs/components/TokenInput/locale/locales/en.js.map +1 -1
  498. package/cjs/components/TokenInput/locale/locales/ru.js.map +1 -1
  499. package/cjs/components/TokenInput/locale/types.js +1 -1
  500. package/cjs/components/Tooltip/Tooltip.d.ts +19 -25
  501. package/cjs/components/Tooltip/Tooltip.js +62 -34
  502. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  503. package/cjs/components/Tooltip/Tooltip.md +293 -292
  504. package/cjs/components/Tooltip/Tooltip.styles.d.ts +1 -1
  505. package/cjs/components/Tooltip/Tooltip.styles.js +8 -8
  506. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  507. package/cjs/components/Tooltip/index.js.map +1 -1
  508. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +30 -11
  509. package/cjs/components/TooltipMenu/TooltipMenu.js +34 -11
  510. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  511. package/cjs/components/TooltipMenu/TooltipMenu.md +183 -115
  512. package/cjs/components/TooltipMenu/index.js.map +1 -1
  513. package/cjs/hooks/useDrop.d.ts +11 -0
  514. package/cjs/hooks/useDrop.js +77 -0
  515. package/cjs/hooks/useDrop.js.map +1 -0
  516. package/cjs/hooks/useEffectWithoutInitCall.d.ts +2 -0
  517. package/cjs/hooks/useEffectWithoutInitCall.js +13 -0
  518. package/cjs/hooks/useEffectWithoutInitCall.js.map +1 -0
  519. package/cjs/hooks/useMemoObject.d.ts +1 -0
  520. package/cjs/hooks/useMemoObject.js +5 -0
  521. package/cjs/hooks/useMemoObject.js.map +1 -0
  522. package/cjs/index.d.ts +9 -3
  523. package/cjs/index.js +9 -3
  524. package/cjs/index.js.map +1 -1
  525. package/cjs/internal/BGRuler.js +8 -6
  526. package/cjs/internal/BGRuler.js.map +1 -1
  527. package/cjs/internal/Calendar/Calendar.d.ts +6 -0
  528. package/cjs/internal/Calendar/Calendar.js +69 -23
  529. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  530. package/cjs/internal/Calendar/Calendar.styles.d.ts +1 -1
  531. package/cjs/internal/Calendar/Calendar.styles.js +5 -7
  532. package/cjs/internal/Calendar/Calendar.styles.js.map +1 -1
  533. package/cjs/internal/Calendar/CalendarDateShape.d.ts +1 -1
  534. package/cjs/internal/Calendar/CalendarDateShape.js +1 -1
  535. package/cjs/internal/Calendar/CalendarDateShape.js.map +1 -1
  536. package/cjs/internal/Calendar/CalendarScrollEvents.js.map +1 -1
  537. package/cjs/internal/Calendar/CalendarUtils.js +17 -18
  538. package/cjs/internal/Calendar/CalendarUtils.js.map +1 -1
  539. package/cjs/internal/Calendar/DayCellView.js +12 -12
  540. package/cjs/internal/Calendar/DayCellView.js.map +1 -1
  541. package/cjs/internal/Calendar/DayCellView.styles.d.ts +1 -1
  542. package/cjs/internal/Calendar/DayCellView.styles.js +8 -11
  543. package/cjs/internal/Calendar/DayCellView.styles.js.map +1 -1
  544. package/cjs/internal/Calendar/DayCellViewModel.js +1 -1
  545. package/cjs/internal/Calendar/DayCellViewModel.js.map +1 -1
  546. package/cjs/internal/Calendar/Month.js +17 -16
  547. package/cjs/internal/Calendar/Month.js.map +1 -1
  548. package/cjs/internal/Calendar/MonthView.js +13 -13
  549. package/cjs/internal/Calendar/MonthView.js.map +1 -1
  550. package/cjs/internal/Calendar/MonthView.styles.d.ts +3 -2
  551. package/cjs/internal/Calendar/MonthView.styles.js +13 -11
  552. package/cjs/internal/Calendar/MonthView.styles.js.map +1 -1
  553. package/cjs/internal/Calendar/MonthViewModel.js +43 -24
  554. package/cjs/internal/Calendar/MonthViewModel.js.map +1 -1
  555. package/cjs/internal/Calendar/config.js.map +1 -1
  556. package/cjs/internal/Calendar/index.js.map +1 -1
  557. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +19 -2
  558. package/cjs/internal/CommonWrapper/CommonWrapper.js +63 -18
  559. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  560. package/cjs/internal/CommonWrapper/index.js.map +1 -1
  561. package/cjs/internal/ComponentCombinator.js.map +1 -1
  562. package/cjs/internal/ComponentTable.d.ts +4 -2
  563. package/cjs/internal/ComponentTable.js +3 -2
  564. package/cjs/internal/ComponentTable.js.map +1 -1
  565. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
  566. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +29 -5
  567. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  568. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +23 -1
  569. package/cjs/internal/CustomComboBox/ComboBoxView.js +101 -15
  570. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  571. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +9 -0
  572. package/cjs/internal/CustomComboBox/CustomComboBox.js +44 -20
  573. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  574. package/cjs/internal/CustomComboBox/CustomComboBox.styles.d.ts +2 -2
  575. package/cjs/internal/CustomComboBox/CustomComboBox.styles.js +6 -8
  576. package/cjs/internal/CustomComboBox/CustomComboBox.styles.js.map +1 -1
  577. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
  578. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +59 -58
  579. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  580. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
  581. package/cjs/internal/CustomComboBox/index.js.map +1 -1
  582. package/cjs/internal/CustomComboBox/locale/index.js.map +1 -1
  583. package/cjs/internal/CustomComboBox/locale/locales/en.js.map +1 -1
  584. package/cjs/internal/CustomComboBox/locale/locales/ru.js.map +1 -1
  585. package/cjs/internal/CustomComboBox/locale/types.js +1 -1
  586. package/cjs/internal/DateSelect/DateSelect.d.ts +5 -2
  587. package/cjs/internal/DateSelect/DateSelect.js +73 -23
  588. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  589. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +3 -3
  590. package/cjs/internal/DateSelect/DateSelect.styles.js +14 -19
  591. package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
  592. package/cjs/internal/DateSelect/index.js.map +1 -1
  593. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +6 -8
  594. package/cjs/internal/DropdownContainer/DropdownContainer.js +37 -32
  595. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  596. package/cjs/internal/DropdownContainer/DropdownContainer.styles.d.ts +3 -0
  597. package/cjs/internal/DropdownContainer/DropdownContainer.styles.js +9 -0
  598. package/cjs/internal/DropdownContainer/DropdownContainer.styles.js.map +1 -0
  599. package/cjs/internal/DropdownContainer/index.js.map +1 -1
  600. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +12 -0
  601. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js +16 -0
  602. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js.map +1 -0
  603. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
  604. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +108 -0
  605. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -0
  606. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +12 -0
  607. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +189 -0
  608. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -0
  609. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
  610. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js +68 -0
  611. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js.map +1 -0
  612. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +10 -0
  613. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +30 -0
  614. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
  615. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +5 -0
  616. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js +22 -0
  617. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -0
  618. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
  619. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js +16 -0
  620. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js.map +1 -0
  621. package/cjs/internal/FileUploaderControl/fileUtils.d.ts +14 -0
  622. package/cjs/internal/FileUploaderControl/fileUtils.js +26 -0
  623. package/cjs/internal/FileUploaderControl/fileUtils.js.map +1 -0
  624. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
  625. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js +4 -0
  626. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js.map +1 -0
  627. package/cjs/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
  628. package/cjs/internal/FileUploaderControl/hooks/useUpload.js +51 -0
  629. package/cjs/internal/FileUploaderControl/hooks/useUpload.js.map +1 -0
  630. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
  631. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +23 -0
  632. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -0
  633. package/cjs/internal/FocusTrap/FocusTrap.d.ts +1 -0
  634. package/cjs/internal/FocusTrap/FocusTrap.js +12 -9
  635. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  636. package/cjs/internal/FocusTrap/index.js.map +1 -1
  637. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -3
  638. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +33 -74
  639. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  640. package/cjs/internal/HideBodyVerticalScroll/index.js.map +1 -1
  641. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +1 -1
  642. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +12 -4
  643. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  644. package/cjs/internal/IgnoreLayerClick/index.js.map +1 -1
  645. package/cjs/internal/InputLikeText/HiddenInput.js +7 -7
  646. package/cjs/internal/InputLikeText/HiddenInput.js.map +1 -1
  647. package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -2
  648. package/cjs/internal/InputLikeText/InputLikeText.js +114 -62
  649. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  650. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +2 -3
  651. package/cjs/internal/InputLikeText/InputLikeText.styles.js +5 -14
  652. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  653. package/cjs/internal/InputLikeText/index.js.map +1 -1
  654. package/cjs/internal/InternalMenu/InternalMenu.d.ts +8 -4
  655. package/cjs/internal/InternalMenu/InternalMenu.js +39 -42
  656. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  657. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +1 -1
  658. package/cjs/internal/InternalMenu/InternalMenu.styles.js +6 -9
  659. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  660. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
  661. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js +16 -0
  662. package/cjs/internal/InternalMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
  663. package/cjs/internal/InternalMenu/index.js.map +1 -1
  664. package/cjs/internal/InternalMenu/isActiveElement.js.map +1 -1
  665. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.js +7 -7
  666. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  667. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +1 -1
  668. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.js +3 -6
  669. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +1 -1
  670. package/cjs/internal/MaskCharLowLine/index.js.map +1 -1
  671. package/cjs/internal/MaskedInput/MaskedInput.d.ts +2 -2
  672. package/cjs/internal/MaskedInput/MaskedInput.js +13 -8
  673. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  674. package/cjs/internal/MaskedInput/MaskedInput.styles.d.ts +1 -1
  675. package/cjs/internal/MaskedInput/MaskedInput.styles.js +3 -6
  676. package/cjs/internal/MaskedInput/MaskedInput.styles.js.map +1 -1
  677. package/cjs/internal/MaskedInput/index.js.map +1 -1
  678. package/cjs/internal/Menu/Menu.d.ts +8 -0
  679. package/cjs/internal/Menu/Menu.js +85 -46
  680. package/cjs/internal/Menu/Menu.js.map +1 -1
  681. package/cjs/internal/Menu/Menu.styles.d.ts +4 -1
  682. package/cjs/internal/Menu/Menu.styles.js +30 -12
  683. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  684. package/cjs/internal/Menu/index.js.map +1 -1
  685. package/cjs/internal/Menu/isActiveElement.js.map +1 -1
  686. package/cjs/internal/MobilePopup/MobilePopup.d.ts +34 -0
  687. package/cjs/internal/MobilePopup/MobilePopup.js +141 -0
  688. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -0
  689. package/cjs/internal/MobilePopup/MobilePopup.styles.d.ts +10 -0
  690. package/cjs/internal/MobilePopup/MobilePopup.styles.js +75 -0
  691. package/cjs/internal/MobilePopup/MobilePopup.styles.js.map +1 -0
  692. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +15 -0
  693. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +69 -0
  694. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -0
  695. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +10 -0
  696. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js +65 -0
  697. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +1 -0
  698. package/cjs/internal/MobilePopup/MobilePopupHeader/index.d.ts +1 -0
  699. package/cjs/internal/MobilePopup/MobilePopupHeader/index.js +1 -0
  700. package/cjs/internal/MobilePopup/MobilePopupHeader/index.js.map +1 -0
  701. package/cjs/internal/MobilePopup/index.d.ts +1 -0
  702. package/cjs/internal/MobilePopup/index.js +1 -0
  703. package/cjs/internal/MobilePopup/index.js.map +1 -0
  704. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +23 -0
  705. package/cjs/internal/NativeDateInput/NativeDateInput.js +65 -0
  706. package/cjs/internal/NativeDateInput/NativeDateInput.js.map +1 -0
  707. package/cjs/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -0
  708. package/cjs/internal/NativeDateInput/NativeDateInput.styles.js +19 -0
  709. package/cjs/internal/NativeDateInput/NativeDateInput.styles.js.map +1 -0
  710. package/cjs/internal/NativeDateInput/index.d.ts +1 -0
  711. package/cjs/internal/NativeDateInput/index.js +1 -0
  712. package/cjs/internal/NativeDateInput/index.js.map +1 -0
  713. package/cjs/internal/NativeDateInput/utils.d.ts +7 -0
  714. package/cjs/internal/NativeDateInput/utils.js +49 -0
  715. package/cjs/internal/NativeDateInput/utils.js.map +1 -0
  716. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js +1 -1
  717. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  718. package/cjs/internal/Popup/Popup.d.ts +31 -9
  719. package/cjs/internal/Popup/Popup.js +168 -81
  720. package/cjs/internal/Popup/Popup.js.map +1 -1
  721. package/cjs/internal/Popup/Popup.styles.d.ts +1 -1
  722. package/cjs/internal/Popup/Popup.styles.js +10 -10
  723. package/cjs/internal/Popup/Popup.styles.js.map +1 -1
  724. package/cjs/internal/Popup/PopupHelper.d.ts +2 -2
  725. package/cjs/internal/Popup/PopupHelper.js +5 -2
  726. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  727. package/cjs/internal/Popup/PopupPin.js +17 -17
  728. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  729. package/cjs/internal/Popup/PopupPin.styles.d.ts +1 -1
  730. package/cjs/internal/Popup/PopupPin.styles.js +3 -6
  731. package/cjs/internal/Popup/PopupPin.styles.js.map +1 -1
  732. package/cjs/internal/Popup/index.js.map +1 -1
  733. package/cjs/internal/Popup/types.d.ts +2 -0
  734. package/cjs/internal/Popup/types.js +1 -0
  735. package/cjs/internal/Popup/types.js.map +1 -0
  736. package/cjs/internal/PopupMenu/PopupMenu.d.ts +9 -4
  737. package/cjs/internal/PopupMenu/PopupMenu.js +42 -8
  738. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  739. package/cjs/internal/PopupMenu/PopupMenu.styles.d.ts +1 -1
  740. package/cjs/internal/PopupMenu/PopupMenu.styles.js +4 -6
  741. package/cjs/internal/PopupMenu/PopupMenu.styles.js.map +1 -1
  742. package/cjs/internal/PopupMenu/index.js.map +1 -1
  743. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  744. package/cjs/internal/PopupMenu/validatePositions.js +8 -10
  745. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  746. package/cjs/internal/RenderContainer/RenderContainer.d.ts +1 -1
  747. package/cjs/internal/RenderContainer/RenderContainer.js +13 -2
  748. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  749. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +2 -0
  750. package/cjs/internal/RenderContainer/RenderContainerTypes.js +1 -1
  751. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
  752. package/cjs/internal/RenderContainer/RenderInnerContainer.js +13 -6
  753. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  754. package/cjs/internal/RenderContainer/index.js.map +1 -1
  755. package/cjs/internal/RenderLayer/RenderLayer.d.ts +3 -1
  756. package/cjs/internal/RenderLayer/RenderLayer.js +16 -7
  757. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  758. package/cjs/internal/RenderLayer/index.js.map +1 -1
  759. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  760. package/cjs/internal/ResizeDetector/ResizeDetector.js +6 -1
  761. package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  762. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +2 -1
  763. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js +11 -6
  764. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
  765. package/cjs/internal/ResizeDetector/index.js.map +1 -1
  766. package/cjs/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
  767. package/cjs/internal/TextWidthHelper/TextWidthHelper.js +36 -0
  768. package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -0
  769. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
  770. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js +23 -0
  771. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js.map +1 -0
  772. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js.map +1 -1
  773. package/cjs/internal/ThemePlayground/CheckboxPlayground.js +2 -5
  774. package/cjs/internal/ThemePlayground/CheckboxPlayground.js.map +1 -1
  775. package/cjs/internal/ThemePlayground/ComponentsGroup.js +4 -4
  776. package/cjs/internal/ThemePlayground/ComponentsGroup.js.map +1 -1
  777. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js.map +1 -1
  778. package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +1 -1
  779. package/cjs/internal/ThemePlayground/HintPlayground.js.map +1 -1
  780. package/cjs/internal/ThemePlayground/PagingPlayground.js.map +1 -1
  781. package/cjs/internal/ThemePlayground/Playground.d.ts +1 -2
  782. package/cjs/internal/ThemePlayground/Playground.js +25 -60
  783. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  784. package/cjs/internal/ThemePlayground/Playground.md +7 -7
  785. package/cjs/internal/ThemePlayground/Playground.styles.d.ts +1 -1
  786. package/cjs/internal/ThemePlayground/Playground.styles.js +3 -6
  787. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  788. package/cjs/internal/ThemePlayground/RadioPlayground.js +1 -5
  789. package/cjs/internal/ThemePlayground/RadioPlayground.js.map +1 -1
  790. package/cjs/internal/ThemePlayground/SelectPlayground.js.map +1 -1
  791. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +11 -3
  792. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  793. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +4 -0
  794. package/cjs/internal/ThemePlayground/SizesGroup.js +20 -0
  795. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -0
  796. package/cjs/internal/ThemePlayground/SwitcherPlayground.js.map +1 -1
  797. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +6 -4
  798. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +23 -26
  799. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  800. package/cjs/internal/ThemePlayground/ThemeEditor.js +16 -9
  801. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  802. package/cjs/internal/ThemePlayground/TogglePlayground.js +2 -2
  803. package/cjs/internal/ThemePlayground/TogglePlayground.js.map +1 -1
  804. package/cjs/internal/ThemePlayground/TokenInputPlayground.js +1 -3
  805. package/cjs/internal/ThemePlayground/TokenInputPlayground.js.map +1 -1
  806. package/cjs/internal/ThemePlayground/VariableValue.js +24 -12
  807. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  808. package/cjs/internal/ThemePlayground/constants.d.ts +3 -2
  809. package/cjs/internal/ThemePlayground/constants.js +5 -3
  810. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  811. package/cjs/internal/ThemePlayground/darkTheme.d.ts +30 -4
  812. package/cjs/internal/ThemePlayground/darkTheme.js +74 -28
  813. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  814. package/cjs/internal/ThemePlayground/helpers.js.map +1 -1
  815. package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +1 -1
  816. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +118 -89
  817. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  818. package/cjs/internal/ThemeShowcase/ThemeShowcase.md +13 -13
  819. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +10 -3
  820. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js +54 -29
  821. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js.map +1 -1
  822. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  823. package/cjs/internal/ThemeShowcase/VariablesCollector.js +71 -62
  824. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  825. package/cjs/internal/ZIndex/ZIndex.d.ts +2 -0
  826. package/cjs/internal/ZIndex/ZIndex.js +45 -34
  827. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  828. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +4 -1
  829. package/cjs/internal/ZIndex/ZIndexStorage.js +15 -6
  830. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  831. package/cjs/internal/ZIndex/index.js.map +1 -1
  832. package/cjs/internal/icons/16px/icon.styles.d.ts +1 -1
  833. package/cjs/internal/icons/16px/icon.styles.js +3 -6
  834. package/cjs/internal/icons/16px/icon.styles.js.map +1 -1
  835. package/cjs/internal/icons/16px/index.d.ts +20 -16
  836. package/cjs/internal/icons/16px/index.js +160 -54
  837. package/cjs/internal/icons/16px/index.js.map +1 -1
  838. package/cjs/internal/icons/20px/Icon.js +4 -4
  839. package/cjs/internal/icons/20px/Icon.js.map +1 -1
  840. package/cjs/internal/icons/20px/icon.styles.d.ts +1 -1
  841. package/cjs/internal/icons/20px/icon.styles.js +3 -6
  842. package/cjs/internal/icons/20px/icon.styles.js.map +1 -1
  843. package/cjs/internal/icons/20px/index.js.map +1 -1
  844. package/cjs/internal/icons/20px/svg.js +11 -5
  845. package/cjs/internal/icons/20px/svg.js.map +1 -1
  846. package/cjs/internal/icons/CloudIcon.js.map +1 -1
  847. package/cjs/internal/icons/CrossIcon.js +8 -1
  848. package/cjs/internal/icons/CrossIcon.js.map +1 -1
  849. package/cjs/internal/icons/SpinnerIcon.d.ts +5 -1
  850. package/cjs/internal/icons/SpinnerIcon.js +15 -9
  851. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  852. package/cjs/internal/icons/SpinnerIcon.styles.d.ts +3 -1
  853. package/cjs/internal/icons/SpinnerIcon.styles.js +18 -5
  854. package/cjs/internal/icons/SpinnerIcon.styles.js.map +1 -1
  855. package/cjs/internal/themes/DarkTheme.d.ts +137 -0
  856. package/cjs/internal/themes/DarkTheme.js +235 -0
  857. package/cjs/internal/themes/DarkTheme.js.map +1 -0
  858. package/cjs/internal/themes/DefaultTheme.d.ts +240 -102
  859. package/cjs/internal/themes/DefaultTheme.js +536 -225
  860. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  861. package/cjs/internal/themes/{FlatTheme.d.ts → NotFlat.d.ts} +86 -85
  862. package/cjs/internal/themes/NotFlat.js +229 -0
  863. package/cjs/internal/themes/NotFlat.js.map +1 -0
  864. package/cjs/internal/themes/OldColors.d.ts +116 -0
  865. package/cjs/internal/themes/OldColors.js +167 -0
  866. package/cjs/internal/themes/OldColors.js.map +1 -0
  867. package/cjs/internal/themes/Theme2022.d.ts +66 -0
  868. package/cjs/internal/themes/Theme2022.js +100 -0
  869. package/cjs/internal/themes/Theme2022.js.map +1 -0
  870. package/cjs/internal/themes/Theme2022Dark.d.ts +5 -0
  871. package/cjs/internal/themes/Theme2022Dark.js +9 -0
  872. package/cjs/internal/themes/Theme2022Dark.js.map +1 -0
  873. package/cjs/lib/ConditionalHandler.d.ts +3 -2
  874. package/cjs/lib/ConditionalHandler.js +7 -5
  875. package/cjs/lib/ConditionalHandler.js.map +1 -1
  876. package/cjs/lib/InstanceWithAnchorElement.d.ts +5 -0
  877. package/cjs/lib/InstanceWithAnchorElement.js +9 -0
  878. package/cjs/lib/InstanceWithAnchorElement.js.map +1 -0
  879. package/cjs/lib/LayoutEvents.js.map +1 -1
  880. package/cjs/lib/ModalStack.d.ts +1 -1
  881. package/cjs/lib/ModalStack.js +26 -27
  882. package/cjs/lib/ModalStack.js.map +1 -1
  883. package/cjs/lib/SSRSafe.d.ts +1 -0
  884. package/cjs/lib/SSRSafe.js +10 -2
  885. package/cjs/lib/SSRSafe.js.map +1 -1
  886. package/cjs/lib/Supports.js.map +1 -1
  887. package/cjs/lib/Upgrades.d.ts +2 -0
  888. package/cjs/lib/Upgrades.js +14 -0
  889. package/cjs/lib/Upgrades.js.map +1 -1
  890. package/cjs/lib/animation/index.d.ts +1 -1
  891. package/cjs/lib/animation/index.js +6 -6
  892. package/cjs/lib/animation/index.js.map +1 -1
  893. package/cjs/lib/animation/presets.js.map +1 -1
  894. package/cjs/lib/animation/stepper.js +2 -2
  895. package/cjs/lib/animation/stepper.js.map +1 -1
  896. package/cjs/lib/callChildRef/callChildRef.d.ts +3 -0
  897. package/cjs/lib/callChildRef/callChildRef.js +19 -0
  898. package/cjs/lib/callChildRef/callChildRef.js.map +1 -0
  899. package/cjs/lib/client.d.ts +2 -0
  900. package/cjs/lib/client.js +8 -2
  901. package/cjs/lib/client.js.map +1 -1
  902. package/cjs/lib/createPropsGetter.js.map +1 -1
  903. package/cjs/lib/currentEnvironment.js +12 -3
  904. package/cjs/lib/currentEnvironment.js.map +1 -1
  905. package/cjs/lib/date/InternalDate.js +36 -24
  906. package/cjs/lib/date/InternalDate.js.map +1 -1
  907. package/cjs/lib/date/InternalDateCalculator.js +16 -2
  908. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  909. package/cjs/lib/date/InternalDateGetter.js +25 -8
  910. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  911. package/cjs/lib/date/InternalDateSetter.js.map +1 -1
  912. package/cjs/lib/date/InternalDateTransformer.js +15 -6
  913. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  914. package/cjs/lib/date/InternalDateValidator.js +37 -9
  915. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  916. package/cjs/lib/date/constants.js +1 -1
  917. package/cjs/lib/date/constants.js.map +1 -1
  918. package/cjs/lib/date/localeSets.js.map +1 -1
  919. package/cjs/lib/date/types.js +1 -1
  920. package/cjs/lib/date/types.js.map +1 -1
  921. package/cjs/lib/dom/getDOMRect.d.ts +11 -0
  922. package/cjs/lib/dom/getDOMRect.js +36 -0
  923. package/cjs/lib/dom/getDOMRect.js.map +1 -0
  924. package/cjs/lib/dom/getScrollWidth.js +2 -2
  925. package/cjs/lib/dom/getScrollWidth.js.map +1 -1
  926. package/cjs/lib/dom/tabbableHelpers.d.ts +16 -0
  927. package/cjs/lib/dom/tabbableHelpers.js +31 -0
  928. package/cjs/lib/dom/tabbableHelpers.js.map +1 -0
  929. package/cjs/lib/events/MouseDrag.js +27 -27
  930. package/cjs/lib/events/MouseDrag.js.map +1 -1
  931. package/cjs/lib/events/fixClickFocusIE.js +2 -2
  932. package/cjs/lib/events/fixClickFocusIE.js.map +1 -1
  933. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  934. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +20 -0
  935. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  936. package/cjs/lib/events/keyListener.d.ts +7 -0
  937. package/cjs/lib/events/keyListener.js +22 -0
  938. package/cjs/lib/events/keyListener.js.map +1 -0
  939. package/cjs/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  940. package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +2 -1
  941. package/cjs/lib/events/keyboard/KeyboardMapKeys.js +1 -0
  942. package/cjs/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  943. package/cjs/lib/events/keyboard/extractCode.js +7 -5
  944. package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
  945. package/cjs/lib/events/keyboard/identifiers.d.ts +1 -0
  946. package/cjs/lib/events/keyboard/identifiers.js +13 -3
  947. package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
  948. package/cjs/lib/events/stopPropagation.js.map +1 -1
  949. package/cjs/lib/events/tabListener.d.ts +1 -6
  950. package/cjs/lib/events/tabListener.js +2 -15
  951. package/cjs/lib/events/tabListener.js.map +1 -1
  952. package/cjs/lib/extractKeyboardAction.js +1 -1
  953. package/cjs/lib/extractKeyboardAction.js.map +1 -1
  954. package/cjs/lib/filterProps.js.map +1 -1
  955. package/cjs/lib/forwardRefAndName.d.ts +5 -0
  956. package/cjs/lib/forwardRefAndName.js +23 -0
  957. package/cjs/lib/forwardRefAndName.js.map +1 -0
  958. package/cjs/lib/getDisplayName.d.ts +3 -0
  959. package/cjs/lib/getDisplayName.js +9 -0
  960. package/cjs/lib/getDisplayName.js.map +1 -0
  961. package/cjs/lib/listenFocusOutside.d.ts +4 -0
  962. package/cjs/lib/listenFocusOutside.js +10 -10
  963. package/cjs/lib/listenFocusOutside.js.map +1 -1
  964. package/cjs/lib/locale/LOCALECONTEXT.md +221 -221
  965. package/cjs/lib/locale/LocaleContext.js.map +1 -1
  966. package/cjs/lib/locale/LocaleHelper.js +1 -1
  967. package/cjs/lib/locale/LocaleHelper.js.map +1 -1
  968. package/cjs/lib/locale/constants.js.map +1 -1
  969. package/cjs/lib/locale/decorators.js +1 -1
  970. package/cjs/lib/locale/decorators.js.map +1 -1
  971. package/cjs/lib/locale/index.js.map +1 -1
  972. package/cjs/lib/locale/types.d.ts +2 -0
  973. package/cjs/lib/locale/types.js +2 -0
  974. package/cjs/lib/locale/types.js.map +1 -1
  975. package/cjs/lib/locale/useLocaleForControl.d.ts +3 -0
  976. package/cjs/lib/locale/useLocaleForControl.js +14 -0
  977. package/cjs/lib/locale/useLocaleForControl.js.map +1 -0
  978. package/cjs/lib/memo.js.map +1 -1
  979. package/cjs/lib/needsPolyfillPlaceholder.d.ts +6 -0
  980. package/cjs/lib/needsPolyfillPlaceholder.js +19 -0
  981. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -0
  982. package/cjs/lib/net/fetch.js.map +1 -1
  983. package/cjs/lib/reactGetTextContent.js.map +1 -1
  984. package/cjs/lib/rootNode/getRootNode.d.ts +12 -0
  985. package/cjs/lib/rootNode/getRootNode.js +59 -0
  986. package/cjs/lib/rootNode/getRootNode.js.map +1 -0
  987. package/cjs/lib/rootNode/index.d.ts +2 -0
  988. package/cjs/lib/rootNode/index.js +2 -0
  989. package/cjs/lib/rootNode/index.js.map +1 -0
  990. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +52 -0
  991. package/cjs/lib/rootNode/rootNodeDecorator.js +68 -0
  992. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -0
  993. package/cjs/lib/stringUtils.d.ts +1 -0
  994. package/cjs/lib/stringUtils.js +15 -0
  995. package/cjs/lib/stringUtils.js.map +1 -0
  996. package/cjs/lib/styles/ColorFactory.js +19 -15
  997. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  998. package/cjs/lib/styles/ColorFunctions.js +2 -2
  999. package/cjs/lib/styles/ColorFunctions.js.map +1 -1
  1000. package/cjs/lib/styles/ColorHelpers.d.ts +1 -0
  1001. package/cjs/lib/styles/ColorHelpers.js +33 -10
  1002. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  1003. package/cjs/lib/styles/ColorKeywords.js.map +1 -1
  1004. package/cjs/lib/styles/ColorObject.js +6 -5
  1005. package/cjs/lib/styles/ColorObject.js.map +1 -1
  1006. package/cjs/lib/styles/DimensionFunctions.js.map +1 -1
  1007. package/cjs/lib/styles/HoldSelectionColor.js.map +1 -1
  1008. package/cjs/lib/styles/Mixins.js.map +1 -1
  1009. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
  1010. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js +9 -0
  1011. package/cjs/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -0
  1012. package/cjs/lib/taskWithDelayAndMinimalDuration.d.ts +21 -0
  1013. package/cjs/lib/taskWithDelayAndMinimalDuration.js +82 -0
  1014. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -0
  1015. package/cjs/lib/theming/AnimationKeyframes.js +1 -1
  1016. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  1017. package/cjs/lib/theming/Emotion.d.ts +8 -8
  1018. package/cjs/lib/theming/Emotion.js +19 -20
  1019. package/cjs/lib/theming/Emotion.js.map +1 -1
  1020. package/cjs/lib/theming/Theme.js +1 -1
  1021. package/cjs/lib/theming/ThemeContext.d.ts +1 -1
  1022. package/cjs/lib/theming/ThemeContext.js.map +1 -1
  1023. package/cjs/lib/theming/ThemeContext.md +277 -265
  1024. package/cjs/lib/theming/ThemeFactory.d.ts +1 -2
  1025. package/cjs/lib/theming/ThemeFactory.js +10 -9
  1026. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  1027. package/cjs/lib/theming/ThemeHelpers.d.ts +4 -9
  1028. package/cjs/lib/theming/ThemeHelpers.js +21 -43
  1029. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  1030. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
  1031. package/cjs/lib/theming/themes/DarkTheme.js +5 -0
  1032. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -0
  1033. package/cjs/lib/theming/themes/DefaultTheme.d.ts +1 -1
  1034. package/cjs/lib/theming/themes/DefaultTheme.js +1 -3
  1035. package/cjs/lib/theming/themes/DefaultTheme.js.map +1 -1
  1036. package/cjs/lib/theming/themes/DefaultTheme8pxOld.d.ts +1 -0
  1037. package/cjs/lib/theming/themes/DefaultTheme8pxOld.js +8 -0
  1038. package/cjs/lib/theming/themes/DefaultTheme8pxOld.js.map +1 -0
  1039. package/cjs/lib/theming/themes/DefaultThemeMobile.d.ts +3 -0
  1040. package/cjs/lib/theming/themes/DefaultThemeMobile.js +9 -0
  1041. package/cjs/lib/theming/themes/DefaultThemeMobile.js.map +1 -0
  1042. package/cjs/lib/theming/themes/FlatTheme8pxOld.d.ts +1 -0
  1043. package/cjs/lib/theming/themes/FlatTheme8pxOld.js +5 -0
  1044. package/cjs/lib/theming/themes/FlatTheme8pxOld.js.map +1 -0
  1045. package/cjs/lib/theming/themes/Theme2022.d.ts +1 -0
  1046. package/cjs/lib/theming/themes/Theme2022.js +6 -0
  1047. package/cjs/lib/theming/themes/Theme2022.js.map +1 -0
  1048. package/cjs/lib/theming/themes/Theme2022Dark.d.ts +1 -0
  1049. package/cjs/lib/theming/themes/Theme2022Dark.js +9 -0
  1050. package/cjs/lib/theming/themes/Theme2022Dark.js.map +1 -0
  1051. package/cjs/lib/theming/useTheme.d.ts +1 -0
  1052. package/cjs/lib/theming/useTheme.js +7 -0
  1053. package/cjs/lib/theming/useTheme.js.map +1 -0
  1054. package/cjs/lib/uidUtils.d.ts +1 -0
  1055. package/cjs/lib/uidUtils.js +5 -0
  1056. package/cjs/lib/uidUtils.js.map +1 -0
  1057. package/cjs/lib/utils.d.ts +58 -0
  1058. package/cjs/lib/utils.js +143 -9
  1059. package/cjs/lib/utils.js.map +1 -1
  1060. package/cjs/lib/withClassWrapper.d.ts +71 -0
  1061. package/cjs/lib/withClassWrapper.js +59 -0
  1062. package/cjs/lib/withClassWrapper.js.map +1 -0
  1063. package/cjs/typings/console.d.ts +3 -3
  1064. package/cjs/typings/event-types.d.ts +4 -4
  1065. package/cjs/typings/fonts.d.ts +12 -12
  1066. package/cjs/typings/global.d.ts +6 -6
  1067. package/cjs/typings/html-props.d.ts +123 -0
  1068. package/cjs/typings/images.d.ts +1 -1
  1069. package/cjs/typings/normalize-wheel.d.ts +5 -5
  1070. package/cjs/typings/stories.d.ts +7 -0
  1071. package/cjs/typings/stylis-plugin-extra-scope.d.ts +3 -3
  1072. package/cjs/typings/utility-types.d.ts +14 -14
  1073. package/components/Autocomplete/Autocomplete/Autocomplete.js +124 -66
  1074. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  1075. package/components/Autocomplete/Autocomplete.d.ts +13 -1
  1076. package/components/Autocomplete/Autocomplete.md +7 -7
  1077. package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js +10 -0
  1078. package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js.map +1 -0
  1079. package/components/Autocomplete/Autocomplete.styles/package.json +6 -0
  1080. package/components/Autocomplete/Autocomplete.styles.d.ts +4 -0
  1081. package/components/Autocomplete/index/index.js.map +1 -1
  1082. package/components/Button/Button/Button.js +132 -93
  1083. package/components/Button/Button/Button.js.map +1 -1
  1084. package/components/Button/Button.d.ts +77 -19
  1085. package/components/Button/Button.md +104 -92
  1086. package/components/Button/Button.mixins/Button.mixins.js +16 -12
  1087. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  1088. package/components/Button/Button.mixins.d.ts +6 -5
  1089. package/components/Button/Button.styles/Button.styles.js +124 -65
  1090. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  1091. package/components/Button/Button.styles.d.ts +37 -10
  1092. package/components/Button/index/index.js.map +1 -1
  1093. package/components/Center/Center/Center.js +22 -18
  1094. package/components/Center/Center/Center.js.map +1 -1
  1095. package/components/Center/Center.d.ts +5 -8
  1096. package/components/Center/Center.md +26 -5
  1097. package/components/Center/Center.styles/Center.styles.js +2 -3
  1098. package/components/Center/Center.styles/Center.styles.js.map +1 -1
  1099. package/components/Center/Center.styles.d.ts +1 -1
  1100. package/components/Center/index/index.js.map +1 -1
  1101. package/components/Checkbox/Checkbox/Checkbox.js +65 -59
  1102. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  1103. package/components/Checkbox/Checkbox.d.ts +34 -17
  1104. package/components/Checkbox/Checkbox.md +104 -63
  1105. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +39 -27
  1106. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  1107. package/components/Checkbox/Checkbox.styles.d.ts +12 -7
  1108. package/components/Checkbox/index/index.js.map +1 -1
  1109. package/components/ComboBox/ComboBox/ComboBox.js +45 -40
  1110. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  1111. package/components/ComboBox/ComboBox.d.ts +12 -2
  1112. package/components/ComboBox/ComboBox.md +445 -445
  1113. package/components/ComboBox/index/index.js.map +1 -1
  1114. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +14 -12
  1115. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  1116. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +103 -47
  1117. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  1118. package/components/CurrencyInput/CurrencyInput.d.ts +7 -4
  1119. package/components/CurrencyInput/CurrencyInput.md +24 -24
  1120. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js +7 -1
  1121. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
  1122. package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js.map +1 -1
  1123. package/components/CurrencyInput/CursorHelper/CursorHelper.js +33 -30
  1124. package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
  1125. package/components/CurrencyInput/SelectionHelper/SelectionHelper.js.map +1 -1
  1126. package/components/CurrencyInput/constants/constants.js.map +1 -1
  1127. package/components/CurrencyInput/index/index.js.map +1 -1
  1128. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  1129. package/components/CurrencyLabel/CurrencyLabel.md +23 -23
  1130. package/components/CurrencyLabel/index/index.js.map +1 -1
  1131. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +6 -7
  1132. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  1133. package/components/DateInput/DateFragmentsView.styles/DateFragmentsView.styles.js +3 -4
  1134. package/components/DateInput/DateFragmentsView.styles/DateFragmentsView.styles.js.map +1 -1
  1135. package/components/DateInput/DateFragmentsView.styles.d.ts +1 -1
  1136. package/components/DateInput/DateInput/DateInput.js +21 -13
  1137. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  1138. package/components/DateInput/DateInput.d.ts +8 -0
  1139. package/components/DateInput/DateInput.md +106 -106
  1140. package/components/DateInput/DateInput.styles/DateInput.styles.js +8 -2
  1141. package/components/DateInput/DateInput.styles/DateInput.styles.js.map +1 -1
  1142. package/components/DateInput/DateInput.styles.d.ts +3 -1
  1143. package/components/DateInput/ViewDateInputValidateChecks/ViewDateInputValidateChecks.js.map +1 -1
  1144. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
  1145. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +7 -7
  1146. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  1147. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  1148. package/components/DateInput/helpers/inputNumber/inputNumber.js.map +1 -1
  1149. package/components/DateInput/index/index.js.map +1 -1
  1150. package/components/DatePicker/DatePicker/DatePicker.js +85 -52
  1151. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  1152. package/components/DatePicker/DatePicker.d.ts +21 -8
  1153. package/components/DatePicker/DatePicker.md +307 -307
  1154. package/components/DatePicker/DatePicker.styles/DatePicker.styles.js +3 -4
  1155. package/components/DatePicker/DatePicker.styles/DatePicker.styles.js.map +1 -1
  1156. package/components/DatePicker/DatePicker.styles.d.ts +1 -1
  1157. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
  1158. package/components/DatePicker/Picker/Picker.js +4 -6
  1159. package/components/DatePicker/Picker/Picker.js.map +1 -1
  1160. package/components/DatePicker/Picker.styles/Picker.styles.js +3 -4
  1161. package/components/DatePicker/Picker.styles/Picker.styles.js.map +1 -1
  1162. package/components/DatePicker/Picker.styles.d.ts +1 -1
  1163. package/components/DatePicker/index/index.js.map +1 -1
  1164. package/components/DatePicker/locale/index/index.js.map +1 -1
  1165. package/components/DatePicker/locale/locales/en/en.js.map +1 -1
  1166. package/components/DatePicker/locale/locales/ru/ru.js.map +1 -1
  1167. package/components/DatePicker/locale/types/types.js +1 -0
  1168. package/components/Dropdown/Dropdown/Dropdown.js +39 -37
  1169. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  1170. package/components/Dropdown/Dropdown.d.ts +4 -2
  1171. package/components/Dropdown/Dropdown.md +11 -12
  1172. package/components/Dropdown/index/index.js.map +1 -1
  1173. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +18 -26
  1174. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  1175. package/components/DropdownMenu/DropdownMenu.d.ts +21 -9
  1176. package/components/DropdownMenu/DropdownMenu.md +154 -73
  1177. package/components/DropdownMenu/index/index.js.map +1 -1
  1178. package/components/FileUploader/FileUploader/FileUploader.js +273 -0
  1179. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -0
  1180. package/components/FileUploader/FileUploader/package.json +6 -0
  1181. package/components/FileUploader/FileUploader.d.ts +42 -0
  1182. package/components/FileUploader/FileUploader.md +67 -0
  1183. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +65 -0
  1184. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -0
  1185. package/components/FileUploader/FileUploader.styles/package.json +6 -0
  1186. package/components/FileUploader/FileUploader.styles.d.ts +22 -0
  1187. package/components/FileUploader/index/index.js +3 -0
  1188. package/components/FileUploader/index/index.js.map +1 -0
  1189. package/components/FileUploader/index/package.json +6 -0
  1190. package/components/FileUploader/index.d.ts +5 -0
  1191. package/components/FileUploader/locale/index/index.js +8 -0
  1192. package/components/FileUploader/locale/index/index.js.map +1 -0
  1193. package/components/FileUploader/locale/index/package.json +6 -0
  1194. package/components/FileUploader/locale/index.d.ts +4 -0
  1195. package/components/FileUploader/locale/locales/en/en.js +6 -0
  1196. package/components/FileUploader/locale/locales/en/en.js.map +1 -0
  1197. package/components/FileUploader/locale/locales/en/package.json +6 -0
  1198. package/components/FileUploader/locale/locales/en.d.ts +2 -0
  1199. package/components/FileUploader/locale/locales/ru/package.json +6 -0
  1200. package/components/FileUploader/locale/locales/ru/ru.js +6 -0
  1201. package/components/FileUploader/locale/locales/ru/ru.js.map +1 -0
  1202. package/components/FileUploader/locale/locales/ru.d.ts +2 -0
  1203. package/components/FileUploader/locale/package.json +6 -0
  1204. package/components/FileUploader/locale/types/package.json +6 -0
  1205. package/components/FileUploader/locale/types/types.js +1 -0
  1206. package/components/FileUploader/locale/types/types.js.map +1 -0
  1207. package/components/FileUploader/locale/types.d.ts +6 -0
  1208. package/components/FileUploader/package.json +6 -0
  1209. package/components/FxInput/FxInput/FxInput.js +15 -10
  1210. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  1211. package/components/FxInput/FxInput.d.ts +1 -0
  1212. package/components/FxInput/FxInput.md +16 -16
  1213. package/components/FxInput/index/index.js.map +1 -1
  1214. package/components/Gapped/Gapped/Gapped.js +33 -47
  1215. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  1216. package/components/Gapped/Gapped.d.ts +2 -1
  1217. package/components/Gapped/Gapped.md +43 -43
  1218. package/components/Gapped/index/index.js.map +1 -1
  1219. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +220 -0
  1220. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -0
  1221. package/components/GlobalLoader/GlobalLoader/package.json +6 -0
  1222. package/components/GlobalLoader/GlobalLoader.d.ts +110 -0
  1223. package/components/GlobalLoader/GlobalLoader.md +98 -0
  1224. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js +73 -0
  1225. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -0
  1226. package/components/GlobalLoader/GlobalLoaderView/package.json +6 -0
  1227. package/components/GlobalLoader/GlobalLoaderView.d.ts +13 -0
  1228. package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js +54 -0
  1229. package/components/GlobalLoader/GlobalLoaderView.styles/GlobalLoaderView.styles.js.map +1 -0
  1230. package/components/GlobalLoader/GlobalLoaderView.styles/package.json +6 -0
  1231. package/components/GlobalLoader/GlobalLoaderView.styles.d.ts +16 -0
  1232. package/components/GlobalLoader/index/index.js +1 -0
  1233. package/components/GlobalLoader/index/index.js.map +1 -0
  1234. package/components/GlobalLoader/index/package.json +6 -0
  1235. package/components/GlobalLoader/index.d.ts +1 -0
  1236. package/components/GlobalLoader/package.json +6 -0
  1237. package/components/GlobalLoader/useParams/package.json +6 -0
  1238. package/components/GlobalLoader/useParams/useParams.js +51 -0
  1239. package/components/GlobalLoader/useParams/useParams.js.map +1 -0
  1240. package/components/GlobalLoader/useParams.d.ts +22 -0
  1241. package/components/Group/Group/Group.js +77 -40
  1242. package/components/Group/Group/Group.js.map +1 -1
  1243. package/components/Group/Group.d.ts +1 -0
  1244. package/components/Group/Group.md +18 -18
  1245. package/components/Group/Group.styles/Group.styles.js +3 -4
  1246. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  1247. package/components/Group/Group.styles.d.ts +1 -1
  1248. package/components/Group/index/index.js.map +1 -1
  1249. package/components/Hint/Hint/Hint.js +54 -22
  1250. package/components/Hint/Hint/Hint.js.map +1 -1
  1251. package/components/Hint/Hint.d.ts +50 -3
  1252. package/components/Hint/Hint.md +42 -3
  1253. package/components/Hint/Hint.styles/Hint.styles.js +8 -6
  1254. package/components/Hint/Hint.styles/Hint.styles.js.map +1 -1
  1255. package/components/Hint/Hint.styles.d.ts +2 -1
  1256. package/components/Hint/index/index.js.map +1 -1
  1257. package/components/Input/Input/Input.js +85 -79
  1258. package/components/Input/Input/Input.js.map +1 -1
  1259. package/components/Input/Input.d.ts +13 -6
  1260. package/components/Input/Input.md +13 -13
  1261. package/components/Input/Input.styles/Input.styles.js +61 -33
  1262. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  1263. package/components/Input/Input.styles.d.ts +9 -1
  1264. package/components/Input/index/index.js.map +1 -1
  1265. package/components/Kebab/Kebab/Kebab.js +34 -65
  1266. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  1267. package/components/Kebab/Kebab.d.ts +15 -17
  1268. package/components/Kebab/Kebab.md +278 -45
  1269. package/components/Kebab/Kebab.styles/Kebab.styles.js +18 -16
  1270. package/components/Kebab/Kebab.styles/Kebab.styles.js.map +1 -1
  1271. package/components/Kebab/Kebab.styles.d.ts +6 -5
  1272. package/components/Kebab/__stories__/Kebab.items/Kebab.items.js.map +1 -1
  1273. package/components/Kebab/index/index.js.map +1 -1
  1274. package/components/Link/Link/Link.js +32 -35
  1275. package/components/Link/Link/Link.js.map +1 -1
  1276. package/components/Link/Link.d.ts +29 -10
  1277. package/components/Link/Link.md +77 -11
  1278. package/components/Link/Link.mixins/Link.mixins.js +1 -1
  1279. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  1280. package/components/Link/Link.styles/Link.styles.js +12 -10
  1281. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  1282. package/components/Link/Link.styles.d.ts +3 -2
  1283. package/components/Link/index/index.js.map +1 -1
  1284. package/components/Loader/Loader/Loader.js +205 -66
  1285. package/components/Loader/Loader/Loader.js.map +1 -1
  1286. package/components/Loader/Loader.d.ts +35 -3
  1287. package/components/Loader/Loader.md +25 -25
  1288. package/components/Loader/Loader.styles/Loader.styles.js +8 -15
  1289. package/components/Loader/Loader.styles/Loader.styles.js.map +1 -1
  1290. package/components/Loader/Loader.styles.d.ts +1 -3
  1291. package/components/Loader/__stories__/LoaderAndButton/LoaderAndButton.js.map +1 -1
  1292. package/components/Loader/index/index.js.map +1 -1
  1293. package/components/MenuHeader/MenuHeader/MenuHeader.js +12 -7
  1294. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  1295. package/components/MenuHeader/MenuHeader.d.ts +5 -1
  1296. package/components/MenuHeader/MenuHeader.md +23 -0
  1297. package/components/MenuHeader/MenuHeader.styles/MenuHeader.styles.js +2 -3
  1298. package/components/MenuHeader/MenuHeader.styles/MenuHeader.styles.js.map +1 -1
  1299. package/components/MenuHeader/MenuHeader.styles.d.ts +1 -1
  1300. package/components/MenuHeader/index/index.js.map +1 -1
  1301. package/components/MenuItem/MenuItem/MenuItem.js +28 -23
  1302. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  1303. package/components/MenuItem/MenuItem.d.ts +53 -7
  1304. package/components/MenuItem/MenuItem.md +109 -7
  1305. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +16 -14
  1306. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  1307. package/components/MenuItem/MenuItem.styles.d.ts +2 -1
  1308. package/components/MenuItem/index/index.js.map +1 -1
  1309. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +6 -4
  1310. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  1311. package/components/MenuSeparator/MenuSeparator.d.ts +3 -1
  1312. package/components/MenuSeparator/MenuSeparator.md +14 -0
  1313. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js +2 -3
  1314. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js.map +1 -1
  1315. package/components/MenuSeparator/MenuSeparator.styles.d.ts +1 -1
  1316. package/components/MenuSeparator/index/index.js.map +1 -1
  1317. package/components/Modal/Modal/Modal.js +100 -74
  1318. package/components/Modal/Modal/Modal.js.map +1 -1
  1319. package/components/Modal/Modal.d.ts +8 -4
  1320. package/components/Modal/Modal.md +38 -38
  1321. package/components/Modal/Modal.styles/Modal.styles.js +70 -25
  1322. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  1323. package/components/Modal/Modal.styles.d.ts +17 -2
  1324. package/components/Modal/ModalBody/ModalBody.js +31 -17
  1325. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  1326. package/components/Modal/ModalBody.d.ts +3 -0
  1327. package/components/Modal/ModalClose/ModalClose.js +42 -10
  1328. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  1329. package/components/Modal/ModalClose.d.ts +1 -1
  1330. package/components/Modal/ModalContext/ModalContext.js.map +1 -1
  1331. package/components/Modal/ModalContext.d.ts +5 -1
  1332. package/components/Modal/ModalFooter/ModalFooter.js +26 -31
  1333. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  1334. package/components/Modal/ModalHeader/ModalHeader.js +33 -35
  1335. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  1336. package/components/Modal/index/index.js.map +1 -1
  1337. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  1338. package/components/Paging/Paging/Paging.js +54 -55
  1339. package/components/Paging/Paging/Paging.js.map +1 -1
  1340. package/components/Paging/Paging.d.ts +15 -5
  1341. package/components/Paging/Paging.md +43 -43
  1342. package/components/Paging/Paging.styles/Paging.styles.js +10 -12
  1343. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  1344. package/components/Paging/Paging.styles.d.ts +2 -2
  1345. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js +19 -0
  1346. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -0
  1347. package/components/Paging/PagingDefaultComponent/package.json +6 -0
  1348. package/components/Paging/PagingDefaultComponent.d.ts +9 -0
  1349. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  1350. package/components/Paging/index/index.js.map +1 -1
  1351. package/components/Paging/locale/index/index.js.map +1 -1
  1352. package/components/Paging/locale/locales/en/en.js.map +1 -1
  1353. package/components/Paging/locale/locales/ru/ru.js.map +1 -1
  1354. package/components/Paging/locale/types/types.js +1 -0
  1355. package/components/PasswordInput/PasswordInput/PasswordInput.js +60 -37
  1356. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  1357. package/components/PasswordInput/PasswordInput.d.ts +5 -2
  1358. package/components/PasswordInput/PasswordInput.md +9 -9
  1359. package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js +5 -6
  1360. package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js.map +1 -1
  1361. package/components/PasswordInput/PasswordInput.styles.d.ts +2 -2
  1362. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +10 -0
  1363. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -0
  1364. package/components/PasswordInput/PasswordInputIcon/package.json +6 -0
  1365. package/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
  1366. package/components/PasswordInput/index/index.js.map +1 -1
  1367. package/components/Radio/Radio/Radio.js +80 -43
  1368. package/components/Radio/Radio/Radio.js.map +1 -1
  1369. package/components/Radio/Radio.d.ts +41 -22
  1370. package/components/Radio/Radio.md +38 -14
  1371. package/components/Radio/Radio.styles/Radio.styles.js +45 -24
  1372. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  1373. package/components/Radio/Radio.styles.d.ts +11 -5
  1374. package/components/Radio/index/index.js.map +1 -1
  1375. package/components/RadioGroup/Prevent/Prevent.js.map +1 -1
  1376. package/components/RadioGroup/RadioGroup/RadioGroup.js +59 -131
  1377. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  1378. package/components/RadioGroup/RadioGroup.d.ts +53 -78
  1379. package/components/RadioGroup/RadioGroup.md +43 -43
  1380. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +3 -4
  1381. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  1382. package/components/RadioGroup/RadioGroup.styles.d.ts +1 -1
  1383. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js +12 -0
  1384. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js.map +1 -0
  1385. package/components/RadioGroup/RadioGroupContext/package.json +6 -0
  1386. package/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  1387. package/components/RadioGroup/index/index.js.map +1 -1
  1388. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +24 -0
  1389. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -0
  1390. package/components/ResponsiveLayout/ResponsiveLayout/package.json +6 -0
  1391. package/components/ResponsiveLayout/ResponsiveLayout.d.ts +11 -0
  1392. package/components/ResponsiveLayout/ResponsiveLayout.md +43 -0
  1393. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +91 -0
  1394. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -0
  1395. package/components/ResponsiveLayout/ResponsiveLayoutEvents/package.json +6 -0
  1396. package/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +11 -0
  1397. package/components/ResponsiveLayout/decorator/decorator.js +61 -0
  1398. package/components/ResponsiveLayout/decorator/decorator.js.map +1 -0
  1399. package/components/ResponsiveLayout/decorator/package.json +6 -0
  1400. package/components/ResponsiveLayout/decorator.d.ts +33 -0
  1401. package/components/ResponsiveLayout/index/index.js +3 -0
  1402. package/components/ResponsiveLayout/index/index.js.map +1 -0
  1403. package/components/ResponsiveLayout/index/package.json +6 -0
  1404. package/components/ResponsiveLayout/index.d.ts +3 -0
  1405. package/components/ResponsiveLayout/package.json +6 -0
  1406. package/components/ResponsiveLayout/types/package.json +6 -0
  1407. package/components/ResponsiveLayout/types/types.js +1 -0
  1408. package/components/ResponsiveLayout/types/types.js.map +1 -0
  1409. package/components/ResponsiveLayout/types.d.ts +3 -0
  1410. package/components/ResponsiveLayout/useResponsiveLayout/package.json +6 -0
  1411. package/components/ResponsiveLayout/useResponsiveLayout/useResponsiveLayout.js +55 -0
  1412. package/components/ResponsiveLayout/useResponsiveLayout/useResponsiveLayout.js.map +1 -0
  1413. package/components/ResponsiveLayout/useResponsiveLayout.d.ts +2 -0
  1414. package/components/ScrollContainer/ScrollBar/ScrollBar.js +255 -0
  1415. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -0
  1416. package/components/ScrollContainer/ScrollBar/package.json +6 -0
  1417. package/components/ScrollContainer/ScrollBar.d.ts +37 -0
  1418. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +141 -217
  1419. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  1420. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +31 -0
  1421. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -0
  1422. package/components/ScrollContainer/ScrollContainer.constants/package.json +6 -0
  1423. package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -0
  1424. package/components/ScrollContainer/ScrollContainer.d.ts +43 -23
  1425. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js +55 -0
  1426. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js.map +1 -0
  1427. package/components/ScrollContainer/ScrollContainer.helpers/package.json +6 -0
  1428. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -0
  1429. package/components/ScrollContainer/ScrollContainer.md +143 -94
  1430. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +28 -12
  1431. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  1432. package/components/ScrollContainer/ScrollContainer.styles.d.ts +14 -4
  1433. package/components/ScrollContainer/index/index.js.map +1 -1
  1434. package/components/Select/Item/Item.js.map +1 -1
  1435. package/components/Select/Select/Select.js +197 -102
  1436. package/components/Select/Select/Select.js.map +1 -1
  1437. package/components/Select/Select.d.ts +22 -6
  1438. package/components/Select/Select.md +67 -55
  1439. package/components/Select/Select.styles/Select.styles.js +23 -18
  1440. package/components/Select/Select.styles/Select.styles.js.map +1 -1
  1441. package/components/Select/Select.styles.d.ts +4 -2
  1442. package/components/Select/index/index.js.map +1 -1
  1443. package/components/Select/locale/index/index.js.map +1 -1
  1444. package/components/Select/locale/locales/en/en.js.map +1 -1
  1445. package/components/Select/locale/locales/ru/ru.js.map +1 -1
  1446. package/components/Select/locale/types/types.js +1 -0
  1447. package/components/Select/selectTheme/selectTheme.js +4 -1
  1448. package/components/Select/selectTheme/selectTheme.js.map +1 -1
  1449. package/components/SidePage/SidePage/SidePage.js +128 -94
  1450. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  1451. package/components/SidePage/SidePage.d.ts +24 -2
  1452. package/components/SidePage/SidePage.md +48 -48
  1453. package/components/SidePage/SidePage.styles/SidePage.styles.js +90 -42
  1454. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  1455. package/components/SidePage/SidePage.styles.d.ts +23 -7
  1456. package/components/SidePage/SidePageBody/SidePageBody.js +28 -14
  1457. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  1458. package/components/SidePage/SidePageBody.d.ts +2 -0
  1459. package/components/SidePage/SidePageContainer/SidePageContainer.js +27 -28
  1460. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  1461. package/components/SidePage/SidePageContainer.d.ts +2 -0
  1462. package/components/SidePage/SidePageContext/SidePageContext.js +3 -0
  1463. package/components/SidePage/SidePageContext/SidePageContext.js.map +1 -1
  1464. package/components/SidePage/SidePageContext.d.ts +5 -0
  1465. package/components/SidePage/SidePageFooter/SidePageFooter.js +57 -27
  1466. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  1467. package/components/SidePage/SidePageFooter.d.ts +5 -2
  1468. package/components/SidePage/SidePageHeader/SidePageHeader.js +103 -41
  1469. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  1470. package/components/SidePage/SidePageHeader.d.ts +14 -4
  1471. package/components/SidePage/index/index.js.map +1 -1
  1472. package/components/Spinner/Spinner/Spinner.js +41 -30
  1473. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  1474. package/components/Spinner/Spinner.d.ts +10 -1
  1475. package/components/Spinner/Spinner.md +35 -34
  1476. package/components/Spinner/Spinner.styles/Spinner.styles.js +17 -12
  1477. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  1478. package/components/Spinner/Spinner.styles.d.ts +4 -2
  1479. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +24 -9
  1480. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  1481. package/components/Spinner/index/index.js.map +1 -1
  1482. package/components/Spinner/locale/index/index.js.map +1 -1
  1483. package/components/Spinner/locale/locales/en/en.js.map +1 -1
  1484. package/components/Spinner/locale/locales/ru/ru.js.map +1 -1
  1485. package/components/Spinner/locale/types/types.js +1 -0
  1486. package/components/Sticky/Sticky/Sticky.js +32 -29
  1487. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  1488. package/components/Sticky/Sticky.d.ts +7 -1
  1489. package/components/Sticky/Sticky.md +27 -27
  1490. package/components/Sticky/Sticky.styles/Sticky.styles.js +2 -3
  1491. package/components/Sticky/Sticky.styles/Sticky.styles.js.map +1 -1
  1492. package/components/Sticky/Sticky.styles.d.ts +1 -1
  1493. package/components/Sticky/index/index.js.map +1 -1
  1494. package/components/Switcher/Switcher/Switcher.js +25 -20
  1495. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  1496. package/components/Switcher/Switcher.d.ts +5 -3
  1497. package/components/Switcher/Switcher.md +10 -10
  1498. package/components/Switcher/Switcher.styles/Switcher.styles.js +19 -15
  1499. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  1500. package/components/Switcher/Switcher.styles.d.ts +6 -5
  1501. package/components/Switcher/index/index.js.map +1 -1
  1502. package/components/Switcher/switcherTheme/switcherTheme.js.map +1 -1
  1503. package/components/Tabs/Indicator/Indicator.js +23 -25
  1504. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  1505. package/components/Tabs/Indicator.d.ts +2 -2
  1506. package/components/Tabs/Indicator.styles/Indicator.styles.js +2 -3
  1507. package/components/Tabs/Indicator.styles/Indicator.styles.js.map +1 -1
  1508. package/components/Tabs/Indicator.styles.d.ts +1 -1
  1509. package/components/Tabs/Tab/Tab.js +44 -61
  1510. package/components/Tabs/Tab/Tab.js.map +1 -1
  1511. package/components/Tabs/Tab.d.ts +9 -13
  1512. package/components/Tabs/Tab.styles/Tab.styles.js +48 -19
  1513. package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
  1514. package/components/Tabs/Tab.styles.d.ts +17 -2
  1515. package/components/Tabs/Tabs/Tabs.js +24 -27
  1516. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  1517. package/components/Tabs/Tabs.d.ts +7 -5
  1518. package/components/Tabs/Tabs.md +36 -36
  1519. package/components/Tabs/Tabs.styles/Tabs.styles.js +5 -6
  1520. package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
  1521. package/components/Tabs/Tabs.styles.d.ts +2 -2
  1522. package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  1523. package/components/Tabs/TabsContext.d.ts +8 -8
  1524. package/components/Tabs/index/index.js.map +1 -1
  1525. package/components/Textarea/Textarea/Textarea.js +48 -48
  1526. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  1527. package/components/Textarea/Textarea.d.ts +11 -8
  1528. package/components/Textarea/Textarea.md +25 -25
  1529. package/components/Textarea/Textarea.styles/Textarea.styles.js +17 -15
  1530. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  1531. package/components/Textarea/Textarea.styles.d.ts +2 -1
  1532. package/components/Textarea/TextareaCounter/TextareaCounter.js +21 -14
  1533. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  1534. package/components/Textarea/TextareaCounter.d.ts +1 -2
  1535. package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
  1536. package/components/Textarea/index/index.js.map +1 -1
  1537. package/components/Toast/Toast/Toast.js +45 -32
  1538. package/components/Toast/Toast/Toast.js.map +1 -1
  1539. package/components/Toast/Toast.d.ts +3 -0
  1540. package/components/Toast/Toast.md +41 -41
  1541. package/components/Toast/Toast.styles/Toast.styles.js +4 -5
  1542. package/components/Toast/Toast.styles/Toast.styles.js.map +1 -1
  1543. package/components/Toast/Toast.styles.d.ts +1 -1
  1544. package/components/Toast/ToastStatic/ToastStatic.js +0 -1
  1545. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  1546. package/components/Toast/ToastView/ToastView.js +20 -16
  1547. package/components/Toast/ToastView/ToastView.js.map +1 -1
  1548. package/components/Toast/ToastView.d.ts +1 -0
  1549. package/components/Toast/ToastView.styles/ToastView.styles.js +5 -6
  1550. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  1551. package/components/Toast/ToastView.styles.d.ts +2 -2
  1552. package/components/Toast/index/index.js.map +1 -1
  1553. package/components/Toggle/Toggle/Toggle.js +42 -34
  1554. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  1555. package/components/Toggle/Toggle.d.ts +49 -2
  1556. package/components/Toggle/Toggle.md +94 -20
  1557. package/components/Toggle/Toggle.styles/Toggle.styles.js +47 -26
  1558. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  1559. package/components/Toggle/Toggle.styles.d.ts +17 -5
  1560. package/components/Toggle/index/index.js.map +1 -1
  1561. package/components/Token/Token/Token.js +33 -17
  1562. package/components/Token/Token/Token.js.map +1 -1
  1563. package/components/Token/Token.d.ts +9 -2
  1564. package/components/Token/Token.md +112 -112
  1565. package/components/Token/Token.styles/Token.styles.js +21 -12
  1566. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  1567. package/components/Token/Token.styles.d.ts +5 -2
  1568. package/components/Token/index/index.js.map +1 -1
  1569. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js +8 -7
  1570. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
  1571. package/components/TokenInput/TokenInput/TokenInput.js +115 -72
  1572. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  1573. package/components/TokenInput/TokenInput.d.ts +26 -0
  1574. package/components/TokenInput/TokenInput.md +79 -79
  1575. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +22 -21
  1576. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  1577. package/components/TokenInput/TokenInput.styles.d.ts +1 -3
  1578. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +11 -7
  1579. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  1580. package/components/TokenInput/TokenInputMenu.d.ts +3 -0
  1581. package/components/TokenInput/TokenInputReducer/TokenInputReducer.js.map +1 -1
  1582. package/components/TokenInput/index/index.js.map +1 -1
  1583. package/components/TokenInput/locale/index/index.js.map +1 -1
  1584. package/components/TokenInput/locale/locales/en/en.js.map +1 -1
  1585. package/components/TokenInput/locale/locales/ru/ru.js.map +1 -1
  1586. package/components/TokenInput/locale/types/types.js +1 -0
  1587. package/components/Tooltip/Tooltip/Tooltip.js +69 -36
  1588. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  1589. package/components/Tooltip/Tooltip.d.ts +19 -25
  1590. package/components/Tooltip/Tooltip.md +293 -292
  1591. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +3 -4
  1592. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  1593. package/components/Tooltip/Tooltip.styles.d.ts +1 -1
  1594. package/components/Tooltip/index/index.js.map +1 -1
  1595. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +25 -15
  1596. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  1597. package/components/TooltipMenu/TooltipMenu.d.ts +30 -11
  1598. package/components/TooltipMenu/TooltipMenu.md +183 -115
  1599. package/components/TooltipMenu/index/index.js.map +1 -1
  1600. package/hooks/useDrop/package.json +6 -0
  1601. package/hooks/useDrop/useDrop.js +61 -0
  1602. package/hooks/useDrop/useDrop.js.map +1 -0
  1603. package/hooks/useDrop.d.ts +11 -0
  1604. package/hooks/useEffectWithoutInitCall/package.json +6 -0
  1605. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js +11 -0
  1606. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js.map +1 -0
  1607. package/hooks/useEffectWithoutInitCall.d.ts +2 -0
  1608. package/hooks/useMemoObject/package.json +6 -0
  1609. package/hooks/useMemoObject/useMemoObject.js +6 -0
  1610. package/hooks/useMemoObject/useMemoObject.js.map +1 -0
  1611. package/hooks/useMemoObject.d.ts +1 -0
  1612. package/index.d.ts +9 -3
  1613. package/index.js +9 -3
  1614. package/index.js.map +1 -1
  1615. package/internal/BGRuler/BGRuler.js +7 -6
  1616. package/internal/BGRuler/BGRuler.js.map +1 -1
  1617. package/internal/Calendar/Calendar/Calendar.js +71 -30
  1618. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  1619. package/internal/Calendar/Calendar.d.ts +6 -0
  1620. package/internal/Calendar/Calendar.styles/Calendar.styles.js +3 -4
  1621. package/internal/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
  1622. package/internal/Calendar/Calendar.styles.d.ts +1 -1
  1623. package/internal/Calendar/CalendarDateShape/CalendarDateShape.js.map +1 -1
  1624. package/internal/Calendar/CalendarDateShape.d.ts +1 -1
  1625. package/internal/Calendar/CalendarScrollEvents/CalendarScrollEvents.js.map +1 -1
  1626. package/internal/Calendar/CalendarUtils/CalendarUtils.js.map +1 -1
  1627. package/internal/Calendar/DayCellView/DayCellView.js +4 -4
  1628. package/internal/Calendar/DayCellView/DayCellView.js.map +1 -1
  1629. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js +6 -7
  1630. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  1631. package/internal/Calendar/DayCellView.styles.d.ts +1 -1
  1632. package/internal/Calendar/DayCellViewModel/DayCellViewModel.js +0 -4
  1633. package/internal/Calendar/DayCellViewModel/DayCellViewModel.js.map +1 -1
  1634. package/internal/Calendar/Month/Month.js +15 -21
  1635. package/internal/Calendar/Month/Month.js.map +1 -1
  1636. package/internal/Calendar/MonthView/MonthView.js +8 -8
  1637. package/internal/Calendar/MonthView/MonthView.js.map +1 -1
  1638. package/internal/Calendar/MonthView.styles/MonthView.styles.js +10 -8
  1639. package/internal/Calendar/MonthView.styles/MonthView.styles.js.map +1 -1
  1640. package/internal/Calendar/MonthView.styles.d.ts +3 -2
  1641. package/internal/Calendar/MonthViewModel/MonthViewModel.js +36 -28
  1642. package/internal/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  1643. package/internal/Calendar/config/config.js.map +1 -1
  1644. package/internal/Calendar/index/index.js.map +1 -1
  1645. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +56 -14
  1646. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  1647. package/internal/CommonWrapper/CommonWrapper.d.ts +19 -2
  1648. package/internal/CommonWrapper/index/index.js.map +1 -1
  1649. package/internal/ComponentCombinator/ComponentCombinator.js.map +1 -1
  1650. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  1651. package/internal/ComponentTable.d.ts +4 -2
  1652. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +56 -23
  1653. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  1654. package/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
  1655. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +175 -102
  1656. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  1657. package/internal/CustomComboBox/ComboBoxView.d.ts +23 -1
  1658. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +48 -38
  1659. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  1660. package/internal/CustomComboBox/CustomComboBox.d.ts +9 -0
  1661. package/internal/CustomComboBox/CustomComboBox.styles/CustomComboBox.styles.js +4 -5
  1662. package/internal/CustomComboBox/CustomComboBox.styles/CustomComboBox.styles.js.map +1 -1
  1663. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +2 -2
  1664. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +40 -39
  1665. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  1666. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +16 -16
  1667. package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js.map +1 -1
  1668. package/internal/CustomComboBox/index/index.js.map +1 -1
  1669. package/internal/CustomComboBox/locale/index/index.js.map +1 -1
  1670. package/internal/CustomComboBox/locale/locales/en/en.js.map +1 -1
  1671. package/internal/CustomComboBox/locale/locales/ru/ru.js.map +1 -1
  1672. package/internal/CustomComboBox/locale/types/types.js +1 -0
  1673. package/internal/DateSelect/DateSelect/DateSelect.js +80 -40
  1674. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  1675. package/internal/DateSelect/DateSelect.d.ts +5 -2
  1676. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +11 -12
  1677. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
  1678. package/internal/DateSelect/DateSelect.styles.d.ts +3 -3
  1679. package/internal/DateSelect/index/index.js.map +1 -1
  1680. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +41 -50
  1681. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  1682. package/internal/DropdownContainer/DropdownContainer.d.ts +6 -8
  1683. package/internal/DropdownContainer/DropdownContainer.styles/DropdownContainer.styles.js +10 -0
  1684. package/internal/DropdownContainer/DropdownContainer.styles/DropdownContainer.styles.js.map +1 -0
  1685. package/internal/DropdownContainer/DropdownContainer.styles/package.json +6 -0
  1686. package/internal/DropdownContainer/DropdownContainer.styles.d.ts +3 -0
  1687. package/internal/DropdownContainer/index/index.js.map +1 -1
  1688. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js +2 -0
  1689. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js.map +1 -0
  1690. package/internal/FileUploaderControl/FileUploaderControlContext/package.json +6 -0
  1691. package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +12 -0
  1692. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +89 -0
  1693. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -0
  1694. package/internal/FileUploaderControl/FileUploaderControlProvider/package.json +6 -0
  1695. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +14 -0
  1696. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +180 -0
  1697. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -0
  1698. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/package.json +6 -0
  1699. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +12 -0
  1700. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js +32 -0
  1701. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js.map +1 -0
  1702. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/package.json +6 -0
  1703. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +11 -0
  1704. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +27 -0
  1705. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -0
  1706. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/package.json +6 -0
  1707. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +10 -0
  1708. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js +14 -0
  1709. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js.map +1 -0
  1710. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/package.json +6 -0
  1711. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +5 -0
  1712. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js +16 -0
  1713. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js.map +1 -0
  1714. package/internal/FileUploaderControl/FileUploaderFileValidationResult/package.json +6 -0
  1715. package/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +7 -0
  1716. package/internal/FileUploaderControl/fileUtils/fileUtils.js +19 -0
  1717. package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +1 -0
  1718. package/internal/FileUploaderControl/fileUtils/package.json +6 -0
  1719. package/internal/FileUploaderControl/fileUtils.d.ts +14 -0
  1720. package/internal/FileUploaderControl/hooks/useControlLocale/package.json +6 -0
  1721. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js +5 -0
  1722. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js.map +1 -0
  1723. package/internal/FileUploaderControl/hooks/useControlLocale.d.ts +1 -0
  1724. package/internal/FileUploaderControl/hooks/useUpload/package.json +6 -0
  1725. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js +56 -0
  1726. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js.map +1 -0
  1727. package/internal/FileUploaderControl/hooks/useUpload.d.ts +3 -0
  1728. package/internal/FileUploaderControl/withFileUploaderControlProvider/package.json +6 -0
  1729. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +19 -0
  1730. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -0
  1731. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +3 -0
  1732. package/internal/FocusTrap/FocusTrap/FocusTrap.js +16 -9
  1733. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  1734. package/internal/FocusTrap/FocusTrap.d.ts +1 -0
  1735. package/internal/FocusTrap/index/index.js.map +1 -1
  1736. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +29 -65
  1737. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  1738. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -3
  1739. package/internal/HideBodyVerticalScroll/index/index.js.map +1 -1
  1740. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +12 -7
  1741. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  1742. package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +1 -1
  1743. package/internal/IgnoreLayerClick/index/index.js.map +1 -1
  1744. package/internal/InputLikeText/HiddenInput/HiddenInput.js +6 -5
  1745. package/internal/InputLikeText/HiddenInput/HiddenInput.js.map +1 -1
  1746. package/internal/InputLikeText/InputLikeText/InputLikeText.js +78 -49
  1747. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  1748. package/internal/InputLikeText/InputLikeText.d.ts +4 -2
  1749. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +5 -9
  1750. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  1751. package/internal/InputLikeText/InputLikeText.styles.d.ts +2 -3
  1752. package/internal/InputLikeText/index/index.js.map +1 -1
  1753. package/internal/InternalMenu/InternalMenu/InternalMenu.js +47 -56
  1754. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  1755. package/internal/InternalMenu/InternalMenu.d.ts +8 -4
  1756. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +3 -4
  1757. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  1758. package/internal/InternalMenu/InternalMenu.styles.d.ts +1 -1
  1759. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js +14 -0
  1760. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/addIconPaddingIfPartOfMenu.js.map +1 -0
  1761. package/internal/InternalMenu/addIconPaddingIfPartOfMenu/package.json +6 -0
  1762. package/internal/InternalMenu/addIconPaddingIfPartOfMenu.d.ts +2 -0
  1763. package/internal/InternalMenu/index/index.js.map +1 -1
  1764. package/internal/InternalMenu/isActiveElement/isActiveElement.js.map +1 -1
  1765. package/internal/MaskCharLowLine/MaskCharLowLine/MaskCharLowLine.js +8 -8
  1766. package/internal/MaskCharLowLine/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  1767. package/internal/MaskCharLowLine/MaskCharLowLine.styles/MaskCharLowLine.styles.js +2 -3
  1768. package/internal/MaskCharLowLine/MaskCharLowLine.styles/MaskCharLowLine.styles.js.map +1 -1
  1769. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +1 -1
  1770. package/internal/MaskCharLowLine/index/index.js.map +1 -1
  1771. package/internal/MaskedInput/MaskedInput/MaskedInput.js +22 -17
  1772. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  1773. package/internal/MaskedInput/MaskedInput.d.ts +2 -2
  1774. package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js +2 -3
  1775. package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js.map +1 -1
  1776. package/internal/MaskedInput/MaskedInput.styles.d.ts +1 -1
  1777. package/internal/MaskedInput/index/index.js.map +1 -1
  1778. package/internal/Menu/Menu/Menu.js +99 -77
  1779. package/internal/Menu/Menu/Menu.js.map +1 -1
  1780. package/internal/Menu/Menu.d.ts +8 -0
  1781. package/internal/Menu/Menu.styles/Menu.styles.js +15 -8
  1782. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  1783. package/internal/Menu/Menu.styles.d.ts +4 -1
  1784. package/internal/Menu/index/index.js.map +1 -1
  1785. package/internal/Menu/isActiveElement/isActiveElement.js.map +1 -1
  1786. package/internal/MobilePopup/MobilePopup/MobilePopup.js +111 -0
  1787. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -0
  1788. package/internal/MobilePopup/MobilePopup/package.json +6 -0
  1789. package/internal/MobilePopup/MobilePopup.d.ts +34 -0
  1790. package/internal/MobilePopup/MobilePopup.styles/MobilePopup.styles.js +29 -0
  1791. package/internal/MobilePopup/MobilePopup.styles/MobilePopup.styles.js.map +1 -0
  1792. package/internal/MobilePopup/MobilePopup.styles/package.json +6 -0
  1793. package/internal/MobilePopup/MobilePopup.styles.d.ts +10 -0
  1794. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +66 -0
  1795. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -0
  1796. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/package.json +6 -0
  1797. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +15 -0
  1798. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/MobilePopupHeader.styles.js +29 -0
  1799. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/MobilePopupHeader.styles.js.map +1 -0
  1800. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/package.json +6 -0
  1801. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +10 -0
  1802. package/internal/MobilePopup/MobilePopupHeader/index/index.js +1 -0
  1803. package/internal/MobilePopup/MobilePopupHeader/index/index.js.map +1 -0
  1804. package/internal/MobilePopup/MobilePopupHeader/index/package.json +6 -0
  1805. package/internal/MobilePopup/MobilePopupHeader/index.d.ts +1 -0
  1806. package/internal/MobilePopup/MobilePopupHeader/package.json +6 -0
  1807. package/internal/MobilePopup/index/index.js +1 -0
  1808. package/internal/MobilePopup/index/index.js.map +1 -0
  1809. package/internal/MobilePopup/index/package.json +6 -0
  1810. package/internal/MobilePopup/index.d.ts +1 -0
  1811. package/internal/MobilePopup/package.json +6 -0
  1812. package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js +66 -0
  1813. package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js.map +1 -0
  1814. package/internal/NativeDateInput/NativeDateInput/package.json +6 -0
  1815. package/internal/NativeDateInput/NativeDateInput.d.ts +23 -0
  1816. package/internal/NativeDateInput/NativeDateInput.styles/NativeDateInput.styles.js +11 -0
  1817. package/internal/NativeDateInput/NativeDateInput.styles/NativeDateInput.styles.js.map +1 -0
  1818. package/internal/NativeDateInput/NativeDateInput.styles/package.json +6 -0
  1819. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -0
  1820. package/internal/NativeDateInput/index/index.js +1 -0
  1821. package/internal/NativeDateInput/index/index.js.map +1 -0
  1822. package/internal/NativeDateInput/index/package.json +6 -0
  1823. package/internal/NativeDateInput/index.d.ts +1 -0
  1824. package/internal/NativeDateInput/package.json +6 -0
  1825. package/internal/NativeDateInput/utils/package.json +6 -0
  1826. package/internal/NativeDateInput/utils/utils.js +54 -0
  1827. package/internal/NativeDateInput/utils/utils.js.map +1 -0
  1828. package/internal/NativeDateInput/utils.d.ts +7 -0
  1829. package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js +0 -1
  1830. package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  1831. package/internal/Popup/Popup/Popup.js +206 -152
  1832. package/internal/Popup/Popup/Popup.js.map +1 -1
  1833. package/internal/Popup/Popup.d.ts +31 -9
  1834. package/internal/Popup/Popup.styles/Popup.styles.js +6 -7
  1835. package/internal/Popup/Popup.styles/Popup.styles.js.map +1 -1
  1836. package/internal/Popup/Popup.styles.d.ts +1 -1
  1837. package/internal/Popup/PopupHelper/PopupHelper.js +5 -2
  1838. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  1839. package/internal/Popup/PopupHelper.d.ts +2 -2
  1840. package/internal/Popup/PopupPin/PopupPin.js +18 -18
  1841. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  1842. package/internal/Popup/PopupPin.styles/PopupPin.styles.js +2 -3
  1843. package/internal/Popup/PopupPin.styles/PopupPin.styles.js.map +1 -1
  1844. package/internal/Popup/PopupPin.styles.d.ts +1 -1
  1845. package/internal/Popup/index/index.js.map +1 -1
  1846. package/internal/Popup/types/package.json +6 -0
  1847. package/internal/Popup/types/types.js +1 -0
  1848. package/internal/Popup/types/types.js.map +1 -0
  1849. package/internal/Popup/types.d.ts +2 -0
  1850. package/internal/PopupMenu/PopupMenu/PopupMenu.js +31 -18
  1851. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  1852. package/internal/PopupMenu/PopupMenu.d.ts +9 -4
  1853. package/internal/PopupMenu/PopupMenu.styles/PopupMenu.styles.js +3 -4
  1854. package/internal/PopupMenu/PopupMenu.styles/PopupMenu.styles.js.map +1 -1
  1855. package/internal/PopupMenu/PopupMenu.styles.d.ts +1 -1
  1856. package/internal/PopupMenu/index/index.js.map +1 -1
  1857. package/internal/PopupMenu/validatePositions/validatePositions.js +8 -8
  1858. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  1859. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  1860. package/internal/RenderContainer/RenderContainer/RenderContainer.js +14 -2
  1861. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  1862. package/internal/RenderContainer/RenderContainer.d.ts +1 -1
  1863. package/internal/RenderContainer/RenderContainerTypes/RenderContainerTypes.js +1 -0
  1864. package/internal/RenderContainer/RenderContainerTypes.d.ts +2 -0
  1865. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +11 -3
  1866. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  1867. package/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
  1868. package/internal/RenderContainer/index/index.js.map +1 -1
  1869. package/internal/RenderLayer/RenderLayer/RenderLayer.js +23 -18
  1870. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  1871. package/internal/RenderLayer/RenderLayer.d.ts +3 -1
  1872. package/internal/RenderLayer/index/index.js.map +1 -1
  1873. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js +8 -4
  1874. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
  1875. package/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  1876. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js +8 -6
  1877. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js.map +1 -1
  1878. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +2 -1
  1879. package/internal/ResizeDetector/index/index.js.map +1 -1
  1880. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +50 -0
  1881. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +1 -0
  1882. package/internal/TextWidthHelper/TextWidthHelper/package.json +6 -0
  1883. package/internal/TextWidthHelper/TextWidthHelper.d.ts +15 -0
  1884. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js +14 -0
  1885. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js.map +1 -0
  1886. package/internal/TextWidthHelper/TextWidthHelper.styles/package.json +6 -0
  1887. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
  1888. package/internal/ThemePlayground/AnotherInputsPlayground/AnotherInputsPlayground.js.map +1 -1
  1889. package/internal/ThemePlayground/CheckboxPlayground/CheckboxPlayground.js +1 -5
  1890. package/internal/ThemePlayground/CheckboxPlayground/CheckboxPlayground.js.map +1 -1
  1891. package/internal/ThemePlayground/ComponentsGroup/ComponentsGroup.js +3 -3
  1892. package/internal/ThemePlayground/ComponentsGroup/ComponentsGroup.js.map +1 -1
  1893. package/internal/ThemePlayground/CurrencyInputPlayground/CurrencyInputPlayground.js.map +1 -1
  1894. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js.map +1 -1
  1895. package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +1 -1
  1896. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js.map +1 -1
  1897. package/internal/ThemePlayground/Playground/Playground.js +42 -90
  1898. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  1899. package/internal/ThemePlayground/Playground.d.ts +1 -2
  1900. package/internal/ThemePlayground/Playground.md +7 -7
  1901. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +2 -3
  1902. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  1903. package/internal/ThemePlayground/Playground.styles.d.ts +1 -1
  1904. package/internal/ThemePlayground/RadioPlayground/RadioPlayground.js +1 -5
  1905. package/internal/ThemePlayground/RadioPlayground/RadioPlayground.js.map +1 -1
  1906. package/internal/ThemePlayground/SelectPlayground/SelectPlayground.js.map +1 -1
  1907. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +7 -1
  1908. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  1909. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +29 -0
  1910. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -0
  1911. package/internal/ThemePlayground/SizesGroup/package.json +6 -0
  1912. package/internal/ThemePlayground/SizesGroup.d.ts +4 -0
  1913. package/internal/ThemePlayground/SwitcherPlayground/SwitcherPlayground.js.map +1 -1
  1914. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +28 -31
  1915. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  1916. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +6 -4
  1917. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js +24 -25
  1918. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  1919. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js.map +1 -1
  1920. package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js.map +1 -1
  1921. package/internal/ThemePlayground/VariableValue/VariableValue.js +25 -14
  1922. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  1923. package/internal/ThemePlayground/constants/constants.js +5 -1
  1924. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  1925. package/internal/ThemePlayground/constants.d.ts +3 -2
  1926. package/internal/ThemePlayground/darkTheme/darkTheme.js +83 -27
  1927. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  1928. package/internal/ThemePlayground/darkTheme.d.ts +30 -4
  1929. package/internal/ThemePlayground/helpers/helpers.js.map +1 -1
  1930. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +166 -157
  1931. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  1932. package/internal/ThemeShowcase/ThemeShowcase.d.ts +1 -1
  1933. package/internal/ThemeShowcase/ThemeShowcase.md +13 -13
  1934. package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js +41 -24
  1935. package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js.map +1 -1
  1936. package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +10 -3
  1937. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +81 -68
  1938. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  1939. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  1940. package/internal/ZIndex/ZIndex/ZIndex.js +21 -9
  1941. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  1942. package/internal/ZIndex/ZIndex.d.ts +2 -0
  1943. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +14 -6
  1944. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  1945. package/internal/ZIndex/ZIndexStorage.d.ts +4 -1
  1946. package/internal/ZIndex/index/index.js.map +1 -1
  1947. package/internal/icons/16px/icon.styles/icon.styles.js +2 -3
  1948. package/internal/icons/16px/icon.styles/icon.styles.js.map +1 -1
  1949. package/internal/icons/16px/icon.styles.d.ts +1 -1
  1950. package/internal/icons/16px/index/index.js +138 -55
  1951. package/internal/icons/16px/index/index.js.map +1 -1
  1952. package/internal/icons/16px/index.d.ts +20 -16
  1953. package/internal/icons/20px/Icon/Icon.js +2 -2
  1954. package/internal/icons/20px/Icon/Icon.js.map +1 -1
  1955. package/internal/icons/20px/icon.styles/icon.styles.js +2 -3
  1956. package/internal/icons/20px/icon.styles/icon.styles.js.map +1 -1
  1957. package/internal/icons/20px/icon.styles.d.ts +1 -1
  1958. package/internal/icons/20px/index/index.js.map +1 -1
  1959. package/internal/icons/20px/svg/svg.js +10 -4
  1960. package/internal/icons/20px/svg/svg.js.map +1 -1
  1961. package/internal/icons/CloudIcon/CloudIcon.js.map +1 -1
  1962. package/internal/icons/CrossIcon/CrossIcon.js +2 -1
  1963. package/internal/icons/CrossIcon/CrossIcon.js.map +1 -1
  1964. package/internal/icons/SpinnerIcon/SpinnerIcon.js +15 -10
  1965. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  1966. package/internal/icons/SpinnerIcon.d.ts +5 -1
  1967. package/internal/icons/SpinnerIcon.styles/SpinnerIcon.styles.js +10 -5
  1968. package/internal/icons/SpinnerIcon.styles/SpinnerIcon.styles.js.map +1 -1
  1969. package/internal/icons/SpinnerIcon.styles.d.ts +3 -1
  1970. package/internal/themes/DarkTheme/DarkTheme.js +256 -0
  1971. package/internal/themes/DarkTheme/DarkTheme.js.map +1 -0
  1972. package/internal/themes/DarkTheme/package.json +6 -0
  1973. package/internal/themes/DarkTheme.d.ts +137 -0
  1974. package/internal/themes/DefaultTheme/DefaultTheme.js +977 -515
  1975. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1976. package/internal/themes/DefaultTheme.d.ts +240 -102
  1977. package/internal/themes/NotFlat/NotFlat.js +310 -0
  1978. package/internal/themes/NotFlat/NotFlat.js.map +1 -0
  1979. package/internal/themes/NotFlat/package.json +6 -0
  1980. package/internal/themes/{FlatTheme.d.ts → NotFlat.d.ts} +86 -85
  1981. package/internal/themes/OldColors/OldColors.js +172 -0
  1982. package/internal/themes/OldColors/OldColors.js.map +1 -0
  1983. package/internal/themes/OldColors/package.json +6 -0
  1984. package/internal/themes/OldColors.d.ts +116 -0
  1985. package/internal/themes/Theme2022/Theme2022.js +78 -0
  1986. package/internal/themes/Theme2022/Theme2022.js.map +1 -0
  1987. package/internal/themes/Theme2022/package.json +6 -0
  1988. package/internal/themes/Theme2022.d.ts +66 -0
  1989. package/internal/themes/Theme2022Dark/Theme2022Dark.js +17 -0
  1990. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
  1991. package/internal/themes/Theme2022Dark/package.json +6 -0
  1992. package/internal/themes/Theme2022Dark.d.ts +5 -0
  1993. package/lib/ConditionalHandler/ConditionalHandler.js +2 -2
  1994. package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
  1995. package/lib/ConditionalHandler.d.ts +3 -2
  1996. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js +3 -0
  1997. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js.map +1 -0
  1998. package/lib/InstanceWithAnchorElement/package.json +6 -0
  1999. package/lib/InstanceWithAnchorElement.d.ts +5 -0
  2000. package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
  2001. package/lib/ModalStack/ModalStack.js +13 -17
  2002. package/lib/ModalStack/ModalStack.js.map +1 -1
  2003. package/lib/ModalStack.d.ts +1 -1
  2004. package/lib/SSRSafe/SSRSafe.js +7 -0
  2005. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  2006. package/lib/SSRSafe.d.ts +1 -0
  2007. package/lib/Supports/Supports.js.map +1 -1
  2008. package/lib/Upgrades/Upgrades.js +13 -0
  2009. package/lib/Upgrades/Upgrades.js.map +1 -1
  2010. package/lib/Upgrades.d.ts +2 -0
  2011. package/lib/animation/index/index.js +1 -1
  2012. package/lib/animation/index/index.js.map +1 -1
  2013. package/lib/animation/index.d.ts +1 -1
  2014. package/lib/animation/presets/presets.js.map +1 -1
  2015. package/lib/animation/stepper/stepper.js.map +1 -1
  2016. package/lib/callChildRef/callChildRef/callChildRef.js +14 -0
  2017. package/lib/callChildRef/callChildRef/callChildRef.js.map +1 -0
  2018. package/lib/callChildRef/callChildRef/package.json +6 -0
  2019. package/lib/callChildRef/callChildRef.d.ts +3 -0
  2020. package/lib/client/client.js +3 -1
  2021. package/lib/client/client.js.map +1 -1
  2022. package/lib/client.d.ts +2 -0
  2023. package/lib/createPropsGetter/createPropsGetter.js.map +1 -1
  2024. package/lib/currentEnvironment/currentEnvironment.js +14 -3
  2025. package/lib/currentEnvironment/currentEnvironment.js.map +1 -1
  2026. package/lib/date/InternalDate/InternalDate.js +19 -6
  2027. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  2028. package/lib/date/InternalDateCalculator/InternalDateCalculator.js +14 -2
  2029. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  2030. package/lib/date/InternalDateGetter/InternalDateGetter.js +20 -6
  2031. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  2032. package/lib/date/InternalDateSetter/InternalDateSetter.js.map +1 -1
  2033. package/lib/date/InternalDateTransformer/InternalDateTransformer.js +11 -1
  2034. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  2035. package/lib/date/InternalDateValidator/InternalDateValidator.js +31 -4
  2036. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  2037. package/lib/date/constants/constants.js.map +1 -1
  2038. package/lib/date/localeSets/localeSets.js.map +1 -1
  2039. package/lib/date/types/types.js.map +1 -1
  2040. package/lib/dom/getDOMRect/getDOMRect.js +40 -0
  2041. package/lib/dom/getDOMRect/getDOMRect.js.map +1 -0
  2042. package/lib/dom/getDOMRect/package.json +6 -0
  2043. package/lib/dom/getDOMRect.d.ts +11 -0
  2044. package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
  2045. package/lib/dom/tabbableHelpers/package.json +6 -0
  2046. package/lib/dom/tabbableHelpers/tabbableHelpers.js +34 -0
  2047. package/lib/dom/tabbableHelpers/tabbableHelpers.js.map +1 -0
  2048. package/lib/dom/tabbableHelpers.d.ts +16 -0
  2049. package/lib/events/MouseDrag/MouseDrag.js +26 -30
  2050. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  2051. package/lib/events/fixClickFocusIE/fixClickFocusIE.js +1 -1
  2052. package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +1 -1
  2053. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +19 -0
  2054. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  2055. package/lib/events/fixFirefoxModifiedClickOnLabel/package.json +6 -0
  2056. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  2057. package/lib/events/keyListener/keyListener.js +22 -0
  2058. package/lib/events/keyListener/keyListener.js.map +1 -0
  2059. package/lib/events/keyListener/package.json +6 -0
  2060. package/lib/events/keyListener.d.ts +7 -0
  2061. package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js.map +1 -1
  2062. package/lib/events/keyboard/KeyboardMapKeys/KeyboardMapKeys.js.map +1 -1
  2063. package/lib/events/keyboard/KeyboardMapKeys.d.ts +2 -1
  2064. package/lib/events/keyboard/extractCode/extractCode.js +5 -5
  2065. package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
  2066. package/lib/events/keyboard/identifiers/identifiers.js +12 -1
  2067. package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
  2068. package/lib/events/keyboard/identifiers.d.ts +1 -0
  2069. package/lib/events/stopPropagation/stopPropagation.js.map +1 -1
  2070. package/lib/events/tabListener/tabListener.js +2 -19
  2071. package/lib/events/tabListener/tabListener.js.map +1 -1
  2072. package/lib/events/tabListener.d.ts +1 -6
  2073. package/lib/extractKeyboardAction/extractKeyboardAction.js +0 -1
  2074. package/lib/extractKeyboardAction/extractKeyboardAction.js.map +1 -1
  2075. package/lib/filterProps/filterProps.js.map +1 -1
  2076. package/lib/forwardRefAndName/forwardRefAndName.js +11 -0
  2077. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -0
  2078. package/lib/forwardRefAndName/package.json +6 -0
  2079. package/lib/forwardRefAndName.d.ts +5 -0
  2080. package/lib/getDisplayName/getDisplayName.js +3 -0
  2081. package/lib/getDisplayName/getDisplayName.js.map +1 -0
  2082. package/lib/getDisplayName/package.json +6 -0
  2083. package/lib/getDisplayName.d.ts +3 -0
  2084. package/lib/listenFocusOutside/listenFocusOutside.js +10 -11
  2085. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  2086. package/lib/listenFocusOutside.d.ts +4 -0
  2087. package/lib/locale/LOCALECONTEXT.md +221 -221
  2088. package/lib/locale/LocaleContext/LocaleContext.js.map +1 -1
  2089. package/lib/locale/LocaleHelper/LocaleHelper.js +0 -2
  2090. package/lib/locale/LocaleHelper/LocaleHelper.js.map +1 -1
  2091. package/lib/locale/constants/constants.js.map +1 -1
  2092. package/lib/locale/decorators/decorators.js +0 -1
  2093. package/lib/locale/decorators/decorators.js.map +1 -1
  2094. package/lib/locale/index/index.js.map +1 -1
  2095. package/lib/locale/types/types.js.map +1 -1
  2096. package/lib/locale/types.d.ts +2 -0
  2097. package/lib/locale/useLocaleForControl/package.json +6 -0
  2098. package/lib/locale/useLocaleForControl/useLocaleForControl.js +12 -0
  2099. package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +1 -0
  2100. package/lib/locale/useLocaleForControl.d.ts +3 -0
  2101. package/lib/memo/memo.js.map +1 -1
  2102. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +21 -0
  2103. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -0
  2104. package/lib/needsPolyfillPlaceholder/package.json +6 -0
  2105. package/lib/needsPolyfillPlaceholder.d.ts +6 -0
  2106. package/lib/net/fetch/fetch.js.map +1 -1
  2107. package/lib/reactGetTextContent/reactGetTextContent.js.map +1 -1
  2108. package/lib/rootNode/getRootNode/getRootNode.js +53 -0
  2109. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -0
  2110. package/lib/rootNode/getRootNode/package.json +6 -0
  2111. package/lib/rootNode/getRootNode.d.ts +12 -0
  2112. package/lib/rootNode/index/index.js +2 -0
  2113. package/lib/rootNode/index/index.js.map +1 -0
  2114. package/lib/rootNode/index/package.json +6 -0
  2115. package/lib/rootNode/index.d.ts +2 -0
  2116. package/lib/rootNode/package.json +6 -0
  2117. package/lib/rootNode/rootNodeDecorator/package.json +6 -0
  2118. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +59 -0
  2119. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -0
  2120. package/lib/rootNode/rootNodeDecorator.d.ts +52 -0
  2121. package/lib/stringUtils/package.json +6 -0
  2122. package/lib/stringUtils/stringUtils.js +15 -0
  2123. package/lib/stringUtils/stringUtils.js.map +1 -0
  2124. package/lib/stringUtils.d.ts +1 -0
  2125. package/lib/styles/ColorFactory/ColorFactory.js +9 -9
  2126. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  2127. package/lib/styles/ColorFunctions/ColorFunctions.js +1 -1
  2128. package/lib/styles/ColorFunctions/ColorFunctions.js.map +1 -1
  2129. package/lib/styles/ColorHelpers/ColorHelpers.js +26 -9
  2130. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  2131. package/lib/styles/ColorHelpers.d.ts +1 -0
  2132. package/lib/styles/ColorKeywords/ColorKeywords.js.map +1 -1
  2133. package/lib/styles/ColorObject/ColorObject.js +2 -5
  2134. package/lib/styles/ColorObject/ColorObject.js.map +1 -1
  2135. package/lib/styles/DimensionFunctions/DimensionFunctions.js.map +1 -1
  2136. package/lib/styles/HoldSelectionColor/HoldSelectionColor.js.map +1 -1
  2137. package/lib/styles/Mixins/Mixins.js.map +1 -1
  2138. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js +9 -0
  2139. package/lib/styles/getLabGrotesqueBaselineCompensation/getLabGrotesqueBaselineCompensation.js.map +1 -0
  2140. package/lib/styles/getLabGrotesqueBaselineCompensation/package.json +6 -0
  2141. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +1 -0
  2142. package/lib/taskWithDelayAndMinimalDuration/package.json +6 -0
  2143. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +76 -0
  2144. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -0
  2145. package/lib/taskWithDelayAndMinimalDuration.d.ts +21 -0
  2146. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +1 -1
  2147. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  2148. package/lib/theming/Emotion/Emotion.js +23 -8
  2149. package/lib/theming/Emotion/Emotion.js.map +1 -1
  2150. package/lib/theming/Emotion.d.ts +8 -8
  2151. package/lib/theming/Theme/Theme.js +1 -0
  2152. package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
  2153. package/lib/theming/ThemeContext.d.ts +1 -1
  2154. package/lib/theming/ThemeContext.md +277 -265
  2155. package/lib/theming/ThemeFactory/ThemeFactory.js +10 -14
  2156. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  2157. package/lib/theming/ThemeFactory.d.ts +1 -2
  2158. package/lib/theming/ThemeHelpers/ThemeHelpers.js +17 -34
  2159. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  2160. package/lib/theming/ThemeHelpers.d.ts +4 -9
  2161. package/lib/theming/themes/DarkTheme/DarkTheme.js +4 -0
  2162. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -0
  2163. package/lib/theming/themes/DarkTheme/package.json +6 -0
  2164. package/lib/theming/themes/DarkTheme.d.ts +1 -0
  2165. package/lib/theming/themes/DefaultTheme/DefaultTheme.js +1 -3
  2166. package/lib/theming/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  2167. package/lib/theming/themes/DefaultTheme.d.ts +1 -1
  2168. package/lib/theming/themes/DefaultTheme8pxOld/DefaultTheme8pxOld.js +5 -0
  2169. package/lib/theming/themes/DefaultTheme8pxOld/DefaultTheme8pxOld.js.map +1 -0
  2170. package/lib/theming/themes/DefaultTheme8pxOld/package.json +6 -0
  2171. package/lib/theming/themes/DefaultTheme8pxOld.d.ts +1 -0
  2172. package/lib/theming/themes/DefaultThemeMobile/DefaultThemeMobile.js +5 -0
  2173. package/lib/theming/themes/DefaultThemeMobile/DefaultThemeMobile.js.map +1 -0
  2174. package/lib/theming/themes/DefaultThemeMobile/package.json +6 -0
  2175. package/lib/theming/themes/DefaultThemeMobile.d.ts +3 -0
  2176. package/lib/theming/themes/FlatTheme8pxOld/FlatTheme8pxOld.js +4 -0
  2177. package/lib/theming/themes/FlatTheme8pxOld/FlatTheme8pxOld.js.map +1 -0
  2178. package/lib/theming/themes/FlatTheme8pxOld/package.json +6 -0
  2179. package/lib/theming/themes/FlatTheme8pxOld.d.ts +1 -0
  2180. package/lib/theming/themes/Theme2022/Theme2022.js +4 -0
  2181. package/lib/theming/themes/Theme2022/Theme2022.js.map +1 -0
  2182. package/lib/theming/themes/Theme2022/package.json +6 -0
  2183. package/lib/theming/themes/Theme2022.d.ts +1 -0
  2184. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js +5 -0
  2185. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
  2186. package/lib/theming/themes/Theme2022Dark/package.json +6 -0
  2187. package/lib/theming/themes/Theme2022Dark.d.ts +1 -0
  2188. package/lib/theming/useTheme/package.json +6 -0
  2189. package/lib/theming/useTheme/useTheme.js +5 -0
  2190. package/lib/theming/useTheme/useTheme.js.map +1 -0
  2191. package/lib/theming/useTheme.d.ts +1 -0
  2192. package/lib/uidUtils/package.json +6 -0
  2193. package/lib/uidUtils/uidUtils.js +4 -0
  2194. package/lib/uidUtils/uidUtils.js.map +1 -0
  2195. package/lib/uidUtils.d.ts +1 -0
  2196. package/lib/utils/utils.js +143 -3
  2197. package/lib/utils/utils.js.map +1 -1
  2198. package/lib/utils.d.ts +58 -0
  2199. package/lib/withClassWrapper/package.json +6 -0
  2200. package/lib/withClassWrapper/withClassWrapper.js +70 -0
  2201. package/lib/withClassWrapper/withClassWrapper.js.map +1 -0
  2202. package/lib/withClassWrapper.d.ts +71 -0
  2203. package/package.json +77 -75
  2204. package/typings/console.d.ts +3 -3
  2205. package/typings/event-types.d.ts +4 -4
  2206. package/typings/fonts.d.ts +12 -12
  2207. package/typings/global.d.ts +6 -6
  2208. package/typings/html-props.d.ts +123 -0
  2209. package/typings/images.d.ts +1 -1
  2210. package/typings/normalize-wheel.d.ts +5 -5
  2211. package/typings/stories.d.ts +7 -0
  2212. package/typings/stylis-plugin-extra-scope.d.ts +3 -3
  2213. package/typings/utility-types.d.ts +14 -14
  2214. package/cjs/components/Button/Corners.d.ts +0 -6
  2215. package/cjs/components/Button/Corners.js +0 -5
  2216. package/cjs/components/Button/Corners.js.map +0 -1
  2217. package/cjs/components/Modal/helpers.d.ts +0 -6
  2218. package/cjs/components/Modal/helpers.js +0 -20
  2219. package/cjs/components/Modal/helpers.js.map +0 -1
  2220. package/cjs/components/SidePage/helpers.d.ts +0 -5
  2221. package/cjs/components/SidePage/helpers.js +0 -14
  2222. package/cjs/components/SidePage/helpers.js.map +0 -1
  2223. package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
  2224. package/cjs/internal/PopupMenu/PopupMenuPositions.js +0 -15
  2225. package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +0 -1
  2226. package/cjs/internal/themes/FlatTheme.js +0 -229
  2227. package/cjs/internal/themes/FlatTheme.js.map +0 -1
  2228. package/cjs/internal/themes/Theme8px.d.ts +0 -277
  2229. package/cjs/internal/themes/Theme8px.js +0 -570
  2230. package/cjs/internal/themes/Theme8px.js.map +0 -1
  2231. package/cjs/lib/dom/getFocusableElements.d.ts +0 -42
  2232. package/cjs/lib/dom/getFocusableElements.js +0 -88
  2233. package/cjs/lib/dom/getFocusableElements.js.map +0 -1
  2234. package/cjs/lib/polyfillPlaceholder.d.ts +0 -1
  2235. package/cjs/lib/polyfillPlaceholder.js +0 -17
  2236. package/cjs/lib/polyfillPlaceholder.js.map +0 -1
  2237. package/cjs/lib/theming/themes/DefaultThemeOld.d.ts +0 -1
  2238. package/cjs/lib/theming/themes/DefaultThemeOld.js +0 -3
  2239. package/cjs/lib/theming/themes/DefaultThemeOld.js.map +0 -1
  2240. package/cjs/lib/theming/themes/FlatTheme.d.ts +0 -1
  2241. package/cjs/lib/theming/themes/FlatTheme.js +0 -6
  2242. package/cjs/lib/theming/themes/FlatTheme.js.map +0 -1
  2243. package/cjs/lib/theming/themes/FlatThemeOld.d.ts +0 -1
  2244. package/cjs/lib/theming/themes/FlatThemeOld.js +0 -6
  2245. package/cjs/lib/theming/themes/FlatThemeOld.js.map +0 -1
  2246. package/components/Button/Corners/Corners.js +0 -6
  2247. package/components/Button/Corners/Corners.js.map +0 -1
  2248. package/components/Button/Corners/package.json +0 -6
  2249. package/components/Button/Corners.d.ts +0 -6
  2250. package/components/Modal/helpers/helpers.js +0 -10
  2251. package/components/Modal/helpers/helpers.js.map +0 -1
  2252. package/components/Modal/helpers/package.json +0 -6
  2253. package/components/Modal/helpers.d.ts +0 -6
  2254. package/components/SidePage/helpers/helpers.js +0 -7
  2255. package/components/SidePage/helpers/helpers.js.map +0 -1
  2256. package/components/SidePage/helpers/package.json +0 -6
  2257. package/components/SidePage/helpers.d.ts +0 -5
  2258. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js +0 -1
  2259. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +0 -1
  2260. package/internal/PopupMenu/PopupMenuPositions/package.json +0 -6
  2261. package/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
  2262. package/internal/themes/FlatTheme/FlatTheme.js +0 -307
  2263. package/internal/themes/FlatTheme/FlatTheme.js.map +0 -1
  2264. package/internal/themes/FlatTheme/package.json +0 -6
  2265. package/internal/themes/Theme8px/Theme8px.js +0 -752
  2266. package/internal/themes/Theme8px/Theme8px.js.map +0 -1
  2267. package/internal/themes/Theme8px/package.json +0 -6
  2268. package/internal/themes/Theme8px.d.ts +0 -277
  2269. package/lib/dom/getFocusableElements/getFocusableElements.js +0 -103
  2270. package/lib/dom/getFocusableElements/getFocusableElements.js.map +0 -1
  2271. package/lib/dom/getFocusableElements/package.json +0 -6
  2272. package/lib/dom/getFocusableElements.d.ts +0 -42
  2273. package/lib/polyfillPlaceholder/package.json +0 -6
  2274. package/lib/polyfillPlaceholder/polyfillPlaceholder.js +0 -12
  2275. package/lib/polyfillPlaceholder/polyfillPlaceholder.js.map +0 -1
  2276. package/lib/polyfillPlaceholder.d.ts +0 -1
  2277. package/lib/theming/themes/DefaultThemeOld/DefaultThemeOld.js +0 -2
  2278. package/lib/theming/themes/DefaultThemeOld/DefaultThemeOld.js.map +0 -1
  2279. package/lib/theming/themes/DefaultThemeOld/package.json +0 -6
  2280. package/lib/theming/themes/DefaultThemeOld.d.ts +0 -1
  2281. package/lib/theming/themes/FlatTheme/FlatTheme.js +0 -5
  2282. package/lib/theming/themes/FlatTheme/FlatTheme.js.map +0 -1
  2283. package/lib/theming/themes/FlatTheme/package.json +0 -6
  2284. package/lib/theming/themes/FlatTheme.d.ts +0 -1
  2285. package/lib/theming/themes/FlatThemeOld/FlatThemeOld.js +0 -5
  2286. package/lib/theming/themes/FlatThemeOld/FlatThemeOld.js.map +0 -1
  2287. package/lib/theming/themes/FlatThemeOld/package.json +0 -6
  2288. package/lib/theming/themes/FlatThemeOld.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["TokenInput.tsx"],"names":["React","findDOMNode","isEqual","cn","isKeyArrowHorizontal","isKeyArrowLeft","isKeyArrowRight","isKeyArrowUp","isKeyArrowVertical","isKeyBackspace","isKeyDelete","isKeyEnter","isKeyEscape","isShortcutSelectAll","LayoutEvents","Token","emptyHandler","ThemeContext","locale","MenuItem","CommonWrapper","TokenInputLocaleHelper","jsStyles","tokenInputReducer","TokenInputMenu","TextWidthHelper","TokenInputType","DefaultState","inputValue","reservedInputValue","undefined","autocompleteItems","activeTokens","editingTokenIndex","inFocus","loading","preventBlur","inputValueWidth","inputValueHeight","defaultToKey","item","toString","identity","defaultRenderToken","isActive","onClick","onDoubleClick","onRemove","disabled","TokenInput","state","theme","input","tokensInputMenu","textHelper","wrapper","hasValueInItems","items","value","includes","some","inputRef","node","tokensInputMenuRef","textHelperRef","wrapperRef","dispatch","action","cb","setState","prevState","handleInputFocus","event","type","props","onFocus","handleInputBlur","isBlurToMenu","handleOutsideBlur","preventDefault","focus","process","nextTick","payload","onBlur","valueToString","isEditingMode","finishTokenEdit","isTokenValueChanged","length","selectItem","isInputChanged","checkForUnexpectedInput","menuRef","menu","relatedTarget","document","activeElement","contains","handleWrapperMouseDown","target","isClickOnToken","handleWrapperMouseUp","handleCopy","isCursorVisible","tokens","map","token","selectedItems","indexOf","sort","index","clipboardData","setData","join","delimiters","handleInputPaste","WithReference","paste","getData","delimiter","stopPropagation","split","valueToItem","filter","newItems","concat","onValueChange","tryGetItems","query","getItems","hideMenuIfEmptyInputValue","isSelectedItem","isEditingItem","editingItem","autocompleteItemsUnique","unshift","emit","highlightMenuItem","selectItemIndex","findIndex","toLowerCase","highlightItem","handleKeyDown","handleInputKeyDown","handleWrapperKeyDown","e","key","newValue","handleAddItem","enter","up","down","blur","moveFocusToLastToken","selectionStart","focusInput","selectInputText","setSelectionRange","itemsNew","handleWrapperArrows","handleTokenEdit","activeItemIndex","newItemIndex","isLeftEdge","isRightEdge","shiftKey","handleWrapperArrowsWithoutShift","handleWrapperArrowsWithShift","itemNew","handleValueChange","handleRemoveToken","_","filteredActiveTokens","handleTokenClick","ctrlKey","editedItem","splice","onUnexpectedInput","returnedValue","handleChangeInputValue","trimLeft","endsWith","trimRight","onInputValueChange","Combined","renderTokensStart","slice","renderToken","renderTokensEnd","handleIconClick","handleTokenDoubleClick","renderAddButton","showAddItemHint","addButtonComment","addButtonTitle","componentDidMount","updateInputTextWidth","addEventListener","autoFocus","componentDidUpdate","prevProps","isCursorVisibleForState","componentWillUnmount","removeEventListener","render","renderMain","WithoutReference","Error","width","maxMenuHeight","error","warning","placeholder","renderItem","renderNotFound","onMouseEnter","onMouseLeave","inputMode","showMenu","lineHeight","parseInt","tokenInputLineHeight","inputInlineStyles","height","Math","max","flex","caretColor","labelClassName","label","labelFocused","labelDisabled","inputClassName","inputDisabled","inputEditing","helperText","helperTextEditing","reservedInput","reset","parseFloat","getTextWidth","toFixed","getTextHeight","getMenuRef","isInputValueChanged","PureComponent","__KONTUR_REACT_UI__","defaultProps","renderValue","toKey"],"mappings":"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","sourcesContent":["import React, { ChangeEvent, FocusEvent, FocusEventHandler, KeyboardEvent, MouseEventHandler, ReactNode } from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\nimport isEqual from 'lodash.isequal';\r\nimport cn from 'classnames';\r\n\r\nimport {\r\n isKeyArrowHorizontal,\r\n isKeyArrowLeft,\r\n isKeyArrowRight,\r\n isKeyArrowUp,\r\n isKeyArrowVertical,\r\n isKeyBackspace,\r\n isKeyDelete,\r\n isKeyEnter,\r\n isKeyEscape,\r\n isShortcutSelectAll,\r\n} from '../../lib/events/keyboard/identifiers';\r\nimport * as LayoutEvents from '../../lib/LayoutEvents';\r\nimport { Menu } from '../../internal/Menu';\r\nimport { Token, TokenProps } from '../Token';\r\nimport { MenuItemState } from '../MenuItem';\r\nimport { emptyHandler } from '../../lib/utils';\r\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\r\nimport { Theme } from '../../lib/theming/Theme';\r\nimport { locale } from '../../lib/locale/decorators';\r\nimport { MenuItem } from '../MenuItem/MenuItem';\r\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\r\n\r\nimport { TokenInputLocale, TokenInputLocaleHelper } from './locale';\r\nimport { jsStyles } from './TokenInput.styles';\r\nimport { TokenInputAction, tokenInputReducer } from './TokenInputReducer';\r\nimport { TokenInputMenu } from './TokenInputMenu';\r\nimport { TextWidthHelper } from './TextWidthHelper';\r\n\r\nexport enum TokenInputType {\r\n WithReference,\r\n WithoutReference,\r\n Combined,\r\n}\r\n\r\nexport interface TokenInputProps<T> extends CommonProps {\r\n selectedItems: T[];\r\n onValueChange: (items: T[]) => void;\r\n onMouseEnter: MouseEventHandler<HTMLDivElement>;\r\n onMouseLeave: MouseEventHandler<HTMLDivElement>;\r\n onFocus: FocusEventHandler<HTMLTextAreaElement>;\r\n onBlur: FocusEventHandler<HTMLTextAreaElement>;\r\n autoFocus?: boolean;\r\n type?: TokenInputType;\r\n\r\n /**\r\n * Функция поиска элементов, должна возвращать Promise с массивом элементов.\r\n * По умолчанию ожидаются строки.\r\n *\r\n * Элементы могут быть любого типа. В этом случае необходимо определить\r\n * свойства `renderItem`, `valueToString`\r\n */\r\n getItems?: (query: string) => Promise<T[]>;\r\n hideMenuIfEmptyInputValue?: boolean;\r\n renderItem: (item: T, state: MenuItemState) => React.ReactNode | null;\r\n renderValue: (item: T) => React.ReactNode;\r\n /**\r\n * Функция должна возвращать строковое представление токена\r\n * @default item => item\r\n */\r\n valueToString: (item: T) => string;\r\n renderNotFound?: () => React.ReactNode;\r\n valueToItem: (item: string) => T;\r\n toKey: (item: T) => string | number | undefined;\r\n placeholder?: string;\r\n delimiters: string[];\r\n error?: boolean;\r\n warning?: boolean;\r\n disabled?: boolean;\r\n width?: string | number;\r\n maxMenuHeight?: number | string;\r\n renderToken?: (item: T, props: Partial<TokenProps>) => ReactNode;\r\n /**\r\n * Вызывается при изменении текста в поле ввода,\r\n */\r\n onInputValueChange?: (value: string) => void;\r\n /**\r\n * Функция отрисовки кнопки добавления в выпадающем списке\r\n */\r\n renderAddButton?: (query?: string, onAddItem?: () => void) => ReactNode;\r\n /**\r\n * Функция для обработки ситуации, когда была введена\r\n * строка в инпут и был потерян фокус с компонента\r\n *\r\n * Функция срабатывает с аргументом инпута строки\r\n *\r\n * Если при потере фокуса в выпадающем списке будет только один\r\n * элемент и результат `valueToString` с этим элементом будет\r\n * совпадать со значение в текстовом поле, то\r\n * сработает `onValueChange` со значением данного элемента\r\n *\r\n * Сама функция также может вернуть значение,\r\n * неравное `undefined`, с которым будет вызван `onValueChange`.\r\n * Если возвращаемое значение будет равно `null`,\r\n * то сработает очистка текущего значения инпута,\r\n * а в режиме редактирования токен будет удален\r\n */\r\n onUnexpectedInput?: (value: string) => void | null | undefined | T;\r\n inputMode?: React.HTMLAttributes<HTMLTextAreaElement>['inputMode'];\r\n}\r\n\r\nexport interface TokenInputState<T> {\r\n autocompleteItems?: T[];\r\n activeTokens: T[];\r\n editingTokenIndex: number;\r\n clickedToken?: T;\r\n clickedTokenTimeout?: number;\r\n inFocus?: boolean;\r\n inputValue: string;\r\n reservedInputValue: string | undefined;\r\n inputValueWidth: number;\r\n inputValueHeight: number;\r\n preventBlur?: boolean;\r\n loading?: boolean;\r\n}\r\n\r\nexport const DefaultState = {\r\n inputValue: '',\r\n reservedInputValue: undefined,\r\n autocompleteItems: undefined,\r\n activeTokens: [],\r\n editingTokenIndex: -1,\r\n inFocus: false,\r\n loading: false,\r\n preventBlur: false,\r\n inputValueWidth: 2,\r\n inputValueHeight: 22,\r\n};\r\n\r\nconst defaultToKey = <T extends {}>(item: T): string => item.toString();\r\nconst identity = <T extends {}>(item: T): T => item;\r\nconst defaultRenderToken = <T extends {}>(\r\n item: T,\r\n { isActive, onClick, onDoubleClick, onRemove, disabled }: Partial<TokenProps>,\r\n) => (\r\n <Token\r\n key={item.toString()}\r\n isActive={isActive}\r\n onClick={onClick}\r\n onDoubleClick={onDoubleClick}\r\n onRemove={onRemove}\r\n disabled={disabled}\r\n >\r\n {item}\r\n </Token>\r\n);\r\n\r\n@locale('TokenInput', TokenInputLocaleHelper)\r\nexport class TokenInput<T = string> extends React.PureComponent<TokenInputProps<T>, TokenInputState<T>> {\r\n public static __KONTUR_REACT_UI__ = 'TokenInput';\r\n\r\n public static defaultProps: Partial<TokenInputProps<any>> = {\r\n selectedItems: [],\r\n delimiters: [',', ' '],\r\n renderItem: identity,\r\n renderValue: identity,\r\n valueToString: identity,\r\n valueToItem: (item: string) => item,\r\n toKey: defaultToKey,\r\n onValueChange: () => void 0,\r\n width: 250 as string | number,\r\n onBlur: emptyHandler,\r\n onFocus: emptyHandler,\r\n onMouseEnter: emptyHandler,\r\n onMouseLeave: emptyHandler,\r\n };\r\n\r\n public state: TokenInputState<T> = DefaultState;\r\n\r\n private readonly locale!: TokenInputLocale;\r\n private theme!: Theme;\r\n private input: HTMLTextAreaElement | null = null;\r\n private tokensInputMenu: TokenInputMenu<T> | null = null;\r\n private textHelper: TextWidthHelper | null = null;\r\n private wrapper: HTMLLabelElement | null = null;\r\n\r\n public componentDidMount() {\r\n this.updateInputTextWidth();\r\n document.addEventListener('copy', this.handleCopy);\r\n if (this.props.autoFocus) {\r\n this.focusInput();\r\n }\r\n }\r\n\r\n public componentDidUpdate(prevProps: TokenInputProps<T>, prevState: TokenInputState<T>) {\r\n if (prevState.inputValue !== this.state.inputValue) {\r\n this.updateInputTextWidth();\r\n }\r\n if (prevState.activeTokens.length === 0 && this.state.activeTokens.length > 0) {\r\n this.dispatch({\r\n type: 'SET_AUTOCOMPLETE_ITEMS',\r\n payload: undefined,\r\n });\r\n }\r\n if (prevProps.selectedItems.length !== this.props.selectedItems.length) {\r\n LayoutEvents.emit();\r\n }\r\n if (!this.isCursorVisibleForState(prevState) && this.isCursorVisible) {\r\n this.tryGetItems(this.isEditingMode ? '' : this.state.inputValue);\r\n }\r\n }\r\n\r\n public componentWillUnmount() {\r\n document.removeEventListener('copy', this.handleCopy);\r\n }\r\n\r\n public render() {\r\n return (\r\n <ThemeContext.Consumer>\r\n {theme => {\r\n this.theme = theme;\r\n return this.renderMain();\r\n }}\r\n </ThemeContext.Consumer>\r\n );\r\n }\r\n\r\n private renderMain() {\r\n if (this.type !== TokenInputType.WithoutReference && !this.props.getItems) {\r\n throw Error('Missed getItems for type ' + this.type);\r\n }\r\n\r\n const {\r\n selectedItems,\r\n width,\r\n maxMenuHeight,\r\n error,\r\n warning,\r\n disabled,\r\n placeholder,\r\n renderItem,\r\n renderNotFound,\r\n hideMenuIfEmptyInputValue,\r\n onMouseEnter,\r\n onMouseLeave,\r\n inputMode,\r\n } = this.props;\r\n\r\n const {\r\n activeTokens,\r\n inFocus,\r\n inputValueWidth,\r\n inputValue,\r\n reservedInputValue,\r\n autocompleteItems,\r\n loading,\r\n inputValueHeight,\r\n } = this.state;\r\n\r\n const showMenu =\r\n this.type !== TokenInputType.WithoutReference &&\r\n this.isCursorVisible &&\r\n activeTokens.length === 0 &&\r\n (inputValue !== '' || !hideMenuIfEmptyInputValue);\r\n\r\n const theme = this.theme;\r\n\r\n const lineHeight = parseInt(theme.tokenInputLineHeight, 10) || 0;\r\n\r\n const inputInlineStyles: React.CSSProperties = {\r\n // вычисляем ширину чтобы input автоматически перенёсся на следующую строку при необходимости\r\n width: inputValueWidth,\r\n height: Math.max(lineHeight, inputValueHeight),\r\n // input растягивается на всю ширину чтобы placeholder не обрезался\r\n flex: selectedItems && selectedItems.length === 0 ? 1 : undefined,\r\n // в ie не работает, но альтернативный способ --- дать tabindex для label --- предположительно ещё сложнее\r\n caretColor: this.isCursorVisible ? undefined : 'transparent',\r\n };\r\n\r\n const labelClassName = cn(jsStyles.label(theme), {\r\n [jsStyles.labelFocused(theme)]: !!inFocus,\r\n [jsStyles.error(theme)]: !!error,\r\n [jsStyles.warning(theme)]: !!warning,\r\n [jsStyles.labelDisabled(theme)]: !!disabled,\r\n });\r\n const inputClassName = cn(jsStyles.input(theme), {\r\n [jsStyles.inputDisabled(theme)]: !!disabled,\r\n [jsStyles.inputEditing(theme)]: this.isEditingMode,\r\n });\r\n\r\n return (\r\n <CommonWrapper {...this.props}>\r\n <div onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave}>\r\n <label\r\n ref={this.wrapperRef}\r\n style={{ width }}\r\n className={labelClassName}\r\n onMouseDown={this.handleWrapperMouseDown}\r\n onMouseUp={this.handleWrapperMouseUp}\r\n >\r\n <TextWidthHelper\r\n ref={this.textHelperRef}\r\n classHelp={cn(jsStyles.helperText(theme), {\r\n [jsStyles.helperTextEditing(theme)]: this.isEditingMode,\r\n })}\r\n text={inputValue}\r\n theme={this.theme}\r\n />\r\n {this.renderTokensStart()}\r\n <textarea\r\n ref={this.inputRef}\r\n value={inputValue}\r\n style={inputInlineStyles}\r\n spellCheck={false}\r\n disabled={disabled}\r\n className={inputClassName}\r\n placeholder={selectedItems.length > 0 ? undefined : placeholder}\r\n onFocus={this.handleInputFocus}\r\n onBlur={this.handleInputBlur}\r\n onChange={this.handleChangeInputValue}\r\n onKeyDown={this.handleKeyDown}\r\n onPaste={this.handleInputPaste}\r\n inputMode={inputMode}\r\n />\r\n {showMenu && (\r\n <TokenInputMenu\r\n ref={this.tokensInputMenuRef}\r\n items={autocompleteItems}\r\n loading={loading}\r\n opened={showMenu}\r\n maxMenuHeight={maxMenuHeight}\r\n anchorElement={this.input!}\r\n renderNotFound={renderNotFound}\r\n renderItem={renderItem}\r\n onValueChange={this.selectItem}\r\n renderAddButton={this.renderAddButton}\r\n />\r\n )}\r\n {this.renderTokensEnd()}\r\n {this.isEditingMode ? <span className={jsStyles.reservedInput(theme)}>{reservedInputValue}</span> : null}\r\n </label>\r\n </div>\r\n </CommonWrapper>\r\n );\r\n }\r\n\r\n /**\r\n * Сбрасывает введенное пользователем значение\r\n * @public\r\n */\r\n public reset() {\r\n this.dispatch({ type: 'RESET' });\r\n }\r\n\r\n private hasValueInItems = (items: T[], value: T) => {\r\n if (typeof value === 'string') {\r\n return items.includes(value);\r\n }\r\n // todo: как то не очень\r\n return items.some(item => isEqual(item, value));\r\n };\r\n\r\n private get showAddItemHint() {\r\n const items = this.state.autocompleteItems;\r\n const value = this.props.valueToItem(this.state.inputValue);\r\n\r\n if (items && this.hasValueInItems(items, value)) {\r\n return false;\r\n }\r\n\r\n const selectedItems = this.props.selectedItems;\r\n if (selectedItems && this.hasValueInItems(selectedItems, value)) {\r\n return false;\r\n }\r\n\r\n if (this.type === TokenInputType.Combined && this.state.inputValue !== '') {\r\n return true;\r\n }\r\n }\r\n\r\n private get type() {\r\n return this.props.type ? this.props.type : TokenInputType.WithReference;\r\n }\r\n\r\n private get menuRef(): Menu | null {\r\n return this.tokensInputMenu && this.tokensInputMenu.getMenuRef();\r\n }\r\n\r\n private get isCursorVisible() {\r\n return this.isCursorVisibleForState(this.state);\r\n }\r\n\r\n private get isEditingMode() {\r\n return this.state.editingTokenIndex > -1;\r\n }\r\n\r\n private isCursorVisibleForState(state: TokenInputState<T>) {\r\n return state.inFocus && (state.inputValue !== '' || state.activeTokens.length === 0);\r\n }\r\n\r\n private inputRef = (node: HTMLTextAreaElement) => (this.input = node);\r\n private tokensInputMenuRef = (node: TokenInputMenu<T>) => (this.tokensInputMenu = node);\r\n private textHelperRef = (node: TextWidthHelper) => (this.textHelper = node);\r\n private wrapperRef = (node: HTMLLabelElement) => (this.wrapper = node);\r\n\r\n private dispatch = (action: TokenInputAction, cb?: () => void) => {\r\n this.setState(prevState => tokenInputReducer(prevState, action), cb);\r\n };\r\n\r\n private updateInputTextWidth() {\r\n if (this.textHelper) {\r\n // в IE текст иногда не помещается в input\r\n // из-за округления, поэтому округляем явно\r\n const inputValueWidth = parseFloat(this.textHelper.getTextWidth().toFixed(2));\r\n const inputValueHeight = parseFloat(this.textHelper.getTextHeight().toFixed(2));\r\n\r\n this.dispatch({ type: 'SET_INPUT_VALUE_WIDTH', payload: inputValueWidth }, LayoutEvents.emit);\r\n this.dispatch({ type: 'SET_INPUT_VALUE_HEIGHT', payload: inputValueHeight }, LayoutEvents.emit);\r\n }\r\n }\r\n\r\n private handleInputFocus = (event: FocusEvent<HTMLTextAreaElement>) => {\r\n this.dispatch({ type: 'SET_FOCUS_IN' });\r\n if (this.props.onFocus) {\r\n this.props.onFocus(event);\r\n }\r\n };\r\n\r\n private handleInputBlur = (event: FocusEvent<HTMLTextAreaElement>) => {\r\n const isBlurToMenu = this.isBlurToMenu(event);\r\n\r\n if (!isBlurToMenu) {\r\n this.handleOutsideBlur();\r\n }\r\n\r\n if (isBlurToMenu || this.state.preventBlur) {\r\n event.preventDefault();\r\n // первый focus нужен для предотвращения/уменьшения моргания в других браузерах\r\n this.input!.focus();\r\n // в firefox не работает без второго focus\r\n process.nextTick(() => this.input!.focus());\r\n this.dispatch({ type: 'SET_PREVENT_BLUR', payload: false });\r\n } else {\r\n this.dispatch({ type: 'BLUR' });\r\n this.props.onBlur?.(event);\r\n }\r\n };\r\n\r\n private handleOutsideBlur = () => {\r\n const { inputValue, autocompleteItems } = this.state;\r\n const { valueToString } = this.props;\r\n\r\n if (inputValue === '') {\r\n // если стерли содержимое токена в режиме редактирования, то удаляем токен\r\n if (this.isEditingMode) {\r\n this.finishTokenEdit();\r\n }\r\n return;\r\n }\r\n\r\n // если не изменилось значение токена при редактировании\r\n if (this.isEditingMode && !this.isTokenValueChanged) {\r\n this.finishTokenEdit();\r\n return;\r\n }\r\n\r\n // чекаем автокомплит на совпадение с введеным значением в инпут\r\n if (autocompleteItems && autocompleteItems.length === 1) {\r\n const item = autocompleteItems[0];\r\n\r\n if (valueToString(item) === inputValue) {\r\n this.isEditingMode ? this.finishTokenEdit() : this.selectItem(item);\r\n\r\n return;\r\n }\r\n }\r\n\r\n if (this.isInputChanged) this.checkForUnexpectedInput();\r\n };\r\n\r\n private get isInputChanged() {\r\n if (this.isEditingMode) {\r\n return this.isTokenValueChanged;\r\n }\r\n\r\n return this.isInputValueChanged;\r\n }\r\n\r\n private get isInputValueChanged() {\r\n const { inputValue } = this.state;\r\n\r\n return inputValue !== '';\r\n }\r\n\r\n private get isTokenValueChanged() {\r\n const { inputValue, editingTokenIndex } = this.state;\r\n const { selectedItems, valueToString } = this.props;\r\n\r\n if (this.isEditingMode) {\r\n return valueToString(selectedItems[editingTokenIndex]) !== inputValue;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private isBlurToMenu = (event: FocusEvent<HTMLElement>) => {\r\n if (this.menuRef) {\r\n const menu = findDOMNode(this.menuRef) as HTMLElement | null;\r\n const relatedTarget = (event.relatedTarget || document.activeElement) as HTMLElement;\r\n\r\n if (menu && menu.contains(relatedTarget)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n private handleWrapperMouseDown = (event: React.MouseEvent<HTMLElement>) => {\r\n this.dispatch({ type: 'SET_PREVENT_BLUR', payload: true });\r\n const target = event.target as HTMLElement;\r\n const isClickOnToken =\r\n target && this.wrapper!.contains(target) && target !== this.wrapper! && target !== this.input!;\r\n if (!isClickOnToken) {\r\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' });\r\n }\r\n };\r\n\r\n private handleWrapperMouseUp = () => {\r\n this.dispatch({ type: 'SET_PREVENT_BLUR', payload: false });\r\n };\r\n\r\n private handleCopy = (event: any) => {\r\n if (!this.state.inFocus || this.state.activeTokens.length === 0 || this.isCursorVisible) {\r\n return;\r\n }\r\n event.preventDefault();\r\n\r\n // упорядочивание токенов по индексу\r\n const tokens = this.state.activeTokens\r\n .map(token => this.props.selectedItems.indexOf(token))\r\n .sort()\r\n .map(index => this.props.selectedItems[index])\r\n .map(item => this.props.valueToString(item));\r\n event.clipboardData.setData('text/plain', tokens.join(this.props.delimiters[0]));\r\n };\r\n\r\n private handleInputPaste = (event: React.ClipboardEvent<HTMLElement>) => {\r\n if (this.type === TokenInputType.WithReference || !event.clipboardData) {\r\n return;\r\n }\r\n let paste = event.clipboardData.getData('text');\r\n const { delimiters } = this.props;\r\n if (delimiters.some(delimiter => paste.includes(delimiter))) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n for (const delimiter of delimiters) {\r\n paste = paste.split(delimiter).join(delimiters[0]);\r\n }\r\n const tokens = paste.split(delimiters[0]);\r\n const items = tokens\r\n .map(token => this.props.valueToItem(token))\r\n .filter(item => !this.hasValueInItems(this.props.selectedItems, item));\r\n const newItems = this.props.selectedItems.concat(items);\r\n this.props.onValueChange(newItems);\r\n\r\n this.dispatch({ type: 'SET_AUTOCOMPLETE_ITEMS', payload: undefined });\r\n this.tryGetItems();\r\n }\r\n };\r\n\r\n private tryGetItems = async (query = '') => {\r\n if (this.props.getItems && (this.state.inputValue !== '' || !this.props.hideMenuIfEmptyInputValue)) {\r\n this.dispatch({ type: 'SET_LOADING', payload: true });\r\n const autocompleteItems = await this.props.getItems(query);\r\n this.dispatch({ type: 'SET_LOADING', payload: false });\r\n\r\n const isSelectedItem = (item: T) => this.hasValueInItems(this.props.selectedItems, item);\r\n const isEditingItem = (item: T) => {\r\n const editingItem = this.props.selectedItems[this.state.editingTokenIndex];\r\n return !!editingItem && isEqual(item, editingItem);\r\n };\r\n\r\n const autocompleteItemsUnique = autocompleteItems.filter(item => !isSelectedItem(item) || isEditingItem(item));\r\n\r\n if (this.isEditingMode) {\r\n const editingItem = this.props.selectedItems[this.state.editingTokenIndex];\r\n if (\r\n isEqual(editingItem, this.props.valueToItem(this.state.inputValue)) &&\r\n !this.hasValueInItems(autocompleteItemsUnique, editingItem)\r\n ) {\r\n autocompleteItemsUnique.unshift(editingItem);\r\n }\r\n }\r\n\r\n if (query === '' || this.state.inputValue !== '') {\r\n this.dispatch({ type: 'SET_AUTOCOMPLETE_ITEMS', payload: autocompleteItemsUnique }, () => {\r\n LayoutEvents.emit();\r\n this.highlightMenuItem();\r\n });\r\n }\r\n const selectItemIndex = autocompleteItemsUnique.findIndex(\r\n item => this.props.valueToString(item).toLowerCase() === this.state.inputValue.toLowerCase(),\r\n );\r\n if (this.menuRef) {\r\n this.menuRef.highlightItem(selectItemIndex < 0 ? 0 : selectItemIndex);\r\n }\r\n }\r\n };\r\n\r\n private handleKeyDown = (event: KeyboardEvent<HTMLTextAreaElement>) => {\r\n if (this.isCursorVisible) {\r\n this.handleInputKeyDown(event);\r\n } else {\r\n this.handleWrapperKeyDown(event);\r\n }\r\n };\r\n\r\n private handleInputKeyDown = (e: KeyboardEvent<HTMLTextAreaElement>) => {\r\n e.stopPropagation();\r\n\r\n if (this.type !== TokenInputType.WithReference && this.props.delimiters.includes(e.key)) {\r\n e.preventDefault();\r\n const newValue = this.state.inputValue;\r\n if (newValue !== '') {\r\n if (this.isEditingMode) {\r\n this.finishTokenEdit();\r\n } else {\r\n this.handleAddItem();\r\n }\r\n }\r\n }\r\n\r\n switch (true) {\r\n case isKeyEnter(e):\r\n if (this.menuRef) {\r\n this.menuRef.enter(e);\r\n }\r\n // don't allow textarea\r\n // became multiline\r\n e.preventDefault();\r\n break;\r\n case isKeyArrowVertical(e):\r\n e.preventDefault();\r\n if (this.menuRef) {\r\n if (isKeyArrowUp(e)) {\r\n this.menuRef.up();\r\n } else {\r\n this.menuRef.down();\r\n }\r\n }\r\n break;\r\n case isKeyEscape(e):\r\n this.input!.blur();\r\n break;\r\n case isKeyBackspace(e):\r\n if (!this.isEditingMode) this.moveFocusToLastToken();\r\n break;\r\n case isKeyArrowLeft(e):\r\n if (this.input!.selectionStart === 0) {\r\n this.moveFocusToLastToken();\r\n }\r\n break;\r\n }\r\n };\r\n\r\n private moveFocusToLastToken() {\r\n const items = this.props.selectedItems;\r\n if (this.state.inputValue === '' && items && items.length > 0) {\r\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: items.slice(-1) });\r\n }\r\n }\r\n\r\n private focusInput = () => {\r\n process.nextTick(() => this.input!.focus());\r\n };\r\n\r\n private selectInputText = () => {\r\n if (this.input) {\r\n this.input.setSelectionRange(0, this.state.inputValue.length);\r\n }\r\n };\r\n\r\n private handleWrapperKeyDown = (e: KeyboardEvent<HTMLElement>) => {\r\n switch (true) {\r\n case isKeyBackspace(e):\r\n case isKeyDelete(e): {\r\n if (!this.isEditingMode) {\r\n const itemsNew = this.props.selectedItems.filter(\r\n item => !this.hasValueInItems(this.state.activeTokens, item),\r\n );\r\n this.props.onValueChange(itemsNew);\r\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' }, () => {\r\n LayoutEvents.emit();\r\n this.input!.focus();\r\n });\r\n }\r\n break;\r\n }\r\n case isKeyArrowHorizontal(e):\r\n this.handleWrapperArrows(e);\r\n break;\r\n case isKeyEscape(e):\r\n this.wrapper!.blur();\r\n break;\r\n case isKeyEnter(e):\r\n e.preventDefault();\r\n if (this.state.activeTokens.length === 1) {\r\n this.handleTokenEdit(this.state.activeTokens[0]);\r\n }\r\n break;\r\n case isShortcutSelectAll(e):\r\n e.preventDefault();\r\n this.dispatch({\r\n type: 'SET_ACTIVE_TOKENS',\r\n payload: this.props.selectedItems,\r\n });\r\n break;\r\n }\r\n };\r\n\r\n private handleWrapperArrows = (e: KeyboardEvent<HTMLElement>) => {\r\n e.preventDefault();\r\n const activeTokens = this.state.activeTokens;\r\n const activeItemIndex = this.props.selectedItems.indexOf(activeTokens[0]);\r\n const newItemIndex = activeItemIndex + (isKeyArrowLeft(e) ? -1 : +1);\r\n const isLeftEdge = activeItemIndex === 0 && isKeyArrowLeft(e);\r\n const isRightEdge = activeItemIndex === this.props.selectedItems.length - 1 && isKeyArrowRight(e);\r\n if (!e.shiftKey && activeTokens.length === 1) {\r\n this.handleWrapperArrowsWithoutShift(isLeftEdge, isRightEdge, newItemIndex);\r\n } else {\r\n this.handleWrapperArrowsWithShift(isLeftEdge, isRightEdge, newItemIndex);\r\n }\r\n };\r\n\r\n private handleWrapperArrowsWithoutShift = (isLeftEdge: boolean, isRightEdge: boolean, newItemIndex: number) => {\r\n if (isRightEdge) {\r\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' }, () => this.input!.focus());\r\n } else if (!isLeftEdge) {\r\n this.dispatch({\r\n type: 'SET_ACTIVE_TOKENS',\r\n payload: [this.props.selectedItems[newItemIndex]],\r\n });\r\n }\r\n };\r\n\r\n private handleWrapperArrowsWithShift = (isLeftEdge: boolean, isRightEdge: boolean, newItemIndex: number) => {\r\n if (!isLeftEdge && !isRightEdge) {\r\n const itemNew = this.props.selectedItems[newItemIndex];\r\n const itemsNew = [itemNew, ...this.state.activeTokens.filter(item => !isEqual(item, itemNew))];\r\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: itemsNew });\r\n }\r\n };\r\n\r\n private handleValueChange = (items: T[]) => {\r\n this.props.onValueChange(items);\r\n };\r\n\r\n private handleAddItem = () => {\r\n const item = this.props.valueToItem(this.state.inputValue);\r\n if (item) {\r\n this.selectItem(item);\r\n }\r\n };\r\n\r\n private selectItem = (item: T) => {\r\n const { selectedItems } = this.props;\r\n\r\n if (this.isEditingMode) {\r\n this.dispatch({ type: 'UPDATE_QUERY', payload: this.props.valueToString(item) }, this.finishTokenEdit);\r\n } else {\r\n if (!this.hasValueInItems(selectedItems, item)) {\r\n this.handleValueChange(selectedItems.concat([item]));\r\n this.dispatch({ type: 'CLEAR_INPUT' });\r\n this.tryGetItems();\r\n }\r\n }\r\n };\r\n\r\n private handleRemoveToken = (item: T) => {\r\n this.props.onValueChange(this.props.selectedItems.filter(_ => !isEqual(_, item)));\r\n const filteredActiveTokens = this.state.activeTokens.filter(_ => !isEqual(_, item));\r\n\r\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: filteredActiveTokens });\r\n if (filteredActiveTokens.length === 0) {\r\n this.focusInput();\r\n }\r\n\r\n this.tryGetItems();\r\n };\r\n\r\n private handleTokenClick = (event: React.MouseEvent<HTMLElement>, itemNew: T) => {\r\n const items = this.state.activeTokens;\r\n if (event.ctrlKey) {\r\n const newItems = this.hasValueInItems(this.state.activeTokens, itemNew)\r\n ? items.filter(item => !isEqual(item, itemNew))\r\n : [...items, itemNew];\r\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: newItems });\r\n } else {\r\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: [itemNew] });\r\n }\r\n this.focusInput();\r\n };\r\n\r\n private handleTokenEdit = (itemNew: T) => {\r\n const editingTokenIndex = this.props.selectedItems.findIndex(item => item === itemNew);\r\n this.dispatch({ type: 'SET_EDITING_TOKEN_INDEX', payload: editingTokenIndex });\r\n\r\n if (this.state.inputValue !== '') {\r\n if (this.state.reservedInputValue === undefined)\r\n this.dispatch({ type: 'SET_TEMPORARY_QUERY', payload: this.state.inputValue });\r\n }\r\n this.dispatch({ type: 'UPDATE_QUERY', payload: this.props.valueToString(itemNew) }, this.selectInputText);\r\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' });\r\n\r\n this.tryGetItems();\r\n };\r\n\r\n private finishTokenEdit = () => {\r\n const { editingTokenIndex, inputValue, reservedInputValue } = this.state;\r\n const { selectedItems, valueToItem } = this.props;\r\n const editedItem = valueToItem(inputValue);\r\n const newItems = selectedItems.concat([]);\r\n\r\n if (!this.hasValueInItems(selectedItems, editedItem)) {\r\n newItems.splice(editingTokenIndex, 1, ...(inputValue !== '' ? [editedItem] : []));\r\n this.handleValueChange(newItems);\r\n }\r\n\r\n this.dispatch({ type: 'REMOVE_EDITING_TOKEN_INDEX' });\r\n\r\n if (reservedInputValue) {\r\n this.dispatch({ type: 'UPDATE_QUERY', payload: reservedInputValue });\r\n this.dispatch({ type: 'REMOVE_TEMPORARY_QUERY' });\r\n } else {\r\n this.dispatch({ type: 'CLEAR_INPUT' });\r\n }\r\n\r\n if (newItems.length === selectedItems.length) {\r\n this.dispatch({ type: 'SET_ACTIVE_TOKENS', payload: [newItems[editingTokenIndex]] });\r\n }\r\n };\r\n\r\n private checkForUnexpectedInput = () => {\r\n const { inputValue } = this.state;\r\n const { onUnexpectedInput } = this.props;\r\n\r\n if (onUnexpectedInput) {\r\n // чекаем не возвращает ли что-нибудь обработчик\r\n const returnedValue = onUnexpectedInput(inputValue);\r\n\r\n if (returnedValue === undefined) {\r\n return;\r\n }\r\n\r\n if (returnedValue === null) {\r\n this.dispatch({ type: 'CLEAR_INPUT' }, () => {\r\n if (this.isEditingMode) {\r\n this.finishTokenEdit();\r\n }\r\n });\r\n\r\n return;\r\n }\r\n\r\n if (returnedValue) {\r\n this.selectItem(returnedValue);\r\n }\r\n }\r\n };\r\n\r\n private handleChangeInputValue = (event: ChangeEvent<HTMLTextAreaElement>) => {\r\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' });\r\n let query = event.target.value.trimLeft();\r\n\r\n if (query.endsWith(' ')) {\r\n query = query.trimRight() + ' ';\r\n }\r\n if (this.state.inputValue !== '' && query === '') {\r\n this.dispatch({ type: 'SET_AUTOCOMPLETE_ITEMS', payload: undefined });\r\n }\r\n this.dispatch({ type: 'UPDATE_QUERY', payload: query }, () => {\r\n this.tryGetItems(query);\r\n });\r\n if (this.props.onInputValueChange) {\r\n this.props.onInputValueChange(query);\r\n }\r\n };\r\n\r\n private highlightMenuItem = () => {\r\n if (\r\n this.menuRef &&\r\n this.state.autocompleteItems &&\r\n this.state.autocompleteItems.length > 0 &&\r\n this.type !== TokenInputType.Combined\r\n ) {\r\n this.menuRef.highlightItem(0);\r\n }\r\n };\r\n\r\n private renderTokensStart = () => {\r\n const { editingTokenIndex } = this.state;\r\n const { selectedItems } = this.props;\r\n const delimiter = editingTokenIndex >= 0 ? editingTokenIndex : selectedItems.length;\r\n return selectedItems.slice(0, delimiter).map(this.renderToken);\r\n };\r\n\r\n private renderTokensEnd = () => {\r\n if (this.state.editingTokenIndex >= 0) {\r\n return this.props.selectedItems.slice(this.state.editingTokenIndex + 1).map(this.renderToken);\r\n }\r\n };\r\n\r\n private renderToken = (item: T) => {\r\n const { renderToken = defaultRenderToken, disabled } = this.props;\r\n\r\n const isActive = this.state.activeTokens.includes(item);\r\n\r\n // TODO useCallback\r\n const handleIconClick: React.MouseEventHandler<HTMLElement> = event => {\r\n event.stopPropagation();\r\n if (!this.isEditingMode) {\r\n this.handleRemoveToken(item);\r\n }\r\n };\r\n\r\n // TODO useCallback\r\n const handleTokenClick: React.MouseEventHandler<HTMLDivElement> = event => {\r\n event.stopPropagation();\r\n if (!this.isEditingMode) {\r\n this.handleTokenClick(event, item);\r\n }\r\n };\r\n\r\n const handleTokenDoubleClick: React.MouseEventHandler<HTMLDivElement> = event => {\r\n event.stopPropagation();\r\n if (!this.isEditingMode) {\r\n this.handleTokenEdit(item);\r\n }\r\n };\r\n\r\n return renderToken(item, {\r\n isActive,\r\n onClick: handleTokenClick,\r\n onDoubleClick: handleTokenDoubleClick,\r\n onRemove: handleIconClick,\r\n disabled,\r\n });\r\n };\r\n\r\n private renderAddButton = (value = this.state.inputValue): React.ReactNode | undefined => {\r\n if (!this.showAddItemHint) {\r\n return;\r\n }\r\n\r\n if (this.props.renderAddButton) {\r\n return this.props.renderAddButton(value, this.handleAddItem);\r\n }\r\n\r\n const { addButtonComment, addButtonTitle } = this.locale;\r\n\r\n return (\r\n <MenuItem onClick={this.handleAddItem} comment={addButtonComment} key=\"renderAddButton\">\r\n {addButtonTitle} {value}\r\n </MenuItem>\r\n );\r\n };\r\n}\r\n"]}
1
+ {"version":3,"sources":["TokenInput.tsx"],"names":["React","isEqual","isKeyArrowHorizontal","isKeyArrowLeft","isKeyArrowRight","isKeyArrowUp","isKeyArrowVertical","isKeyBackspace","isKeyComma","isKeyDelete","isKeyEnter","isKeyEscape","isShortcutSelectAll","LayoutEvents","Token","emptyHandler","ThemeContext","locale","MenuItem","CommonWrapper","cx","getRootNode","rootNode","TokenInputLocaleHelper","styles","tokenInputReducer","TokenInputMenu","TextWidthHelper","TokenInputType","DefaultState","inputValue","reservedInputValue","undefined","autocompleteItems","activeTokens","editingTokenIndex","inFocus","loading","preventBlur","inputValueWidth","inputValueHeight","defaultToKey","item","toString","identity","defaultRenderToken","isActive","onClick","onDoubleClick","onRemove","disabled","TokenInput","state","input","tokensInputMenu","textHelper","wrapper","hasValueInItems","items","value","includes","some","inputRef","node","tokensInputMenuRef","textHelperRef","wrapperRef","dispatch","action","cb","setState","prevState","handleInputFocus","event","type","props","onFocus","handleInputBlur","isBlurToMenu","handleOutsideBlur","preventDefault","focus","requestAnimationFrame","payload","onBlur","valueToString","isEditingMode","finishTokenEdit","isTokenValueChanged","length","selectItem","isInputChanged","checkForUnexpectedInput","menuRef","menu","getMenuRef","relatedTarget","document","activeElement","contains","handleWrapperMouseDown","target","isClickOnToken","handleWrapperMouseUp","handleCopy","isCursorVisible","tokens","map","token","selectedItems","indexOf","sort","index","clipboardData","setData","join","delimiters","handleInputPaste","WithReference","paste","getData","delimiter","stopPropagation","split","valueToItem","filter","newItems","concat","onValueChange","tryGetItems","query","getItems","hideMenuIfEmptyInputValue","isSelectedItem","isEditingItem","editingItem","autocompleteItemsUnique","unshift","emit","highlightMenuItem","selectItemIndex","findIndex","toLowerCase","highlightItem","handleKeyDown","handleInputKeyDown","handleWrapperKeyDown","e","key","WithoutReference","newValue","handleAddItem","enter","up","down","blur","moveFocusToLastToken","selectionStart","focusInput","selectInputText","setSelectionRange","itemsNew","handleWrapperArrows","handleTokenEdit","activeItemIndex","newItemIndex","isLeftEdge","isRightEdge","shiftKey","handleWrapperArrowsWithoutShift","handleWrapperArrowsWithShift","itemNew","handleValueChange","handleRemoveToken","_","filteredActiveTokens","handleTokenClick","ctrlKey","editedItem","splice","onUnexpectedInput","returnedValue","handleChangeInputValue","trimLeft","endsWith","trimRight","onInputValueChange","Combined","renderTokensStart","slice","renderToken","renderTokensEnd","handleIconClick","handleTokenDoubleClick","renderAddButton","showAddItemHint","addButtonComment","addButtonTitle","componentDidMount","updateInputTextWidth","addEventListener","autoFocus","componentDidUpdate","prevProps","isCursorVisibleForState","componentWillUnmount","removeEventListener","render","theme","renderMain","Error","width","maxMenuHeight","error","warning","placeholder","renderItem","renderNotFound","onMouseEnter","onMouseLeave","inputMode","menuWidth","menuAlign","showMenu","lineHeight","parseInt","tokenInputLineHeight","inputInlineStyles","height","Math","max","flex","caretColor","labelClassName","label","labelDisabled","labelFocused","inputClassName","inputDisabled","inputEditing","setRootNode","helperText","helperTextEditing","reservedInput","reset","parseFloat","getTextWidth","toFixed","getTextHeight","isInputValueChanged","PureComponent","__KONTUR_REACT_UI__","defaultProps","renderValue","toKey"],"mappings":"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","sourcesContent":["import React, { ChangeEvent, FocusEvent, FocusEventHandler, KeyboardEvent, MouseEventHandler, ReactNode } from 'react';\nimport isEqual from 'lodash.isequal';\n\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 { Menu } from '../../internal/Menu';\nimport { Token, TokenProps } from '../Token';\nimport { MenuItemState } from '../MenuItem';\nimport { emptyHandler } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { locale } from '../../lib/locale/decorators';\nimport { MenuItem } from '../MenuItem/MenuItem';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { TokenInputLocale, TokenInputLocaleHelper } from './locale';\nimport { styles } from './TokenInput.styles';\nimport { TokenInputAction, tokenInputReducer } from './TokenInputReducer';\nimport { TokenInputMenu } from './TokenInputMenu';\nimport { TextWidthHelper } from './TextWidthHelper';\n\nexport enum TokenInputType {\n WithReference,\n WithoutReference,\n Combined,\n}\n\nexport type TokenInputMenuAlign = 'left' | 'cursor';\n\nexport interface TokenInputProps<T> extends CommonProps {\n selectedItems: T[];\n onValueChange: (items: T[]) => void;\n onMouseEnter: MouseEventHandler<HTMLDivElement>;\n onMouseLeave: MouseEventHandler<HTMLDivElement>;\n onFocus: FocusEventHandler<HTMLTextAreaElement>;\n onBlur: FocusEventHandler<HTMLTextAreaElement>;\n autoFocus?: boolean;\n type?: TokenInputType;\n /**\n * Ширина выпадающего меню может быть указана как 'auto'\n * а также в пикселях, процентах (от ширины инпута)\n * или других конкретных единицах\n *\n * Если menuAlign = 'cursor', то ширина выпадающего меню всегда будет равна 'auto'\n * (по ширине текста)\n */\n menuWidth: React.CSSProperties['width'];\n menuAlign: TokenInputMenuAlign;\n\n /**\n * Функция поиска элементов, должна возвращать Promise с массивом элементов.\n * По умолчанию ожидаются строки.\n *\n * Элементы могут быть любого типа. В этом случае необходимо определить\n * свойства `renderItem`, `valueToString`\n */\n getItems?: (query: string) => Promise<T[]>;\n hideMenuIfEmptyInputValue?: boolean;\n renderItem: (item: T, state: MenuItemState) => React.ReactNode | null;\n renderValue: (item: T) => React.ReactNode;\n /**\n * Функция должна возвращать строковое представление токена\n * @default item => item\n */\n valueToString: (item: T) => string;\n renderNotFound?: () => React.ReactNode;\n valueToItem: (item: string) => T;\n toKey: (item: T) => string | number | undefined;\n placeholder?: string;\n delimiters: string[];\n /**\n * Состояние валидации при ошибке.\n */\n error?: boolean;\n /**\n * Состояние валидации при предупреждении.\n */\n warning?: boolean;\n disabled?: boolean;\n width?: string | number;\n maxMenuHeight?: number | string;\n renderToken?: (item: T, props: Partial<TokenProps>) => ReactNode;\n /**\n * Вызывается при изменении текста в поле ввода,\n */\n onInputValueChange?: (value: string) => void;\n /**\n * Функция отрисовки кнопки добавления в выпадающем списке\n */\n renderAddButton?: (query?: string, onAddItem?: () => void) => ReactNode;\n /**\n * Функция для обработки ситуации, когда была введена\n * строка в инпут и был потерян фокус с компонента\n *\n * Функция срабатывает с аргументом инпута строки\n *\n * Если при потере фокуса в выпадающем списке будет только один\n * элемент и результат `valueToString` с этим элементом будет\n * совпадать со значение в текстовом поле, то\n * сработает `onValueChange` со значением данного элемента\n *\n * Сама функция также может вернуть значение,\n * неравное `undefined`, с которым будет вызван `onValueChange`.\n * Если возвращаемое значение будет равно `null`,\n * то сработает очистка текущего значения инпута,\n * а в режиме редактирования токен будет удален\n */\n onUnexpectedInput?: (value: string) => void | null | undefined | T;\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\nconst defaultToKey = <T extends {}>(item: T): string => item.toString();\nconst identity = <T extends {}>(item: T): T => item;\nconst defaultRenderToken = <T extends {}>(\n item: T,\n { isActive, onClick, onDoubleClick, onRemove, disabled }: 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 >\n {item}\n </Token>\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\n public static defaultProps: Partial<TokenInputProps<any>> = {\n selectedItems: [],\n delimiters: [',', ' '],\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 };\n\n public state: TokenInputState<T> = DefaultState;\n\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\n public componentDidMount() {\n this.updateInputTextWidth();\n document.addEventListener('copy', this.handleCopy);\n if (this.props.autoFocus) {\n this.focusInput();\n }\n }\n\n public componentDidUpdate(prevProps: TokenInputProps<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.props.selectedItems.length) {\n LayoutEvents.emit();\n }\n if (!this.isCursorVisibleForState(prevState) && this.isCursorVisible) {\n this.tryGetItems(this.isEditingMode ? '' : this.state.inputValue);\n }\n }\n\n public componentWillUnmount() {\n 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 renderMain() {\n if (this.type !== TokenInputType.WithoutReference && !this.props.getItems) {\n throw Error('Missed getItems for type ' + this.type);\n }\n\n const {\n selectedItems,\n width,\n maxMenuHeight,\n error,\n warning,\n disabled,\n placeholder,\n renderItem,\n renderNotFound,\n hideMenuIfEmptyInputValue,\n onMouseEnter,\n onMouseLeave,\n inputMode,\n menuWidth,\n menuAlign,\n } = this.props;\n\n const {\n activeTokens,\n inFocus,\n inputValueWidth,\n inputValue,\n reservedInputValue,\n autocompleteItems,\n loading,\n inputValueHeight,\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 lineHeight = parseInt(theme.tokenInputLineHeight, 10) || 0;\n\n const inputInlineStyles: React.CSSProperties = {\n // вычисляем ширину чтобы input автоматически перенёсся на следующую строку при необходимости\n width: inputValueWidth,\n height: Math.max(lineHeight, inputValueHeight),\n // input растягивается на всю ширину чтобы placeholder не обрезался\n flex: selectedItems && selectedItems.length === 0 ? 1 : undefined,\n // в ie не работает, но альтернативный способ --- дать tabindex для label --- предположительно ещё сложнее\n caretColor: this.isCursorVisible ? undefined : 'transparent',\n };\n\n const labelClassName = cx(styles.label(theme), {\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), {\n [styles.inputDisabled(theme)]: !!disabled,\n [styles.inputEditing(theme)]: this.isEditingMode,\n });\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div 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 >\n <TextWidthHelper\n ref={this.textHelperRef}\n classHelp={cx(styles.helperText(theme), {\n [styles.helperTextEditing(theme)]: this.isEditingMode,\n })}\n text={inputValue}\n theme={this.theme}\n />\n {this.renderTokensStart()}\n <textarea\n ref={this.inputRef}\n value={inputValue}\n style={inputInlineStyles}\n spellCheck={false}\n disabled={disabled}\n className={inputClassName}\n placeholder={selectedItems.length > 0 ? undefined : 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 />\n {showMenu && (\n <TokenInputMenu\n ref={this.tokensInputMenuRef}\n items={autocompleteItems}\n loading={loading}\n opened={showMenu}\n maxMenuHeight={maxMenuHeight}\n anchorElement={menuAlign === 'cursor' ? this.input! : this.wrapper!}\n renderNotFound={renderNotFound}\n renderItem={renderItem}\n onValueChange={this.selectItem}\n renderAddButton={this.renderAddButton}\n menuWidth={menuWidth}\n menuAlign={menuAlign}\n />\n )}\n {this.renderTokensEnd()}\n {this.isEditingMode ? <span className={styles.reservedInput(theme)}>{reservedInputValue}</span> : 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.props.valueToItem(this.state.inputValue);\n\n if (items && this.hasValueInItems(items, value)) {\n return false;\n }\n\n const selectedItems = this.props.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 if (this.props.onFocus) {\n this.props.onFocus(event);\n }\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 requestAnimationFrame(() => this.input?.focus());\n this.dispatch({ type: 'SET_PREVENT_BLUR', payload: false });\n } else {\n this.dispatch({ type: 'BLUR' });\n this.props.onBlur?.(event);\n }\n };\n\n private handleOutsideBlur = () => {\n const { inputValue, autocompleteItems } = this.state;\n const { valueToString } = this.props;\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 (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 { selectedItems, valueToString } = this.props;\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) {\n const menu = getRootNode(this.tokensInputMenu?.getMenuRef());\n const relatedTarget = (event.relatedTarget || document.activeElement) as HTMLElement;\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 =\n 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\n // упорядочивание токенов по индексу\n const tokens = this.state.activeTokens\n .map((token) => this.props.selectedItems.indexOf(token))\n .sort()\n .map((index) => this.props.selectedItems[index])\n .map((item) => this.props.valueToString(item));\n event.clipboardData.setData('text/plain', tokens.join(this.props.delimiters[0]));\n };\n\n private handleInputPaste = (event: React.ClipboardEvent<HTMLElement>) => {\n if (this.type === TokenInputType.WithReference || !event.clipboardData) {\n return;\n }\n let paste = event.clipboardData.getData('text');\n const { delimiters } = this.props;\n if (delimiters.some((delimiter) => paste.includes(delimiter))) {\n event.preventDefault();\n event.stopPropagation();\n for (const delimiter of delimiters) {\n paste = paste.split(delimiter).join(delimiters[0]);\n }\n const tokens = paste.split(delimiters[0]);\n const items = tokens\n .map((token) => this.props.valueToItem(token))\n .filter((item) => !this.hasValueInItems(this.props.selectedItems, item));\n const newItems = this.props.selectedItems.concat(items);\n this.props.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 isSelectedItem = (item: T) => this.hasValueInItems(this.props.selectedItems, item);\n const isEditingItem = (item: T) => {\n const editingItem = this.props.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 = this.props.selectedItems[this.state.editingTokenIndex];\n if (\n isEqual(editingItem, this.props.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) => this.props.valueToString(item).toLowerCase() === this.state.inputValue.toLowerCase(),\n );\n if (this.menuRef) {\n this.menuRef.highlightItem(selectItemIndex < 0 ? 0 : selectItemIndex);\n }\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.props.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\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) {\n this.moveFocusToLastToken();\n }\n break;\n case isKeyArrowLeft(e):\n if (this.input?.selectionStart === 0) {\n this.moveFocusToLastToken();\n }\n break;\n }\n };\n\n private moveFocusToLastToken() {\n const items = this.props.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 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 switch (true) {\n case isKeyBackspace(e):\n case isKeyDelete(e): {\n if (!this.isEditingMode) {\n const itemsNew = this.props.selectedItems.filter(\n (item) => !this.hasValueInItems(this.state.activeTokens, item),\n );\n this.props.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: this.props.selectedItems,\n });\n break;\n }\n };\n\n private handleWrapperArrows = (e: KeyboardEvent<HTMLElement>) => {\n e.preventDefault();\n const activeTokens = this.state.activeTokens;\n const activeItemIndex = this.props.selectedItems.indexOf(activeTokens[0]);\n const newItemIndex = activeItemIndex + (isKeyArrowLeft(e) ? -1 : +1);\n const isLeftEdge = activeItemIndex === 0 && isKeyArrowLeft(e);\n const isRightEdge = activeItemIndex === this.props.selectedItems.length - 1 && 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.props.selectedItems[newItemIndex]],\n });\n }\n };\n\n private handleWrapperArrowsWithShift = (isLeftEdge: boolean, isRightEdge: boolean, newItemIndex: number) => {\n if (!isLeftEdge && !isRightEdge) {\n const itemNew = this.props.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.props.onValueChange(items);\n };\n\n private handleAddItem = () => {\n const item = this.props.valueToItem(this.state.inputValue);\n if (item) {\n this.selectItem(item);\n }\n };\n\n private selectItem = (item: T) => {\n const { selectedItems } = this.props;\n\n if (this.isEditingMode) {\n this.dispatch({ type: 'UPDATE_QUERY', payload: this.props.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.props.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 editingTokenIndex = this.props.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: this.props.valueToString(itemNew) }, this.selectInputText);\n this.dispatch({ type: 'REMOVE_ALL_ACTIVE_TOKENS' });\n\n this.tryGetItems();\n };\n\n private finishTokenEdit = () => {\n const { editingTokenIndex, inputValue, reservedInputValue } = this.state;\n const { selectedItems, valueToItem } = this.props;\n const editedItem = 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.props;\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.props.selectedItems.slice(this.state.editingTokenIndex + 1).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) {\n this.handleTokenEdit(item);\n }\n };\n\n return renderToken(item, {\n isActive,\n onClick: handleTokenClick,\n onDoubleClick: handleTokenDoubleClick,\n onRemove: handleIconClick,\n disabled,\n });\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"]}
@@ -7,6 +7,7 @@ export declare enum TokenInputType {
7
7
  WithoutReference = 1,
8
8
  Combined = 2
9
9
  }
10
+ export declare type TokenInputMenuAlign = 'left' | 'cursor';
10
11
  export interface TokenInputProps<T> extends CommonProps {
11
12
  selectedItems: T[];
12
13
  onValueChange: (items: T[]) => void;
@@ -16,6 +17,16 @@ export interface TokenInputProps<T> extends CommonProps {
16
17
  onBlur: FocusEventHandler<HTMLTextAreaElement>;
17
18
  autoFocus?: boolean;
18
19
  type?: TokenInputType;
20
+ /**
21
+ * Ширина выпадающего меню может быть указана как 'auto'
22
+ * а также в пикселях, процентах (от ширины инпута)
23
+ * или других конкретных единицах
24
+ *
25
+ * Если menuAlign = 'cursor', то ширина выпадающего меню всегда будет равна 'auto'
26
+ * (по ширине текста)
27
+ */
28
+ menuWidth: React.CSSProperties['width'];
29
+ menuAlign: TokenInputMenuAlign;
19
30
  /**
20
31
  * Функция поиска элементов, должна возвращать Promise с массивом элементов.
21
32
  * По умолчанию ожидаются строки.
@@ -37,7 +48,13 @@ export interface TokenInputProps<T> extends CommonProps {
37
48
  toKey: (item: T) => string | number | undefined;
38
49
  placeholder?: string;
39
50
  delimiters: string[];
51
+ /**
52
+ * Состояние валидации при ошибке.
53
+ */
40
54
  error?: boolean;
55
+ /**
56
+ * Состояние валидации при предупреждении.
57
+ */
41
58
  warning?: boolean;
42
59
  disabled?: boolean;
43
60
  width?: string | number;
@@ -107,9 +124,18 @@ export declare class TokenInput<T = string> extends React.PureComponent<TokenInp
107
124
  private tokensInputMenu;
108
125
  private textHelper;
109
126
  private wrapper;
127
+ private setRootNode;
110
128
  componentDidMount(): void;
111
129
  componentDidUpdate(prevProps: TokenInputProps<T>, prevState: TokenInputState<T>): void;
112
130
  componentWillUnmount(): void;
131
+ /**
132
+ * @public
133
+ */
134
+ focus(): void;
135
+ /**
136
+ * @public
137
+ */
138
+ blur(): void;
113
139
  render(): JSX.Element;
114
140
  private renderMain;
115
141
  /**
@@ -1,79 +1,79 @@
1
- ```jsx harmony
2
- import { Token } from '@skbkontur/react-ui';
3
- import { TokenInputType } from '@skbkontur/react-ui/components/TokenInput';
4
-
5
- const [selectedItems, setSelectedItems] = React.useState([]);
6
-
7
- const delay = time => args => new Promise(resolve => setTimeout(resolve, time, args));
8
-
9
- const getItems = q =>
10
- Promise.resolve(
11
- ['First', 'Second', 'Third', 'Fourth', 'Fifth', 'Sixth'].filter(
12
- x => x.toLowerCase().includes(q.toLowerCase()) || x.toString(10) === q,
13
- ),
14
- ).then(delay(500));
15
-
16
- const tokenColors = {
17
- First: {
18
- idle: 'grayIdle',
19
- active: 'grayActive',
20
- },
21
- Second: {
22
- idle: 'blueIdle',
23
- active: 'blueActive',
24
- },
25
- Third: {
26
- idle: 'greenIdle',
27
- active: 'greenActive',
28
- },
29
- Fourth: {
30
- idle: 'yellowIdle',
31
- active: 'yellowActive',
32
- },
33
- Fifth: {
34
- idle: 'redIdle',
35
- active: 'redActive',
36
- },
37
- Sixth: {
38
- idle: 'white',
39
- active: 'black',
40
- },
41
- default: {
42
- idle: 'defaultIdle',
43
- active: 'defaultActive',
44
- },
45
- };
46
-
47
- <div style={{ width: '300px' }}>
48
- <TokenInput
49
- type={TokenInputType.Combined}
50
- getItems={getItems}
51
- selectedItems={selectedItems}
52
- onValueChange={setSelectedItems}
53
- renderToken={(item, tokenProps) => (
54
- <Token key={item.toString()} colors={tokenColors[item] || tokenColors.default} {...tokenProps}>
55
- {item}
56
- </Token>
57
- )}
58
- />
59
- </div>;
60
- ```
61
-
62
- #### Локали по умолчанию
63
-
64
- ```typescript static
65
- interface TokenInputLocale {
66
- addButtonComment?: string;
67
- addButtonTitle?: string;
68
- }
69
-
70
- const ru_RU = {
71
- addButtonComment: 'Нажмите запятую или пробел',
72
- addButtonTitle: 'Добавить',
73
- };
74
-
75
- const en_GB = {
76
- addButtonComment: 'Type comma or space',
77
- addButtonTitle: 'Add',
78
- };
79
- ```
1
+ ```jsx harmony
2
+ import { Token } from '@skbkontur/react-ui';
3
+ import { TokenInputType } from '@skbkontur/react-ui/components/TokenInput';
4
+
5
+ const [selectedItems, setSelectedItems] = React.useState([]);
6
+
7
+ const delay = time => args => new Promise(resolve => setTimeout(resolve, time, args));
8
+
9
+ const getItems = q =>
10
+ Promise.resolve(
11
+ ['First', 'Second', 'Third', 'Fourth', 'Fifth', 'Sixth'].filter(
12
+ x => x.toLowerCase().includes(q.toLowerCase()) || x.toString(10) === q,
13
+ ),
14
+ ).then(delay(500));
15
+
16
+ const tokenColors = {
17
+ First: {
18
+ idle: 'grayIdle',
19
+ active: 'grayActive',
20
+ },
21
+ Second: {
22
+ idle: 'blueIdle',
23
+ active: 'blueActive',
24
+ },
25
+ Third: {
26
+ idle: 'greenIdle',
27
+ active: 'greenActive',
28
+ },
29
+ Fourth: {
30
+ idle: 'yellowIdle',
31
+ active: 'yellowActive',
32
+ },
33
+ Fifth: {
34
+ idle: 'redIdle',
35
+ active: 'redActive',
36
+ },
37
+ Sixth: {
38
+ idle: 'white',
39
+ active: 'black',
40
+ },
41
+ default: {
42
+ idle: 'defaultIdle',
43
+ active: 'defaultActive',
44
+ },
45
+ };
46
+
47
+ <div style={{ width: '300px' }}>
48
+ <TokenInput
49
+ type={TokenInputType.Combined}
50
+ getItems={getItems}
51
+ selectedItems={selectedItems}
52
+ onValueChange={setSelectedItems}
53
+ renderToken={(item, tokenProps) => (
54
+ <Token key={item.toString()} colors={tokenColors[item] || tokenColors.default} {...tokenProps}>
55
+ {item}
56
+ </Token>
57
+ )}
58
+ />
59
+ </div>;
60
+ ```
61
+
62
+ #### Локали по умолчанию
63
+
64
+ ```typescript static
65
+ interface TokenInputLocale {
66
+ addButtonComment?: string;
67
+ addButtonTitle?: string;
68
+ }
69
+
70
+ const ru_RU = {
71
+ addButtonComment: 'Нажмите запятую или пробел',
72
+ addButtonTitle: 'Добавить',
73
+ };
74
+
75
+ const en_GB = {
76
+ addButtonComment: 'Type comma or space',
77
+ addButtonTitle: 'Add',
78
+ };
79
+ ```