@skbkontur/react-ui 0.0.0-b203c99d11 → 0.0.0-bb4cbfe9c6

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 (1953) hide show
  1. package/CHANGELOG.md +2521 -2056
  2. package/LICENSE +21 -21
  3. package/README.md +129 -61
  4. package/cjs/components/Autocomplete/Autocomplete.d.ts +15 -2
  5. package/cjs/components/Autocomplete/Autocomplete.js +115 -36
  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 +76 -14
  13. package/cjs/components/Button/Button.js +138 -14
  14. package/cjs/components/Button/Button.js.map +1 -1
  15. package/cjs/components/Button/Button.md +104 -89
  16. package/cjs/components/Button/Button.mixins.d.ts +6 -5
  17. package/cjs/components/Button/Button.mixins.js +83 -71
  18. package/cjs/components/Button/Button.mixins.js.map +1 -1
  19. package/cjs/components/Button/Button.styles.d.ts +58 -29
  20. package/cjs/components/Button/Button.styles.js +344 -232
  21. package/cjs/components/Button/Button.styles.js.map +1 -1
  22. package/cjs/components/Button/Corners.js.map +1 -1
  23. package/cjs/components/Button/index.js.map +1 -1
  24. package/cjs/components/Center/Center.d.ts +5 -8
  25. package/cjs/components/Center/Center.js +18 -16
  26. package/cjs/components/Center/Center.js.map +1 -1
  27. package/cjs/components/Center/Center.md +26 -5
  28. package/cjs/components/Center/Center.styles.d.ts +1 -1
  29. package/cjs/components/Center/Center.styles.js +8 -11
  30. package/cjs/components/Center/Center.styles.js.map +1 -1
  31. package/cjs/components/Center/index.js.map +1 -1
  32. package/cjs/components/Checkbox/Checkbox.d.ts +34 -17
  33. package/cjs/components/Checkbox/Checkbox.js +95 -56
  34. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  35. package/cjs/components/Checkbox/Checkbox.md +104 -63
  36. package/cjs/components/Checkbox/Checkbox.styles.d.ts +17 -11
  37. package/cjs/components/Checkbox/Checkbox.styles.js +94 -79
  38. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  39. package/cjs/components/Checkbox/index.js.map +1 -1
  40. package/cjs/components/ComboBox/ComboBox.d.ts +16 -3
  41. package/cjs/components/ComboBox/ComboBox.js +115 -74
  42. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  43. package/cjs/components/ComboBox/ComboBox.md +445 -432
  44. package/cjs/components/ComboBox/index.js.map +1 -1
  45. package/cjs/components/CurrencyInput/CurrencyHelper.js +8 -7
  46. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  47. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +9 -5
  48. package/cjs/components/CurrencyInput/CurrencyInput.js +69 -21
  49. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  50. package/cjs/components/CurrencyInput/CurrencyInput.md +24 -20
  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 +1 -1
  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.d.ts +1 -3
  61. package/cjs/components/CurrencyLabel/CurrencyLabel.js +5 -5
  62. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  63. package/cjs/components/CurrencyLabel/CurrencyLabel.md +23 -23
  64. package/cjs/components/CurrencyLabel/index.js.map +1 -1
  65. package/cjs/components/DateInput/DateFragmentsView.d.ts +1 -1
  66. package/cjs/components/DateInput/DateFragmentsView.js +3 -3
  67. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  68. package/cjs/components/DateInput/DateFragmentsView.styles.d.ts +5 -4
  69. package/cjs/components/DateInput/DateFragmentsView.styles.js +7 -10
  70. package/cjs/components/DateInput/DateFragmentsView.styles.js.map +1 -1
  71. package/cjs/components/DateInput/DateInput.d.ts +8 -0
  72. package/cjs/components/DateInput/DateInput.js +32 -17
  73. package/cjs/components/DateInput/DateInput.js.map +1 -1
  74. package/cjs/components/DateInput/DateInput.md +106 -104
  75. package/cjs/components/DateInput/DateInput.styles.d.ts +9 -6
  76. package/cjs/components/DateInput/DateInput.styles.js +20 -8
  77. package/cjs/components/DateInput/DateInput.styles.js.map +1 -1
  78. package/cjs/components/DateInput/ViewDateInputValidateChecks.js.map +1 -1
  79. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js +2 -2
  80. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  81. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  82. package/cjs/components/DateInput/helpers/InternalDateMediator.js +3 -6
  83. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  84. package/cjs/components/DateInput/helpers/SelectionHelpers.js +2 -2
  85. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  86. package/cjs/components/DateInput/helpers/inputNumber.d.ts +3 -3
  87. package/cjs/components/DateInput/helpers/inputNumber.js.map +1 -1
  88. package/cjs/components/DateInput/index.js.map +1 -1
  89. package/cjs/components/DatePicker/DatePicker.d.ts +25 -8
  90. package/cjs/components/DatePicker/DatePicker.js +72 -26
  91. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  92. package/cjs/components/DatePicker/DatePicker.md +307 -312
  93. package/cjs/components/DatePicker/DatePicker.styles.d.ts +1 -1
  94. package/cjs/components/DatePicker/DatePicker.styles.js +4 -5
  95. package/cjs/components/DatePicker/DatePicker.styles.js.map +1 -1
  96. package/cjs/components/DatePicker/DatePickerHelpers.js +2 -2
  97. package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
  98. package/cjs/components/DatePicker/Picker.js +5 -4
  99. package/cjs/components/DatePicker/Picker.js.map +1 -1
  100. package/cjs/components/DatePicker/Picker.styles.d.ts +4 -3
  101. package/cjs/components/DatePicker/Picker.styles.js +10 -11
  102. package/cjs/components/DatePicker/Picker.styles.js.map +1 -1
  103. package/cjs/components/DatePicker/index.js.map +1 -1
  104. package/cjs/components/DatePicker/locale/index.js.map +1 -1
  105. package/cjs/components/DatePicker/locale/locales/en.js.map +1 -1
  106. package/cjs/components/DatePicker/locale/locales/ru.js.map +1 -1
  107. package/cjs/components/DatePicker/locale/types.js +1 -1
  108. package/cjs/components/Dropdown/Dropdown.d.ts +6 -4
  109. package/cjs/components/Dropdown/Dropdown.js +37 -29
  110. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  111. package/cjs/components/Dropdown/Dropdown.md +11 -12
  112. package/cjs/components/Dropdown/index.js.map +1 -1
  113. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +20 -3
  114. package/cjs/components/DropdownMenu/DropdownMenu.js +26 -5
  115. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  116. package/cjs/components/DropdownMenu/DropdownMenu.md +154 -73
  117. package/cjs/components/DropdownMenu/index.js.map +1 -1
  118. package/cjs/components/FxInput/FxInput.d.ts +3 -2
  119. package/cjs/components/FxInput/FxInput.js +18 -5
  120. package/cjs/components/FxInput/FxInput.js.map +1 -1
  121. package/cjs/components/FxInput/FxInput.md +16 -13
  122. package/cjs/components/FxInput/index.js.map +1 -1
  123. package/cjs/components/Gapped/Gapped.d.ts +5 -3
  124. package/cjs/components/Gapped/Gapped.js +42 -23
  125. package/cjs/components/Gapped/Gapped.js.map +1 -1
  126. package/cjs/components/Gapped/Gapped.md +43 -43
  127. package/cjs/components/Gapped/index.js.map +1 -1
  128. package/cjs/components/Group/Group.d.ts +1 -0
  129. package/cjs/components/Group/Group.js +18 -15
  130. package/cjs/components/Group/Group.js.map +1 -1
  131. package/cjs/components/Group/Group.md +18 -26
  132. package/cjs/components/Group/Group.styles.d.ts +1 -1
  133. package/cjs/components/Group/Group.styles.js +10 -12
  134. package/cjs/components/Group/Group.styles.js.map +1 -1
  135. package/cjs/components/Group/index.js.map +1 -1
  136. package/cjs/components/Hint/Hint.d.ts +44 -2
  137. package/cjs/components/Hint/Hint.js +78 -8
  138. package/cjs/components/Hint/Hint.js.map +1 -1
  139. package/cjs/components/Hint/Hint.md +42 -3
  140. package/cjs/components/Hint/Hint.styles.d.ts +5 -3
  141. package/cjs/components/Hint/Hint.styles.js +18 -11
  142. package/cjs/components/Hint/Hint.styles.js.map +1 -1
  143. package/cjs/components/Hint/index.js.map +1 -1
  144. package/cjs/components/Input/Input.d.ts +16 -3
  145. package/cjs/components/Input/Input.js +76 -43
  146. package/cjs/components/Input/Input.js.map +1 -1
  147. package/cjs/components/Input/Input.md +13 -13
  148. package/cjs/components/Input/Input.styles.d.ts +36 -27
  149. package/cjs/components/Input/Input.styles.js +137 -91
  150. package/cjs/components/Input/Input.styles.js.map +1 -1
  151. package/cjs/components/Input/index.js.map +1 -1
  152. package/cjs/components/Kebab/Kebab.d.ts +11 -2
  153. package/cjs/components/Kebab/Kebab.js +45 -42
  154. package/cjs/components/Kebab/Kebab.js.map +1 -1
  155. package/cjs/components/Kebab/Kebab.md +278 -45
  156. package/cjs/components/Kebab/Kebab.styles.d.ts +7 -5
  157. package/cjs/components/Kebab/Kebab.styles.js +25 -30
  158. package/cjs/components/Kebab/Kebab.styles.js.map +1 -1
  159. package/cjs/components/Kebab/__stories__/Kebab.items.js.map +1 -1
  160. package/cjs/components/Kebab/index.js.map +1 -1
  161. package/cjs/components/Link/Link.d.ts +30 -11
  162. package/cjs/components/Link/Link.js +60 -36
  163. package/cjs/components/Link/Link.js.map +1 -1
  164. package/cjs/components/Link/Link.md +77 -11
  165. package/cjs/components/Link/Link.mixins.js +3 -2
  166. package/cjs/components/Link/Link.mixins.js.map +1 -1
  167. package/cjs/components/Link/Link.styles.d.ts +12 -10
  168. package/cjs/components/Link/Link.styles.js +21 -25
  169. package/cjs/components/Link/Link.styles.js.map +1 -1
  170. package/cjs/components/Link/index.js.map +1 -1
  171. package/cjs/components/Loader/Loader.d.ts +35 -3
  172. package/cjs/components/Loader/Loader.js +177 -29
  173. package/cjs/components/Loader/Loader.js.map +1 -1
  174. package/cjs/components/Loader/Loader.md +25 -25
  175. package/cjs/components/Loader/Loader.styles.d.ts +3 -4
  176. package/cjs/components/Loader/Loader.styles.js +11 -31
  177. package/cjs/components/Loader/Loader.styles.js.map +1 -1
  178. package/cjs/components/Loader/__stories__/LoaderAndButton.js.map +1 -1
  179. package/cjs/components/Loader/index.js.map +1 -1
  180. package/cjs/components/MenuHeader/MenuHeader.d.ts +6 -2
  181. package/cjs/components/MenuHeader/MenuHeader.js +13 -9
  182. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  183. package/cjs/components/MenuHeader/MenuHeader.md +23 -0
  184. package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +4 -3
  185. package/cjs/components/MenuHeader/MenuHeader.styles.js +13 -11
  186. package/cjs/components/MenuHeader/MenuHeader.styles.js.map +1 -1
  187. package/cjs/components/MenuHeader/index.js.map +1 -1
  188. package/cjs/components/MenuItem/MenuItem.d.ts +53 -7
  189. package/cjs/components/MenuItem/MenuItem.js +78 -28
  190. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  191. package/cjs/components/MenuItem/MenuItem.md +109 -7
  192. package/cjs/components/MenuItem/MenuItem.styles.d.ts +12 -10
  193. package/cjs/components/MenuItem/MenuItem.styles.js +47 -33
  194. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  195. package/cjs/components/MenuItem/index.js.map +1 -1
  196. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +3 -2
  197. package/cjs/components/MenuSeparator/MenuSeparator.js +7 -5
  198. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  199. package/cjs/components/MenuSeparator/MenuSeparator.md +14 -0
  200. package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +3 -2
  201. package/cjs/components/MenuSeparator/MenuSeparator.styles.js +6 -9
  202. package/cjs/components/MenuSeparator/MenuSeparator.styles.js.map +1 -1
  203. package/cjs/components/MenuSeparator/index.js.map +1 -1
  204. package/cjs/components/Modal/Modal.d.ts +7 -3
  205. package/cjs/components/Modal/Modal.js +55 -29
  206. package/cjs/components/Modal/Modal.js.map +1 -1
  207. package/cjs/components/Modal/Modal.md +38 -37
  208. package/cjs/components/Modal/Modal.styles.d.ts +32 -18
  209. package/cjs/components/Modal/Modal.styles.js +162 -66
  210. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  211. package/cjs/components/Modal/ModalBody.d.ts +5 -0
  212. package/cjs/components/Modal/ModalBody.js +53 -19
  213. package/cjs/components/Modal/ModalBody.js.map +1 -1
  214. package/cjs/components/Modal/ModalClose.d.ts +1 -2
  215. package/cjs/components/Modal/ModalClose.js +40 -12
  216. package/cjs/components/Modal/ModalClose.js.map +1 -1
  217. package/cjs/components/Modal/ModalContext.d.ts +5 -1
  218. package/cjs/components/Modal/ModalContext.js +5 -0
  219. package/cjs/components/Modal/ModalContext.js.map +1 -1
  220. package/cjs/components/Modal/ModalFooter.js +36 -30
  221. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  222. package/cjs/components/Modal/ModalHeader.js +35 -30
  223. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  224. package/cjs/components/Modal/index.js.map +1 -1
  225. package/cjs/components/Paging/NavigationHelper.d.ts +1 -1
  226. package/cjs/components/Paging/NavigationHelper.js +3 -2
  227. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  228. package/cjs/components/Paging/Paging.d.ts +3 -3
  229. package/cjs/components/Paging/Paging.js +47 -46
  230. package/cjs/components/Paging/Paging.js.map +1 -1
  231. package/cjs/components/Paging/Paging.md +43 -43
  232. package/cjs/components/Paging/Paging.styles.d.ts +12 -11
  233. package/cjs/components/Paging/Paging.styles.js +42 -46
  234. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  235. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  236. package/cjs/components/Paging/index.js.map +1 -1
  237. package/cjs/components/Paging/locale/index.js.map +1 -1
  238. package/cjs/components/Paging/locale/locales/en.js.map +1 -1
  239. package/cjs/components/Paging/locale/locales/ru.js.map +1 -1
  240. package/cjs/components/Paging/locale/types.js +1 -1
  241. package/cjs/components/PasswordInput/PasswordInput.d.ts +5 -2
  242. package/cjs/components/PasswordInput/PasswordInput.js +54 -23
  243. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  244. package/cjs/components/PasswordInput/PasswordInput.md +9 -9
  245. package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +6 -2
  246. package/cjs/components/PasswordInput/PasswordInput.styles.js +31 -12
  247. package/cjs/components/PasswordInput/PasswordInput.styles.js.map +1 -1
  248. package/cjs/components/PasswordInput/index.js.map +1 -1
  249. package/cjs/components/Radio/Radio.d.ts +43 -24
  250. package/cjs/components/Radio/Radio.js +94 -29
  251. package/cjs/components/Radio/Radio.js.map +1 -1
  252. package/cjs/components/Radio/Radio.md +38 -14
  253. package/cjs/components/Radio/Radio.styles.d.ts +18 -11
  254. package/cjs/components/Radio/Radio.styles.js +97 -60
  255. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  256. package/cjs/components/Radio/index.js.map +1 -1
  257. package/cjs/components/RadioGroup/Prevent.js.map +1 -1
  258. package/cjs/components/RadioGroup/RadioGroup.d.ts +52 -77
  259. package/cjs/components/RadioGroup/RadioGroup.js +55 -105
  260. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  261. package/cjs/components/RadioGroup/RadioGroup.md +43 -43
  262. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +3 -2
  263. package/cjs/components/RadioGroup/RadioGroup.styles.js +8 -10
  264. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  265. package/cjs/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  266. package/cjs/components/RadioGroup/RadioGroupContext.js +21 -0
  267. package/cjs/components/RadioGroup/RadioGroupContext.js.map +1 -0
  268. package/cjs/components/RadioGroup/index.js.map +1 -1
  269. package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +11 -0
  270. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +32 -0
  271. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -0
  272. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +43 -0
  273. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +11 -0
  274. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +93 -0
  275. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -0
  276. package/cjs/components/ResponsiveLayout/decorator.d.ts +33 -0
  277. package/cjs/components/ResponsiveLayout/decorator.js +44 -0
  278. package/cjs/components/ResponsiveLayout/decorator.js.map +1 -0
  279. package/cjs/components/ResponsiveLayout/index.d.ts +3 -0
  280. package/cjs/components/ResponsiveLayout/index.js +3 -0
  281. package/cjs/components/ResponsiveLayout/index.js.map +1 -0
  282. package/cjs/components/ResponsiveLayout/types.d.ts +3 -0
  283. package/cjs/components/ResponsiveLayout/types.js +1 -0
  284. package/cjs/components/ResponsiveLayout/types.js.map +1 -0
  285. package/cjs/components/ResponsiveLayout/useResponsiveLayout.d.ts +2 -0
  286. package/cjs/components/ResponsiveLayout/useResponsiveLayout.js +61 -0
  287. package/cjs/components/ResponsiveLayout/useResponsiveLayout.js.map +1 -0
  288. package/cjs/components/ScrollContainer/ScrollBar.d.ts +37 -0
  289. package/cjs/components/ScrollContainer/ScrollBar.js +244 -0
  290. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -0
  291. package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -0
  292. package/cjs/components/ScrollContainer/ScrollContainer.constants.js +33 -0
  293. package/cjs/components/ScrollContainer/ScrollContainer.constants.js.map +1 -0
  294. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +44 -23
  295. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -0
  296. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js +62 -0
  297. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -0
  298. package/cjs/components/ScrollContainer/ScrollContainer.js +95 -153
  299. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  300. package/cjs/components/ScrollContainer/ScrollContainer.md +143 -94
  301. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +13 -4
  302. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +73 -13
  303. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  304. package/cjs/components/ScrollContainer/index.js.map +1 -1
  305. package/cjs/components/Select/Item.js.map +1 -1
  306. package/cjs/components/Select/Select.d.ts +19 -5
  307. package/cjs/components/Select/Select.js +97 -12
  308. package/cjs/components/Select/Select.js.map +1 -1
  309. package/cjs/components/Select/Select.md +67 -55
  310. package/cjs/components/Select/Select.styles.d.ts +13 -6
  311. package/cjs/components/Select/Select.styles.js +52 -35
  312. package/cjs/components/Select/Select.styles.js.map +1 -1
  313. package/cjs/components/Select/index.js.map +1 -1
  314. package/cjs/components/Select/locale/index.js.map +1 -1
  315. package/cjs/components/Select/locale/locales/en.js.map +1 -1
  316. package/cjs/components/Select/locale/locales/ru.js.map +1 -1
  317. package/cjs/components/Select/locale/types.js +1 -1
  318. package/cjs/components/Select/selectTheme.d.ts +2 -1
  319. package/cjs/components/Select/selectTheme.js +7 -4
  320. package/cjs/components/Select/selectTheme.js.map +1 -1
  321. package/cjs/components/SidePage/SidePage.d.ts +21 -1
  322. package/cjs/components/SidePage/SidePage.js +83 -24
  323. package/cjs/components/SidePage/SidePage.js.map +1 -1
  324. package/cjs/components/SidePage/SidePage.md +48 -48
  325. package/cjs/components/SidePage/SidePage.styles.d.ts +37 -18
  326. package/cjs/components/SidePage/SidePage.styles.js +206 -59
  327. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  328. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  329. package/cjs/components/SidePage/SidePageBody.js +27 -11
  330. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  331. package/cjs/components/SidePage/SidePageContainer.d.ts +4 -0
  332. package/cjs/components/SidePage/SidePageContainer.js +48 -10
  333. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  334. package/cjs/components/SidePage/SidePageContext.d.ts +6 -0
  335. package/cjs/components/SidePage/SidePageContext.js +6 -0
  336. package/cjs/components/SidePage/SidePageContext.js.map +1 -1
  337. package/cjs/components/SidePage/SidePageFooter.d.ts +5 -2
  338. package/cjs/components/SidePage/SidePageFooter.js +43 -18
  339. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  340. package/cjs/components/SidePage/SidePageHeader.d.ts +12 -4
  341. package/cjs/components/SidePage/SidePageHeader.js +106 -34
  342. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  343. package/cjs/components/SidePage/index.js.map +1 -1
  344. package/cjs/components/Spinner/Spinner.d.ts +2 -0
  345. package/cjs/components/Spinner/Spinner.js +24 -20
  346. package/cjs/components/Spinner/Spinner.js.map +1 -1
  347. package/cjs/components/Spinner/Spinner.md +34 -34
  348. package/cjs/components/Spinner/Spinner.styles.d.ts +9 -7
  349. package/cjs/components/Spinner/Spinner.styles.js +20 -15
  350. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  351. package/cjs/components/Spinner/SpinnerFallbackAnimation.d.ts +4 -4
  352. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +5 -5
  353. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  354. package/cjs/components/Spinner/index.js.map +1 -1
  355. package/cjs/components/Spinner/locale/index.js.map +1 -1
  356. package/cjs/components/Spinner/locale/locales/en.js.map +1 -1
  357. package/cjs/components/Spinner/locale/locales/ru.js.map +1 -1
  358. package/cjs/components/Spinner/locale/types.js +1 -1
  359. package/cjs/components/Sticky/Sticky.d.ts +1 -0
  360. package/cjs/components/Sticky/Sticky.js +22 -19
  361. package/cjs/components/Sticky/Sticky.js.map +1 -1
  362. package/cjs/components/Sticky/Sticky.md +27 -27
  363. package/cjs/components/Sticky/Sticky.styles.d.ts +1 -1
  364. package/cjs/components/Sticky/Sticky.styles.js +8 -11
  365. package/cjs/components/Sticky/Sticky.styles.js.map +1 -1
  366. package/cjs/components/Sticky/index.js.map +1 -1
  367. package/cjs/components/Switcher/Switcher.d.ts +3 -2
  368. package/cjs/components/Switcher/Switcher.js +19 -16
  369. package/cjs/components/Switcher/Switcher.js.map +1 -1
  370. package/cjs/components/Switcher/Switcher.md +10 -10
  371. package/cjs/components/Switcher/Switcher.styles.d.ts +8 -6
  372. package/cjs/components/Switcher/Switcher.styles.js +30 -26
  373. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  374. package/cjs/components/Switcher/index.js.map +1 -1
  375. package/cjs/components/Switcher/switcherTheme.d.ts +2 -1
  376. package/cjs/components/Switcher/switcherTheme.js.map +1 -1
  377. package/cjs/components/Tabs/Indicator.d.ts +2 -2
  378. package/cjs/components/Tabs/Indicator.js +20 -21
  379. package/cjs/components/Tabs/Indicator.js.map +1 -1
  380. package/cjs/components/Tabs/Indicator.styles.d.ts +7 -6
  381. package/cjs/components/Tabs/Indicator.styles.js +8 -11
  382. package/cjs/components/Tabs/Indicator.styles.js.map +1 -1
  383. package/cjs/components/Tabs/Tab.d.ts +9 -13
  384. package/cjs/components/Tabs/Tab.js +30 -34
  385. package/cjs/components/Tabs/Tab.js.map +1 -1
  386. package/cjs/components/Tabs/Tab.styles.d.ts +26 -10
  387. package/cjs/components/Tabs/Tab.styles.js +87 -46
  388. package/cjs/components/Tabs/Tab.styles.js.map +1 -1
  389. package/cjs/components/Tabs/Tabs.d.ts +5 -5
  390. package/cjs/components/Tabs/Tabs.js +19 -23
  391. package/cjs/components/Tabs/Tabs.js.map +1 -1
  392. package/cjs/components/Tabs/Tabs.md +36 -36
  393. package/cjs/components/Tabs/Tabs.styles.d.ts +4 -3
  394. package/cjs/components/Tabs/Tabs.styles.js +6 -11
  395. package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
  396. package/cjs/components/Tabs/TabsContext.d.ts +8 -8
  397. package/cjs/components/Tabs/TabsContext.js +1 -1
  398. package/cjs/components/Tabs/TabsContext.js.map +1 -1
  399. package/cjs/components/Tabs/index.js.map +1 -1
  400. package/cjs/components/Textarea/Textarea.d.ts +12 -4
  401. package/cjs/components/Textarea/Textarea.js +74 -40
  402. package/cjs/components/Textarea/Textarea.js.map +1 -1
  403. package/cjs/components/Textarea/Textarea.md +25 -25
  404. package/cjs/components/Textarea/Textarea.styles.d.ts +10 -8
  405. package/cjs/components/Textarea/Textarea.styles.js +29 -27
  406. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  407. package/cjs/components/Textarea/TextareaCounter.js +13 -13
  408. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  409. package/cjs/components/Textarea/TextareaHelpers.js +2 -2
  410. package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
  411. package/cjs/components/Textarea/index.js.map +1 -1
  412. package/cjs/components/Toast/Toast.d.ts +14 -9
  413. package/cjs/components/Toast/Toast.js +36 -21
  414. package/cjs/components/Toast/Toast.js.map +1 -1
  415. package/cjs/components/Toast/Toast.md +41 -41
  416. package/cjs/components/Toast/Toast.styles.d.ts +1 -1
  417. package/cjs/components/Toast/Toast.styles.js +7 -10
  418. package/cjs/components/Toast/Toast.styles.js.map +1 -1
  419. package/cjs/components/Toast/ToastStatic.js +7 -6
  420. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  421. package/cjs/components/Toast/ToastView.d.ts +1 -0
  422. package/cjs/components/Toast/ToastView.js +18 -15
  423. package/cjs/components/Toast/ToastView.js.map +1 -1
  424. package/cjs/components/Toast/ToastView.styles.d.ts +6 -5
  425. package/cjs/components/Toast/ToastView.styles.js +35 -26
  426. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  427. package/cjs/components/Toast/index.js.map +1 -1
  428. package/cjs/components/Toggle/Toggle.d.ts +49 -1
  429. package/cjs/components/Toggle/Toggle.js +93 -12
  430. package/cjs/components/Toggle/Toggle.js.map +1 -1
  431. package/cjs/components/Toggle/Toggle.md +94 -24
  432. package/cjs/components/Toggle/Toggle.styles.d.ts +27 -13
  433. package/cjs/components/Toggle/Toggle.styles.js +111 -63
  434. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  435. package/cjs/components/Toggle/index.js.map +1 -1
  436. package/cjs/components/Token/Token.d.ts +9 -2
  437. package/cjs/components/Token/Token.js +17 -8
  438. package/cjs/components/Token/Token.js.map +1 -1
  439. package/cjs/components/Token/Token.md +112 -112
  440. package/cjs/components/Token/Token.styles.d.ts +27 -23
  441. package/cjs/components/Token/Token.styles.js +27 -27
  442. package/cjs/components/Token/Token.styles.js.map +1 -1
  443. package/cjs/components/Token/index.js.map +1 -1
  444. package/cjs/components/TokenInput/TextWidthHelper.js +4 -4
  445. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  446. package/cjs/components/TokenInput/TokenInput.d.ts +27 -0
  447. package/cjs/components/TokenInput/TokenInput.js +100 -49
  448. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  449. package/cjs/components/TokenInput/TokenInput.md +79 -77
  450. package/cjs/components/TokenInput/TokenInput.styles.d.ts +14 -15
  451. package/cjs/components/TokenInput/TokenInput.styles.js +40 -40
  452. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  453. package/cjs/components/TokenInput/TokenInputMenu.d.ts +4 -1
  454. package/cjs/components/TokenInput/TokenInputMenu.js +18 -2
  455. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  456. package/cjs/components/TokenInput/TokenInputReducer.js +1 -1
  457. package/cjs/components/TokenInput/TokenInputReducer.js.map +1 -1
  458. package/cjs/components/TokenInput/index.js.map +1 -1
  459. package/cjs/components/TokenInput/locale/index.js.map +1 -1
  460. package/cjs/components/TokenInput/locale/locales/en.js.map +1 -1
  461. package/cjs/components/TokenInput/locale/locales/ru.js.map +1 -1
  462. package/cjs/components/TokenInput/locale/types.js +1 -1
  463. package/cjs/components/Tooltip/Tooltip.d.ts +9 -4
  464. package/cjs/components/Tooltip/Tooltip.js +54 -14
  465. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  466. package/cjs/components/Tooltip/Tooltip.md +293 -301
  467. package/cjs/components/Tooltip/Tooltip.styles.d.ts +4 -3
  468. package/cjs/components/Tooltip/Tooltip.styles.js +11 -11
  469. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  470. package/cjs/components/Tooltip/index.js.map +1 -1
  471. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +27 -9
  472. package/cjs/components/TooltipMenu/TooltipMenu.js +36 -17
  473. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  474. package/cjs/components/TooltipMenu/TooltipMenu.md +183 -115
  475. package/cjs/components/TooltipMenu/index.js.map +1 -1
  476. package/cjs/index.d.ts +4 -3
  477. package/cjs/index.js +4 -3
  478. package/cjs/index.js.map +1 -1
  479. package/cjs/internal/BGRuler.js +5 -5
  480. package/cjs/internal/BGRuler.js.map +1 -1
  481. package/cjs/internal/Calendar/Calendar.d.ts +6 -0
  482. package/cjs/internal/Calendar/Calendar.js +81 -34
  483. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  484. package/cjs/internal/Calendar/Calendar.styles.d.ts +3 -2
  485. package/cjs/internal/Calendar/Calendar.styles.js +9 -10
  486. package/cjs/internal/Calendar/Calendar.styles.js.map +1 -1
  487. package/cjs/internal/Calendar/CalendarDateShape.js +1 -1
  488. package/cjs/internal/Calendar/CalendarDateShape.js.map +1 -1
  489. package/cjs/internal/Calendar/CalendarScrollEvents.js.map +1 -1
  490. package/cjs/internal/Calendar/CalendarUtils.d.ts +5 -4
  491. package/cjs/internal/Calendar/CalendarUtils.js +33 -26
  492. package/cjs/internal/Calendar/CalendarUtils.js.map +1 -1
  493. package/cjs/internal/Calendar/DayCellView.d.ts +0 -1
  494. package/cjs/internal/Calendar/DayCellView.js +12 -23
  495. package/cjs/internal/Calendar/DayCellView.js.map +1 -1
  496. package/cjs/internal/Calendar/DayCellView.styles.d.ts +6 -5
  497. package/cjs/internal/Calendar/DayCellView.styles.js +14 -11
  498. package/cjs/internal/Calendar/DayCellView.styles.js.map +1 -1
  499. package/cjs/internal/Calendar/DayCellViewModel.js +1 -1
  500. package/cjs/internal/Calendar/DayCellViewModel.js.map +1 -1
  501. package/cjs/internal/Calendar/Month.d.ts +2 -0
  502. package/cjs/internal/Calendar/Month.js +41 -12
  503. package/cjs/internal/Calendar/Month.js.map +1 -1
  504. package/cjs/internal/Calendar/MonthView.js +20 -18
  505. package/cjs/internal/Calendar/MonthView.js.map +1 -1
  506. package/cjs/internal/Calendar/MonthView.styles.d.ts +9 -6
  507. package/cjs/internal/Calendar/MonthView.styles.js +28 -16
  508. package/cjs/internal/Calendar/MonthView.styles.js.map +1 -1
  509. package/cjs/internal/Calendar/MonthViewModel.d.ts +2 -1
  510. package/cjs/internal/Calendar/MonthViewModel.js +31 -31
  511. package/cjs/internal/Calendar/MonthViewModel.js.map +1 -1
  512. package/cjs/internal/Calendar/config.d.ts +3 -18
  513. package/cjs/internal/Calendar/config.js +33 -24
  514. package/cjs/internal/Calendar/config.js.map +1 -1
  515. package/cjs/internal/Calendar/index.js.map +1 -1
  516. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +19 -3
  517. package/cjs/internal/CommonWrapper/CommonWrapper.js +47 -16
  518. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  519. package/cjs/internal/CommonWrapper/index.js.map +1 -1
  520. package/cjs/internal/ComponentCombinator.js.map +1 -1
  521. package/cjs/internal/ComponentTable.js +2 -2
  522. package/cjs/internal/ComponentTable.js.map +1 -1
  523. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
  524. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +24 -5
  525. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  526. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +24 -1
  527. package/cjs/internal/CustomComboBox/ComboBoxView.js +104 -15
  528. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  529. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +11 -1
  530. package/cjs/internal/CustomComboBox/CustomComboBox.js +45 -20
  531. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  532. package/cjs/internal/CustomComboBox/CustomComboBox.styles.d.ts +2 -2
  533. package/cjs/internal/CustomComboBox/CustomComboBox.styles.js +8 -10
  534. package/cjs/internal/CustomComboBox/CustomComboBox.styles.js.map +1 -1
  535. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +34 -33
  536. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  537. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
  538. package/cjs/internal/CustomComboBox/index.js.map +1 -1
  539. package/cjs/internal/CustomComboBox/locale/index.js.map +1 -1
  540. package/cjs/internal/CustomComboBox/locale/locales/en.js.map +1 -1
  541. package/cjs/internal/CustomComboBox/locale/locales/ru.js.map +1 -1
  542. package/cjs/internal/CustomComboBox/locale/types.js +1 -1
  543. package/cjs/internal/DateSelect/DateSelect.d.ts +5 -2
  544. package/cjs/internal/DateSelect/DateSelect.js +50 -12
  545. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  546. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +12 -11
  547. package/cjs/internal/DateSelect/DateSelect.styles.js +35 -40
  548. package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
  549. package/cjs/internal/DateSelect/index.js.map +1 -1
  550. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
  551. package/cjs/internal/DropdownContainer/DropdownContainer.js +16 -21
  552. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  553. package/cjs/internal/DropdownContainer/index.js.map +1 -1
  554. package/cjs/internal/FocusTrap/FocusTrap.d.ts +1 -0
  555. package/cjs/internal/FocusTrap/FocusTrap.js +12 -9
  556. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  557. package/cjs/internal/FocusTrap/index.js.map +1 -1
  558. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -3
  559. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +33 -74
  560. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  561. package/cjs/internal/HideBodyVerticalScroll/index.js.map +1 -1
  562. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +1 -1
  563. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +12 -4
  564. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  565. package/cjs/internal/IgnoreLayerClick/index.js.map +1 -1
  566. package/cjs/internal/InputLikeText/HiddenInput.js +8 -8
  567. package/cjs/internal/InputLikeText/HiddenInput.js.map +1 -1
  568. package/cjs/internal/InputLikeText/InputLikeText.d.ts +3 -1
  569. package/cjs/internal/InputLikeText/InputLikeText.js +116 -62
  570. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  571. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +2 -3
  572. package/cjs/internal/InputLikeText/InputLikeText.styles.js +9 -18
  573. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  574. package/cjs/internal/InputLikeText/index.js.map +1 -1
  575. package/cjs/internal/InternalMenu/InternalMenu.d.ts +8 -4
  576. package/cjs/internal/InternalMenu/InternalMenu.js +36 -37
  577. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  578. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +4 -3
  579. package/cjs/internal/InternalMenu/InternalMenu.styles.js +13 -16
  580. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  581. package/cjs/internal/InternalMenu/index.js.map +1 -1
  582. package/cjs/internal/InternalMenu/isActiveElement.js.map +1 -1
  583. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.d.ts +0 -1
  584. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.js +7 -7
  585. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  586. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +1 -1
  587. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.js +4 -7
  588. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +1 -1
  589. package/cjs/internal/MaskCharLowLine/index.js.map +1 -1
  590. package/cjs/internal/MaskedInput/MaskedInput.d.ts +2 -2
  591. package/cjs/internal/MaskedInput/MaskedInput.js +7 -7
  592. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  593. package/cjs/internal/MaskedInput/MaskedInput.styles.d.ts +3 -2
  594. package/cjs/internal/MaskedInput/MaskedInput.styles.js +6 -9
  595. package/cjs/internal/MaskedInput/MaskedInput.styles.js.map +1 -1
  596. package/cjs/internal/MaskedInput/index.js.map +1 -1
  597. package/cjs/internal/Menu/Menu.d.ts +6 -0
  598. package/cjs/internal/Menu/Menu.js +57 -45
  599. package/cjs/internal/Menu/Menu.js.map +1 -1
  600. package/cjs/internal/Menu/Menu.styles.d.ts +5 -3
  601. package/cjs/internal/Menu/Menu.styles.js +12 -9
  602. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  603. package/cjs/internal/Menu/index.js.map +1 -1
  604. package/cjs/internal/Menu/isActiveElement.js.map +1 -1
  605. package/cjs/internal/MobilePopup/MobilePopup.d.ts +34 -0
  606. package/cjs/internal/MobilePopup/MobilePopup.js +141 -0
  607. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -0
  608. package/cjs/internal/MobilePopup/MobilePopup.styles.d.ts +10 -0
  609. package/cjs/internal/MobilePopup/MobilePopup.styles.js +75 -0
  610. package/cjs/internal/MobilePopup/MobilePopup.styles.js.map +1 -0
  611. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +15 -0
  612. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +69 -0
  613. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -0
  614. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +10 -0
  615. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js +65 -0
  616. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +1 -0
  617. package/cjs/internal/MobilePopup/MobilePopupHeader/index.d.ts +1 -0
  618. package/cjs/internal/MobilePopup/MobilePopupHeader/index.js +1 -0
  619. package/cjs/internal/MobilePopup/MobilePopupHeader/index.js.map +1 -0
  620. package/cjs/internal/MobilePopup/index.d.ts +1 -0
  621. package/cjs/internal/MobilePopup/index.js +1 -0
  622. package/cjs/internal/MobilePopup/index.js.map +1 -0
  623. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +23 -0
  624. package/cjs/internal/NativeDateInput/NativeDateInput.js +65 -0
  625. package/cjs/internal/NativeDateInput/NativeDateInput.js.map +1 -0
  626. package/cjs/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -0
  627. package/cjs/internal/NativeDateInput/NativeDateInput.styles.js +19 -0
  628. package/cjs/internal/NativeDateInput/NativeDateInput.styles.js.map +1 -0
  629. package/cjs/internal/NativeDateInput/index.d.ts +1 -0
  630. package/cjs/internal/NativeDateInput/index.js +1 -0
  631. package/cjs/internal/NativeDateInput/index.js.map +1 -0
  632. package/cjs/internal/NativeDateInput/utils.d.ts +7 -0
  633. package/cjs/internal/NativeDateInput/utils.js +49 -0
  634. package/cjs/internal/NativeDateInput/utils.js.map +1 -0
  635. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js +1 -1
  636. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  637. package/cjs/internal/Popup/Popup.d.ts +26 -4
  638. package/cjs/internal/Popup/Popup.js +179 -67
  639. package/cjs/internal/Popup/Popup.js.map +1 -1
  640. package/cjs/internal/Popup/Popup.styles.d.ts +7 -6
  641. package/cjs/internal/Popup/Popup.styles.js +19 -19
  642. package/cjs/internal/Popup/Popup.styles.js.map +1 -1
  643. package/cjs/internal/Popup/PopupHelper.js +1 -0
  644. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  645. package/cjs/internal/Popup/PopupPin.js +17 -17
  646. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  647. package/cjs/internal/Popup/PopupPin.styles.d.ts +1 -1
  648. package/cjs/internal/Popup/PopupPin.styles.js +4 -7
  649. package/cjs/internal/Popup/PopupPin.styles.js.map +1 -1
  650. package/cjs/internal/Popup/index.js.map +1 -1
  651. package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -1
  652. package/cjs/internal/PopupMenu/PopupMenu.js +15 -6
  653. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  654. package/cjs/internal/PopupMenu/PopupMenu.styles.d.ts +1 -1
  655. package/cjs/internal/PopupMenu/PopupMenu.styles.js +6 -7
  656. package/cjs/internal/PopupMenu/PopupMenu.styles.js.map +1 -1
  657. package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +1 -1
  658. package/cjs/internal/PopupMenu/index.js.map +1 -1
  659. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  660. package/cjs/internal/RenderContainer/RenderContainer.d.ts +1 -1
  661. package/cjs/internal/RenderContainer/RenderContainer.js +4 -2
  662. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  663. package/cjs/internal/RenderContainer/RenderContainerTypes.js +1 -1
  664. package/cjs/internal/RenderContainer/RenderInnerContainer.js +4 -5
  665. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  666. package/cjs/internal/RenderContainer/index.js.map +1 -1
  667. package/cjs/internal/RenderLayer/RenderLayer.d.ts +4 -2
  668. package/cjs/internal/RenderLayer/RenderLayer.js +13 -7
  669. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  670. package/cjs/internal/RenderLayer/index.js.map +1 -1
  671. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  672. package/cjs/internal/ResizeDetector/ResizeDetector.js +6 -1
  673. package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  674. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +2 -1
  675. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js +12 -7
  676. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
  677. package/cjs/internal/ResizeDetector/index.js.map +1 -1
  678. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js.map +1 -1
  679. package/cjs/internal/ThemePlayground/CheckboxPlayground.d.ts +0 -1
  680. package/cjs/internal/ThemePlayground/CheckboxPlayground.js +1 -5
  681. package/cjs/internal/ThemePlayground/CheckboxPlayground.js.map +1 -1
  682. package/cjs/internal/ThemePlayground/ComponentsGroup.d.ts +1 -1
  683. package/cjs/internal/ThemePlayground/ComponentsGroup.js +4 -4
  684. package/cjs/internal/ThemePlayground/ComponentsGroup.js.map +1 -1
  685. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js.map +1 -1
  686. package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +1 -1
  687. package/cjs/internal/ThemePlayground/HintPlayground.js.map +1 -1
  688. package/cjs/internal/ThemePlayground/PagingPlayground.js.map +1 -1
  689. package/cjs/internal/ThemePlayground/Playground.d.ts +0 -2
  690. package/cjs/internal/ThemePlayground/Playground.js +11 -45
  691. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  692. package/cjs/internal/ThemePlayground/Playground.md +7 -7
  693. package/cjs/internal/ThemePlayground/Playground.styles.d.ts +12 -11
  694. package/cjs/internal/ThemePlayground/Playground.styles.js +23 -26
  695. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  696. package/cjs/internal/ThemePlayground/RadioPlayground.d.ts +0 -1
  697. package/cjs/internal/ThemePlayground/RadioPlayground.js +1 -5
  698. package/cjs/internal/ThemePlayground/RadioPlayground.js.map +1 -1
  699. package/cjs/internal/ThemePlayground/SelectPlayground.js.map +1 -1
  700. package/cjs/internal/ThemePlayground/ShowcaseGroup.d.ts +0 -1
  701. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +11 -3
  702. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  703. package/cjs/internal/ThemePlayground/SwitcherPlayground.js.map +1 -1
  704. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +6 -6
  705. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +13 -13
  706. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  707. package/cjs/internal/ThemePlayground/ThemeEditor.js +8 -8
  708. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  709. package/cjs/internal/ThemePlayground/TogglePlayground.js +2 -2
  710. package/cjs/internal/ThemePlayground/TogglePlayground.js.map +1 -1
  711. package/cjs/internal/ThemePlayground/TokenInputPlayground.js +1 -3
  712. package/cjs/internal/ThemePlayground/TokenInputPlayground.js.map +1 -1
  713. package/cjs/internal/ThemePlayground/VariableValue.js +8 -8
  714. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  715. package/cjs/internal/ThemePlayground/constants.d.ts +3 -3
  716. package/cjs/internal/ThemePlayground/constants.js +2 -2
  717. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  718. package/cjs/internal/ThemePlayground/darkTheme.d.ts +56 -39
  719. package/cjs/internal/ThemePlayground/darkTheme.js +93 -57
  720. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  721. package/cjs/internal/ThemePlayground/helpers.d.ts +1 -1
  722. package/cjs/internal/ThemePlayground/helpers.js.map +1 -1
  723. package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +1 -1
  724. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +107 -78
  725. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  726. package/cjs/internal/ThemeShowcase/ThemeShowcase.md +13 -13
  727. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +9 -4
  728. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js +43 -33
  729. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js.map +1 -1
  730. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  731. package/cjs/internal/ThemeShowcase/VariablesCollector.js +59 -54
  732. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  733. package/cjs/internal/ZIndex/ZIndex.d.ts +2 -0
  734. package/cjs/internal/ZIndex/ZIndex.js +45 -34
  735. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  736. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +1 -0
  737. package/cjs/internal/ZIndex/ZIndexStorage.js +2 -1
  738. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  739. package/cjs/internal/ZIndex/index.js.map +1 -1
  740. package/cjs/internal/icons/16px/icon.styles.d.ts +1 -1
  741. package/cjs/internal/icons/16px/icon.styles.js +5 -8
  742. package/cjs/internal/icons/16px/icon.styles.js.map +1 -1
  743. package/cjs/internal/icons/16px/index.d.ts +17 -15
  744. package/cjs/internal/icons/16px/index.js +122 -52
  745. package/cjs/internal/icons/16px/index.js.map +1 -1
  746. package/cjs/internal/icons/20px/Icon.js +4 -4
  747. package/cjs/internal/icons/20px/Icon.js.map +1 -1
  748. package/cjs/internal/icons/20px/icon.styles.d.ts +1 -1
  749. package/cjs/internal/icons/20px/icon.styles.js +5 -8
  750. package/cjs/internal/icons/20px/icon.styles.js.map +1 -1
  751. package/cjs/internal/icons/20px/index.js.map +1 -1
  752. package/cjs/internal/icons/20px/svg.js +5 -5
  753. package/cjs/internal/icons/20px/svg.js.map +1 -1
  754. package/cjs/internal/icons/CloudIcon.d.ts +0 -1
  755. package/cjs/internal/icons/CloudIcon.js.map +1 -1
  756. package/cjs/internal/icons/CrossIcon.d.ts +0 -1
  757. package/cjs/internal/icons/CrossIcon.js +8 -1
  758. package/cjs/internal/icons/CrossIcon.js.map +1 -1
  759. package/cjs/internal/icons/SpinnerIcon.d.ts +2 -2
  760. package/cjs/internal/icons/SpinnerIcon.js +9 -6
  761. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  762. package/cjs/internal/icons/SpinnerIcon.styles.d.ts +3 -1
  763. package/cjs/internal/icons/SpinnerIcon.styles.js +19 -6
  764. package/cjs/internal/icons/SpinnerIcon.styles.js.map +1 -1
  765. package/cjs/internal/themes/DarkTheme.d.ts +103 -0
  766. package/cjs/internal/themes/DarkTheme.js +183 -0
  767. package/cjs/internal/themes/DarkTheme.js.map +1 -0
  768. package/cjs/internal/themes/DefaultTheme.d.ts +368 -173
  769. package/cjs/internal/themes/DefaultTheme.js +1032 -686
  770. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  771. package/cjs/internal/themes/NotFlat.d.ts +127 -0
  772. package/cjs/internal/themes/NotFlat.js +219 -0
  773. package/cjs/internal/themes/NotFlat.js.map +1 -0
  774. package/cjs/internal/themes/OldColors.d.ts +110 -0
  775. package/cjs/internal/themes/OldColors.js +149 -0
  776. package/cjs/internal/themes/OldColors.js.map +1 -0
  777. package/cjs/lib/ConditionalHandler.js +2 -2
  778. package/cjs/lib/ConditionalHandler.js.map +1 -1
  779. package/cjs/lib/LayoutEvents.js +4 -4
  780. package/cjs/lib/LayoutEvents.js.map +1 -1
  781. package/cjs/lib/ModalStack.js +16 -16
  782. package/cjs/lib/ModalStack.js.map +1 -1
  783. package/cjs/lib/SSRSafe.js +2 -2
  784. package/cjs/lib/SSRSafe.js.map +1 -1
  785. package/cjs/lib/Supports.js.map +1 -1
  786. package/cjs/lib/Upgrades.d.ts +2 -0
  787. package/cjs/lib/Upgrades.js +14 -0
  788. package/cjs/lib/Upgrades.js.map +1 -1
  789. package/cjs/lib/animation/index.js +4 -4
  790. package/cjs/lib/animation/index.js.map +1 -1
  791. package/cjs/lib/animation/presets.js.map +1 -1
  792. package/cjs/lib/animation/stepper.js +2 -2
  793. package/cjs/lib/animation/stepper.js.map +1 -1
  794. package/cjs/lib/callChildRef/callChildRef.d.ts +3 -0
  795. package/cjs/lib/callChildRef/callChildRef.js +19 -0
  796. package/cjs/lib/callChildRef/callChildRef.js.map +1 -0
  797. package/cjs/lib/client.d.ts +4 -2
  798. package/cjs/lib/client.js +8 -2
  799. package/cjs/lib/client.js.map +1 -1
  800. package/cjs/lib/createPropsGetter.js.map +1 -1
  801. package/cjs/lib/currentEnvironment.js +12 -3
  802. package/cjs/lib/currentEnvironment.js.map +1 -1
  803. package/cjs/lib/date/InternalDate.js +13 -15
  804. package/cjs/lib/date/InternalDate.js.map +1 -1
  805. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  806. package/cjs/lib/date/InternalDateGetter.js +2 -2
  807. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  808. package/cjs/lib/date/InternalDateSetter.js.map +1 -1
  809. package/cjs/lib/date/InternalDateTransformer.d.ts +6 -6
  810. package/cjs/lib/date/InternalDateTransformer.js +4 -4
  811. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  812. package/cjs/lib/date/InternalDateValidator.js +6 -3
  813. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  814. package/cjs/lib/date/constants.js +1 -1
  815. package/cjs/lib/date/constants.js.map +1 -1
  816. package/cjs/lib/date/localeSets.js.map +1 -1
  817. package/cjs/lib/date/types.js +1 -1
  818. package/cjs/lib/date/types.js.map +1 -1
  819. package/cjs/lib/dom/getScrollWidth.js +2 -2
  820. package/cjs/lib/dom/getScrollWidth.js.map +1 -1
  821. package/cjs/lib/dom/tabbableHelpers.d.ts +16 -0
  822. package/cjs/lib/dom/tabbableHelpers.js +31 -0
  823. package/cjs/lib/dom/tabbableHelpers.js.map +1 -0
  824. package/cjs/lib/events/MouseDrag.js +27 -27
  825. package/cjs/lib/events/MouseDrag.js.map +1 -1
  826. package/cjs/lib/events/fixClickFocusIE.js +2 -2
  827. package/cjs/lib/events/fixClickFocusIE.js.map +1 -1
  828. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  829. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +20 -0
  830. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  831. package/cjs/lib/events/keyListener.d.ts +7 -0
  832. package/cjs/lib/events/keyListener.js +22 -0
  833. package/cjs/lib/events/keyListener.js.map +1 -0
  834. package/cjs/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  835. package/cjs/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  836. package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
  837. package/cjs/lib/events/keyboard/identifiers.d.ts +1 -0
  838. package/cjs/lib/events/keyboard/identifiers.js +13 -3
  839. package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
  840. package/cjs/lib/events/stopPropagation.js.map +1 -1
  841. package/cjs/lib/events/tabListener.d.ts +1 -6
  842. package/cjs/lib/events/tabListener.js +2 -15
  843. package/cjs/lib/events/tabListener.js.map +1 -1
  844. package/cjs/lib/extractKeyboardAction.js +1 -1
  845. package/cjs/lib/extractKeyboardAction.js.map +1 -1
  846. package/cjs/lib/filterProps.js.map +1 -1
  847. package/cjs/lib/forwardRefAndName.d.ts +5 -0
  848. package/cjs/lib/forwardRefAndName.js +23 -0
  849. package/cjs/lib/forwardRefAndName.js.map +1 -0
  850. package/cjs/lib/getDisplayName.d.ts +3 -0
  851. package/cjs/lib/getDisplayName.js +9 -0
  852. package/cjs/lib/getDisplayName.js.map +1 -0
  853. package/cjs/lib/listenFocusOutside.d.ts +4 -0
  854. package/cjs/lib/listenFocusOutside.js +11 -11
  855. package/cjs/lib/listenFocusOutside.js.map +1 -1
  856. package/cjs/lib/locale/LOCALECONTEXT.md +221 -215
  857. package/cjs/lib/locale/LocaleContext.js.map +1 -1
  858. package/cjs/lib/locale/LocaleHelper.js +1 -1
  859. package/cjs/lib/locale/LocaleHelper.js.map +1 -1
  860. package/cjs/lib/locale/constants.js.map +1 -1
  861. package/cjs/lib/locale/decorators.d.ts +4 -3
  862. package/cjs/lib/locale/decorators.js +13 -8
  863. package/cjs/lib/locale/decorators.js.map +1 -1
  864. package/cjs/lib/locale/index.js.map +1 -1
  865. package/cjs/lib/locale/types.d.ts +1 -0
  866. package/cjs/lib/locale/types.js +1 -0
  867. package/cjs/lib/locale/types.js.map +1 -1
  868. package/cjs/lib/memo.js.map +1 -1
  869. package/cjs/lib/net/fetch.js.map +1 -1
  870. package/cjs/lib/polyfillPlaceholder.js.map +1 -1
  871. package/cjs/lib/reactGetTextContent.js.map +1 -1
  872. package/cjs/lib/rootNode/getRootNode.d.ts +3 -0
  873. package/cjs/lib/rootNode/getRootNode.js +27 -0
  874. package/cjs/lib/rootNode/getRootNode.js.map +1 -0
  875. package/cjs/lib/rootNode/index.d.ts +2 -0
  876. package/cjs/lib/rootNode/index.js +2 -0
  877. package/cjs/lib/rootNode/index.js.map +1 -0
  878. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  879. package/cjs/lib/rootNode/rootNodeDecorator.js +31 -0
  880. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -0
  881. package/cjs/lib/styles/ColorFactory.js +12 -8
  882. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  883. package/cjs/lib/styles/ColorFunctions.js +2 -2
  884. package/cjs/lib/styles/ColorFunctions.js.map +1 -1
  885. package/cjs/lib/styles/ColorHelpers.js +1 -1
  886. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  887. package/cjs/lib/styles/ColorKeywords.js.map +1 -1
  888. package/cjs/lib/styles/ColorObject.js +3 -3
  889. package/cjs/lib/styles/ColorObject.js.map +1 -1
  890. package/cjs/lib/styles/DimensionFunctions.js.map +1 -1
  891. package/cjs/lib/styles/HoldSelectionColor.js +2 -2
  892. package/cjs/lib/styles/HoldSelectionColor.js.map +1 -1
  893. package/cjs/lib/styles/Mixins.js +3 -3
  894. package/cjs/lib/styles/Mixins.js.map +1 -1
  895. package/cjs/lib/taskWithDelayAndMinimalDuration.d.ts +21 -0
  896. package/cjs/lib/taskWithDelayAndMinimalDuration.js +80 -0
  897. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -0
  898. package/cjs/lib/theming/AnimationKeyframes.d.ts +7 -6
  899. package/cjs/lib/theming/AnimationKeyframes.js +7 -7
  900. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  901. package/cjs/lib/theming/Emotion.d.ts +11 -10
  902. package/cjs/lib/theming/Emotion.js +15 -19
  903. package/cjs/lib/theming/Emotion.js.map +1 -1
  904. package/cjs/lib/theming/Theme.js +1 -1
  905. package/cjs/lib/theming/ThemeContext.js.map +1 -1
  906. package/cjs/lib/theming/ThemeContext.md +278 -248
  907. package/cjs/lib/theming/ThemeFactory.d.ts +0 -1
  908. package/cjs/lib/theming/ThemeFactory.js +4 -14
  909. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  910. package/cjs/lib/theming/ThemeHelpers.d.ts +0 -6
  911. package/cjs/lib/theming/ThemeHelpers.js +2 -38
  912. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  913. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
  914. package/cjs/lib/theming/themes/DarkTheme.js +4 -0
  915. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -0
  916. package/cjs/lib/theming/themes/DefaultTheme.js +3 -2
  917. package/cjs/lib/theming/themes/DefaultTheme.js.map +1 -1
  918. package/cjs/lib/theming/themes/DefaultTheme8pxOld.d.ts +1 -0
  919. package/cjs/lib/theming/themes/DefaultTheme8pxOld.js +8 -0
  920. package/cjs/lib/theming/themes/DefaultTheme8pxOld.js.map +1 -0
  921. package/cjs/lib/theming/themes/DefaultThemeMobile.d.ts +3 -0
  922. package/cjs/lib/theming/themes/DefaultThemeMobile.js +9 -0
  923. package/cjs/lib/theming/themes/DefaultThemeMobile.js.map +1 -0
  924. package/cjs/lib/theming/themes/FlatTheme8pxOld.d.ts +1 -0
  925. package/cjs/lib/theming/themes/FlatTheme8pxOld.js +5 -0
  926. package/cjs/lib/theming/themes/FlatTheme8pxOld.js.map +1 -0
  927. package/cjs/lib/utils.d.ts +15 -0
  928. package/cjs/lib/utils.js +43 -7
  929. package/cjs/lib/utils.js.map +1 -1
  930. package/cjs/lib/withClassWrapper.d.ts +71 -0
  931. package/cjs/lib/withClassWrapper.js +59 -0
  932. package/cjs/lib/withClassWrapper.js.map +1 -0
  933. package/cjs/typings/console.d.ts +3 -3
  934. package/cjs/typings/event-types.d.ts +4 -4
  935. package/cjs/typings/fonts.d.ts +12 -12
  936. package/cjs/typings/global.d.ts +6 -6
  937. package/cjs/typings/images.d.ts +1 -1
  938. package/cjs/typings/normalize-wheel.d.ts +5 -5
  939. package/cjs/typings/stories.d.ts +7 -0
  940. package/cjs/typings/stylis-plugin-extra-scope.d.ts +3 -3
  941. package/cjs/typings/utility-types.d.ts +14 -14
  942. package/components/Autocomplete/Autocomplete/Autocomplete.js +119 -55
  943. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  944. package/components/Autocomplete/Autocomplete.d.ts +15 -2
  945. package/components/Autocomplete/Autocomplete.md +7 -7
  946. package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js +10 -0
  947. package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js.map +1 -0
  948. package/components/Autocomplete/Autocomplete.styles/package.json +6 -0
  949. package/components/Autocomplete/Autocomplete.styles.d.ts +4 -0
  950. package/components/Autocomplete/index/index.js.map +1 -1
  951. package/components/Button/Button/Button.js +138 -80
  952. package/components/Button/Button/Button.js.map +1 -1
  953. package/components/Button/Button.d.ts +76 -14
  954. package/components/Button/Button.md +104 -89
  955. package/components/Button/Button.mixins/Button.mixins.js +22 -63
  956. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  957. package/components/Button/Button.mixins.d.ts +6 -5
  958. package/components/Button/Button.styles/Button.styles.js +122 -457
  959. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  960. package/components/Button/Button.styles.d.ts +58 -29
  961. package/components/Button/Corners/Corners.js.map +1 -1
  962. package/components/Button/index/index.js.map +1 -1
  963. package/components/Center/Center/Center.js +22 -18
  964. package/components/Center/Center/Center.js.map +1 -1
  965. package/components/Center/Center.d.ts +5 -8
  966. package/components/Center/Center.md +26 -5
  967. package/components/Center/Center.styles/Center.styles.js +8 -57
  968. package/components/Center/Center.styles/Center.styles.js.map +1 -1
  969. package/components/Center/Center.styles.d.ts +1 -1
  970. package/components/Center/index/index.js.map +1 -1
  971. package/components/Checkbox/Checkbox/Checkbox.js +65 -59
  972. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  973. package/components/Checkbox/Checkbox.d.ts +34 -17
  974. package/components/Checkbox/Checkbox.md +104 -63
  975. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +39 -176
  976. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  977. package/components/Checkbox/Checkbox.styles.d.ts +17 -11
  978. package/components/Checkbox/index/index.js.map +1 -1
  979. package/components/ComboBox/ComboBox/ComboBox.js +45 -38
  980. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  981. package/components/ComboBox/ComboBox.d.ts +16 -3
  982. package/components/ComboBox/ComboBox.md +445 -432
  983. package/components/ComboBox/index/index.js.map +1 -1
  984. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +2 -1
  985. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  986. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +87 -38
  987. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  988. package/components/CurrencyInput/CurrencyInput.d.ts +9 -5
  989. package/components/CurrencyInput/CurrencyInput.md +24 -20
  990. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
  991. package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js.map +1 -1
  992. package/components/CurrencyInput/CursorHelper/CursorHelper.js +15 -19
  993. package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
  994. package/components/CurrencyInput/SelectionHelper/SelectionHelper.js.map +1 -1
  995. package/components/CurrencyInput/constants/constants.js.map +1 -1
  996. package/components/CurrencyInput/index/index.js.map +1 -1
  997. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  998. package/components/CurrencyLabel/CurrencyLabel.d.ts +1 -3
  999. package/components/CurrencyLabel/CurrencyLabel.md +23 -23
  1000. package/components/CurrencyLabel/index/index.js.map +1 -1
  1001. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +6 -7
  1002. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  1003. package/components/DateInput/DateFragmentsView.d.ts +1 -1
  1004. package/components/DateInput/DateFragmentsView.styles/DateFragmentsView.styles.js +7 -46
  1005. package/components/DateInput/DateFragmentsView.styles/DateFragmentsView.styles.js.map +1 -1
  1006. package/components/DateInput/DateFragmentsView.styles.d.ts +5 -4
  1007. package/components/DateInput/DateInput/DateInput.js +21 -13
  1008. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  1009. package/components/DateInput/DateInput.d.ts +8 -0
  1010. package/components/DateInput/DateInput.md +106 -104
  1011. package/components/DateInput/DateInput.styles/DateInput.styles.js +13 -55
  1012. package/components/DateInput/DateInput.styles/DateInput.styles.js.map +1 -1
  1013. package/components/DateInput/DateInput.styles.d.ts +9 -6
  1014. package/components/DateInput/ViewDateInputValidateChecks/ViewDateInputValidateChecks.js.map +1 -1
  1015. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
  1016. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  1017. package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  1018. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +1 -1
  1019. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  1020. package/components/DateInput/helpers/inputNumber/inputNumber.js.map +1 -1
  1021. package/components/DateInput/helpers/inputNumber.d.ts +3 -3
  1022. package/components/DateInput/index/index.js.map +1 -1
  1023. package/components/DatePicker/DatePicker/DatePicker.js +74 -45
  1024. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  1025. package/components/DatePicker/DatePicker.d.ts +25 -8
  1026. package/components/DatePicker/DatePicker.md +307 -312
  1027. package/components/DatePicker/DatePicker.styles/DatePicker.styles.js +4 -13
  1028. package/components/DatePicker/DatePicker.styles/DatePicker.styles.js.map +1 -1
  1029. package/components/DatePicker/DatePicker.styles.d.ts +1 -1
  1030. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
  1031. package/components/DatePicker/Picker/Picker.js +4 -6
  1032. package/components/DatePicker/Picker/Picker.js.map +1 -1
  1033. package/components/DatePicker/Picker.styles/Picker.styles.js +5 -24
  1034. package/components/DatePicker/Picker.styles/Picker.styles.js.map +1 -1
  1035. package/components/DatePicker/Picker.styles.d.ts +4 -3
  1036. package/components/DatePicker/index/index.js.map +1 -1
  1037. package/components/DatePicker/locale/index/index.js.map +1 -1
  1038. package/components/DatePicker/locale/locales/en/en.js.map +1 -1
  1039. package/components/DatePicker/locale/locales/ru/ru.js.map +1 -1
  1040. package/components/DatePicker/locale/types/types.js +1 -0
  1041. package/components/Dropdown/Dropdown/Dropdown.js +40 -38
  1042. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  1043. package/components/Dropdown/Dropdown.d.ts +6 -4
  1044. package/components/Dropdown/Dropdown.md +11 -12
  1045. package/components/Dropdown/index/index.js.map +1 -1
  1046. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +17 -11
  1047. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  1048. package/components/DropdownMenu/DropdownMenu.d.ts +20 -3
  1049. package/components/DropdownMenu/DropdownMenu.md +154 -73
  1050. package/components/DropdownMenu/index/index.js.map +1 -1
  1051. package/components/FxInput/FxInput/FxInput.js +16 -10
  1052. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  1053. package/components/FxInput/FxInput.d.ts +3 -2
  1054. package/components/FxInput/FxInput.md +16 -13
  1055. package/components/FxInput/index/index.js.map +1 -1
  1056. package/components/Gapped/Gapped/Gapped.js +43 -31
  1057. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  1058. package/components/Gapped/Gapped.d.ts +5 -3
  1059. package/components/Gapped/Gapped.md +43 -43
  1060. package/components/Gapped/index/index.js.map +1 -1
  1061. package/components/Group/Group/Group.js +17 -12
  1062. package/components/Group/Group/Group.js.map +1 -1
  1063. package/components/Group/Group.d.ts +1 -0
  1064. package/components/Group/Group.md +18 -26
  1065. package/components/Group/Group.styles/Group.styles.js +9 -68
  1066. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  1067. package/components/Group/Group.styles.d.ts +1 -1
  1068. package/components/Group/index/index.js.map +1 -1
  1069. package/components/Hint/Hint/Hint.js +55 -24
  1070. package/components/Hint/Hint/Hint.js.map +1 -1
  1071. package/components/Hint/Hint.d.ts +44 -2
  1072. package/components/Hint/Hint.md +42 -3
  1073. package/components/Hint/Hint.styles/Hint.styles.js +10 -26
  1074. package/components/Hint/Hint.styles/Hint.styles.js.map +1 -1
  1075. package/components/Hint/Hint.styles.d.ts +5 -3
  1076. package/components/Hint/index/index.js.map +1 -1
  1077. package/components/Input/Input/Input.js +85 -59
  1078. package/components/Input/Input/Input.js.map +1 -1
  1079. package/components/Input/Input.d.ts +16 -3
  1080. package/components/Input/Input.md +13 -13
  1081. package/components/Input/Input.styles/Input.styles.js +65 -355
  1082. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  1083. package/components/Input/Input.styles.d.ts +36 -27
  1084. package/components/Input/index/index.js.map +1 -1
  1085. package/components/Kebab/Kebab/Kebab.js +35 -55
  1086. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  1087. package/components/Kebab/Kebab.d.ts +11 -2
  1088. package/components/Kebab/Kebab.md +278 -45
  1089. package/components/Kebab/Kebab.styles/Kebab.styles.js +17 -93
  1090. package/components/Kebab/Kebab.styles/Kebab.styles.js.map +1 -1
  1091. package/components/Kebab/Kebab.styles.d.ts +7 -5
  1092. package/components/Kebab/__stories__/Kebab.items/Kebab.items.js.map +1 -1
  1093. package/components/Kebab/index/index.js.map +1 -1
  1094. package/components/Link/Link/Link.js +32 -35
  1095. package/components/Link/Link/Link.js.map +1 -1
  1096. package/components/Link/Link.d.ts +30 -11
  1097. package/components/Link/Link.md +77 -11
  1098. package/components/Link/Link.mixins/Link.mixins.js +1 -1
  1099. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  1100. package/components/Link/Link.styles/Link.styles.js +18 -124
  1101. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  1102. package/components/Link/Link.styles.d.ts +12 -10
  1103. package/components/Link/index/index.js.map +1 -1
  1104. package/components/Loader/Loader/Loader.js +201 -61
  1105. package/components/Loader/Loader/Loader.js.map +1 -1
  1106. package/components/Loader/Loader.d.ts +35 -3
  1107. package/components/Loader/Loader.md +25 -25
  1108. package/components/Loader/Loader.styles/Loader.styles.js +8 -83
  1109. package/components/Loader/Loader.styles/Loader.styles.js.map +1 -1
  1110. package/components/Loader/Loader.styles.d.ts +3 -4
  1111. package/components/Loader/__stories__/LoaderAndButton/LoaderAndButton.js.map +1 -1
  1112. package/components/Loader/index/index.js.map +1 -1
  1113. package/components/MenuHeader/MenuHeader/MenuHeader.js +12 -7
  1114. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  1115. package/components/MenuHeader/MenuHeader.d.ts +6 -2
  1116. package/components/MenuHeader/MenuHeader.md +23 -0
  1117. package/components/MenuHeader/MenuHeader.styles/MenuHeader.styles.js +8 -25
  1118. package/components/MenuHeader/MenuHeader.styles/MenuHeader.styles.js.map +1 -1
  1119. package/components/MenuHeader/MenuHeader.styles.d.ts +4 -3
  1120. package/components/MenuHeader/index/index.js.map +1 -1
  1121. package/components/MenuItem/MenuItem/MenuItem.js +30 -20
  1122. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  1123. package/components/MenuItem/MenuItem.d.ts +53 -7
  1124. package/components/MenuItem/MenuItem.md +109 -7
  1125. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +24 -116
  1126. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  1127. package/components/MenuItem/MenuItem.styles.d.ts +12 -10
  1128. package/components/MenuItem/index/index.js.map +1 -1
  1129. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +6 -4
  1130. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  1131. package/components/MenuSeparator/MenuSeparator.d.ts +3 -2
  1132. package/components/MenuSeparator/MenuSeparator.md +14 -0
  1133. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js +4 -13
  1134. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js.map +1 -1
  1135. package/components/MenuSeparator/MenuSeparator.styles.d.ts +3 -2
  1136. package/components/MenuSeparator/index/index.js.map +1 -1
  1137. package/components/Modal/Modal/Modal.js +98 -73
  1138. package/components/Modal/Modal/Modal.js.map +1 -1
  1139. package/components/Modal/Modal.d.ts +7 -3
  1140. package/components/Modal/Modal.md +38 -37
  1141. package/components/Modal/Modal.styles/Modal.styles.js +85 -271
  1142. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  1143. package/components/Modal/Modal.styles.d.ts +32 -18
  1144. package/components/Modal/ModalBody/ModalBody.js +50 -18
  1145. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  1146. package/components/Modal/ModalBody.d.ts +5 -0
  1147. package/components/Modal/ModalClose/ModalClose.js +41 -11
  1148. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  1149. package/components/Modal/ModalClose.d.ts +1 -2
  1150. package/components/Modal/ModalContext/ModalContext.js.map +1 -1
  1151. package/components/Modal/ModalContext.d.ts +5 -1
  1152. package/components/Modal/ModalFooter/ModalFooter.js +26 -31
  1153. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  1154. package/components/Modal/ModalHeader/ModalHeader.js +33 -35
  1155. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  1156. package/components/Modal/index/index.js.map +1 -1
  1157. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  1158. package/components/Paging/NavigationHelper.d.ts +1 -1
  1159. package/components/Paging/Paging/Paging.js +44 -44
  1160. package/components/Paging/Paging/Paging.js.map +1 -1
  1161. package/components/Paging/Paging.d.ts +3 -3
  1162. package/components/Paging/Paging.md +43 -43
  1163. package/components/Paging/Paging.styles/Paging.styles.js +21 -150
  1164. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  1165. package/components/Paging/Paging.styles.d.ts +12 -11
  1166. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  1167. package/components/Paging/index/index.js.map +1 -1
  1168. package/components/Paging/locale/index/index.js.map +1 -1
  1169. package/components/Paging/locale/locales/en/en.js.map +1 -1
  1170. package/components/Paging/locale/locales/ru/ru.js.map +1 -1
  1171. package/components/Paging/locale/types/types.js +1 -0
  1172. package/components/PasswordInput/PasswordInput/PasswordInput.js +55 -26
  1173. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  1174. package/components/PasswordInput/PasswordInput.d.ts +5 -2
  1175. package/components/PasswordInput/PasswordInput.md +9 -9
  1176. package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js +17 -47
  1177. package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js.map +1 -1
  1178. package/components/PasswordInput/PasswordInput.styles.d.ts +6 -2
  1179. package/components/PasswordInput/index/index.js.map +1 -1
  1180. package/components/Radio/Radio/Radio.js +80 -43
  1181. package/components/Radio/Radio/Radio.js.map +1 -1
  1182. package/components/Radio/Radio.d.ts +43 -24
  1183. package/components/Radio/Radio.md +38 -14
  1184. package/components/Radio/Radio.styles/Radio.styles.js +45 -143
  1185. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  1186. package/components/Radio/Radio.styles.d.ts +18 -11
  1187. package/components/Radio/index/index.js.map +1 -1
  1188. package/components/RadioGroup/Prevent/Prevent.js.map +1 -1
  1189. package/components/RadioGroup/RadioGroup/RadioGroup.js +57 -129
  1190. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  1191. package/components/RadioGroup/RadioGroup.d.ts +52 -77
  1192. package/components/RadioGroup/RadioGroup.md +43 -43
  1193. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +7 -46
  1194. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  1195. package/components/RadioGroup/RadioGroup.styles.d.ts +3 -2
  1196. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js +12 -0
  1197. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js.map +1 -0
  1198. package/components/RadioGroup/RadioGroupContext/package.json +6 -0
  1199. package/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  1200. package/components/RadioGroup/index/index.js.map +1 -1
  1201. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +19 -0
  1202. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -0
  1203. package/components/ResponsiveLayout/ResponsiveLayout/package.json +6 -0
  1204. package/components/ResponsiveLayout/ResponsiveLayout.d.ts +11 -0
  1205. package/components/ResponsiveLayout/ResponsiveLayout.md +43 -0
  1206. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +83 -0
  1207. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -0
  1208. package/components/ResponsiveLayout/ResponsiveLayoutEvents/package.json +6 -0
  1209. package/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +11 -0
  1210. package/components/ResponsiveLayout/decorator/decorator.js +61 -0
  1211. package/components/ResponsiveLayout/decorator/decorator.js.map +1 -0
  1212. package/components/ResponsiveLayout/decorator/package.json +6 -0
  1213. package/components/ResponsiveLayout/decorator.d.ts +33 -0
  1214. package/components/ResponsiveLayout/index/index.js +3 -0
  1215. package/components/ResponsiveLayout/index/index.js.map +1 -0
  1216. package/components/ResponsiveLayout/index/package.json +6 -0
  1217. package/components/ResponsiveLayout/index.d.ts +3 -0
  1218. package/components/ResponsiveLayout/package.json +6 -0
  1219. package/components/ResponsiveLayout/types/package.json +6 -0
  1220. package/components/ResponsiveLayout/types/types.js +1 -0
  1221. package/components/ResponsiveLayout/types/types.js.map +1 -0
  1222. package/components/ResponsiveLayout/types.d.ts +3 -0
  1223. package/components/ResponsiveLayout/useResponsiveLayout/package.json +6 -0
  1224. package/components/ResponsiveLayout/useResponsiveLayout/useResponsiveLayout.js +55 -0
  1225. package/components/ResponsiveLayout/useResponsiveLayout/useResponsiveLayout.js.map +1 -0
  1226. package/components/ResponsiveLayout/useResponsiveLayout.d.ts +2 -0
  1227. package/components/ScrollContainer/ScrollBar/ScrollBar.js +251 -0
  1228. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -0
  1229. package/components/ScrollContainer/ScrollBar/package.json +6 -0
  1230. package/components/ScrollContainer/ScrollBar.d.ts +37 -0
  1231. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +139 -216
  1232. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  1233. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +31 -0
  1234. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -0
  1235. package/components/ScrollContainer/ScrollContainer.constants/package.json +6 -0
  1236. package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -0
  1237. package/components/ScrollContainer/ScrollContainer.d.ts +44 -23
  1238. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js +55 -0
  1239. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js.map +1 -0
  1240. package/components/ScrollContainer/ScrollContainer.helpers/package.json +6 -0
  1241. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -0
  1242. package/components/ScrollContainer/ScrollContainer.md +143 -94
  1243. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +27 -62
  1244. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  1245. package/components/ScrollContainer/ScrollContainer.styles.d.ts +13 -4
  1246. package/components/ScrollContainer/index/index.js.map +1 -1
  1247. package/components/Select/Item/Item.js.map +1 -1
  1248. package/components/Select/Select/Select.js +184 -125
  1249. package/components/Select/Select/Select.js.map +1 -1
  1250. package/components/Select/Select.d.ts +19 -5
  1251. package/components/Select/Select.md +67 -55
  1252. package/components/Select/Select.styles/Select.styles.js +35 -106
  1253. package/components/Select/Select.styles/Select.styles.js.map +1 -1
  1254. package/components/Select/Select.styles.d.ts +13 -6
  1255. package/components/Select/index/index.js.map +1 -1
  1256. package/components/Select/locale/index/index.js.map +1 -1
  1257. package/components/Select/locale/locales/en/en.js.map +1 -1
  1258. package/components/Select/locale/locales/ru/ru.js.map +1 -1
  1259. package/components/Select/locale/types/types.js +1 -0
  1260. package/components/Select/selectTheme/selectTheme.js +5 -4
  1261. package/components/Select/selectTheme/selectTheme.js.map +1 -1
  1262. package/components/Select/selectTheme.d.ts +2 -1
  1263. package/components/SidePage/SidePage/SidePage.js +122 -71
  1264. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  1265. package/components/SidePage/SidePage.d.ts +21 -1
  1266. package/components/SidePage/SidePage.md +48 -48
  1267. package/components/SidePage/SidePage.styles/SidePage.styles.js +99 -301
  1268. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  1269. package/components/SidePage/SidePage.styles.d.ts +37 -18
  1270. package/components/SidePage/SidePageBody/SidePageBody.js +28 -14
  1271. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  1272. package/components/SidePage/SidePageBody.d.ts +2 -0
  1273. package/components/SidePage/SidePageContainer/SidePageContainer.js +41 -13
  1274. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  1275. package/components/SidePage/SidePageContainer.d.ts +4 -0
  1276. package/components/SidePage/SidePageContext/SidePageContext.js.map +1 -1
  1277. package/components/SidePage/SidePageContext.d.ts +6 -0
  1278. package/components/SidePage/SidePageFooter/SidePageFooter.js +55 -25
  1279. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  1280. package/components/SidePage/SidePageFooter.d.ts +5 -2
  1281. package/components/SidePage/SidePageHeader/SidePageHeader.js +96 -45
  1282. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  1283. package/components/SidePage/SidePageHeader.d.ts +12 -4
  1284. package/components/SidePage/index/index.js.map +1 -1
  1285. package/components/Spinner/Spinner/Spinner.js +31 -27
  1286. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  1287. package/components/Spinner/Spinner.d.ts +2 -0
  1288. package/components/Spinner/Spinner.md +34 -34
  1289. package/components/Spinner/Spinner.styles/Spinner.styles.js +14 -90
  1290. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  1291. package/components/Spinner/Spinner.styles.d.ts +9 -7
  1292. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +6 -5
  1293. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  1294. package/components/Spinner/SpinnerFallbackAnimation.d.ts +4 -4
  1295. package/components/Spinner/index/index.js.map +1 -1
  1296. package/components/Spinner/locale/index/index.js.map +1 -1
  1297. package/components/Spinner/locale/locales/en/en.js.map +1 -1
  1298. package/components/Spinner/locale/locales/ru/ru.js.map +1 -1
  1299. package/components/Spinner/locale/types/types.js +1 -0
  1300. package/components/Sticky/Sticky/Sticky.js +23 -21
  1301. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  1302. package/components/Sticky/Sticky.d.ts +1 -0
  1303. package/components/Sticky/Sticky.md +27 -27
  1304. package/components/Sticky/Sticky.styles/Sticky.styles.js +8 -57
  1305. package/components/Sticky/Sticky.styles/Sticky.styles.js.map +1 -1
  1306. package/components/Sticky/Sticky.styles.d.ts +1 -1
  1307. package/components/Sticky/index/index.js.map +1 -1
  1308. package/components/Switcher/Switcher/Switcher.js +25 -20
  1309. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  1310. package/components/Switcher/Switcher.d.ts +3 -2
  1311. package/components/Switcher/Switcher.md +10 -10
  1312. package/components/Switcher/Switcher.styles/Switcher.styles.js +17 -83
  1313. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  1314. package/components/Switcher/Switcher.styles.d.ts +8 -6
  1315. package/components/Switcher/index/index.js.map +1 -1
  1316. package/components/Switcher/switcherTheme/switcherTheme.js.map +1 -1
  1317. package/components/Switcher/switcherTheme.d.ts +2 -1
  1318. package/components/Tabs/Indicator/Indicator.js +22 -25
  1319. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  1320. package/components/Tabs/Indicator.d.ts +2 -2
  1321. package/components/Tabs/Indicator.styles/Indicator.styles.js +8 -57
  1322. package/components/Tabs/Indicator.styles/Indicator.styles.js.map +1 -1
  1323. package/components/Tabs/Indicator.styles.d.ts +7 -6
  1324. package/components/Tabs/Tab/Tab.js +44 -61
  1325. package/components/Tabs/Tab/Tab.js.map +1 -1
  1326. package/components/Tabs/Tab.d.ts +9 -13
  1327. package/components/Tabs/Tab.styles/Tab.styles.js +48 -107
  1328. package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
  1329. package/components/Tabs/Tab.styles.d.ts +26 -10
  1330. package/components/Tabs/Tabs/Tabs.js +24 -27
  1331. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  1332. package/components/Tabs/Tabs.d.ts +5 -5
  1333. package/components/Tabs/Tabs.md +36 -36
  1334. package/components/Tabs/Tabs.styles/Tabs.styles.js +7 -26
  1335. package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
  1336. package/components/Tabs/Tabs.styles.d.ts +4 -3
  1337. package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  1338. package/components/Tabs/TabsContext.d.ts +8 -8
  1339. package/components/Tabs/index/index.js.map +1 -1
  1340. package/components/Textarea/Textarea/Textarea.js +60 -42
  1341. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  1342. package/components/Textarea/Textarea.d.ts +12 -4
  1343. package/components/Textarea/Textarea.md +25 -25
  1344. package/components/Textarea/Textarea.styles/Textarea.styles.js +18 -124
  1345. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  1346. package/components/Textarea/Textarea.styles.d.ts +10 -8
  1347. package/components/Textarea/TextareaCounter/TextareaCounter.js +6 -6
  1348. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  1349. package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
  1350. package/components/Textarea/index/index.js.map +1 -1
  1351. package/components/Toast/Toast/Toast.js +45 -30
  1352. package/components/Toast/Toast/Toast.js.map +1 -1
  1353. package/components/Toast/Toast.d.ts +14 -9
  1354. package/components/Toast/Toast.md +41 -41
  1355. package/components/Toast/Toast.styles/Toast.styles.js +7 -46
  1356. package/components/Toast/Toast.styles/Toast.styles.js.map +1 -1
  1357. package/components/Toast/Toast.styles.d.ts +1 -1
  1358. package/components/Toast/ToastStatic/ToastStatic.js +0 -1
  1359. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  1360. package/components/Toast/ToastView/ToastView.js +22 -16
  1361. package/components/Toast/ToastView/ToastView.js.map +1 -1
  1362. package/components/Toast/ToastView.d.ts +1 -0
  1363. package/components/Toast/ToastView.styles/ToastView.styles.js +30 -57
  1364. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  1365. package/components/Toast/ToastView.styles.d.ts +6 -5
  1366. package/components/Toast/index/index.js.map +1 -1
  1367. package/components/Toggle/Toggle/Toggle.js +51 -34
  1368. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  1369. package/components/Toggle/Toggle.d.ts +49 -1
  1370. package/components/Toggle/Toggle.md +94 -24
  1371. package/components/Toggle/Toggle.styles/Toggle.styles.js +49 -162
  1372. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  1373. package/components/Toggle/Toggle.styles.d.ts +27 -13
  1374. package/components/Toggle/index/index.js.map +1 -1
  1375. package/components/Token/Token/Token.js +21 -16
  1376. package/components/Token/Token/Token.js.map +1 -1
  1377. package/components/Token/Token.d.ts +9 -2
  1378. package/components/Token/Token.md +112 -112
  1379. package/components/Token/Token.styles/Token.styles.js +18 -114
  1380. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  1381. package/components/Token/Token.styles.d.ts +27 -23
  1382. package/components/Token/index/index.js.map +1 -1
  1383. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js +5 -5
  1384. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
  1385. package/components/TokenInput/TokenInput/TokenInput.js +100 -60
  1386. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  1387. package/components/TokenInput/TokenInput.d.ts +27 -0
  1388. package/components/TokenInput/TokenInput.md +79 -77
  1389. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +24 -161
  1390. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  1391. package/components/TokenInput/TokenInput.styles.d.ts +14 -15
  1392. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +11 -5
  1393. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  1394. package/components/TokenInput/TokenInputMenu.d.ts +4 -1
  1395. package/components/TokenInput/TokenInputReducer/TokenInputReducer.js.map +1 -1
  1396. package/components/TokenInput/index/index.js.map +1 -1
  1397. package/components/TokenInput/locale/index/index.js.map +1 -1
  1398. package/components/TokenInput/locale/locales/en/en.js.map +1 -1
  1399. package/components/TokenInput/locale/locales/ru/ru.js.map +1 -1
  1400. package/components/TokenInput/locale/types/types.js +1 -0
  1401. package/components/Tooltip/Tooltip/Tooltip.js +65 -33
  1402. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  1403. package/components/Tooltip/Tooltip.d.ts +9 -4
  1404. package/components/Tooltip/Tooltip.md +293 -301
  1405. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +6 -25
  1406. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  1407. package/components/Tooltip/Tooltip.styles.d.ts +4 -3
  1408. package/components/Tooltip/index/index.js.map +1 -1
  1409. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +27 -20
  1410. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  1411. package/components/TooltipMenu/TooltipMenu.d.ts +27 -9
  1412. package/components/TooltipMenu/TooltipMenu.md +183 -115
  1413. package/components/TooltipMenu/index/index.js.map +1 -1
  1414. package/index.d.ts +4 -3
  1415. package/index.js +4 -3
  1416. package/index.js.map +1 -1
  1417. package/internal/BGRuler/BGRuler.js +5 -5
  1418. package/internal/BGRuler/BGRuler.js.map +1 -1
  1419. package/internal/Calendar/Calendar/Calendar.js +81 -42
  1420. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  1421. package/internal/Calendar/Calendar.d.ts +6 -0
  1422. package/internal/Calendar/Calendar.styles/Calendar.styles.js +6 -24
  1423. package/internal/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
  1424. package/internal/Calendar/Calendar.styles.d.ts +3 -2
  1425. package/internal/Calendar/CalendarDateShape/CalendarDateShape.js.map +1 -1
  1426. package/internal/Calendar/CalendarScrollEvents/CalendarScrollEvents.js.map +1 -1
  1427. package/internal/Calendar/CalendarUtils/CalendarUtils.js +13 -13
  1428. package/internal/Calendar/CalendarUtils/CalendarUtils.js.map +1 -1
  1429. package/internal/Calendar/CalendarUtils.d.ts +5 -4
  1430. package/internal/Calendar/DayCellView/DayCellView.js +4 -13
  1431. package/internal/Calendar/DayCellView/DayCellView.js.map +1 -1
  1432. package/internal/Calendar/DayCellView.d.ts +0 -1
  1433. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js +7 -46
  1434. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  1435. package/internal/Calendar/DayCellView.styles.d.ts +6 -5
  1436. package/internal/Calendar/DayCellViewModel/DayCellViewModel.js +0 -4
  1437. package/internal/Calendar/DayCellViewModel/DayCellViewModel.js.map +1 -1
  1438. package/internal/Calendar/Month/Month.js +33 -11
  1439. package/internal/Calendar/Month/Month.js.map +1 -1
  1440. package/internal/Calendar/Month.d.ts +2 -0
  1441. package/internal/Calendar/MonthView/MonthView.js +18 -15
  1442. package/internal/Calendar/MonthView/MonthView.js.map +1 -1
  1443. package/internal/Calendar/MonthView.styles/MonthView.styles.js +18 -60
  1444. package/internal/Calendar/MonthView.styles/MonthView.styles.js.map +1 -1
  1445. package/internal/Calendar/MonthView.styles.d.ts +9 -6
  1446. package/internal/Calendar/MonthViewModel/MonthViewModel.js +41 -38
  1447. package/internal/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  1448. package/internal/Calendar/MonthViewModel.d.ts +2 -1
  1449. package/internal/Calendar/config/config.js +15 -27
  1450. package/internal/Calendar/config/config.js.map +1 -1
  1451. package/internal/Calendar/config.d.ts +3 -18
  1452. package/internal/Calendar/index/index.js.map +1 -1
  1453. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +40 -12
  1454. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  1455. package/internal/CommonWrapper/CommonWrapper.d.ts +19 -3
  1456. package/internal/CommonWrapper/index/index.js.map +1 -1
  1457. package/internal/ComponentCombinator/ComponentCombinator.js.map +1 -1
  1458. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  1459. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +41 -16
  1460. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  1461. package/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
  1462. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +178 -103
  1463. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  1464. package/internal/CustomComboBox/ComboBoxView.d.ts +24 -1
  1465. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +33 -23
  1466. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  1467. package/internal/CustomComboBox/CustomComboBox.d.ts +11 -1
  1468. package/internal/CustomComboBox/CustomComboBox.styles/CustomComboBox.styles.js +7 -36
  1469. package/internal/CustomComboBox/CustomComboBox.styles/CustomComboBox.styles.js.map +1 -1
  1470. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +2 -2
  1471. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +5 -4
  1472. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  1473. package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js.map +1 -1
  1474. package/internal/CustomComboBox/index/index.js.map +1 -1
  1475. package/internal/CustomComboBox/locale/index/index.js.map +1 -1
  1476. package/internal/CustomComboBox/locale/locales/en/en.js.map +1 -1
  1477. package/internal/CustomComboBox/locale/locales/ru/ru.js.map +1 -1
  1478. package/internal/CustomComboBox/locale/types/types.js +1 -0
  1479. package/internal/DateSelect/DateSelect/DateSelect.js +60 -27
  1480. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  1481. package/internal/DateSelect/DateSelect.d.ts +5 -2
  1482. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +21 -180
  1483. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
  1484. package/internal/DateSelect/DateSelect.styles.d.ts +12 -11
  1485. package/internal/DateSelect/index/index.js.map +1 -1
  1486. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +10 -16
  1487. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  1488. package/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
  1489. package/internal/DropdownContainer/index/index.js.map +1 -1
  1490. package/internal/FocusTrap/FocusTrap/FocusTrap.js +16 -9
  1491. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  1492. package/internal/FocusTrap/FocusTrap.d.ts +1 -0
  1493. package/internal/FocusTrap/index/index.js.map +1 -1
  1494. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +29 -65
  1495. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  1496. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -3
  1497. package/internal/HideBodyVerticalScroll/index/index.js.map +1 -1
  1498. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +12 -7
  1499. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  1500. package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +1 -1
  1501. package/internal/IgnoreLayerClick/index/index.js.map +1 -1
  1502. package/internal/InputLikeText/HiddenInput/HiddenInput.js +8 -15
  1503. package/internal/InputLikeText/HiddenInput/HiddenInput.js.map +1 -1
  1504. package/internal/InputLikeText/InputLikeText/InputLikeText.js +78 -49
  1505. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  1506. package/internal/InputLikeText/InputLikeText.d.ts +3 -1
  1507. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +9 -71
  1508. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  1509. package/internal/InputLikeText/InputLikeText.styles.d.ts +2 -3
  1510. package/internal/InputLikeText/index/index.js.map +1 -1
  1511. package/internal/InternalMenu/InternalMenu/InternalMenu.js +32 -39
  1512. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  1513. package/internal/InternalMenu/InternalMenu.d.ts +8 -4
  1514. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +10 -69
  1515. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  1516. package/internal/InternalMenu/InternalMenu.styles.d.ts +4 -3
  1517. package/internal/InternalMenu/index/index.js.map +1 -1
  1518. package/internal/InternalMenu/isActiveElement/isActiveElement.js.map +1 -1
  1519. package/internal/MaskCharLowLine/MaskCharLowLine/MaskCharLowLine.js +8 -8
  1520. package/internal/MaskCharLowLine/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  1521. package/internal/MaskCharLowLine/MaskCharLowLine.d.ts +0 -1
  1522. package/internal/MaskCharLowLine/MaskCharLowLine.styles/MaskCharLowLine.styles.js +4 -13
  1523. package/internal/MaskCharLowLine/MaskCharLowLine.styles/MaskCharLowLine.styles.js.map +1 -1
  1524. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +1 -1
  1525. package/internal/MaskCharLowLine/index/index.js.map +1 -1
  1526. package/internal/MaskedInput/MaskedInput/MaskedInput.js +14 -14
  1527. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  1528. package/internal/MaskedInput/MaskedInput.d.ts +2 -2
  1529. package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js +6 -35
  1530. package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js.map +1 -1
  1531. package/internal/MaskedInput/MaskedInput.styles.d.ts +3 -2
  1532. package/internal/MaskedInput/index/index.js.map +1 -1
  1533. package/internal/Menu/Menu/Menu.js +75 -70
  1534. package/internal/Menu/Menu/Menu.js.map +1 -1
  1535. package/internal/Menu/Menu.d.ts +6 -0
  1536. package/internal/Menu/Menu.styles/Menu.styles.js +8 -24
  1537. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  1538. package/internal/Menu/Menu.styles.d.ts +5 -3
  1539. package/internal/Menu/index/index.js.map +1 -1
  1540. package/internal/Menu/isActiveElement/isActiveElement.js.map +1 -1
  1541. package/internal/MobilePopup/MobilePopup/MobilePopup.js +111 -0
  1542. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -0
  1543. package/internal/MobilePopup/MobilePopup/package.json +6 -0
  1544. package/internal/MobilePopup/MobilePopup.d.ts +34 -0
  1545. package/internal/MobilePopup/MobilePopup.styles/MobilePopup.styles.js +29 -0
  1546. package/internal/MobilePopup/MobilePopup.styles/MobilePopup.styles.js.map +1 -0
  1547. package/internal/MobilePopup/MobilePopup.styles/package.json +6 -0
  1548. package/internal/MobilePopup/MobilePopup.styles.d.ts +10 -0
  1549. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +66 -0
  1550. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -0
  1551. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/package.json +6 -0
  1552. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +15 -0
  1553. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/MobilePopupHeader.styles.js +29 -0
  1554. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/MobilePopupHeader.styles.js.map +1 -0
  1555. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/package.json +6 -0
  1556. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +10 -0
  1557. package/internal/MobilePopup/MobilePopupHeader/index/index.js +1 -0
  1558. package/internal/MobilePopup/MobilePopupHeader/index/index.js.map +1 -0
  1559. package/internal/MobilePopup/MobilePopupHeader/index/package.json +6 -0
  1560. package/internal/MobilePopup/MobilePopupHeader/index.d.ts +1 -0
  1561. package/internal/MobilePopup/MobilePopupHeader/package.json +6 -0
  1562. package/internal/MobilePopup/index/index.js +1 -0
  1563. package/internal/MobilePopup/index/index.js.map +1 -0
  1564. package/internal/MobilePopup/index/package.json +6 -0
  1565. package/internal/MobilePopup/index.d.ts +1 -0
  1566. package/internal/MobilePopup/package.json +6 -0
  1567. package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js +66 -0
  1568. package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js.map +1 -0
  1569. package/internal/NativeDateInput/NativeDateInput/package.json +6 -0
  1570. package/internal/NativeDateInput/NativeDateInput.d.ts +23 -0
  1571. package/internal/NativeDateInput/NativeDateInput.styles/NativeDateInput.styles.js +11 -0
  1572. package/internal/NativeDateInput/NativeDateInput.styles/NativeDateInput.styles.js.map +1 -0
  1573. package/internal/NativeDateInput/NativeDateInput.styles/package.json +6 -0
  1574. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -0
  1575. package/internal/NativeDateInput/index/index.js +1 -0
  1576. package/internal/NativeDateInput/index/index.js.map +1 -0
  1577. package/internal/NativeDateInput/index/package.json +6 -0
  1578. package/internal/NativeDateInput/index.d.ts +1 -0
  1579. package/internal/NativeDateInput/package.json +6 -0
  1580. package/internal/NativeDateInput/utils/package.json +6 -0
  1581. package/internal/NativeDateInput/utils/utils.js +54 -0
  1582. package/internal/NativeDateInput/utils/utils.js.map +1 -0
  1583. package/internal/NativeDateInput/utils.d.ts +7 -0
  1584. package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js +0 -1
  1585. package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  1586. package/internal/Popup/Popup/Popup.js +223 -154
  1587. package/internal/Popup/Popup/Popup.js.map +1 -1
  1588. package/internal/Popup/Popup.d.ts +26 -4
  1589. package/internal/Popup/Popup.styles/Popup.styles.js +16 -145
  1590. package/internal/Popup/Popup.styles/Popup.styles.js.map +1 -1
  1591. package/internal/Popup/Popup.styles.d.ts +7 -6
  1592. package/internal/Popup/PopupHelper/PopupHelper.js +2 -1
  1593. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  1594. package/internal/Popup/PopupPin/PopupPin.js +18 -18
  1595. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  1596. package/internal/Popup/PopupPin.styles/PopupPin.styles.js +4 -13
  1597. package/internal/Popup/PopupPin.styles/PopupPin.styles.js.map +1 -1
  1598. package/internal/Popup/PopupPin.styles.d.ts +1 -1
  1599. package/internal/Popup/index/index.js.map +1 -1
  1600. package/internal/PopupMenu/PopupMenu/PopupMenu.js +23 -15
  1601. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  1602. package/internal/PopupMenu/PopupMenu.d.ts +4 -1
  1603. package/internal/PopupMenu/PopupMenu.styles/PopupMenu.styles.js +5 -24
  1604. package/internal/PopupMenu/PopupMenu.styles/PopupMenu.styles.js.map +1 -1
  1605. package/internal/PopupMenu/PopupMenu.styles.d.ts +1 -1
  1606. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +1 -1
  1607. package/internal/PopupMenu/index/index.js.map +1 -1
  1608. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  1609. package/internal/RenderContainer/RenderContainer/RenderContainer.js +5 -2
  1610. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  1611. package/internal/RenderContainer/RenderContainer.d.ts +1 -1
  1612. package/internal/RenderContainer/RenderContainerTypes/RenderContainerTypes.js +1 -0
  1613. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
  1614. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  1615. package/internal/RenderContainer/index/index.js.map +1 -1
  1616. package/internal/RenderLayer/RenderLayer/RenderLayer.js +19 -18
  1617. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  1618. package/internal/RenderLayer/RenderLayer.d.ts +4 -2
  1619. package/internal/RenderLayer/index/index.js.map +1 -1
  1620. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js +8 -4
  1621. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
  1622. package/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  1623. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js +9 -35
  1624. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js.map +1 -1
  1625. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +2 -1
  1626. package/internal/ResizeDetector/index/index.js.map +1 -1
  1627. package/internal/ThemePlayground/AnotherInputsPlayground/AnotherInputsPlayground.js.map +1 -1
  1628. package/internal/ThemePlayground/CheckboxPlayground/CheckboxPlayground.js +1 -5
  1629. package/internal/ThemePlayground/CheckboxPlayground/CheckboxPlayground.js.map +1 -1
  1630. package/internal/ThemePlayground/CheckboxPlayground.d.ts +0 -1
  1631. package/internal/ThemePlayground/ComponentsGroup/ComponentsGroup.js +3 -3
  1632. package/internal/ThemePlayground/ComponentsGroup/ComponentsGroup.js.map +1 -1
  1633. package/internal/ThemePlayground/ComponentsGroup.d.ts +1 -1
  1634. package/internal/ThemePlayground/CurrencyInputPlayground/CurrencyInputPlayground.js.map +1 -1
  1635. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js.map +1 -1
  1636. package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +1 -1
  1637. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js.map +1 -1
  1638. package/internal/ThemePlayground/Playground/Playground.js +25 -64
  1639. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  1640. package/internal/ThemePlayground/Playground.d.ts +0 -2
  1641. package/internal/ThemePlayground/Playground.md +7 -7
  1642. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +23 -222
  1643. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  1644. package/internal/ThemePlayground/Playground.styles.d.ts +12 -11
  1645. package/internal/ThemePlayground/RadioPlayground/RadioPlayground.js +1 -5
  1646. package/internal/ThemePlayground/RadioPlayground/RadioPlayground.js.map +1 -1
  1647. package/internal/ThemePlayground/RadioPlayground.d.ts +0 -1
  1648. package/internal/ThemePlayground/SelectPlayground/SelectPlayground.js.map +1 -1
  1649. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +7 -1
  1650. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  1651. package/internal/ThemePlayground/ShowcaseGroup.d.ts +0 -1
  1652. package/internal/ThemePlayground/SwitcherPlayground/SwitcherPlayground.js.map +1 -1
  1653. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +21 -21
  1654. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  1655. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +6 -6
  1656. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js +19 -24
  1657. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  1658. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js.map +1 -1
  1659. package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js +1 -1
  1660. package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js.map +1 -1
  1661. package/internal/ThemePlayground/VariableValue/VariableValue.js +11 -11
  1662. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  1663. package/internal/ThemePlayground/constants/constants.js +3 -3
  1664. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  1665. package/internal/ThemePlayground/constants.d.ts +3 -3
  1666. package/internal/ThemePlayground/darkTheme/darkTheme.js +102 -52
  1667. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  1668. package/internal/ThemePlayground/darkTheme.d.ts +56 -39
  1669. package/internal/ThemePlayground/helpers/helpers.js.map +1 -1
  1670. package/internal/ThemePlayground/helpers.d.ts +1 -1
  1671. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +160 -150
  1672. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  1673. package/internal/ThemeShowcase/ThemeShowcase.d.ts +1 -1
  1674. package/internal/ThemeShowcase/ThemeShowcase.md +13 -13
  1675. package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js +37 -204
  1676. package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js.map +1 -1
  1677. package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +9 -4
  1678. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +67 -60
  1679. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  1680. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  1681. package/internal/ZIndex/ZIndex/ZIndex.js +21 -9
  1682. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  1683. package/internal/ZIndex/ZIndex.d.ts +2 -0
  1684. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +2 -1
  1685. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  1686. package/internal/ZIndex/ZIndexStorage.d.ts +1 -0
  1687. package/internal/ZIndex/index/index.js.map +1 -1
  1688. package/internal/icons/16px/icon.styles/icon.styles.js +5 -24
  1689. package/internal/icons/16px/icon.styles/icon.styles.js.map +1 -1
  1690. package/internal/icons/16px/icon.styles.d.ts +1 -1
  1691. package/internal/icons/16px/index/index.js +103 -54
  1692. package/internal/icons/16px/index/index.js.map +1 -1
  1693. package/internal/icons/16px/index.d.ts +17 -15
  1694. package/internal/icons/20px/Icon/Icon.js +2 -2
  1695. package/internal/icons/20px/Icon/Icon.js.map +1 -1
  1696. package/internal/icons/20px/icon.styles/icon.styles.js +5 -24
  1697. package/internal/icons/20px/icon.styles/icon.styles.js.map +1 -1
  1698. package/internal/icons/20px/icon.styles.d.ts +1 -1
  1699. package/internal/icons/20px/index/index.js.map +1 -1
  1700. package/internal/icons/20px/svg/svg.js +5 -4
  1701. package/internal/icons/20px/svg/svg.js.map +1 -1
  1702. package/internal/icons/CloudIcon/CloudIcon.js.map +1 -1
  1703. package/internal/icons/CloudIcon.d.ts +0 -1
  1704. package/internal/icons/CrossIcon/CrossIcon.js +2 -1
  1705. package/internal/icons/CrossIcon/CrossIcon.js.map +1 -1
  1706. package/internal/icons/CrossIcon.d.ts +0 -1
  1707. package/internal/icons/SpinnerIcon/SpinnerIcon.js +9 -6
  1708. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  1709. package/internal/icons/SpinnerIcon.d.ts +2 -2
  1710. package/internal/icons/SpinnerIcon.styles/SpinnerIcon.styles.js +11 -24
  1711. package/internal/icons/SpinnerIcon.styles/SpinnerIcon.styles.js.map +1 -1
  1712. package/internal/icons/SpinnerIcon.styles.d.ts +3 -1
  1713. package/internal/themes/DarkTheme/DarkTheme.js +194 -0
  1714. package/internal/themes/DarkTheme/DarkTheme.js.map +1 -0
  1715. package/internal/themes/DarkTheme/package.json +6 -0
  1716. package/internal/themes/DarkTheme.d.ts +103 -0
  1717. package/internal/themes/DefaultTheme/DefaultTheme.js +1079 -605
  1718. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1719. package/internal/themes/DefaultTheme.d.ts +368 -173
  1720. package/internal/themes/NotFlat/NotFlat.js +295 -0
  1721. package/internal/themes/NotFlat/NotFlat.js.map +1 -0
  1722. package/internal/themes/NotFlat/package.json +6 -0
  1723. package/internal/themes/NotFlat.d.ts +127 -0
  1724. package/internal/themes/OldColors/OldColors.js +160 -0
  1725. package/internal/themes/OldColors/OldColors.js.map +1 -0
  1726. package/internal/themes/OldColors/package.json +6 -0
  1727. package/internal/themes/OldColors.d.ts +110 -0
  1728. package/lib/ConditionalHandler/ConditionalHandler.js +2 -2
  1729. package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
  1730. package/lib/LayoutEvents/LayoutEvents.js +12 -4
  1731. package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
  1732. package/lib/ModalStack/ModalStack.js +8 -8
  1733. package/lib/ModalStack/ModalStack.js.map +1 -1
  1734. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  1735. package/lib/Supports/Supports.js.map +1 -1
  1736. package/lib/Upgrades/Upgrades.js +13 -0
  1737. package/lib/Upgrades/Upgrades.js.map +1 -1
  1738. package/lib/Upgrades.d.ts +2 -0
  1739. package/lib/animation/index/index.js.map +1 -1
  1740. package/lib/animation/presets/presets.js.map +1 -1
  1741. package/lib/animation/stepper/stepper.js.map +1 -1
  1742. package/lib/callChildRef/callChildRef/callChildRef.js +14 -0
  1743. package/lib/callChildRef/callChildRef/callChildRef.js.map +1 -0
  1744. package/lib/callChildRef/callChildRef/package.json +6 -0
  1745. package/lib/callChildRef/callChildRef.d.ts +3 -0
  1746. package/lib/client/client.js +3 -1
  1747. package/lib/client/client.js.map +1 -1
  1748. package/lib/client.d.ts +4 -2
  1749. package/lib/createPropsGetter/createPropsGetter.js.map +1 -1
  1750. package/lib/currentEnvironment/currentEnvironment.js +14 -3
  1751. package/lib/currentEnvironment/currentEnvironment.js.map +1 -1
  1752. package/lib/date/InternalDate/InternalDate.js +3 -5
  1753. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  1754. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  1755. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  1756. package/lib/date/InternalDateSetter/InternalDateSetter.js.map +1 -1
  1757. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  1758. package/lib/date/InternalDateTransformer.d.ts +6 -6
  1759. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  1760. package/lib/date/constants/constants.js.map +1 -1
  1761. package/lib/date/localeSets/localeSets.js.map +1 -1
  1762. package/lib/date/types/types.js.map +1 -1
  1763. package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
  1764. package/lib/dom/tabbableHelpers/package.json +6 -0
  1765. package/lib/dom/tabbableHelpers/tabbableHelpers.js +34 -0
  1766. package/lib/dom/tabbableHelpers/tabbableHelpers.js.map +1 -0
  1767. package/lib/dom/tabbableHelpers.d.ts +16 -0
  1768. package/lib/events/MouseDrag/MouseDrag.js +26 -30
  1769. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  1770. package/lib/events/fixClickFocusIE/fixClickFocusIE.js +1 -1
  1771. package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +1 -1
  1772. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +19 -0
  1773. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  1774. package/lib/events/fixFirefoxModifiedClickOnLabel/package.json +6 -0
  1775. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  1776. package/lib/events/keyListener/keyListener.js +22 -0
  1777. package/lib/events/keyListener/keyListener.js.map +1 -0
  1778. package/lib/events/keyListener/package.json +6 -0
  1779. package/lib/events/keyListener.d.ts +7 -0
  1780. package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js.map +1 -1
  1781. package/lib/events/keyboard/KeyboardMapKeys/KeyboardMapKeys.js.map +1 -1
  1782. package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
  1783. package/lib/events/keyboard/identifiers/identifiers.js +12 -1
  1784. package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
  1785. package/lib/events/keyboard/identifiers.d.ts +1 -0
  1786. package/lib/events/stopPropagation/stopPropagation.js.map +1 -1
  1787. package/lib/events/tabListener/tabListener.js +2 -19
  1788. package/lib/events/tabListener/tabListener.js.map +1 -1
  1789. package/lib/events/tabListener.d.ts +1 -6
  1790. package/lib/extractKeyboardAction/extractKeyboardAction.js +0 -1
  1791. package/lib/extractKeyboardAction/extractKeyboardAction.js.map +1 -1
  1792. package/lib/filterProps/filterProps.js.map +1 -1
  1793. package/lib/forwardRefAndName/forwardRefAndName.js +11 -0
  1794. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -0
  1795. package/lib/forwardRefAndName/package.json +6 -0
  1796. package/lib/forwardRefAndName.d.ts +5 -0
  1797. package/lib/getDisplayName/getDisplayName.js +3 -0
  1798. package/lib/getDisplayName/getDisplayName.js.map +1 -0
  1799. package/lib/getDisplayName/package.json +6 -0
  1800. package/lib/getDisplayName.d.ts +3 -0
  1801. package/lib/listenFocusOutside/listenFocusOutside.js +13 -12
  1802. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  1803. package/lib/listenFocusOutside.d.ts +4 -0
  1804. package/lib/locale/LOCALECONTEXT.md +221 -215
  1805. package/lib/locale/LocaleContext/LocaleContext.js.map +1 -1
  1806. package/lib/locale/LocaleHelper/LocaleHelper.js +0 -2
  1807. package/lib/locale/LocaleHelper/LocaleHelper.js.map +1 -1
  1808. package/lib/locale/constants/constants.js.map +1 -1
  1809. package/lib/locale/decorators/decorators.js +8 -4
  1810. package/lib/locale/decorators/decorators.js.map +1 -1
  1811. package/lib/locale/decorators.d.ts +4 -3
  1812. package/lib/locale/index/index.js.map +1 -1
  1813. package/lib/locale/types/types.js.map +1 -1
  1814. package/lib/locale/types.d.ts +1 -0
  1815. package/lib/memo/memo.js.map +1 -1
  1816. package/lib/net/fetch/fetch.js.map +1 -1
  1817. package/lib/polyfillPlaceholder/polyfillPlaceholder.js.map +1 -1
  1818. package/lib/reactGetTextContent/reactGetTextContent.js.map +1 -1
  1819. package/lib/rootNode/getRootNode/getRootNode.js +25 -0
  1820. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -0
  1821. package/lib/rootNode/getRootNode/package.json +6 -0
  1822. package/lib/rootNode/getRootNode.d.ts +3 -0
  1823. package/lib/rootNode/index/index.js +2 -0
  1824. package/lib/rootNode/index/index.js.map +1 -0
  1825. package/lib/rootNode/index/package.json +6 -0
  1826. package/lib/rootNode/index.d.ts +2 -0
  1827. package/lib/rootNode/package.json +6 -0
  1828. package/lib/rootNode/rootNodeDecorator/package.json +6 -0
  1829. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +35 -0
  1830. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -0
  1831. package/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  1832. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  1833. package/lib/styles/ColorFunctions/ColorFunctions.js +1 -1
  1834. package/lib/styles/ColorFunctions/ColorFunctions.js.map +1 -1
  1835. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  1836. package/lib/styles/ColorKeywords/ColorKeywords.js.map +1 -1
  1837. package/lib/styles/ColorObject/ColorObject.js +0 -3
  1838. package/lib/styles/ColorObject/ColorObject.js.map +1 -1
  1839. package/lib/styles/DimensionFunctions/DimensionFunctions.js.map +1 -1
  1840. package/lib/styles/HoldSelectionColor/HoldSelectionColor.js +2 -10
  1841. package/lib/styles/HoldSelectionColor/HoldSelectionColor.js.map +1 -1
  1842. package/lib/styles/Mixins/Mixins.js +3 -21
  1843. package/lib/styles/Mixins/Mixins.js.map +1 -1
  1844. package/lib/taskWithDelayAndMinimalDuration/package.json +6 -0
  1845. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +73 -0
  1846. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -0
  1847. package/lib/taskWithDelayAndMinimalDuration.d.ts +21 -0
  1848. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +7 -65
  1849. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  1850. package/lib/theming/AnimationKeyframes.d.ts +7 -6
  1851. package/lib/theming/Emotion/Emotion.js +19 -7
  1852. package/lib/theming/Emotion/Emotion.js.map +1 -1
  1853. package/lib/theming/Emotion.d.ts +11 -10
  1854. package/lib/theming/Theme/Theme.js +1 -0
  1855. package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
  1856. package/lib/theming/ThemeContext.md +278 -248
  1857. package/lib/theming/ThemeFactory/ThemeFactory.js +2 -17
  1858. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  1859. package/lib/theming/ThemeFactory.d.ts +0 -1
  1860. package/lib/theming/ThemeHelpers/ThemeHelpers.js +0 -28
  1861. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  1862. package/lib/theming/ThemeHelpers.d.ts +0 -6
  1863. package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -0
  1864. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -0
  1865. package/lib/theming/themes/DarkTheme/package.json +6 -0
  1866. package/lib/theming/themes/DarkTheme.d.ts +1 -0
  1867. package/lib/theming/themes/DefaultTheme/DefaultTheme.js +2 -1
  1868. package/lib/theming/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1869. package/lib/theming/themes/DefaultTheme8pxOld/DefaultTheme8pxOld.js +5 -0
  1870. package/lib/theming/themes/DefaultTheme8pxOld/DefaultTheme8pxOld.js.map +1 -0
  1871. package/lib/theming/themes/DefaultTheme8pxOld/package.json +6 -0
  1872. package/lib/theming/themes/DefaultTheme8pxOld.d.ts +1 -0
  1873. package/lib/theming/themes/DefaultThemeMobile/DefaultThemeMobile.js +5 -0
  1874. package/lib/theming/themes/DefaultThemeMobile/DefaultThemeMobile.js.map +1 -0
  1875. package/lib/theming/themes/DefaultThemeMobile/package.json +6 -0
  1876. package/lib/theming/themes/DefaultThemeMobile.d.ts +3 -0
  1877. package/lib/theming/themes/FlatTheme8pxOld/FlatTheme8pxOld.js +4 -0
  1878. package/lib/theming/themes/FlatTheme8pxOld/FlatTheme8pxOld.js.map +1 -0
  1879. package/lib/theming/themes/FlatTheme8pxOld/package.json +6 -0
  1880. package/lib/theming/themes/FlatTheme8pxOld.d.ts +1 -0
  1881. package/lib/utils/utils.js +34 -1
  1882. package/lib/utils/utils.js.map +1 -1
  1883. package/lib/utils.d.ts +15 -0
  1884. package/lib/withClassWrapper/package.json +6 -0
  1885. package/lib/withClassWrapper/withClassWrapper.js +70 -0
  1886. package/lib/withClassWrapper/withClassWrapper.js.map +1 -0
  1887. package/lib/withClassWrapper.d.ts +71 -0
  1888. package/package.json +84 -94
  1889. package/typings/console.d.ts +3 -3
  1890. package/typings/event-types.d.ts +4 -4
  1891. package/typings/fonts.d.ts +12 -12
  1892. package/typings/global.d.ts +6 -6
  1893. package/typings/images.d.ts +1 -1
  1894. package/typings/normalize-wheel.d.ts +5 -5
  1895. package/typings/stories.d.ts +7 -0
  1896. package/typings/stylis-plugin-extra-scope.d.ts +3 -3
  1897. package/typings/utility-types.d.ts +14 -14
  1898. package/cjs/components/Modal/helpers.d.ts +0 -6
  1899. package/cjs/components/Modal/helpers.js +0 -20
  1900. package/cjs/components/Modal/helpers.js.map +0 -1
  1901. package/cjs/internal/themes/FlatTheme.d.ts +0 -146
  1902. package/cjs/internal/themes/FlatTheme.js +0 -261
  1903. package/cjs/internal/themes/FlatTheme.js.map +0 -1
  1904. package/cjs/internal/themes/Theme8px.d.ts +0 -196
  1905. package/cjs/internal/themes/Theme8px.js +0 -462
  1906. package/cjs/internal/themes/Theme8px.js.map +0 -1
  1907. package/cjs/lib/MockDate.d.ts +0 -8
  1908. package/cjs/lib/MockDate.js +0 -15
  1909. package/cjs/lib/MockDate.js.map +0 -1
  1910. package/cjs/lib/dom/getFocusableElements.d.ts +0 -41
  1911. package/cjs/lib/dom/getFocusableElements.js +0 -88
  1912. package/cjs/lib/dom/getFocusableElements.js.map +0 -1
  1913. package/cjs/lib/theming/themes/DefaultTheme8px.d.ts +0 -1
  1914. package/cjs/lib/theming/themes/DefaultTheme8px.js +0 -4
  1915. package/cjs/lib/theming/themes/DefaultTheme8px.js.map +0 -1
  1916. package/cjs/lib/theming/themes/FlatTheme.d.ts +0 -1
  1917. package/cjs/lib/theming/themes/FlatTheme.js +0 -4
  1918. package/cjs/lib/theming/themes/FlatTheme.js.map +0 -1
  1919. package/cjs/lib/theming/themes/FlatTheme8px.d.ts +0 -1
  1920. package/cjs/lib/theming/themes/FlatTheme8px.js +0 -5
  1921. package/cjs/lib/theming/themes/FlatTheme8px.js.map +0 -1
  1922. package/components/Modal/helpers/helpers.js +0 -10
  1923. package/components/Modal/helpers/helpers.js.map +0 -1
  1924. package/components/Modal/helpers/package.json +0 -6
  1925. package/components/Modal/helpers.d.ts +0 -6
  1926. package/internal/themes/FlatTheme/FlatTheme.js +0 -353
  1927. package/internal/themes/FlatTheme/FlatTheme.js.map +0 -1
  1928. package/internal/themes/FlatTheme/package.json +0 -6
  1929. package/internal/themes/FlatTheme.d.ts +0 -146
  1930. package/internal/themes/Theme8px/Theme8px.js +0 -659
  1931. package/internal/themes/Theme8px/Theme8px.js.map +0 -1
  1932. package/internal/themes/Theme8px/package.json +0 -6
  1933. package/internal/themes/Theme8px.d.ts +0 -196
  1934. package/lib/MockDate/MockDate.js +0 -26
  1935. package/lib/MockDate/MockDate.js.map +0 -1
  1936. package/lib/MockDate/package.json +0 -6
  1937. package/lib/MockDate.d.ts +0 -8
  1938. package/lib/dom/getFocusableElements/getFocusableElements.js +0 -103
  1939. package/lib/dom/getFocusableElements/getFocusableElements.js.map +0 -1
  1940. package/lib/dom/getFocusableElements/package.json +0 -6
  1941. package/lib/dom/getFocusableElements.d.ts +0 -41
  1942. package/lib/theming/themes/DefaultTheme8px/DefaultTheme8px.js +0 -3
  1943. package/lib/theming/themes/DefaultTheme8px/DefaultTheme8px.js.map +0 -1
  1944. package/lib/theming/themes/DefaultTheme8px/package.json +0 -6
  1945. package/lib/theming/themes/DefaultTheme8px.d.ts +0 -1
  1946. package/lib/theming/themes/FlatTheme/FlatTheme.js +0 -3
  1947. package/lib/theming/themes/FlatTheme/FlatTheme.js.map +0 -1
  1948. package/lib/theming/themes/FlatTheme/package.json +0 -6
  1949. package/lib/theming/themes/FlatTheme.d.ts +0 -1
  1950. package/lib/theming/themes/FlatTheme8px/FlatTheme8px.js +0 -4
  1951. package/lib/theming/themes/FlatTheme8px/FlatTheme8px.js.map +0 -1
  1952. package/lib/theming/themes/FlatTheme8px/package.json +0 -6
  1953. package/lib/theming/themes/FlatTheme8px.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,YAAd","sourcesContent":["export * from './ComboBox';\r\n"]}
1
+ {"version":3,"sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,YAAd","sourcesContent":["export * from './ComboBox';\n"]}
@@ -1,4 +1,5 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import { isSafari } from "../../../lib/client";
2
3
  import { MAX_ALLOWED_CHARS, MAX_SAFE_DIGITS } from "../constants";
3
4
  export var CurrencyHelper = /*#__PURE__*/function () {
4
5
  function CurrencyHelper() {}
@@ -208,6 +209,6 @@ export var CurrencyHelper = /*#__PURE__*/function () {
208
209
  CurrencyHelper.defaultOptions = {
209
210
  fractionDigits: null,
210
211
  hideTrailingZeros: false,
211
- thousandsDelimiter: String.fromCharCode(0x2009),
212
+ thousandsDelimiter: String.fromCharCode(isSafari ? 0x0020 : 0x2009),
212
213
  minusSign: String.fromCharCode(0x2212)
213
214
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["CurrencyHelper.tsx"],"names":["MAX_ALLOWED_CHARS","MAX_SAFE_DIGITS","CurrencyHelper","getOptions","options","defaultOptions","getInfo","value","raw","unformatString","formatted","formatString","cursorMap","getCursorMap","formattingOptions","regexp","RegExp","thousandsDelimiter","index","length","cursor","skip","ignoredSymbol","exec","format","toString","parse","cleaned","destructed","destructString","result","sign","integer","delimiter","fraction","parseFloat","replace","formatForClipboard","fractionDigits","hideTrailingZeros","parts","blockSize","start","i","push","substring","Math","max","join","padEnd","min","minusSign","isValidString","unsigned","integerDigits","extractValid","match","token","substr","String","fromCharCode"],"mappings":"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","sourcesContent":["import { Nullable } from '../../typings/utility-types';\r\n\r\nimport { DecimalOptions } from './CurrencyInputHelper';\r\nimport { CursorMap } from './CursorHelper';\r\nimport { MAX_ALLOWED_CHARS, MAX_SAFE_DIGITS } from './constants';\r\n\r\nexport interface DecimalFormattingOptions {\r\n fractionDigits?: Nullable<number>;\r\n hideTrailingZeros?: boolean;\r\n thousandsDelimiter?: string;\r\n minusSign?: string;\r\n}\r\n\r\ntype DecimalFormattingOptionsInternal = Required<DecimalFormattingOptions>;\r\n\r\nexport interface FormattingInfo {\r\n raw: string;\r\n formatted: string;\r\n cursorMap: CursorMap;\r\n}\r\n\r\nexport class CurrencyHelper {\r\n public static defaultOptions: DecimalFormattingOptionsInternal = {\r\n fractionDigits: null,\r\n hideTrailingZeros: false,\r\n thousandsDelimiter: String.fromCharCode(0x2009),\r\n minusSign: String.fromCharCode(0x2212),\r\n };\r\n\r\n public static getOptions(options?: Nullable<DecimalFormattingOptions>): DecimalFormattingOptionsInternal {\r\n return { ...CurrencyHelper.defaultOptions, ...options };\r\n }\r\n\r\n public static getInfo(value: string, options?: Nullable<DecimalFormattingOptions>): FormattingInfo {\r\n const raw = CurrencyHelper.unformatString(value);\r\n const formatted = CurrencyHelper.formatString(value, options);\r\n const cursorMap = CurrencyHelper.getCursorMap(formatted, options);\r\n\r\n return { raw, formatted, cursorMap };\r\n }\r\n\r\n public static getCursorMap(formatted: string, formattingOptions?: Nullable<DecimalFormattingOptions>): CursorMap {\r\n const options = CurrencyHelper.getOptions(formattingOptions);\r\n const regexp = new RegExp(options.thousandsDelimiter);\r\n const cursorMap: CursorMap = [];\r\n\r\n let index = formatted.length;\r\n let cursor = formatted.length;\r\n let skip = 0;\r\n\r\n while (index >= 0) {\r\n cursorMap[index] = cursor;\r\n\r\n const ignoredSymbol = regexp.exec(formatted[index - 1]);\r\n if (ignoredSymbol) {\r\n ++skip;\r\n } else {\r\n cursor = cursor - skip - 1;\r\n skip = 0;\r\n }\r\n --index;\r\n }\r\n return cursorMap;\r\n }\r\n\r\n public static format(value: Nullable<number>, options?: Nullable<DecimalFormattingOptions>): string {\r\n if (value == null) {\r\n return '';\r\n }\r\n\r\n return CurrencyHelper.formatString(value.toString(), options);\r\n }\r\n\r\n public static parse(value: string): Nullable<number> {\r\n const cleaned = CurrencyHelper.unformatString(value);\r\n if (!cleaned) {\r\n return null;\r\n }\r\n\r\n const destructed = CurrencyHelper.destructString(cleaned);\r\n if (!destructed) {\r\n return null;\r\n }\r\n\r\n const result =\r\n destructed.sign + (destructed.integer || '0') + (destructed.delimiter || '.') + (destructed.fraction || '0');\r\n\r\n return parseFloat(result);\r\n }\r\n\r\n public static unformatString(value: string): string {\r\n return value\r\n .replace(/\\s/g, '')\r\n .replace(',', '.')\r\n .replace(/[\\u2212\\u002D\\uFE63\\uFF0D\\u2012\\u2013\\u2014\\u2015]/g, '-');\r\n }\r\n\r\n public static formatForClipboard(value: string): string {\r\n return CurrencyHelper.unformatString(value).replace('.', ',');\r\n }\r\n\r\n public static formatString(value: string, formattingOptions?: Nullable<DecimalFormattingOptions>): string {\r\n const options = CurrencyHelper.getOptions(formattingOptions);\r\n value = CurrencyHelper.unformatString(value);\r\n const destructed = CurrencyHelper.destructString(value) || { sign: '', integer: '', delimiter: '', fraction: '' };\r\n\r\n const { sign, integer, delimiter } = destructed;\r\n let fraction = destructed.fraction;\r\n let fractionDigits = fraction.length;\r\n\r\n if (options.hideTrailingZeros) {\r\n fraction = fraction.replace(/0+$/, '');\r\n fractionDigits = fraction.length;\r\n } else if (options.fractionDigits !== null) {\r\n fractionDigits = options.fractionDigits;\r\n }\r\n\r\n const parts = [];\r\n\r\n const blockSize = 3;\r\n const start = ((integer.length - 1) % blockSize) - blockSize + 1;\r\n for (let i = start; i < integer.length; i += blockSize) {\r\n parts.push(integer.substring(Math.max(i, 0), i + blockSize));\r\n }\r\n\r\n let result = parts.join(options.thousandsDelimiter);\r\n\r\n if (delimiter || fractionDigits) {\r\n result += ',';\r\n result += fraction.padEnd(Math.min(fractionDigits, MAX_SAFE_DIGITS), '0');\r\n }\r\n\r\n if (sign) {\r\n result = options.minusSign + result;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n public static isValidString(value: string, options: DecimalOptions) {\r\n value = CurrencyHelper.unformatString(value);\r\n const destructed = CurrencyHelper.destructString(value);\r\n\r\n if (!destructed) {\r\n return false;\r\n }\r\n\r\n const { sign, integer, delimiter, fraction } = destructed;\r\n\r\n if (options.unsigned && sign) {\r\n return false;\r\n }\r\n\r\n if (options.fractionDigits === 0 && delimiter) {\r\n return false;\r\n }\r\n\r\n const integerDigits = integer === '0' ? 0 : integer.length;\r\n const fractionDigits = fraction.length;\r\n\r\n if (options.integerDigits != null && integerDigits > options.integerDigits) {\r\n return false;\r\n }\r\n\r\n if (options.integerDigits == null && integerDigits > MAX_SAFE_DIGITS - (options.fractionDigits || 0)) {\r\n return false;\r\n }\r\n\r\n if (options.fractionDigits != null && fractionDigits > options.fractionDigits) {\r\n return false;\r\n }\r\n\r\n return integerDigits + fractionDigits <= MAX_SAFE_DIGITS;\r\n }\r\n\r\n public static extractValid(value: string, options: DecimalOptions): string {\r\n value = CurrencyHelper.unformatString(value);\r\n\r\n const match = /[-.\\d]+/.exec(value);\r\n\r\n if (!match) {\r\n return '';\r\n }\r\n\r\n const token = match[0].substr(0, MAX_ALLOWED_CHARS);\r\n\r\n for (let i = token.length; i >= 0; --i) {\r\n const result = token.substr(0, i);\r\n if (CurrencyHelper.isValidString(result, options)) {\r\n return result;\r\n }\r\n }\r\n\r\n return '';\r\n }\r\n\r\n public static destructString(value: string) {\r\n const match = /^(-)?(\\d*)?(\\.)?(\\d*)?$/.exec(value);\r\n if (!match) {\r\n return null;\r\n }\r\n const [, sign = '', integer = '', delimiter = '', fraction = ''] = match;\r\n return { sign, integer, delimiter, fraction };\r\n }\r\n}\r\n"]}
1
+ {"version":3,"sources":["CurrencyHelper.tsx"],"names":["isSafari","MAX_ALLOWED_CHARS","MAX_SAFE_DIGITS","CurrencyHelper","getOptions","options","defaultOptions","getInfo","value","raw","unformatString","formatted","formatString","cursorMap","getCursorMap","formattingOptions","regexp","RegExp","thousandsDelimiter","index","length","cursor","skip","ignoredSymbol","exec","format","toString","parse","cleaned","destructed","destructString","result","sign","integer","delimiter","fraction","parseFloat","replace","formatForClipboard","fractionDigits","hideTrailingZeros","parts","blockSize","start","i","push","substring","Math","max","join","padEnd","min","minusSign","isValidString","unsigned","integerDigits","extractValid","match","token","substr","String","fromCharCode"],"mappings":"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","sourcesContent":["import { Nullable } from '../../typings/utility-types';\nimport { isSafari } from '../../lib/client';\n\nimport { DecimalOptions } from './CurrencyInputHelper';\nimport { CursorMap } from './CursorHelper';\nimport { MAX_ALLOWED_CHARS, MAX_SAFE_DIGITS } from './constants';\n\nexport interface DecimalFormattingOptions {\n fractionDigits?: Nullable<number>;\n hideTrailingZeros?: boolean;\n thousandsDelimiter?: string;\n minusSign?: string;\n}\n\ntype DecimalFormattingOptionsInternal = Required<DecimalFormattingOptions>;\n\nexport interface FormattingInfo {\n raw: string;\n formatted: string;\n cursorMap: CursorMap;\n}\n\nexport class CurrencyHelper {\n public static defaultOptions: DecimalFormattingOptionsInternal = {\n fractionDigits: null,\n hideTrailingZeros: false,\n thousandsDelimiter: String.fromCharCode(isSafari ? 0x0020 : 0x2009),\n minusSign: String.fromCharCode(0x2212),\n };\n\n public static getOptions(options?: Nullable<DecimalFormattingOptions>): DecimalFormattingOptionsInternal {\n return { ...CurrencyHelper.defaultOptions, ...options };\n }\n\n public static getInfo(value: string, options?: Nullable<DecimalFormattingOptions>): FormattingInfo {\n const raw = CurrencyHelper.unformatString(value);\n const formatted = CurrencyHelper.formatString(value, options);\n const cursorMap = CurrencyHelper.getCursorMap(formatted, options);\n\n return { raw, formatted, cursorMap };\n }\n\n public static getCursorMap(formatted: string, formattingOptions?: Nullable<DecimalFormattingOptions>): CursorMap {\n const options = CurrencyHelper.getOptions(formattingOptions);\n const regexp = new RegExp(options.thousandsDelimiter);\n const cursorMap: CursorMap = [];\n\n let index = formatted.length;\n let cursor = formatted.length;\n let skip = 0;\n\n while (index >= 0) {\n cursorMap[index] = cursor;\n\n const ignoredSymbol = regexp.exec(formatted[index - 1]);\n if (ignoredSymbol) {\n ++skip;\n } else {\n cursor = cursor - skip - 1;\n skip = 0;\n }\n --index;\n }\n return cursorMap;\n }\n\n public static format(value: Nullable<number>, options?: Nullable<DecimalFormattingOptions>): string {\n if (value == null) {\n return '';\n }\n\n return CurrencyHelper.formatString(value.toString(), options);\n }\n\n public static parse(value: string): Nullable<number> {\n const cleaned = CurrencyHelper.unformatString(value);\n if (!cleaned) {\n return null;\n }\n\n const destructed = CurrencyHelper.destructString(cleaned);\n if (!destructed) {\n return null;\n }\n\n const result =\n destructed.sign + (destructed.integer || '0') + (destructed.delimiter || '.') + (destructed.fraction || '0');\n\n return parseFloat(result);\n }\n\n public static unformatString(value: string): string {\n return value\n .replace(/\\s/g, '')\n .replace(',', '.')\n .replace(/[\\u2212\\u002D\\uFE63\\uFF0D\\u2012\\u2013\\u2014\\u2015]/g, '-');\n }\n\n public static formatForClipboard(value: string): string {\n return CurrencyHelper.unformatString(value).replace('.', ',');\n }\n\n public static formatString(value: string, formattingOptions?: Nullable<DecimalFormattingOptions>): string {\n const options = CurrencyHelper.getOptions(formattingOptions);\n value = CurrencyHelper.unformatString(value);\n const destructed = CurrencyHelper.destructString(value) || { sign: '', integer: '', delimiter: '', fraction: '' };\n\n const { sign, integer, delimiter } = destructed;\n let fraction = destructed.fraction;\n let fractionDigits = fraction.length;\n\n if (options.hideTrailingZeros) {\n fraction = fraction.replace(/0+$/, '');\n fractionDigits = fraction.length;\n } else if (options.fractionDigits !== null) {\n fractionDigits = options.fractionDigits;\n }\n\n const parts = [];\n\n const blockSize = 3;\n const start = ((integer.length - 1) % blockSize) - blockSize + 1;\n for (let i = start; i < integer.length; i += blockSize) {\n parts.push(integer.substring(Math.max(i, 0), i + blockSize));\n }\n\n let result = parts.join(options.thousandsDelimiter);\n\n if (delimiter || fractionDigits) {\n result += ',';\n result += fraction.padEnd(Math.min(fractionDigits, MAX_SAFE_DIGITS), '0');\n }\n\n if (sign) {\n result = options.minusSign + result;\n }\n\n return result;\n }\n\n public static isValidString(value: string, options: DecimalOptions) {\n value = CurrencyHelper.unformatString(value);\n const destructed = CurrencyHelper.destructString(value);\n\n if (!destructed) {\n return false;\n }\n\n const { sign, integer, delimiter, fraction } = destructed;\n\n if (options.unsigned && sign) {\n return false;\n }\n\n if (options.fractionDigits === 0 && delimiter) {\n return false;\n }\n\n const integerDigits = integer === '0' ? 0 : integer.length;\n const fractionDigits = fraction.length;\n\n if (options.integerDigits != null && integerDigits > options.integerDigits) {\n return false;\n }\n\n if (options.integerDigits == null && integerDigits > MAX_SAFE_DIGITS - (options.fractionDigits || 0)) {\n return false;\n }\n\n if (options.fractionDigits != null && fractionDigits > options.fractionDigits) {\n return false;\n }\n\n return integerDigits + fractionDigits <= MAX_SAFE_DIGITS;\n }\n\n public static extractValid(value: string, options: DecimalOptions): string {\n value = CurrencyHelper.unformatString(value);\n\n const match = /[-.\\d]+/.exec(value);\n\n if (!match) {\n return '';\n }\n\n const token = match[0].substr(0, MAX_ALLOWED_CHARS);\n\n for (let i = token.length; i >= 0; --i) {\n const result = token.substr(0, i);\n if (CurrencyHelper.isValidString(result, options)) {\n return result;\n }\n }\n\n return '';\n }\n\n public static destructString(value: string) {\n const match = /^(-)?(\\d*)?(\\.)?(\\d*)?$/.exec(value);\n if (!match) {\n return null;\n }\n const [, sign = '', integer = '', delimiter = '', fraction = ''] = match;\n return { sign, integer, delimiter, fraction };\n }\n}\n"]}
@@ -1,27 +1,34 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
4
+ var _excluded = ["fractionDigits", "signed", "onSubmit", "integerDigits", "hideTrailingZeros"];
5
+
6
+ var _class, _class2, _temp;
7
+
4
8
  import React from 'react';
5
9
  import PropTypes from 'prop-types';
6
10
  import warning from 'warning';
11
+ import debounce from 'lodash.debounce';
12
+ import { isIE11 } from "../../../lib/client";
7
13
  import { Input } from "../../Input";
8
14
  import { CommonWrapper } from "../../../internal/CommonWrapper";
15
+ import { rootNode } from "../../../lib/rootNode";
9
16
  import { MAX_SAFE_DIGITS } from "../constants";
10
17
  import { SelectionHelper } from "../SelectionHelper";
11
18
  import { CurrencyHelper } from "../CurrencyHelper";
12
19
  import { CurrencyInputHelper } from "../CurrencyInputHelper";
13
20
  import { CURRENCY_INPUT_ACTIONS, extractAction } from "../CurrencyInputKeyboardActions";
14
- /**
15
- * Поле для денежных сумм (и других числовых значений).
16
- * Принимает любые свойства `Input`.
17
- *
18
- * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).
19
- * <br/>
20
- * Если `fractionDigits=15`, то в целой части допускается **0**.
21
- */
22
-
23
- export var CurrencyInput = /*#__PURE__*/function (_React$Component) {
24
- _inheritsLoose(CurrencyInput, _React$Component);
21
+ export
22
+ /**
23
+ * Поле для денежных сумм (и других числовых значений).
24
+ * Принимает любые свойства `Input`.
25
+ *
26
+ * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).
27
+ * <br/>
28
+ * Если `fractionDigits=15`, то в целой части допускается **0**.
29
+ */
30
+ var CurrencyInput = rootNode(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {
31
+ _inheritsLoose(CurrencyInput, _React$PureComponent);
25
32
 
26
33
  function CurrencyInput() {
27
34
  var _this;
@@ -30,11 +37,10 @@ export var CurrencyInput = /*#__PURE__*/function (_React$Component) {
30
37
  args[_key] = arguments[_key];
31
38
  }
32
39
 
33
- _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
40
+ _this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;
34
41
  _this.state = _extends({}, _this.getState(_this.props.value, _this.props.fractionDigits, _this.props.hideTrailingZeros), {
35
42
  focused: false
36
43
  });
37
- _this.input = void 0;
38
44
  _this.tempSelectionForOnChange = SelectionHelper.fromPosition(0);
39
45
 
40
46
  _this.renderMain = function (props) {
@@ -43,7 +49,7 @@ export var CurrencyInput = /*#__PURE__*/function (_React$Component) {
43
49
  onSubmit = props.onSubmit,
44
50
  integerDigits = props.integerDigits,
45
51
  hideTrailingZeros = props.hideTrailingZeros,
46
- rest = _objectWithoutPropertiesLoose(props, ["fractionDigits", "signed", "onSubmit", "integerDigits", "hideTrailingZeros"]);
52
+ rest = _objectWithoutPropertiesLoose(props, _excluded);
47
53
 
48
54
  var placeholder = _this.props.placeholder == null ? CurrencyHelper.format(0, {
49
55
  fractionDigits: fractionDigits,
@@ -79,13 +85,16 @@ export var CurrencyInput = /*#__PURE__*/function (_React$Component) {
79
85
  }
80
86
  };
81
87
 
88
+ _this.debouncedSetSelectionFromEvent = debounce(_this.setSelectionFromEvent, 300);
89
+
82
90
  _this.handleMouseUp = function (event) {
83
- var selection = getInputSelection(event.target);
84
- var normilized = CurrencyInputHelper.normalizeSelection(_this.state.formatted, selection);
91
+ if (isIE11) {
92
+ event.persist();
85
93
 
86
- _this.setState({
87
- selection: normilized
88
- });
94
+ _this.debouncedSetSelectionFromEvent(event);
95
+ } else {
96
+ _this.setSelectionFromEvent(event);
97
+ }
89
98
  };
90
99
 
91
100
  _this.handleKeyDown = function (event) {
@@ -214,8 +223,37 @@ export var CurrencyInput = /*#__PURE__*/function (_React$Component) {
214
223
  }
215
224
  };
216
225
 
226
+ _this.scrollInput = function () {
227
+ var _this$input;
228
+
229
+ var node = (_this$input = _this.input) == null ? void 0 : _this$input.getNode();
230
+
231
+ if (!node || node.scrollWidth === node.clientWidth) {
232
+ return;
233
+ }
234
+
235
+ var PAD = 1;
236
+ var SHIFT = 3;
237
+ var selection = _this.state.selection;
238
+ var selected = selection.start !== selection.end;
239
+ var position = selected && selection.direction === 'forward' ? selection.end : selection.start;
240
+ var charsCount = _this.state.formatted.length;
241
+ var charWidth = node.scrollWidth / charsCount;
242
+ var frame = Math.ceil(node.clientWidth / charWidth);
243
+ var frameStart = Math.ceil(node.scrollLeft / charWidth);
244
+ var frameEnd = frameStart + frame;
245
+
246
+ if (position < frameStart + PAD) {
247
+ node.scrollLeft = (position - SHIFT) * charWidth;
248
+ }
249
+
250
+ if (position > frameEnd - PAD) {
251
+ node.scrollLeft = (position - frame + SHIFT) * charWidth;
252
+ }
253
+ };
254
+
217
255
  _this.getSelection = function (input) {
218
- var selection = getInputSelection(input);
256
+ var selection = getInputSelectionFromEvent(input);
219
257
  return {
220
258
  start: selection.start,
221
259
  end: selection.end,
@@ -386,28 +424,32 @@ export var CurrencyInput = /*#__PURE__*/function (_React$Component) {
386
424
  warning((integerDigits || 0) + (fractionDigits || 0) <= MAX_SAFE_DIGITS, "[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds " + MAX_SAFE_DIGITS + "." + "\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15");
387
425
  };
388
426
 
389
- _proto.UNSAFE_componentWillReceiveProps = function UNSAFE_componentWillReceiveProps(nextProps) {
390
- var value = nextProps.value,
391
- fractionDigits = nextProps.fractionDigits,
392
- hideTrailingZeros = nextProps.hideTrailingZeros;
427
+ _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {
428
+ var _this$props2 = this.props,
429
+ value = _this$props2.value,
430
+ fractionDigits = _this$props2.fractionDigits,
431
+ hideTrailingZeros = _this$props2.hideTrailingZeros;
393
432
 
394
- if (value !== CurrencyHelper.parse(this.state.formatted) || fractionDigits !== this.props.fractionDigits) {
395
- var state = this.getState(value, fractionDigits, hideTrailingZeros);
396
- this.setState(state);
433
+ if (value !== CurrencyHelper.parse(prevState.formatted) || prevProps.fractionDigits !== fractionDigits) {
434
+ this.setState(this.getState(value, fractionDigits, hideTrailingZeros));
397
435
  }
398
- };
399
436
 
400
- _proto.componentDidUpdate = function componentDidUpdate() {
401
437
  if (this.state.focused && this.input) {
402
438
  var _this$state$selection = this.state.selection,
403
439
  start = _this$state$selection.start,
404
440
  end = _this$state$selection.end;
405
441
  this.input.setSelectionRange(start, end);
406
442
  }
443
+
444
+ if (prevState.selection !== this.state.selection) {
445
+ this.scrollInput();
446
+ }
407
447
  };
408
448
 
409
449
  _proto.render = function render() {
410
- return /*#__PURE__*/React.createElement(CommonWrapper, this.props, this.renderMain);
450
+ return /*#__PURE__*/React.createElement(CommonWrapper, _extends({
451
+ rootNodeRef: this.setRootNode
452
+ }, this.props), this.renderMain);
411
453
  };
412
454
 
413
455
  _proto.getState = function getState(value, fractionDigits, hideTrailingZeros) {
@@ -420,10 +462,17 @@ export var CurrencyInput = /*#__PURE__*/function (_React$Component) {
420
462
  };
421
463
  };
422
464
 
465
+ _proto.setSelectionFromEvent = function setSelectionFromEvent(event) {
466
+ var selection = getInputSelectionFromEvent(event.target);
467
+ var normilized = CurrencyInputHelper.normalizeSelection(this.state.formatted, selection);
468
+ this.setState({
469
+ selection: normilized
470
+ });
471
+ } // for IE11
472
+ ;
473
+
423
474
  return CurrencyInput;
424
- }(React.Component);
425
- CurrencyInput.__KONTUR_REACT_UI__ = 'CurrencyInput';
426
- CurrencyInput.propTypes = {
475
+ }(React.PureComponent), _class2.__KONTUR_REACT_UI__ = 'CurrencyInput', _class2.propTypes = {
427
476
  align: PropTypes.oneOf(['left', 'center', 'right']),
428
477
  autoFocus: PropTypes.bool,
429
478
  borderless: PropTypes.bool,
@@ -445,15 +494,15 @@ CurrencyInput.propTypes = {
445
494
  onMouseLeave: PropTypes.func,
446
495
  onMouseOver: PropTypes.func,
447
496
  onSubmit: PropTypes.func
448
- };
449
- CurrencyInput.defaultProps = {
497
+ }, _class2.defaultProps = {
450
498
  align: 'right',
451
499
  fractionDigits: 2,
452
500
  hideTrailingZeros: false,
453
- value: null
454
- };
501
+ value: null,
502
+ inputMode: 'decimal'
503
+ }, _temp)) || _class;
455
504
 
456
- function getInputSelection(input) {
505
+ function getInputSelectionFromEvent(input) {
457
506
  if (!(input instanceof HTMLInputElement)) {
458
507
  throw new Error('input is not HTMLInputElement');
459
508
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["CurrencyInput.tsx"],"names":["React","PropTypes","warning","Input","CommonWrapper","MAX_SAFE_DIGITS","SelectionHelper","CurrencyHelper","CurrencyInputHelper","CURRENCY_INPUT_ACTIONS","extractAction","CurrencyInput","state","getState","props","value","fractionDigits","hideTrailingZeros","focused","input","tempSelectionForOnChange","fromPosition","renderMain","signed","onSubmit","integerDigits","rest","placeholder","format","formatted","handleBlur","handleFocus","handleMouseUp","handleKeyDown","handleValueChange","handlePaste","handleCopy","handleCut","onMouseEnter","onMouseLeave","onMouseOver","refInput","focus","blur","event","selection","getInputSelection","target","normilized","normalizeSelection","setState","getSelection","onKeyDown","defaultPrevented","action","Ignore","Unknown","preventDefault","Submit","Backspace","inputValue","moveCursor","end","Delete","start","MoveCursorLeft","MoveCursorRight","Home","End","length","ExtendSelectionLeft","extendSelection","ExtendSelectionRight","FullSelection","forward","ExtendSelectionToStart","backward","ExtendSelectionToEnd","inputEnd","direction","step","position","extended","result","safeInsert","unsigned","parsedValue","parse","onValueChange","blink","getOnChangeDelta","oldValue","substring","substr","delta","data","clipboardData","getData","formatForClipboard","setData","selectionStart","selectionEnd","selectionDirection","valueLenght","onFocus","onBlur","element","componentDidMount","maxLength","undefined","UNSAFE_componentWillReceiveProps","nextProps","componentDidUpdate","setSelectionRange","render","Component","__KONTUR_REACT_UI__","propTypes","align","oneOf","autoFocus","bool","borderless","disabled","error","number","leftIcon","string","size","width","oneOfType","func","isRequired","defaultProps","HTMLInputElement","Error"],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport warning from 'warning';\r\n\r\nimport { Input, InputProps } from '../Input';\r\nimport { Nullable, Override } from '../../typings/utility-types';\r\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\r\n\r\nimport { MAX_SAFE_DIGITS } from './constants';\r\nimport { Selection, SelectionDirection, SelectionHelper } from './SelectionHelper';\r\nimport { CurrencyHelper } from './CurrencyHelper';\r\nimport { CurrencyInputHelper } from './CurrencyInputHelper';\r\nimport { CURRENCY_INPUT_ACTIONS, extractAction } from './CurrencyInputKeyboardActions';\r\nexport interface CurrencyInputProps\r\n extends CommonProps,\r\n Override<\r\n InputProps,\r\n {\r\n /** Значение */\r\n value: Nullable<number>;\r\n /** Убрать лишние нули после запятой */\r\n hideTrailingZeros: boolean;\r\n /** Кол-во цифр после зяпятой */\r\n fractionDigits?: Nullable<number>;\r\n /** Отрицательные значения */\r\n signed?: boolean;\r\n /**\r\n * Допустимое кол-во цифр целой части.\r\n * Если передан **0**, или `fractionDigits=15`, то и в целой части допускается только **0**.\r\n */\r\n integerDigits?: Nullable<number>;\r\n /** Вызывается при изменении `value` */\r\n onValueChange: (value: Nullable<number>) => void;\r\n /** onSubmit */\r\n onSubmit?: () => void;\r\n }\r\n > {}\r\n\r\nexport interface CurrencyInputState {\r\n formatted: string;\r\n selection: Selection;\r\n focused: boolean;\r\n}\r\n\r\n/**\r\n * Поле для денежных сумм (и других числовых значений).\r\n * Принимает любые свойства `Input`.\r\n *\r\n * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).\r\n * <br/>\r\n * Если `fractionDigits=15`, то в целой части допускается **0**.\r\n */\r\nexport class CurrencyInput extends React.Component<CurrencyInputProps, CurrencyInputState> {\r\n public static __KONTUR_REACT_UI__ = 'CurrencyInput';\r\n\r\n public static propTypes = {\r\n align: PropTypes.oneOf(['left', 'center', 'right']),\r\n autoFocus: PropTypes.bool,\r\n borderless: PropTypes.bool,\r\n disabled: PropTypes.bool,\r\n error: PropTypes.bool,\r\n fractionDigits: PropTypes.number,\r\n hideTrailingZeros: PropTypes.bool,\r\n leftIcon: PropTypes.element,\r\n placeholder: PropTypes.string,\r\n signed: PropTypes.bool,\r\n size: PropTypes.oneOf(['small', 'medium', 'large']),\r\n value: PropTypes.number,\r\n warning: PropTypes.bool,\r\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n onBlur: PropTypes.func,\r\n onValueChange: PropTypes.func.isRequired,\r\n onFocus: PropTypes.func,\r\n onMouseEnter: PropTypes.func,\r\n onMouseLeave: PropTypes.func,\r\n onMouseOver: PropTypes.func,\r\n onSubmit: PropTypes.func,\r\n };\r\n\r\n public static defaultProps = {\r\n align: 'right',\r\n fractionDigits: 2,\r\n hideTrailingZeros: false,\r\n value: null,\r\n };\r\n\r\n public state: CurrencyInputState = {\r\n ...this.getState(this.props.value, this.props.fractionDigits, this.props.hideTrailingZeros),\r\n focused: false,\r\n };\r\n\r\n private input: Nullable<Input>;\r\n private tempSelectionForOnChange: Selection = SelectionHelper.fromPosition(0);\r\n\r\n public componentDidMount(): void {\r\n const { maxLength, integerDigits, fractionDigits } = this.props;\r\n warning(\r\n maxLength === undefined,\r\n `[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'`,\r\n );\r\n warning(\r\n (integerDigits || 0) + (fractionDigits || 0) <= MAX_SAFE_DIGITS,\r\n `[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\r\n `\\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15`,\r\n );\r\n }\r\n\r\n public UNSAFE_componentWillReceiveProps(nextProps: CurrencyInputProps) {\r\n const { value, fractionDigits, hideTrailingZeros } = nextProps;\r\n if (value !== CurrencyHelper.parse(this.state.formatted) || fractionDigits !== this.props.fractionDigits) {\r\n const state = this.getState(value, fractionDigits, hideTrailingZeros);\r\n this.setState(state);\r\n }\r\n }\r\n\r\n public componentDidUpdate() {\r\n if (this.state.focused && this.input) {\r\n const { start, end } = this.state.selection;\r\n\r\n this.input.setSelectionRange(start, end);\r\n }\r\n }\r\n\r\n public render() {\r\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\r\n }\r\n\r\n public renderMain = (props: CommonWrapperRestProps<CurrencyInputProps>) => {\r\n const { fractionDigits, signed, onSubmit, integerDigits, hideTrailingZeros, ...rest } = props;\r\n const placeholder =\r\n this.props.placeholder == null\r\n ? CurrencyHelper.format(0, { fractionDigits, hideTrailingZeros })\r\n : this.props.placeholder;\r\n\r\n return (\r\n <Input\r\n {...rest}\r\n value={this.state.formatted}\r\n onBlur={this.handleBlur}\r\n onFocus={this.handleFocus}\r\n onMouseUp={this.handleMouseUp}\r\n onKeyDown={this.handleKeyDown}\r\n onValueChange={this.handleValueChange}\r\n onPaste={this.handlePaste}\r\n onCopy={this.handleCopy}\r\n onCut={this.handleCut}\r\n onMouseEnter={this.props.onMouseEnter}\r\n onMouseLeave={this.props.onMouseLeave}\r\n onMouseOver={this.props.onMouseOver}\r\n ref={this.refInput}\r\n placeholder={this.state.focused ? '' : placeholder}\r\n />\r\n );\r\n };\r\n\r\n /**\r\n * @public\r\n */\r\n public focus = () => {\r\n if (this.input) {\r\n this.input.focus();\r\n }\r\n };\r\n\r\n /**\r\n * @public\r\n */\r\n public blur = () => {\r\n if (this.input) {\r\n this.input.blur();\r\n }\r\n };\r\n\r\n private getState(value: Nullable<number>, fractionDigits: Nullable<number>, hideTrailingZeros: boolean) {\r\n return {\r\n formatted: CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros }),\r\n selection: SelectionHelper.fromPosition(0),\r\n };\r\n }\r\n\r\n private handleMouseUp = (event: React.MouseEvent<HTMLInputElement>) => {\r\n const selection = getInputSelection(event.target);\r\n const normilized = CurrencyInputHelper.normalizeSelection(this.state.formatted, selection);\r\n this.setState({ selection: normilized });\r\n };\r\n\r\n private handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\r\n const selection = this.getSelection(event.target);\r\n this.tempSelectionForOnChange = selection;\r\n\r\n if (this.props.onKeyDown) {\r\n this.props.onKeyDown(event);\r\n if (event.defaultPrevented) {\r\n return;\r\n }\r\n }\r\n\r\n const action = extractAction(event);\r\n\r\n if (action === CURRENCY_INPUT_ACTIONS.Ignore) {\r\n return;\r\n }\r\n\r\n if (action !== CURRENCY_INPUT_ACTIONS.Unknown) {\r\n event.preventDefault();\r\n }\r\n\r\n switch (action) {\r\n case CURRENCY_INPUT_ACTIONS.Submit: {\r\n if (this.props.onSubmit) {\r\n this.props.onSubmit();\r\n }\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.Backspace: {\r\n this.inputValue(CurrencyInputHelper.moveCursor(this.state.formatted, selection, -1), selection.end, '');\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.Delete: {\r\n this.inputValue(selection.start, CurrencyInputHelper.moveCursor(this.state.formatted, selection, +1), '');\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.MoveCursorLeft: {\r\n this.moveCursor(selection, -1);\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.MoveCursorRight: {\r\n this.moveCursor(selection, +1);\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.Home: {\r\n this.setState({ selection: SelectionHelper.fromPosition(0) });\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.End: {\r\n const end = this.state.formatted.length;\r\n this.setState({ selection: SelectionHelper.fromPosition(end) });\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionLeft: {\r\n this.extendSelection(selection, -1);\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionRight: {\r\n this.extendSelection(selection, +1);\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.FullSelection: {\r\n this.setState({\r\n selection: SelectionHelper.forward(0, this.state.formatted.length),\r\n });\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToStart: {\r\n this.setState({\r\n selection: SelectionHelper.backward(0, selection.start),\r\n });\r\n return;\r\n }\r\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToEnd: {\r\n const inputEnd = this.state.formatted.length;\r\n this.setState({\r\n selection: SelectionHelper.forward(selection.start, inputEnd),\r\n });\r\n return;\r\n }\r\n }\r\n };\r\n\r\n private getSelection = (input: EventTarget): Selection => {\r\n const selection = getInputSelection(input);\r\n return {\r\n start: selection.start,\r\n end: selection.end,\r\n direction: this.state.selection.direction,\r\n };\r\n };\r\n\r\n private moveCursor = (selection: Selection, step: number) => {\r\n const position = CurrencyInputHelper.moveCursor(this.state.formatted, selection, step);\r\n this.setState({ selection: SelectionHelper.fromPosition(position) });\r\n };\r\n\r\n private extendSelection = (selection: Selection, step: number) => {\r\n const extended = CurrencyInputHelper.extendSelection(this.state.formatted, selection, step);\r\n this.setState({ selection: extended });\r\n };\r\n\r\n private inputValue = (start: number, end: number, value: string) => {\r\n const result = CurrencyInputHelper.safeInsert(this.state.formatted, start, end, value, {\r\n integerDigits: this.props.integerDigits,\r\n fractionDigits: this.props.fractionDigits,\r\n unsigned: !this.props.signed,\r\n });\r\n if (result) {\r\n const formatted = result.value;\r\n const selection = SelectionHelper.fromPosition(result.position);\r\n this.setState({ formatted, selection }, () => {\r\n const parsedValue = CurrencyHelper.parse(formatted);\r\n if (this.props.value !== parsedValue) {\r\n this.props.onValueChange(parsedValue);\r\n }\r\n });\r\n return true;\r\n }\r\n\r\n if (this.input) {\r\n this.input.blink();\r\n }\r\n return false;\r\n };\r\n\r\n private getOnChangeDelta = (value: string) => {\r\n const selection = this.tempSelectionForOnChange;\r\n const oldValue = this.state.formatted;\r\n if (selection.start !== selection.end) {\r\n return value.substring(selection.start, value.length - (oldValue.length - selection.end));\r\n } else if (value.length > oldValue.length) {\r\n return value.substr(selection.start, value.length - oldValue.length);\r\n }\r\n return null;\r\n };\r\n\r\n private handleValueChange = (value: string): void => {\r\n const selection = this.tempSelectionForOnChange;\r\n const delta = this.getOnChangeDelta(value);\r\n if (delta != null && !this.inputValue(selection.start, selection.end, delta)) {\r\n this.setState({ selection });\r\n }\r\n };\r\n\r\n private handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\r\n const data = event.clipboardData.getData('text');\r\n const selection = this.getSelection(event.target);\r\n this.inputValue(selection.start, selection.end, data);\r\n event.preventDefault();\r\n };\r\n\r\n private handleCopy = (event: React.ClipboardEvent<HTMLInputElement>) => {\r\n const selection = this.getSelection(event.target);\r\n if (selection.start !== selection.end) {\r\n const substring = this.state.formatted.substring(selection.start, selection.end);\r\n const data = CurrencyHelper.formatForClipboard(substring);\r\n event.clipboardData.setData('text', data);\r\n }\r\n event.preventDefault();\r\n };\r\n\r\n private handleCut = (event: React.ClipboardEvent<HTMLInputElement>) => {\r\n const selection = this.getSelection(event.target);\r\n if (selection.start !== selection.end) {\r\n const substring = this.state.formatted.substring(selection.start, selection.end);\r\n const data = CurrencyHelper.formatForClipboard(substring);\r\n event.clipboardData.setData('text', data);\r\n this.inputValue(selection.start, selection.end, '');\r\n }\r\n event.preventDefault();\r\n };\r\n\r\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\r\n const { selectionStart, selectionEnd, selectionDirection } = event.target;\r\n const valueLenght = event.target.value.length;\r\n\r\n const selection = {\r\n start: selectionStart !== selectionEnd ? selectionStart || 0 : selectionStart || valueLenght,\r\n end: selectionEnd !== selectionStart ? selectionEnd || 0 : selectionEnd || valueLenght,\r\n direction: (selectionDirection as SelectionDirection) || 'none',\r\n };\r\n\r\n this.setState({\r\n focused: true,\r\n selection,\r\n });\r\n\r\n if (this.props.onFocus) {\r\n this.props.onFocus(event);\r\n }\r\n };\r\n\r\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\r\n const value = CurrencyHelper.parse(this.state.formatted);\r\n\r\n this.setState({\r\n ...this.getState(value, this.props.fractionDigits, this.props.hideTrailingZeros),\r\n focused: false,\r\n });\r\n\r\n if (this.props.onBlur) {\r\n this.props.onBlur(event);\r\n }\r\n };\r\n\r\n private refInput = (element: Nullable<Input>) => {\r\n this.input = element;\r\n };\r\n}\r\n\r\nfunction getInputSelection(input: EventTarget): Selection {\r\n if (!(input instanceof HTMLInputElement)) {\r\n throw new Error('input is not HTMLInputElement');\r\n }\r\n return {\r\n start: input.selectionStart!,\r\n end: input.selectionEnd!,\r\n direction: input.selectionDirection as SelectionDirection,\r\n };\r\n}\r\n"]}
1
+ {"version":3,"sources":["CurrencyInput.tsx"],"names":["React","PropTypes","warning","debounce","isIE11","Input","CommonWrapper","rootNode","MAX_SAFE_DIGITS","SelectionHelper","CurrencyHelper","CurrencyInputHelper","CURRENCY_INPUT_ACTIONS","extractAction","CurrencyInput","state","getState","props","value","fractionDigits","hideTrailingZeros","focused","tempSelectionForOnChange","fromPosition","renderMain","signed","onSubmit","integerDigits","rest","placeholder","format","formatted","handleBlur","handleFocus","handleMouseUp","handleKeyDown","handleValueChange","handlePaste","handleCopy","handleCut","onMouseEnter","onMouseLeave","onMouseOver","refInput","focus","input","blur","debouncedSetSelectionFromEvent","setSelectionFromEvent","event","persist","selection","getSelection","target","onKeyDown","defaultPrevented","action","Ignore","Unknown","preventDefault","Submit","Backspace","inputValue","moveCursor","end","Delete","start","MoveCursorLeft","MoveCursorRight","Home","setState","End","length","ExtendSelectionLeft","extendSelection","ExtendSelectionRight","FullSelection","forward","ExtendSelectionToStart","backward","ExtendSelectionToEnd","inputEnd","scrollInput","node","getNode","scrollWidth","clientWidth","PAD","SHIFT","selected","position","direction","charsCount","charWidth","frame","Math","ceil","frameStart","scrollLeft","frameEnd","getInputSelectionFromEvent","step","extended","result","safeInsert","unsigned","parsedValue","parse","onValueChange","blink","getOnChangeDelta","oldValue","substring","substr","delta","data","clipboardData","getData","formatForClipboard","setData","selectionStart","selectionEnd","selectionDirection","valueLenght","onFocus","onBlur","element","componentDidMount","maxLength","undefined","componentDidUpdate","prevProps","prevState","setSelectionRange","render","setRootNode","normilized","normalizeSelection","PureComponent","__KONTUR_REACT_UI__","propTypes","align","oneOf","autoFocus","bool","borderless","disabled","error","number","leftIcon","string","size","width","oneOfType","func","isRequired","defaultProps","inputMode","HTMLInputElement","Error"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport warning from 'warning';\nimport debounce from 'lodash.debounce';\n\nimport { isIE11 } from '../../lib/client';\nimport { Input, InputProps } from '../Input';\nimport { Nullable, Override } from '../../typings/utility-types';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { TSetRootNode, rootNode } from '../../lib/rootNode';\n\nimport { MAX_SAFE_DIGITS } from './constants';\nimport { Selection, SelectionDirection, SelectionHelper } from './SelectionHelper';\nimport { CurrencyHelper } from './CurrencyHelper';\nimport { CurrencyInputHelper } from './CurrencyInputHelper';\nimport { CURRENCY_INPUT_ACTIONS, extractAction } from './CurrencyInputKeyboardActions';\n\nexport interface CurrencyInputProps\n extends CommonProps,\n Override<\n InputProps,\n {\n /** Значение */\n value: Nullable<number>;\n /** Убрать лишние нули после запятой */\n hideTrailingZeros: boolean;\n /** Кол-во цифр после зяпятой */\n fractionDigits?: Nullable<number>;\n /** Отрицательные значения */\n signed?: boolean;\n /**\n * Допустимое кол-во цифр целой части.\n * Если передан **0**, или `fractionDigits=15`, то и в целой части допускается только **0**.\n */\n integerDigits?: Nullable<number>;\n /** Вызывается при изменении `value` */\n onValueChange: (value: Nullable<number>) => void;\n /** onSubmit */\n onSubmit?: () => void;\n }\n > {}\n\nexport interface CurrencyInputState {\n formatted: string;\n selection: Selection;\n focused: boolean;\n}\n\n/**\n * Поле для денежных сумм (и других числовых значений).\n * Принимает любые свойства `Input`.\n *\n * Максимальная длина числа - **15 цифр** (с десятичным разделителем в любом месте).\n * <br/>\n * Если `fractionDigits=15`, то в целой части допускается **0**.\n */\n@rootNode\nexport class CurrencyInput extends React.PureComponent<CurrencyInputProps, CurrencyInputState> {\n public static __KONTUR_REACT_UI__ = 'CurrencyInput';\n\n public static propTypes = {\n align: PropTypes.oneOf(['left', 'center', 'right']),\n autoFocus: PropTypes.bool,\n borderless: PropTypes.bool,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n fractionDigits: PropTypes.number,\n hideTrailingZeros: PropTypes.bool,\n leftIcon: PropTypes.element,\n placeholder: PropTypes.string,\n signed: PropTypes.bool,\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n value: PropTypes.number,\n warning: PropTypes.bool,\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n onBlur: PropTypes.func,\n onValueChange: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onMouseOver: PropTypes.func,\n onSubmit: PropTypes.func,\n };\n\n public static defaultProps = {\n align: 'right',\n fractionDigits: 2,\n hideTrailingZeros: false,\n value: null,\n inputMode: 'decimal',\n };\n\n public state: CurrencyInputState = {\n ...this.getState(this.props.value, this.props.fractionDigits, this.props.hideTrailingZeros),\n focused: false,\n };\n\n private input: Nullable<Input>;\n private tempSelectionForOnChange: Selection = SelectionHelper.fromPosition(0);\n private setRootNode!: TSetRootNode;\n\n public componentDidMount(): void {\n const { maxLength, integerDigits, fractionDigits } = this.props;\n warning(\n maxLength === undefined,\n `[CurrencyInput]: Prop 'maxLength' has been deprecated. See 'integerDigits' and 'fractionDigits'`,\n );\n warning(\n (integerDigits || 0) + (fractionDigits || 0) <= MAX_SAFE_DIGITS,\n `[CurrencyInput]: Sum of 'integerDigits' and 'fractionDigits' exceeds ${MAX_SAFE_DIGITS}.` +\n `\\nSee https://tech.skbkontur.ru/react-ui/#/CurrencyInput?id=why15`,\n );\n }\n\n public componentDidUpdate(prevProps: CurrencyInputProps, prevState: CurrencyInputState) {\n const { value, fractionDigits, hideTrailingZeros } = this.props;\n if (value !== CurrencyHelper.parse(prevState.formatted) || prevProps.fractionDigits !== fractionDigits) {\n this.setState(this.getState(value, fractionDigits, hideTrailingZeros));\n }\n if (this.state.focused && this.input) {\n const { start, end } = this.state.selection;\n\n this.input.setSelectionRange(start, end);\n }\n if (prevState.selection !== this.state.selection) {\n this.scrollInput();\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {this.renderMain}\n </CommonWrapper>\n );\n }\n\n public renderMain = (props: CommonWrapperRestProps<CurrencyInputProps>) => {\n const { fractionDigits, signed, onSubmit, integerDigits, hideTrailingZeros, ...rest } = props;\n const placeholder =\n this.props.placeholder == null\n ? CurrencyHelper.format(0, { fractionDigits, hideTrailingZeros })\n : this.props.placeholder;\n\n return (\n <Input\n {...rest}\n value={this.state.formatted}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onMouseUp={this.handleMouseUp}\n onKeyDown={this.handleKeyDown}\n onValueChange={this.handleValueChange}\n onPaste={this.handlePaste}\n onCopy={this.handleCopy}\n onCut={this.handleCut}\n onMouseEnter={this.props.onMouseEnter}\n onMouseLeave={this.props.onMouseLeave}\n onMouseOver={this.props.onMouseOver}\n ref={this.refInput}\n placeholder={this.state.focused ? '' : placeholder}\n />\n );\n };\n\n /**\n * @public\n */\n public focus = () => {\n if (this.input) {\n this.input.focus();\n }\n };\n\n /**\n * @public\n */\n public blur = () => {\n if (this.input) {\n this.input.blur();\n }\n };\n\n private getState(value: Nullable<number>, fractionDigits: Nullable<number>, hideTrailingZeros: boolean) {\n return {\n formatted: CurrencyHelper.format(value, { fractionDigits, hideTrailingZeros }),\n selection: SelectionHelper.fromPosition(0),\n };\n }\n\n private setSelectionFromEvent(event: React.MouseEvent<HTMLInputElement>) {\n const selection = getInputSelectionFromEvent(event.target);\n const normilized = CurrencyInputHelper.normalizeSelection(this.state.formatted, selection);\n this.setState({ selection: normilized });\n }\n\n // for IE11\n private readonly debouncedSetSelectionFromEvent = debounce(this.setSelectionFromEvent, 300);\n\n private handleMouseUp = (event: React.MouseEvent<HTMLInputElement>) => {\n if (isIE11) {\n event.persist();\n this.debouncedSetSelectionFromEvent(event);\n } else {\n this.setSelectionFromEvent(event);\n }\n };\n\n private handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n this.tempSelectionForOnChange = selection;\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(event);\n if (event.defaultPrevented) {\n return;\n }\n }\n\n const action = extractAction(event);\n\n if (action === CURRENCY_INPUT_ACTIONS.Ignore) {\n return;\n }\n\n if (action !== CURRENCY_INPUT_ACTIONS.Unknown) {\n event.preventDefault();\n }\n\n switch (action) {\n case CURRENCY_INPUT_ACTIONS.Submit: {\n if (this.props.onSubmit) {\n this.props.onSubmit();\n }\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Backspace: {\n this.inputValue(CurrencyInputHelper.moveCursor(this.state.formatted, selection, -1), selection.end, '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Delete: {\n this.inputValue(selection.start, CurrencyInputHelper.moveCursor(this.state.formatted, selection, +1), '');\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorLeft: {\n this.moveCursor(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.MoveCursorRight: {\n this.moveCursor(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.Home: {\n this.setState({ selection: SelectionHelper.fromPosition(0) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.End: {\n const end = this.state.formatted.length;\n this.setState({ selection: SelectionHelper.fromPosition(end) });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionLeft: {\n this.extendSelection(selection, -1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionRight: {\n this.extendSelection(selection, +1);\n return;\n }\n case CURRENCY_INPUT_ACTIONS.FullSelection: {\n this.setState({\n selection: SelectionHelper.forward(0, this.state.formatted.length),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToStart: {\n this.setState({\n selection: SelectionHelper.backward(0, selection.start),\n });\n return;\n }\n case CURRENCY_INPUT_ACTIONS.ExtendSelectionToEnd: {\n const inputEnd = this.state.formatted.length;\n this.setState({\n selection: SelectionHelper.forward(selection.start, inputEnd),\n });\n return;\n }\n }\n };\n\n private scrollInput = () => {\n const node = this.input?.getNode();\n if (!node || node.scrollWidth === node.clientWidth) {\n return;\n }\n const PAD = 1;\n const SHIFT = 3;\n\n const selection = this.state.selection;\n const selected = selection.start !== selection.end;\n const position = selected && selection.direction === 'forward' ? selection.end : selection.start;\n const charsCount = this.state.formatted.length;\n const charWidth = node.scrollWidth / charsCount;\n const frame = Math.ceil(node.clientWidth / charWidth);\n const frameStart = Math.ceil(node.scrollLeft / charWidth);\n const frameEnd = frameStart + frame;\n\n if (position < frameStart + PAD) {\n node.scrollLeft = (position - SHIFT) * charWidth;\n }\n if (position > frameEnd - PAD) {\n node.scrollLeft = (position - frame + SHIFT) * charWidth;\n }\n };\n\n private getSelection = (input: EventTarget): Selection => {\n const selection = getInputSelectionFromEvent(input);\n return {\n start: selection.start,\n end: selection.end,\n direction: this.state.selection.direction,\n };\n };\n\n private moveCursor = (selection: Selection, step: number) => {\n const position = CurrencyInputHelper.moveCursor(this.state.formatted, selection, step);\n this.setState({ selection: SelectionHelper.fromPosition(position) });\n };\n\n private extendSelection = (selection: Selection, step: number) => {\n const extended = CurrencyInputHelper.extendSelection(this.state.formatted, selection, step);\n this.setState({ selection: extended });\n };\n\n private inputValue = (start: number, end: number, value: string) => {\n const result = CurrencyInputHelper.safeInsert(this.state.formatted, start, end, value, {\n integerDigits: this.props.integerDigits,\n fractionDigits: this.props.fractionDigits,\n unsigned: !this.props.signed,\n });\n if (result) {\n const formatted = result.value;\n const selection = SelectionHelper.fromPosition(result.position);\n this.setState({ formatted, selection }, () => {\n const parsedValue = CurrencyHelper.parse(formatted);\n if (this.props.value !== parsedValue) {\n this.props.onValueChange(parsedValue);\n }\n });\n return true;\n }\n\n if (this.input) {\n this.input.blink();\n }\n return false;\n };\n\n private getOnChangeDelta = (value: string) => {\n const selection = this.tempSelectionForOnChange;\n const oldValue = this.state.formatted;\n if (selection.start !== selection.end) {\n return value.substring(selection.start, value.length - (oldValue.length - selection.end));\n } else if (value.length > oldValue.length) {\n return value.substr(selection.start, value.length - oldValue.length);\n }\n return null;\n };\n\n private handleValueChange = (value: string): void => {\n const selection = this.tempSelectionForOnChange;\n const delta = this.getOnChangeDelta(value);\n if (delta != null && !this.inputValue(selection.start, selection.end, delta)) {\n this.setState({ selection });\n }\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const data = event.clipboardData.getData('text');\n const selection = this.getSelection(event.target);\n this.inputValue(selection.start, selection.end, data);\n event.preventDefault();\n };\n\n private handleCopy = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n if (selection.start !== selection.end) {\n const substring = this.state.formatted.substring(selection.start, selection.end);\n const data = CurrencyHelper.formatForClipboard(substring);\n event.clipboardData.setData('text', data);\n }\n event.preventDefault();\n };\n\n private handleCut = (event: React.ClipboardEvent<HTMLInputElement>) => {\n const selection = this.getSelection(event.target);\n if (selection.start !== selection.end) {\n const substring = this.state.formatted.substring(selection.start, selection.end);\n const data = CurrencyHelper.formatForClipboard(substring);\n event.clipboardData.setData('text', data);\n this.inputValue(selection.start, selection.end, '');\n }\n event.preventDefault();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n const { selectionStart, selectionEnd, selectionDirection } = event.target;\n const valueLenght = event.target.value.length;\n\n const selection = {\n start: selectionStart !== selectionEnd ? selectionStart || 0 : selectionStart || valueLenght,\n end: selectionEnd !== selectionStart ? selectionEnd || 0 : selectionEnd || valueLenght,\n direction: (selectionDirection as SelectionDirection) || 'none',\n };\n\n this.setState({\n focused: true,\n selection,\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n\n private handleBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n const value = CurrencyHelper.parse(this.state.formatted);\n\n this.setState({\n ...this.getState(value, this.props.fractionDigits, this.props.hideTrailingZeros),\n focused: false,\n });\n\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n\n private refInput = (element: Nullable<Input>) => {\n this.input = element;\n };\n}\n\nfunction getInputSelectionFromEvent(input: EventTarget): Selection {\n if (!(input instanceof HTMLInputElement)) {\n throw new Error('input is not HTMLInputElement');\n }\n\n return {\n start: input.selectionStart!,\n end: input.selectionEnd!,\n direction: input.selectionDirection as SelectionDirection,\n };\n}\n"]}
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { InputProps } from '../Input';
4
4
  import { Nullable, Override } from '../../typings/utility-types';
5
- import { CommonProps } from '../../internal/CommonWrapper';
5
+ import { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper';
6
6
  import { Selection } from './SelectionHelper';
7
7
  export interface CurrencyInputProps extends CommonProps, Override<InputProps, {
8
8
  /** Значение */
@@ -37,7 +37,7 @@ export interface CurrencyInputState {
37
37
  * <br/>
38
38
  * Если `fractionDigits=15`, то в целой части допускается **0**.
39
39
  */
40
- export declare class CurrencyInput extends React.Component<CurrencyInputProps, CurrencyInputState> {
40
+ export declare class CurrencyInput extends React.PureComponent<CurrencyInputProps, CurrencyInputState> {
41
41
  static __KONTUR_REACT_UI__: string;
42
42
  static propTypes: {
43
43
  align: PropTypes.Requireable<string>;
@@ -67,15 +67,16 @@ export declare class CurrencyInput extends React.Component<CurrencyInputProps, C
67
67
  fractionDigits: number;
68
68
  hideTrailingZeros: boolean;
69
69
  value: null;
70
+ inputMode: string;
70
71
  };
71
72
  state: CurrencyInputState;
72
73
  private input;
73
74
  private tempSelectionForOnChange;
75
+ private setRootNode;
74
76
  componentDidMount(): void;
75
- UNSAFE_componentWillReceiveProps(nextProps: CurrencyInputProps): void;
76
- componentDidUpdate(): void;
77
+ componentDidUpdate(prevProps: CurrencyInputProps, prevState: CurrencyInputState): void;
77
78
  render(): JSX.Element;
78
- renderMain: (props: Pick<Pick<CurrencyInputProps, "type" | "placeholder" | "dir" | "form" | "slot" | "title" | "mask" | "pattern" | "maskChar" | "formatChars" | "alwaysShowMask" | "onUnexpectedInput" | "onValueChange" | "accept" | "alt" | "autoComplete" | "autoFocus" | "capture" | "checked" | "crossOrigin" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "height" | "list" | "max" | "maxLength" | "min" | "minLength" | "multiple" | "name" | "readOnly" | "required" | "size" | "src" | "step" | "value" | "width" | "onChange" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "hidden" | "id" | "lang" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "leftIcon" | "rightIcon" | "error" | "warning" | "borderless" | "align" | "suffix" | "selectAllOnFocus" | "fractionDigits" | "hideTrailingZeros" | "signed" | "integerDigits">, "type" | "placeholder" | "dir" | "form" | "slot" | "title" | "mask" | "pattern" | "maskChar" | "formatChars" | "alwaysShowMask" | "onUnexpectedInput" | "onValueChange" | "accept" | "alt" | "autoComplete" | "autoFocus" | "capture" | "checked" | "crossOrigin" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "height" | "list" | "max" | "maxLength" | "min" | "minLength" | "multiple" | "name" | "readOnly" | "required" | "size" | "src" | "step" | "value" | "width" | "onChange" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "hidden" | "id" | "lang" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "leftIcon" | "rightIcon" | "error" | "warning" | "borderless" | "align" | "suffix" | "selectAllOnFocus" | "fractionDigits" | "hideTrailingZeros" | "signed" | "integerDigits">) => JSX.Element;
79
+ renderMain: (props: CommonWrapperRestProps<CurrencyInputProps>) => JSX.Element;
79
80
  /**
80
81
  * @public
81
82
  */
@@ -85,8 +86,11 @@ export declare class CurrencyInput extends React.Component<CurrencyInputProps, C
85
86
  */
86
87
  blur: () => void;
87
88
  private getState;
89
+ private setSelectionFromEvent;
90
+ private readonly debouncedSetSelectionFromEvent;
88
91
  private handleMouseUp;
89
92
  private handleKeyDown;
93
+ private scrollInput;
90
94
  private getSelection;
91
95
  private moveCursor;
92
96
  private extendSelection;
@@ -1,20 +1,24 @@
1
- ```jsx
2
- <CurrencyInput value={state.value} fractionDigits={3} onValueChange={value => setState({ value })} />
3
- ```
4
-
5
- `fractionDigits={15}`
6
-
7
- ```jsx
8
- <CurrencyInput value={state.value} fractionDigits={15} onValueChange={value => setState({ value })} />
9
- ```
10
-
11
- ---
12
-
13
- ### <a name="/CurrencyInput?id=why15" href="#/CurrencyInput?id=why15">Почему 15?</a>
14
-
15
- Максимальное безопасное целочисленное значение - `9007199254740991` (16 цифр).
16
- Убрав один разряд, мы получим "новое" максимальное безопасное значение - **`999999999999999` (15 цифр)**.
17
-
18
- При этом десятичный резделитель может находиться в любом месте. Если целая часть равна `0`, то она не учитывается.
19
-
20
- _Детали можно почитать здесь - <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER">MDN web docs</a>_
1
+ ```jsx harmony
2
+ const [value, setValue] = React.useState();
3
+
4
+ <CurrencyInput value={value} fractionDigits={3} onValueChange={setValue} />
5
+ ```
6
+
7
+ `fractionDigits={15}`
8
+
9
+ ```jsx harmony
10
+ const [value, setValue] = React.useState();
11
+
12
+ <CurrencyInput value={value} fractionDigits={15} onValueChange={setValue} />
13
+ ```
14
+
15
+ ---
16
+
17
+ ### <a name="/CurrencyInput?id=why15" href="#/CurrencyInput?id=why15">Почему 15?</a>
18
+
19
+ Максимальное безопасное целочисленное значение - `9007199254740991` (16 цифр).
20
+ Убрав один разряд, мы получим "новое" максимальное безопасное значение - **`999999999999999` (15 цифр)**.
21
+
22
+ При этом десятичный резделитель может находиться в любом месте. Если целая часть равна `0`, то она не учитывается.
23
+
24
+ _Детали можно почитать здесь - <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER">MDN web docs</a>_
@@ -1 +1 @@
1
- {"version":3,"sources":["CurrencyInputHelper.tsx"],"names":["CurrencyHelper","CursorHelper","CurrencyInputHelper","moveCursor","value","selection","step","start","end","calculatePosition","getInfo","cursorMap","extendSelection","info","normalizeSelection","safeInsert","input","options","length","extracted","extractValid","insert","prefix","substring","suffix","combined","isValidString","raw","toRawPosition","info2","formattedPosition","toFormattedPosition","formatted","position"],"mappings":";;;AAGA,SAASA,cAAT,QAA+B,kBAA/B;AACA,SAASC,YAAT,QAA6B,gBAA7B;;;;;;;;AAQA,WAAaC,mBAAb;AACgBC,EAAAA,UADhB,GACE,oBAAyBC,KAAzB,EAAwCC,SAAxC,EAA8DC,IAA9D,EAAoF;AAClF,WAAOD,SAAS,CAACE,KAAV,KAAoBF,SAAS,CAACG,GAA9B;AACHP,IAAAA,YAAY,CAACQ,iBAAb,CAA+BT,cAAc,CAACU,OAAf,CAAuBN,KAAvB,EAA8BO,SAA7D,EAAwEN,SAAS,CAACE,KAAlF,EAAyFD,IAAzF,CADG;AAEHA,IAAAA,IAAI,GAAG,CAAP;AACAD,IAAAA,SAAS,CAACE,KADV;AAEAF,IAAAA,SAAS,CAACG,GAJd;AAKD,GAPH;;AASgBI,EAAAA,eAThB,GASE,yBAA8BR,KAA9B,EAA6CC,SAA7C,EAAmEC,IAAnE,EAAiF;AAC/E,QAAMO,IAAI,GAAGb,cAAc,CAACU,OAAf,CAAuBN,KAAvB,CAAb;AACA,WAAOH,YAAY,CAACW,eAAb,CAA6BC,IAAI,CAACF,SAAlC,EAA6CN,SAA7C,EAAwDC,IAAxD,CAAP;AACD,GAZH;;AAcgBQ,EAAAA,kBAdhB,GAcE,4BAAiCV,KAAjC,EAAgDC,SAAhD,EAAiF;AAC/E,QAAMQ,IAAI,GAAGb,cAAc,CAACU,OAAf,CAAuBN,KAAvB,CAAb;AACA,WAAOH,YAAY,CAACa,kBAAb,CAAgCD,IAAI,CAACF,SAArC,EAAgDN,SAAhD,CAAP;AACD,GAjBH;;AAmBgBU,EAAAA,UAnBhB,GAmBE,oBAAyBX,KAAzB,EAAwCG,KAAxC,EAAuDC,GAAvD,EAAoEQ,KAApE,EAAmFC,OAAnF,EAA4G;AAC1G,QAAID,KAAK,IAAIT,KAAK,KAAK,CAAnB,IAAwBC,GAAG,KAAKJ,KAAK,CAACc,MAA1C,EAAkD;AAChD,UAAMC,SAAS,GAAGnB,cAAc,CAACoB,YAAf,CAA4BJ,KAA5B,EAAmCC,OAAnC,CAAlB;AACA,UAAI,CAACE,SAAL,EAAgB;AACd,eAAO,IAAP;AACD;AACD,aAAOjB,mBAAmB,CAACmB,MAApB,CAA2BjB,KAA3B,EAAkCG,KAAlC,EAAyCC,GAAzC,EAA8CW,SAA9C,CAAP;AACD;;AAED,QAAMG,MAAM,GAAGlB,KAAK,CAACmB,SAAN,CAAgB,CAAhB,EAAmBhB,KAAnB,CAAf;AACA,QAAMiB,MAAM,GAAGpB,KAAK,CAACmB,SAAN,CAAgBf,GAAhB,CAAf;;AAEA,QAAMiB,QAAQ,GAAGH,MAAM,GAAGN,KAAT,GAAiBQ,MAAlC;AACA,QAAIxB,cAAc,CAAC0B,aAAf,CAA6BD,QAA7B,EAAuCR,OAAvC,CAAJ,EAAqD;AACnD,aAAOf,mBAAmB,CAACmB,MAApB,CAA2BjB,KAA3B,EAAkCG,KAAlC,EAAyCC,GAAzC,EAA8CQ,KAA9C,CAAP;AACD;AACD,WAAO,IAAP;AACD,GApCH;;AAsCgBK,EAAAA,MAtChB,GAsCE,gBAAqBjB,KAArB,EAAoCG,KAApC,EAAmDC,GAAnD,EAAgEQ,KAAhE,EAA+E;AAC7E,QAAMM,MAAM,GAAGlB,KAAK,CAACmB,SAAN,CAAgB,CAAhB,EAAmBhB,KAAnB,CAAf;AACA,QAAMiB,MAAM,GAAGpB,KAAK,CAACmB,SAAN,CAAgBf,GAAhB,CAAf;;AAEA,QAAMK,IAAI,GAAGb,cAAc,CAACU,OAAf,CAAuBN,KAAvB,CAAb;AACA,QAAMuB,GAAG,GAAG1B,YAAY,CAAC2B,aAAb,CAA2Bf,IAAI,CAACF,SAAhC,EAA2CJ,KAA3C,CAAZ;AACA,QAAMsB,KAAK,GAAG7B,cAAc,CAACU,OAAf,CAAuBY,MAAM,GAAGN,KAAT,GAAiBQ,MAAxC,CAAd;AACA,QAAMM,iBAAiB,GAAG7B,YAAY,CAAC8B,mBAAb,CAAiCF,KAAK,CAAClB,SAAvC,EAAkDgB,GAAG,GAAGX,KAAK,CAACE,MAA9D,CAA1B;;AAEA,WAAO,EAAEd,KAAK,EAAEyB,KAAK,CAACG,SAAf,EAA0BC,QAAQ,EAAEH,iBAApC,EAAP;AACD,GAhDH","sourcesContent":["import { Nullable } from '../../typings/utility-types';\r\n\r\nimport { Selection } from './SelectionHelper';\r\nimport { CurrencyHelper } from './CurrencyHelper';\r\nimport { CursorHelper } from './CursorHelper';\r\n\r\nexport interface DecimalOptions {\r\n integerDigits?: Nullable<number>;\r\n fractionDigits?: Nullable<number>;\r\n unsigned?: boolean;\r\n}\r\n\r\nexport class CurrencyInputHelper {\r\n public static moveCursor(value: string, selection: Selection, step: number): number {\r\n return selection.start === selection.end\r\n ? CursorHelper.calculatePosition(CurrencyHelper.getInfo(value).cursorMap, selection.start, step)\r\n : step < 0\r\n ? selection.start\r\n : selection.end;\r\n }\r\n\r\n public static extendSelection(value: string, selection: Selection, step: number) {\r\n const info = CurrencyHelper.getInfo(value);\r\n return CursorHelper.extendSelection(info.cursorMap, selection, step);\r\n }\r\n\r\n public static normalizeSelection(value: string, selection: Selection): Selection {\r\n const info = CurrencyHelper.getInfo(value);\r\n return CursorHelper.normalizeSelection(info.cursorMap, selection);\r\n }\r\n\r\n public static safeInsert(value: string, start: number, end: number, input: string, options: DecimalOptions) {\r\n if (input && start === 0 && end === value.length) {\r\n const extracted = CurrencyHelper.extractValid(input, options);\r\n if (!extracted) {\r\n return null;\r\n }\r\n return CurrencyInputHelper.insert(value, start, end, extracted);\r\n }\r\n\r\n const prefix = value.substring(0, start);\r\n const suffix = value.substring(end);\r\n\r\n const combined = prefix + input + suffix;\r\n if (CurrencyHelper.isValidString(combined, options)) {\r\n return CurrencyInputHelper.insert(value, start, end, input);\r\n }\r\n return null;\r\n }\r\n\r\n public static insert(value: string, start: number, end: number, input: string) {\r\n const prefix = value.substring(0, start);\r\n const suffix = value.substring(end);\r\n\r\n const info = CurrencyHelper.getInfo(value);\r\n const raw = CursorHelper.toRawPosition(info.cursorMap, start);\r\n const info2 = CurrencyHelper.getInfo(prefix + input + suffix);\r\n const formattedPosition = CursorHelper.toFormattedPosition(info2.cursorMap, raw + input.length);\r\n\r\n return { value: info2.formatted, position: formattedPosition };\r\n }\r\n}\r\n"]}
1
+ {"version":3,"sources":["CurrencyInputHelper.tsx"],"names":["CurrencyHelper","CursorHelper","CurrencyInputHelper","moveCursor","value","selection","step","start","end","calculatePosition","getInfo","cursorMap","extendSelection","info","normalizeSelection","safeInsert","input","options","length","extracted","extractValid","insert","prefix","substring","suffix","combined","isValidString","raw","toRawPosition","info2","formattedPosition","toFormattedPosition","formatted","position"],"mappings":"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","sourcesContent":["import { Nullable } from '../../typings/utility-types';\n\nimport { Selection } from './SelectionHelper';\nimport { CurrencyHelper } from './CurrencyHelper';\nimport { CursorHelper } from './CursorHelper';\n\nexport interface DecimalOptions {\n integerDigits?: Nullable<number>;\n fractionDigits?: Nullable<number>;\n unsigned?: boolean;\n}\n\nexport class CurrencyInputHelper {\n public static moveCursor(value: string, selection: Selection, step: number): number {\n return selection.start === selection.end\n ? CursorHelper.calculatePosition(CurrencyHelper.getInfo(value).cursorMap, selection.start, step)\n : step < 0\n ? selection.start\n : selection.end;\n }\n\n public static extendSelection(value: string, selection: Selection, step: number) {\n const info = CurrencyHelper.getInfo(value);\n return CursorHelper.extendSelection(info.cursorMap, selection, step);\n }\n\n public static normalizeSelection(value: string, selection: Selection): Selection {\n const info = CurrencyHelper.getInfo(value);\n return CursorHelper.normalizeSelection(info.cursorMap, selection);\n }\n\n public static safeInsert(value: string, start: number, end: number, input: string, options: DecimalOptions) {\n if (input && start === 0 && end === value.length) {\n const extracted = CurrencyHelper.extractValid(input, options);\n if (!extracted) {\n return null;\n }\n return CurrencyInputHelper.insert(value, start, end, extracted);\n }\n\n const prefix = value.substring(0, start);\n const suffix = value.substring(end);\n\n const combined = prefix + input + suffix;\n if (CurrencyHelper.isValidString(combined, options)) {\n return CurrencyInputHelper.insert(value, start, end, input);\n }\n return null;\n }\n\n public static insert(value: string, start: number, end: number, input: string) {\n const prefix = value.substring(0, start);\n const suffix = value.substring(end);\n\n const info = CurrencyHelper.getInfo(value);\n const raw = CursorHelper.toRawPosition(info.cursorMap, start);\n const info2 = CurrencyHelper.getInfo(prefix + input + suffix);\n const formattedPosition = CursorHelper.toFormattedPosition(info2.cursorMap, raw + input.length);\n\n return { value: info2.formatted, position: formattedPosition };\n }\n}\n"]}