@skbkontur/react-ui 0.0.0-c91b3db3f4 → 0.0.0-cb270e7a13

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 (1804) hide show
  1. package/CHANGELOG.md +2508 -2056
  2. package/LICENSE +21 -21
  3. package/README.md +68 -61
  4. package/cjs/components/Autocomplete/Autocomplete.d.ts +12 -0
  5. package/cjs/components/Autocomplete/Autocomplete.js +103 -30
  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 +73 -13
  13. package/cjs/components/Button/Button.js +111 -11
  14. package/cjs/components/Button/Button.js.map +1 -1
  15. package/cjs/components/Button/Button.md +104 -92
  16. package/cjs/components/Button/Button.mixins.d.ts +6 -5
  17. package/cjs/components/Button/Button.mixins.js +33 -40
  18. package/cjs/components/Button/Button.mixins.js.map +1 -1
  19. package/cjs/components/Button/Button.styles.d.ts +33 -11
  20. package/cjs/components/Button/Button.styles.js +283 -256
  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 +4 -8
  25. package/cjs/components/Center/Center.js +10 -15
  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 +3 -6
  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 +31 -15
  33. package/cjs/components/Checkbox/Checkbox.js +84 -51
  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 +12 -7
  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 +9 -1
  41. package/cjs/components/ComboBox/ComboBox.js +29 -22
  42. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  43. package/cjs/components/ComboBox/ComboBox.md +445 -445
  44. package/cjs/components/ComboBox/index.js.map +1 -1
  45. package/cjs/components/CurrencyInput/CurrencyHelper.js +2 -1
  46. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  47. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +4 -1
  48. package/cjs/components/CurrencyInput/CurrencyInput.js +58 -14
  49. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  50. package/cjs/components/CurrencyInput/CurrencyInput.md +24 -24
  51. package/cjs/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  52. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js.map +1 -1
  53. package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
  54. package/cjs/components/CurrencyInput/SelectionHelper.js.map +1 -1
  55. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  56. package/cjs/components/CurrencyInput/index.js.map +1 -1
  57. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  58. package/cjs/components/CurrencyLabel/CurrencyLabel.md +23 -23
  59. package/cjs/components/CurrencyLabel/index.js.map +1 -1
  60. package/cjs/components/DateInput/DateFragmentsView.js +2 -2
  61. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  62. package/cjs/components/DateInput/DateFragmentsView.styles.d.ts +1 -1
  63. package/cjs/components/DateInput/DateFragmentsView.styles.js +4 -7
  64. package/cjs/components/DateInput/DateFragmentsView.styles.js.map +1 -1
  65. package/cjs/components/DateInput/DateInput.d.ts +7 -0
  66. package/cjs/components/DateInput/DateInput.js +21 -9
  67. package/cjs/components/DateInput/DateInput.js.map +1 -1
  68. package/cjs/components/DateInput/DateInput.md +106 -106
  69. package/cjs/components/DateInput/DateInput.styles.d.ts +3 -1
  70. package/cjs/components/DateInput/DateInput.styles.js +15 -3
  71. package/cjs/components/DateInput/DateInput.styles.js.map +1 -1
  72. package/cjs/components/DateInput/ViewDateInputValidateChecks.js.map +1 -1
  73. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  74. package/cjs/components/DateInput/helpers/InternalDateMediator.js +1 -4
  75. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  76. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  77. package/cjs/components/DateInput/helpers/inputNumber.js.map +1 -1
  78. package/cjs/components/DateInput/index.js.map +1 -1
  79. package/cjs/components/DatePicker/DatePicker.d.ts +16 -2
  80. package/cjs/components/DatePicker/DatePicker.js +59 -23
  81. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  82. package/cjs/components/DatePicker/DatePicker.md +307 -307
  83. package/cjs/components/DatePicker/DatePicker.styles.d.ts +1 -1
  84. package/cjs/components/DatePicker/DatePicker.styles.js +4 -5
  85. package/cjs/components/DatePicker/DatePicker.styles.js.map +1 -1
  86. package/cjs/components/DatePicker/DatePickerHelpers.js.map +1 -1
  87. package/cjs/components/DatePicker/Picker.js +2 -1
  88. package/cjs/components/DatePicker/Picker.js.map +1 -1
  89. package/cjs/components/DatePicker/Picker.styles.d.ts +1 -1
  90. package/cjs/components/DatePicker/Picker.styles.js +5 -7
  91. package/cjs/components/DatePicker/Picker.styles.js.map +1 -1
  92. package/cjs/components/DatePicker/index.js.map +1 -1
  93. package/cjs/components/DatePicker/locale/index.js.map +1 -1
  94. package/cjs/components/DatePicker/locale/locales/en.js.map +1 -1
  95. package/cjs/components/DatePicker/locale/locales/ru.js.map +1 -1
  96. package/cjs/components/Dropdown/Dropdown.d.ts +3 -2
  97. package/cjs/components/Dropdown/Dropdown.js +25 -24
  98. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  99. package/cjs/components/Dropdown/Dropdown.md +11 -12
  100. package/cjs/components/Dropdown/index.js.map +1 -1
  101. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +19 -3
  102. package/cjs/components/DropdownMenu/DropdownMenu.js +21 -3
  103. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  104. package/cjs/components/DropdownMenu/DropdownMenu.md +154 -73
  105. package/cjs/components/DropdownMenu/index.js.map +1 -1
  106. package/cjs/components/FxInput/FxInput.js +8 -2
  107. package/cjs/components/FxInput/FxInput.js.map +1 -1
  108. package/cjs/components/FxInput/FxInput.md +16 -16
  109. package/cjs/components/FxInput/index.js.map +1 -1
  110. package/cjs/components/Gapped/Gapped.d.ts +4 -3
  111. package/cjs/components/Gapped/Gapped.js +36 -21
  112. package/cjs/components/Gapped/Gapped.js.map +1 -1
  113. package/cjs/components/Gapped/Gapped.md +43 -43
  114. package/cjs/components/Gapped/index.js.map +1 -1
  115. package/cjs/components/Group/Group.js +10 -10
  116. package/cjs/components/Group/Group.js.map +1 -1
  117. package/cjs/components/Group/Group.md +18 -18
  118. package/cjs/components/Group/Group.styles.d.ts +1 -1
  119. package/cjs/components/Group/Group.styles.js +5 -7
  120. package/cjs/components/Group/Group.styles.js.map +1 -1
  121. package/cjs/components/Group/index.js.map +1 -1
  122. package/cjs/components/Hint/Hint.d.ts +41 -0
  123. package/cjs/components/Hint/Hint.js +71 -6
  124. package/cjs/components/Hint/Hint.js.map +1 -1
  125. package/cjs/components/Hint/Hint.md +42 -3
  126. package/cjs/components/Hint/Hint.styles.d.ts +2 -1
  127. package/cjs/components/Hint/Hint.styles.js +14 -9
  128. package/cjs/components/Hint/Hint.styles.js.map +1 -1
  129. package/cjs/components/Hint/index.js.map +1 -1
  130. package/cjs/components/Input/Input.d.ts +10 -2
  131. package/cjs/components/Input/Input.js +60 -39
  132. package/cjs/components/Input/Input.js.map +1 -1
  133. package/cjs/components/Input/Input.md +13 -13
  134. package/cjs/components/Input/Input.styles.d.ts +9 -1
  135. package/cjs/components/Input/Input.styles.js +133 -87
  136. package/cjs/components/Input/Input.styles.js.map +1 -1
  137. package/cjs/components/Input/index.js.map +1 -1
  138. package/cjs/components/Kebab/Kebab.d.ts +10 -2
  139. package/cjs/components/Kebab/Kebab.js +36 -37
  140. package/cjs/components/Kebab/Kebab.js.map +1 -1
  141. package/cjs/components/Kebab/Kebab.md +291 -45
  142. package/cjs/components/Kebab/Kebab.styles.d.ts +6 -5
  143. package/cjs/components/Kebab/Kebab.styles.js +20 -26
  144. package/cjs/components/Kebab/Kebab.styles.js.map +1 -1
  145. package/cjs/components/Kebab/__stories__/Kebab.items.js.map +1 -1
  146. package/cjs/components/Kebab/index.js.map +1 -1
  147. package/cjs/components/Link/Link.d.ts +29 -11
  148. package/cjs/components/Link/Link.js +46 -30
  149. package/cjs/components/Link/Link.js.map +1 -1
  150. package/cjs/components/Link/Link.md +77 -11
  151. package/cjs/components/Link/Link.mixins.js +2 -1
  152. package/cjs/components/Link/Link.mixins.js.map +1 -1
  153. package/cjs/components/Link/Link.styles.d.ts +2 -1
  154. package/cjs/components/Link/Link.styles.js +13 -17
  155. package/cjs/components/Link/Link.styles.js.map +1 -1
  156. package/cjs/components/Link/index.js.map +1 -1
  157. package/cjs/components/Loader/Loader.d.ts +34 -3
  158. package/cjs/components/Loader/Loader.js +163 -24
  159. package/cjs/components/Loader/Loader.js.map +1 -1
  160. package/cjs/components/Loader/Loader.md +25 -25
  161. package/cjs/components/Loader/Loader.styles.d.ts +1 -3
  162. package/cjs/components/Loader/Loader.styles.js +11 -31
  163. package/cjs/components/Loader/Loader.styles.js.map +1 -1
  164. package/cjs/components/Loader/__stories__/LoaderAndButton.js.map +1 -1
  165. package/cjs/components/Loader/index.js.map +1 -1
  166. package/cjs/components/MenuHeader/MenuHeader.d.ts +5 -1
  167. package/cjs/components/MenuHeader/MenuHeader.js +11 -7
  168. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  169. package/cjs/components/MenuHeader/MenuHeader.md +23 -0
  170. package/cjs/components/MenuHeader/MenuHeader.styles.d.ts +1 -1
  171. package/cjs/components/MenuHeader/MenuHeader.styles.js +3 -6
  172. package/cjs/components/MenuHeader/MenuHeader.styles.js.map +1 -1
  173. package/cjs/components/MenuHeader/index.js.map +1 -1
  174. package/cjs/components/MenuItem/MenuItem.d.ts +51 -6
  175. package/cjs/components/MenuItem/MenuItem.js +61 -17
  176. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  177. package/cjs/components/MenuItem/MenuItem.md +109 -7
  178. package/cjs/components/MenuItem/MenuItem.styles.d.ts +2 -1
  179. package/cjs/components/MenuItem/MenuItem.styles.js +24 -18
  180. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  181. package/cjs/components/MenuItem/index.js.map +1 -1
  182. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +3 -1
  183. package/cjs/components/MenuSeparator/MenuSeparator.js +5 -3
  184. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  185. package/cjs/components/MenuSeparator/MenuSeparator.md +14 -0
  186. package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +1 -1
  187. package/cjs/components/MenuSeparator/MenuSeparator.styles.js +3 -6
  188. package/cjs/components/MenuSeparator/MenuSeparator.styles.js.map +1 -1
  189. package/cjs/components/MenuSeparator/index.js.map +1 -1
  190. package/cjs/components/Modal/Modal.d.ts +7 -3
  191. package/cjs/components/Modal/Modal.js +51 -25
  192. package/cjs/components/Modal/Modal.js.map +1 -1
  193. package/cjs/components/Modal/Modal.md +38 -38
  194. package/cjs/components/Modal/Modal.styles.d.ts +16 -2
  195. package/cjs/components/Modal/Modal.styles.js +142 -40
  196. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  197. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  198. package/cjs/components/Modal/ModalBody.js +40 -24
  199. package/cjs/components/Modal/ModalBody.js.map +1 -1
  200. package/cjs/components/Modal/ModalClose.d.ts +1 -1
  201. package/cjs/components/Modal/ModalClose.js +40 -11
  202. package/cjs/components/Modal/ModalClose.js.map +1 -1
  203. package/cjs/components/Modal/ModalContext.d.ts +5 -1
  204. package/cjs/components/Modal/ModalContext.js +5 -0
  205. package/cjs/components/Modal/ModalContext.js.map +1 -1
  206. package/cjs/components/Modal/ModalFooter.js +35 -29
  207. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  208. package/cjs/components/Modal/ModalHeader.js +34 -29
  209. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  210. package/cjs/components/Modal/index.js.map +1 -1
  211. package/cjs/components/Paging/NavigationHelper.js +2 -1
  212. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  213. package/cjs/components/Paging/Paging.js +32 -32
  214. package/cjs/components/Paging/Paging.js.map +1 -1
  215. package/cjs/components/Paging/Paging.md +43 -43
  216. package/cjs/components/Paging/Paging.styles.d.ts +2 -2
  217. package/cjs/components/Paging/Paging.styles.js +16 -31
  218. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  219. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  220. package/cjs/components/Paging/index.js.map +1 -1
  221. package/cjs/components/Paging/locale/index.js.map +1 -1
  222. package/cjs/components/Paging/locale/locales/en.js.map +1 -1
  223. package/cjs/components/Paging/locale/locales/ru.js.map +1 -1
  224. package/cjs/components/PasswordInput/PasswordInput.d.ts +2 -0
  225. package/cjs/components/PasswordInput/PasswordInput.js +34 -10
  226. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  227. package/cjs/components/PasswordInput/PasswordInput.md +9 -9
  228. package/cjs/components/PasswordInput/PasswordInput.styles.d.ts +6 -2
  229. package/cjs/components/PasswordInput/PasswordInput.styles.js +30 -11
  230. package/cjs/components/PasswordInput/PasswordInput.styles.js.map +1 -1
  231. package/cjs/components/PasswordInput/index.js.map +1 -1
  232. package/cjs/components/Radio/Radio.d.ts +37 -13
  233. package/cjs/components/Radio/Radio.js +90 -26
  234. package/cjs/components/Radio/Radio.js.map +1 -1
  235. package/cjs/components/Radio/Radio.md +38 -14
  236. package/cjs/components/Radio/Radio.styles.d.ts +11 -5
  237. package/cjs/components/Radio/Radio.styles.js +97 -60
  238. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  239. package/cjs/components/Radio/index.js.map +1 -1
  240. package/cjs/components/RadioGroup/Prevent.js.map +1 -1
  241. package/cjs/components/RadioGroup/RadioGroup.d.ts +51 -61
  242. package/cjs/components/RadioGroup/RadioGroup.js +33 -79
  243. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  244. package/cjs/components/RadioGroup/RadioGroup.md +43 -43
  245. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -1
  246. package/cjs/components/RadioGroup/RadioGroup.styles.js +5 -7
  247. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  248. package/cjs/components/RadioGroup/index.js.map +1 -1
  249. package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +42 -0
  250. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +127 -0
  251. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -0
  252. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +11 -0
  253. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +93 -0
  254. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -0
  255. package/cjs/components/ResponsiveLayout/index.d.ts +1 -0
  256. package/cjs/components/ResponsiveLayout/index.js +1 -0
  257. package/cjs/components/ResponsiveLayout/index.js.map +1 -0
  258. package/cjs/components/ScrollContainer/ScrollBar.d.ts +37 -0
  259. package/cjs/components/ScrollContainer/ScrollBar.js +244 -0
  260. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -0
  261. package/cjs/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -0
  262. package/cjs/components/ScrollContainer/ScrollContainer.constants.js +33 -0
  263. package/cjs/components/ScrollContainer/ScrollContainer.constants.js.map +1 -0
  264. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +42 -23
  265. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -0
  266. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js +62 -0
  267. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -0
  268. package/cjs/components/ScrollContainer/ScrollContainer.js +93 -155
  269. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  270. package/cjs/components/ScrollContainer/ScrollContainer.md +143 -94
  271. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +13 -4
  272. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +72 -12
  273. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  274. package/cjs/components/ScrollContainer/index.js.map +1 -1
  275. package/cjs/components/Select/Item.js.map +1 -1
  276. package/cjs/components/Select/Select.d.ts +14 -1
  277. package/cjs/components/Select/Select.js +94 -6
  278. package/cjs/components/Select/Select.js.map +1 -1
  279. package/cjs/components/Select/Select.md +67 -55
  280. package/cjs/components/Select/Select.styles.d.ts +5 -2
  281. package/cjs/components/Select/Select.styles.js +35 -19
  282. package/cjs/components/Select/Select.styles.js.map +1 -1
  283. package/cjs/components/Select/index.js.map +1 -1
  284. package/cjs/components/Select/locale/index.js.map +1 -1
  285. package/cjs/components/Select/locale/locales/en.js.map +1 -1
  286. package/cjs/components/Select/locale/locales/ru.js.map +1 -1
  287. package/cjs/components/Select/selectTheme.js +5 -1
  288. package/cjs/components/Select/selectTheme.js.map +1 -1
  289. package/cjs/components/SidePage/SidePage.d.ts +19 -1
  290. package/cjs/components/SidePage/SidePage.js +78 -47
  291. package/cjs/components/SidePage/SidePage.js.map +1 -1
  292. package/cjs/components/SidePage/SidePage.md +48 -48
  293. package/cjs/components/SidePage/SidePage.styles.d.ts +22 -7
  294. package/cjs/components/SidePage/SidePage.styles.js +187 -64
  295. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  296. package/cjs/components/SidePage/SidePageBody.d.ts +1 -0
  297. package/cjs/components/SidePage/SidePageBody.js +24 -11
  298. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  299. package/cjs/components/SidePage/SidePageContainer.d.ts +1 -0
  300. package/cjs/components/SidePage/SidePageContainer.js +20 -15
  301. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  302. package/cjs/components/SidePage/SidePageContext.d.ts +3 -0
  303. package/cjs/components/SidePage/SidePageContext.js +3 -0
  304. package/cjs/components/SidePage/SidePageContext.js.map +1 -1
  305. package/cjs/components/SidePage/SidePageFooter.d.ts +4 -0
  306. package/cjs/components/SidePage/SidePageFooter.js +36 -10
  307. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  308. package/cjs/components/SidePage/SidePageHeader.d.ts +10 -4
  309. package/cjs/components/SidePage/SidePageHeader.js +94 -32
  310. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  311. package/cjs/components/SidePage/index.js.map +1 -1
  312. package/cjs/components/Spinner/Spinner.d.ts +1 -0
  313. package/cjs/components/Spinner/Spinner.js +17 -16
  314. package/cjs/components/Spinner/Spinner.js.map +1 -1
  315. package/cjs/components/Spinner/Spinner.md +34 -34
  316. package/cjs/components/Spinner/Spinner.styles.d.ts +2 -1
  317. package/cjs/components/Spinner/Spinner.styles.js +17 -12
  318. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  319. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +1 -1
  320. package/cjs/components/Spinner/index.js.map +1 -1
  321. package/cjs/components/Spinner/locale/index.js.map +1 -1
  322. package/cjs/components/Spinner/locale/locales/en.js.map +1 -1
  323. package/cjs/components/Spinner/locale/locales/ru.js.map +1 -1
  324. package/cjs/components/Sticky/Sticky.js +6 -6
  325. package/cjs/components/Sticky/Sticky.js.map +1 -1
  326. package/cjs/components/Sticky/Sticky.md +27 -27
  327. package/cjs/components/Sticky/Sticky.styles.d.ts +1 -1
  328. package/cjs/components/Sticky/Sticky.styles.js +3 -6
  329. package/cjs/components/Sticky/Sticky.styles.js.map +1 -1
  330. package/cjs/components/Sticky/index.js.map +1 -1
  331. package/cjs/components/Switcher/Switcher.d.ts +2 -2
  332. package/cjs/components/Switcher/Switcher.js +5 -5
  333. package/cjs/components/Switcher/Switcher.js.map +1 -1
  334. package/cjs/components/Switcher/Switcher.md +10 -10
  335. package/cjs/components/Switcher/Switcher.styles.d.ts +6 -5
  336. package/cjs/components/Switcher/Switcher.styles.js +30 -26
  337. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  338. package/cjs/components/Switcher/index.js.map +1 -1
  339. package/cjs/components/Switcher/switcherTheme.js.map +1 -1
  340. package/cjs/components/Tabs/Indicator.d.ts +1 -2
  341. package/cjs/components/Tabs/Indicator.js +3 -5
  342. package/cjs/components/Tabs/Indicator.js.map +1 -1
  343. package/cjs/components/Tabs/Indicator.styles.d.ts +1 -1
  344. package/cjs/components/Tabs/Indicator.styles.js +3 -6
  345. package/cjs/components/Tabs/Indicator.styles.js.map +1 -1
  346. package/cjs/components/Tabs/Tab.d.ts +7 -12
  347. package/cjs/components/Tabs/Tab.js +21 -29
  348. package/cjs/components/Tabs/Tab.js.map +1 -1
  349. package/cjs/components/Tabs/Tab.styles.d.ts +17 -2
  350. package/cjs/components/Tabs/Tab.styles.js +87 -46
  351. package/cjs/components/Tabs/Tab.styles.js.map +1 -1
  352. package/cjs/components/Tabs/Tabs.d.ts +4 -5
  353. package/cjs/components/Tabs/Tabs.js +6 -10
  354. package/cjs/components/Tabs/Tabs.js.map +1 -1
  355. package/cjs/components/Tabs/Tabs.md +36 -36
  356. package/cjs/components/Tabs/Tabs.styles.d.ts +2 -2
  357. package/cjs/components/Tabs/Tabs.styles.js +5 -10
  358. package/cjs/components/Tabs/Tabs.styles.js.map +1 -1
  359. package/cjs/components/Tabs/TabsContext.d.ts +8 -8
  360. package/cjs/components/Tabs/TabsContext.js.map +1 -1
  361. package/cjs/components/Tabs/index.js.map +1 -1
  362. package/cjs/components/Textarea/Textarea.d.ts +9 -4
  363. package/cjs/components/Textarea/Textarea.js +51 -28
  364. package/cjs/components/Textarea/Textarea.js.map +1 -1
  365. package/cjs/components/Textarea/Textarea.md +25 -25
  366. package/cjs/components/Textarea/Textarea.styles.d.ts +2 -1
  367. package/cjs/components/Textarea/Textarea.styles.js +28 -26
  368. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  369. package/cjs/components/Textarea/TextareaCounter.js +7 -7
  370. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  371. package/cjs/components/Textarea/TextareaHelpers.js.map +1 -1
  372. package/cjs/components/Textarea/index.js.map +1 -1
  373. package/cjs/components/Toast/Toast.js +20 -20
  374. package/cjs/components/Toast/Toast.js.map +1 -1
  375. package/cjs/components/Toast/Toast.md +41 -41
  376. package/cjs/components/Toast/Toast.styles.d.ts +1 -1
  377. package/cjs/components/Toast/Toast.styles.js +3 -6
  378. package/cjs/components/Toast/Toast.styles.js.map +1 -1
  379. package/cjs/components/Toast/ToastStatic.js +4 -3
  380. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  381. package/cjs/components/Toast/ToastView.js +9 -9
  382. package/cjs/components/Toast/ToastView.js.map +1 -1
  383. package/cjs/components/Toast/ToastView.styles.d.ts +1 -1
  384. package/cjs/components/Toast/ToastView.styles.js +5 -7
  385. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  386. package/cjs/components/Toast/index.js.map +1 -1
  387. package/cjs/components/Toggle/Toggle.d.ts +47 -1
  388. package/cjs/components/Toggle/Toggle.js +72 -8
  389. package/cjs/components/Toggle/Toggle.js.map +1 -1
  390. package/cjs/components/Toggle/Toggle.md +94 -20
  391. package/cjs/components/Toggle/Toggle.styles.d.ts +16 -5
  392. package/cjs/components/Toggle/Toggle.styles.js +103 -55
  393. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  394. package/cjs/components/Toggle/index.js.map +1 -1
  395. package/cjs/components/Token/Token.d.ts +8 -2
  396. package/cjs/components/Token/Token.js +8 -2
  397. package/cjs/components/Token/Token.js.map +1 -1
  398. package/cjs/components/Token/Token.md +112 -112
  399. package/cjs/components/Token/Token.styles.d.ts +5 -2
  400. package/cjs/components/Token/Token.styles.js +20 -19
  401. package/cjs/components/Token/Token.styles.js.map +1 -1
  402. package/cjs/components/Token/index.js.map +1 -1
  403. package/cjs/components/TokenInput/TextWidthHelper.js +4 -4
  404. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  405. package/cjs/components/TokenInput/TokenInput.d.ts +25 -0
  406. package/cjs/components/TokenInput/TokenInput.js +67 -21
  407. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  408. package/cjs/components/TokenInput/TokenInput.md +79 -79
  409. package/cjs/components/TokenInput/TokenInput.styles.d.ts +1 -3
  410. package/cjs/components/TokenInput/TokenInput.styles.js +39 -39
  411. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  412. package/cjs/components/TokenInput/TokenInputMenu.d.ts +3 -0
  413. package/cjs/components/TokenInput/TokenInputMenu.js +12 -3
  414. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  415. package/cjs/components/TokenInput/TokenInputReducer.js.map +1 -1
  416. package/cjs/components/TokenInput/index.js.map +1 -1
  417. package/cjs/components/TokenInput/locale/index.js.map +1 -1
  418. package/cjs/components/TokenInput/locale/locales/en.js.map +1 -1
  419. package/cjs/components/TokenInput/locale/locales/ru.js.map +1 -1
  420. package/cjs/components/Tooltip/Tooltip.d.ts +5 -2
  421. package/cjs/components/Tooltip/Tooltip.js +36 -12
  422. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  423. package/cjs/components/Tooltip/Tooltip.md +292 -292
  424. package/cjs/components/Tooltip/Tooltip.styles.d.ts +1 -1
  425. package/cjs/components/Tooltip/Tooltip.styles.js +8 -8
  426. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  427. package/cjs/components/Tooltip/index.js.map +1 -1
  428. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +26 -8
  429. package/cjs/components/TooltipMenu/TooltipMenu.js +25 -7
  430. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  431. package/cjs/components/TooltipMenu/TooltipMenu.md +183 -115
  432. package/cjs/components/TooltipMenu/index.js.map +1 -1
  433. package/cjs/index.d.ts +3 -3
  434. package/cjs/index.js +3 -3
  435. package/cjs/index.js.map +1 -1
  436. package/cjs/internal/BGRuler.js +5 -5
  437. package/cjs/internal/BGRuler.js.map +1 -1
  438. package/cjs/internal/Calendar/Calendar.d.ts +6 -0
  439. package/cjs/internal/Calendar/Calendar.js +64 -18
  440. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  441. package/cjs/internal/Calendar/Calendar.styles.d.ts +1 -1
  442. package/cjs/internal/Calendar/Calendar.styles.js +5 -7
  443. package/cjs/internal/Calendar/Calendar.styles.js.map +1 -1
  444. package/cjs/internal/Calendar/CalendarDateShape.js.map +1 -1
  445. package/cjs/internal/Calendar/CalendarScrollEvents.js.map +1 -1
  446. package/cjs/internal/Calendar/CalendarUtils.js +20 -21
  447. package/cjs/internal/Calendar/CalendarUtils.js.map +1 -1
  448. package/cjs/internal/Calendar/DayCellView.js +8 -8
  449. package/cjs/internal/Calendar/DayCellView.js.map +1 -1
  450. package/cjs/internal/Calendar/DayCellView.styles.d.ts +1 -1
  451. package/cjs/internal/Calendar/DayCellView.styles.js +8 -11
  452. package/cjs/internal/Calendar/DayCellView.styles.js.map +1 -1
  453. package/cjs/internal/Calendar/DayCellViewModel.js.map +1 -1
  454. package/cjs/internal/Calendar/Month.js +3 -2
  455. package/cjs/internal/Calendar/Month.js.map +1 -1
  456. package/cjs/internal/Calendar/MonthView.js +10 -10
  457. package/cjs/internal/Calendar/MonthView.js.map +1 -1
  458. package/cjs/internal/Calendar/MonthView.styles.d.ts +3 -2
  459. package/cjs/internal/Calendar/MonthView.styles.js +13 -11
  460. package/cjs/internal/Calendar/MonthView.styles.js.map +1 -1
  461. package/cjs/internal/Calendar/MonthViewModel.js.map +1 -1
  462. package/cjs/internal/Calendar/config.js.map +1 -1
  463. package/cjs/internal/Calendar/index.js.map +1 -1
  464. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +9 -1
  465. package/cjs/internal/CommonWrapper/CommonWrapper.js +11 -3
  466. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  467. package/cjs/internal/CommonWrapper/index.js.map +1 -1
  468. package/cjs/internal/ComponentCombinator.js.map +1 -1
  469. package/cjs/internal/ComponentTable.js.map +1 -1
  470. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
  471. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +20 -2
  472. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  473. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +21 -1
  474. package/cjs/internal/CustomComboBox/ComboBoxView.js +102 -14
  475. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  476. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +8 -0
  477. package/cjs/internal/CustomComboBox/CustomComboBox.js +35 -15
  478. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  479. package/cjs/internal/CustomComboBox/CustomComboBox.styles.d.ts +2 -2
  480. package/cjs/internal/CustomComboBox/CustomComboBox.styles.js +6 -8
  481. package/cjs/internal/CustomComboBox/CustomComboBox.styles.js.map +1 -1
  482. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +5 -4
  483. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  484. package/cjs/internal/CustomComboBox/CustomComboBoxTypes.js.map +1 -1
  485. package/cjs/internal/CustomComboBox/index.js.map +1 -1
  486. package/cjs/internal/CustomComboBox/locale/index.js.map +1 -1
  487. package/cjs/internal/CustomComboBox/locale/locales/en.js.map +1 -1
  488. package/cjs/internal/CustomComboBox/locale/locales/ru.js.map +1 -1
  489. package/cjs/internal/DateSelect/DateSelect.d.ts +3 -0
  490. package/cjs/internal/DateSelect/DateSelect.js +42 -4
  491. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  492. package/cjs/internal/DateSelect/DateSelect.styles.d.ts +3 -3
  493. package/cjs/internal/DateSelect/DateSelect.styles.js +14 -19
  494. package/cjs/internal/DateSelect/DateSelect.styles.js.map +1 -1
  495. package/cjs/internal/DateSelect/index.js.map +1 -1
  496. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  497. package/cjs/internal/DropdownContainer/index.js.map +1 -1
  498. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  499. package/cjs/internal/FocusTrap/index.js.map +1 -1
  500. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -3
  501. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +31 -72
  502. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  503. package/cjs/internal/HideBodyVerticalScroll/index.js.map +1 -1
  504. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  505. package/cjs/internal/IgnoreLayerClick/index.js.map +1 -1
  506. package/cjs/internal/InputLikeText/HiddenInput.js +4 -4
  507. package/cjs/internal/InputLikeText/HiddenInput.js.map +1 -1
  508. package/cjs/internal/InputLikeText/InputLikeText.d.ts +2 -1
  509. package/cjs/internal/InputLikeText/InputLikeText.js +106 -59
  510. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  511. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +2 -3
  512. package/cjs/internal/InputLikeText/InputLikeText.styles.js +5 -14
  513. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  514. package/cjs/internal/InputLikeText/index.js.map +1 -1
  515. package/cjs/internal/InternalMenu/InternalMenu.d.ts +6 -1
  516. package/cjs/internal/InternalMenu/InternalMenu.js +15 -10
  517. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  518. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +1 -1
  519. package/cjs/internal/InternalMenu/InternalMenu.styles.js +4 -7
  520. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  521. package/cjs/internal/InternalMenu/index.js.map +1 -1
  522. package/cjs/internal/InternalMenu/isActiveElement.js.map +1 -1
  523. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.js +7 -7
  524. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  525. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +1 -1
  526. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.js +3 -6
  527. package/cjs/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +1 -1
  528. package/cjs/internal/MaskCharLowLine/index.js.map +1 -1
  529. package/cjs/internal/MaskedInput/MaskedInput.js +2 -2
  530. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  531. package/cjs/internal/MaskedInput/MaskedInput.styles.d.ts +1 -1
  532. package/cjs/internal/MaskedInput/MaskedInput.styles.js +3 -6
  533. package/cjs/internal/MaskedInput/MaskedInput.styles.js.map +1 -1
  534. package/cjs/internal/MaskedInput/index.js.map +1 -1
  535. package/cjs/internal/Menu/Menu.d.ts +5 -0
  536. package/cjs/internal/Menu/Menu.js +51 -44
  537. package/cjs/internal/Menu/Menu.js.map +1 -1
  538. package/cjs/internal/Menu/Menu.styles.d.ts +1 -1
  539. package/cjs/internal/Menu/Menu.styles.js +7 -11
  540. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  541. package/cjs/internal/Menu/index.js.map +1 -1
  542. package/cjs/internal/Menu/isActiveElement.js.map +1 -1
  543. package/cjs/internal/MobilePopup/MobilePopup.d.ts +34 -0
  544. package/cjs/internal/MobilePopup/MobilePopup.js +141 -0
  545. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -0
  546. package/cjs/internal/MobilePopup/MobilePopup.styles.d.ts +10 -0
  547. package/cjs/internal/MobilePopup/MobilePopup.styles.js +75 -0
  548. package/cjs/internal/MobilePopup/MobilePopup.styles.js.map +1 -0
  549. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +15 -0
  550. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +69 -0
  551. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -0
  552. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +10 -0
  553. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js +65 -0
  554. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +1 -0
  555. package/cjs/internal/MobilePopup/MobilePopupHeader/index.d.ts +1 -0
  556. package/cjs/internal/MobilePopup/MobilePopupHeader/index.js +1 -0
  557. package/cjs/internal/MobilePopup/MobilePopupHeader/index.js.map +1 -0
  558. package/cjs/internal/MobilePopup/index.d.ts +1 -0
  559. package/cjs/internal/MobilePopup/index.js +1 -0
  560. package/cjs/internal/MobilePopup/index.js.map +1 -0
  561. package/cjs/internal/NativeDateInput/NativeDateInput.d.ts +23 -0
  562. package/cjs/internal/NativeDateInput/NativeDateInput.js +65 -0
  563. package/cjs/internal/NativeDateInput/NativeDateInput.js.map +1 -0
  564. package/cjs/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -0
  565. package/cjs/internal/NativeDateInput/NativeDateInput.styles.js +19 -0
  566. package/cjs/internal/NativeDateInput/NativeDateInput.styles.js.map +1 -0
  567. package/cjs/internal/NativeDateInput/index.d.ts +1 -0
  568. package/cjs/internal/NativeDateInput/index.js +1 -0
  569. package/cjs/internal/NativeDateInput/index.js.map +1 -0
  570. package/cjs/internal/NativeDateInput/utils.d.ts +7 -0
  571. package/cjs/internal/NativeDateInput/utils.js +49 -0
  572. package/cjs/internal/NativeDateInput/utils.js.map +1 -0
  573. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  574. package/cjs/internal/Popup/Popup.d.ts +21 -0
  575. package/cjs/internal/Popup/Popup.js +110 -42
  576. package/cjs/internal/Popup/Popup.js.map +1 -1
  577. package/cjs/internal/Popup/Popup.styles.d.ts +1 -1
  578. package/cjs/internal/Popup/Popup.styles.js +10 -10
  579. package/cjs/internal/Popup/Popup.styles.js.map +1 -1
  580. package/cjs/internal/Popup/PopupHelper.js +1 -0
  581. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  582. package/cjs/internal/Popup/PopupPin.js +17 -17
  583. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  584. package/cjs/internal/Popup/PopupPin.styles.d.ts +1 -1
  585. package/cjs/internal/Popup/PopupPin.styles.js +3 -6
  586. package/cjs/internal/Popup/PopupPin.styles.js.map +1 -1
  587. package/cjs/internal/Popup/index.js.map +1 -1
  588. package/cjs/internal/PopupMenu/PopupMenu.d.ts +3 -1
  589. package/cjs/internal/PopupMenu/PopupMenu.js +11 -5
  590. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  591. package/cjs/internal/PopupMenu/PopupMenu.styles.d.ts +1 -1
  592. package/cjs/internal/PopupMenu/PopupMenu.styles.js +6 -7
  593. package/cjs/internal/PopupMenu/PopupMenu.styles.js.map +1 -1
  594. package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +1 -1
  595. package/cjs/internal/PopupMenu/index.js.map +1 -1
  596. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  597. package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
  598. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  599. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  600. package/cjs/internal/RenderContainer/index.js.map +1 -1
  601. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  602. package/cjs/internal/RenderLayer/index.js.map +1 -1
  603. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  604. package/cjs/internal/ResizeDetector/ResizeDetector.js +6 -1
  605. package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  606. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +2 -1
  607. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js +11 -6
  608. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
  609. package/cjs/internal/ResizeDetector/index.js.map +1 -1
  610. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  611. package/cjs/internal/ThemePlayground/darkTheme.d.ts +18 -4
  612. package/cjs/internal/ThemePlayground/darkTheme.js +48 -14
  613. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  614. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +88 -60
  615. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  616. package/cjs/internal/ThemeShowcase/ThemeShowcase.md +13 -13
  617. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +9 -4
  618. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js +42 -32
  619. package/cjs/internal/ThemeShowcase/ThemeShowcase.styles.js.map +1 -1
  620. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  621. package/cjs/internal/ThemeShowcase/VariablesCollector.js +58 -53
  622. package/cjs/internal/ThemeShowcase/VariablesCollector.js.map +1 -1
  623. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  624. package/cjs/internal/ZIndex/ZIndexStorage.d.ts +1 -0
  625. package/cjs/internal/ZIndex/ZIndexStorage.js +1 -0
  626. package/cjs/internal/ZIndex/ZIndexStorage.js.map +1 -1
  627. package/cjs/internal/ZIndex/index.js.map +1 -1
  628. package/cjs/internal/icons/16px/icon.styles.d.ts +1 -1
  629. package/cjs/internal/icons/16px/icon.styles.js +3 -6
  630. package/cjs/internal/icons/16px/icon.styles.js.map +1 -1
  631. package/cjs/internal/icons/16px/index.js +2 -2
  632. package/cjs/internal/icons/16px/index.js.map +1 -1
  633. package/cjs/internal/icons/20px/Icon.js +2 -2
  634. package/cjs/internal/icons/20px/Icon.js.map +1 -1
  635. package/cjs/internal/icons/20px/icon.styles.d.ts +1 -1
  636. package/cjs/internal/icons/20px/icon.styles.js +3 -6
  637. package/cjs/internal/icons/20px/icon.styles.js.map +1 -1
  638. package/cjs/internal/icons/20px/index.js.map +1 -1
  639. package/cjs/internal/icons/20px/svg.js +2 -2
  640. package/cjs/internal/icons/20px/svg.js.map +1 -1
  641. package/cjs/internal/icons/CloudIcon.js.map +1 -1
  642. package/cjs/internal/icons/CrossIcon.js +8 -1
  643. package/cjs/internal/icons/CrossIcon.js.map +1 -1
  644. package/cjs/internal/icons/SpinnerIcon.d.ts +2 -1
  645. package/cjs/internal/icons/SpinnerIcon.js +8 -5
  646. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  647. package/cjs/internal/icons/SpinnerIcon.styles.d.ts +3 -1
  648. package/cjs/internal/icons/SpinnerIcon.styles.js +18 -5
  649. package/cjs/internal/icons/SpinnerIcon.styles.js.map +1 -1
  650. package/cjs/internal/themes/DarkTheme.d.ts +103 -0
  651. package/cjs/internal/themes/DarkTheme.js +183 -0
  652. package/cjs/internal/themes/DarkTheme.js.map +1 -0
  653. package/cjs/internal/themes/DefaultTheme.d.ts +202 -117
  654. package/cjs/internal/themes/DefaultTheme.js +505 -246
  655. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  656. package/{internal/themes/FlatTheme.d.ts → cjs/internal/themes/NotFlat.d.ts} +80 -85
  657. package/cjs/internal/themes/NotFlat.js +219 -0
  658. package/cjs/internal/themes/NotFlat.js.map +1 -0
  659. package/cjs/internal/themes/OldColors.d.ts +110 -0
  660. package/cjs/internal/themes/OldColors.js +149 -0
  661. package/cjs/internal/themes/OldColors.js.map +1 -0
  662. package/cjs/lib/ConditionalHandler.js +2 -2
  663. package/cjs/lib/ConditionalHandler.js.map +1 -1
  664. package/cjs/lib/LayoutEvents.js +4 -4
  665. package/cjs/lib/LayoutEvents.js.map +1 -1
  666. package/cjs/lib/ModalStack.js +4 -4
  667. package/cjs/lib/ModalStack.js.map +1 -1
  668. package/cjs/lib/SSRSafe.js.map +1 -1
  669. package/cjs/lib/Supports.js.map +1 -1
  670. package/cjs/lib/Upgrades.d.ts +2 -0
  671. package/cjs/lib/Upgrades.js +14 -0
  672. package/cjs/lib/Upgrades.js.map +1 -1
  673. package/cjs/lib/animation/index.js.map +1 -1
  674. package/cjs/lib/animation/presets.js.map +1 -1
  675. package/cjs/lib/animation/stepper.js.map +1 -1
  676. package/cjs/lib/client.d.ts +2 -0
  677. package/cjs/lib/client.js +8 -2
  678. package/cjs/lib/client.js.map +1 -1
  679. package/cjs/lib/createPropsGetter.js.map +1 -1
  680. package/cjs/lib/currentEnvironment.js +12 -3
  681. package/cjs/lib/currentEnvironment.js.map +1 -1
  682. package/cjs/lib/date/InternalDate.js +4 -6
  683. package/cjs/lib/date/InternalDate.js.map +1 -1
  684. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  685. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  686. package/cjs/lib/date/InternalDateSetter.js.map +1 -1
  687. package/cjs/lib/date/InternalDateTransformer.js.map +1 -1
  688. package/cjs/lib/date/InternalDateValidator.js +3 -0
  689. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  690. package/cjs/lib/date/constants.js.map +1 -1
  691. package/cjs/lib/date/localeSets.js.map +1 -1
  692. package/cjs/lib/date/types.js.map +1 -1
  693. package/cjs/lib/dom/getScrollWidth.js.map +1 -1
  694. package/cjs/lib/dom/tabbableHelpers.d.ts +16 -0
  695. package/cjs/lib/dom/tabbableHelpers.js +31 -0
  696. package/cjs/lib/dom/tabbableHelpers.js.map +1 -0
  697. package/cjs/lib/events/MouseDrag.js +26 -26
  698. package/cjs/lib/events/MouseDrag.js.map +1 -1
  699. package/cjs/lib/events/fixClickFocusIE.js +2 -2
  700. package/cjs/lib/events/fixClickFocusIE.js.map +1 -1
  701. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  702. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +20 -0
  703. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  704. package/cjs/lib/events/keyListener.d.ts +7 -0
  705. package/cjs/lib/events/keyListener.js +22 -0
  706. package/cjs/lib/events/keyListener.js.map +1 -0
  707. package/cjs/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  708. package/cjs/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  709. package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
  710. package/cjs/lib/events/keyboard/identifiers.d.ts +1 -0
  711. package/cjs/lib/events/keyboard/identifiers.js +12 -3
  712. package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
  713. package/cjs/lib/events/stopPropagation.js.map +1 -1
  714. package/cjs/lib/events/tabListener.d.ts +1 -6
  715. package/cjs/lib/events/tabListener.js +2 -15
  716. package/cjs/lib/events/tabListener.js.map +1 -1
  717. package/cjs/lib/extractKeyboardAction.js.map +1 -1
  718. package/cjs/lib/filterProps.js.map +1 -1
  719. package/cjs/lib/forwardRefAndName.d.ts +5 -0
  720. package/cjs/lib/forwardRefAndName.js +23 -0
  721. package/cjs/lib/forwardRefAndName.js.map +1 -0
  722. package/cjs/lib/getDisplayName.d.ts +3 -0
  723. package/cjs/lib/getDisplayName.js +9 -0
  724. package/cjs/lib/getDisplayName.js.map +1 -0
  725. package/cjs/lib/listenFocusOutside.d.ts +4 -0
  726. package/cjs/lib/listenFocusOutside.js +11 -11
  727. package/cjs/lib/listenFocusOutside.js.map +1 -1
  728. package/cjs/lib/locale/LOCALECONTEXT.md +221 -221
  729. package/cjs/lib/locale/LocaleContext.js.map +1 -1
  730. package/cjs/lib/locale/LocaleHelper.js.map +1 -1
  731. package/cjs/lib/locale/constants.js.map +1 -1
  732. package/cjs/lib/locale/decorators.js +6 -1
  733. package/cjs/lib/locale/decorators.js.map +1 -1
  734. package/cjs/lib/locale/index.js.map +1 -1
  735. package/cjs/lib/locale/types.js.map +1 -1
  736. package/cjs/lib/memo.js.map +1 -1
  737. package/cjs/lib/net/fetch.js.map +1 -1
  738. package/cjs/lib/polyfillPlaceholder.js.map +1 -1
  739. package/cjs/lib/reactGetTextContent.js.map +1 -1
  740. package/cjs/lib/styles/ColorFactory.js +8 -4
  741. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  742. package/cjs/lib/styles/ColorFunctions.js +1 -1
  743. package/cjs/lib/styles/ColorFunctions.js.map +1 -1
  744. package/cjs/lib/styles/ColorHelpers.js.map +1 -1
  745. package/cjs/lib/styles/ColorKeywords.js.map +1 -1
  746. package/cjs/lib/styles/ColorObject.js.map +1 -1
  747. package/cjs/lib/styles/DimensionFunctions.js.map +1 -1
  748. package/cjs/lib/styles/HoldSelectionColor.js.map +1 -1
  749. package/cjs/lib/styles/Mixins.js.map +1 -1
  750. package/cjs/lib/taskWithDelayAndMinimalDuration.d.ts +21 -0
  751. package/cjs/lib/taskWithDelayAndMinimalDuration.js +80 -0
  752. package/cjs/lib/taskWithDelayAndMinimalDuration.js.map +1 -0
  753. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  754. package/cjs/lib/theming/Emotion.d.ts +1 -1
  755. package/cjs/lib/theming/Emotion.js +12 -17
  756. package/cjs/lib/theming/Emotion.js.map +1 -1
  757. package/cjs/lib/theming/ThemeContext.d.ts +1 -1
  758. package/cjs/lib/theming/ThemeContext.js +2 -2
  759. package/cjs/lib/theming/ThemeContext.js.map +1 -1
  760. package/cjs/lib/theming/ThemeContext.md +264 -265
  761. package/cjs/lib/theming/ThemeFactory.d.ts +0 -1
  762. package/cjs/lib/theming/ThemeFactory.js +4 -8
  763. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  764. package/cjs/lib/theming/ThemeHelpers.d.ts +0 -10
  765. package/cjs/lib/theming/ThemeHelpers.js +2 -58
  766. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  767. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
  768. package/cjs/lib/theming/themes/DarkTheme.js +4 -0
  769. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -0
  770. package/cjs/lib/theming/themes/DefaultTheme.js +3 -2
  771. package/cjs/lib/theming/themes/DefaultTheme.js.map +1 -1
  772. package/cjs/lib/theming/themes/DefaultTheme8pxOld.d.ts +1 -0
  773. package/cjs/lib/theming/themes/DefaultTheme8pxOld.js +8 -0
  774. package/cjs/lib/theming/themes/DefaultTheme8pxOld.js.map +1 -0
  775. package/cjs/lib/theming/themes/DefaultThemeMobile.d.ts +3 -0
  776. package/cjs/lib/theming/themes/DefaultThemeMobile.js +9 -0
  777. package/cjs/lib/theming/themes/DefaultThemeMobile.js.map +1 -0
  778. package/cjs/lib/theming/themes/FlatTheme8pxOld.d.ts +1 -0
  779. package/cjs/lib/theming/themes/FlatTheme8pxOld.js +5 -0
  780. package/cjs/lib/theming/themes/FlatTheme8pxOld.js.map +1 -0
  781. package/cjs/lib/utils.d.ts +7 -0
  782. package/cjs/lib/utils.js +15 -8
  783. package/cjs/lib/utils.js.map +1 -1
  784. package/cjs/lib/withClassWrapper.d.ts +71 -0
  785. package/cjs/lib/withClassWrapper.js +59 -0
  786. package/cjs/lib/withClassWrapper.js.map +1 -0
  787. package/cjs/typings/console.d.ts +3 -3
  788. package/cjs/typings/event-types.d.ts +4 -4
  789. package/cjs/typings/fonts.d.ts +12 -12
  790. package/cjs/typings/global.d.ts +6 -6
  791. package/cjs/typings/images.d.ts +1 -1
  792. package/cjs/typings/normalize-wheel.d.ts +5 -5
  793. package/cjs/typings/stories.d.ts +7 -0
  794. package/cjs/typings/stylis-plugin-extra-scope.d.ts +3 -3
  795. package/cjs/typings/utility-types.d.ts +14 -14
  796. package/components/Autocomplete/Autocomplete/Autocomplete.js +115 -49
  797. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  798. package/components/Autocomplete/Autocomplete.d.ts +12 -0
  799. package/components/Autocomplete/Autocomplete.md +7 -7
  800. package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js +10 -0
  801. package/components/Autocomplete/Autocomplete.styles/Autocomplete.styles.js.map +1 -0
  802. package/components/Autocomplete/Autocomplete.styles/package.json +6 -0
  803. package/components/Autocomplete/Autocomplete.styles.d.ts +4 -0
  804. package/components/Autocomplete/index/index.js.map +1 -1
  805. package/components/Button/Button/Button.js +103 -71
  806. package/components/Button/Button/Button.js.map +1 -1
  807. package/components/Button/Button.d.ts +73 -13
  808. package/components/Button/Button.md +104 -92
  809. package/components/Button/Button.mixins/Button.mixins.js +16 -12
  810. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  811. package/components/Button/Button.mixins.d.ts +6 -5
  812. package/components/Button/Button.styles/Button.styles.js +112 -66
  813. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  814. package/components/Button/Button.styles.d.ts +33 -11
  815. package/components/Button/Corners/Corners.js.map +1 -1
  816. package/components/Button/index/index.js.map +1 -1
  817. package/components/Center/Center/Center.js +8 -9
  818. package/components/Center/Center/Center.js.map +1 -1
  819. package/components/Center/Center.d.ts +4 -8
  820. package/components/Center/Center.md +26 -5
  821. package/components/Center/Center.styles/Center.styles.js +2 -3
  822. package/components/Center/Center.styles/Center.styles.js.map +1 -1
  823. package/components/Center/Center.styles.d.ts +1 -1
  824. package/components/Center/index/index.js.map +1 -1
  825. package/components/Checkbox/Checkbox/Checkbox.js +49 -47
  826. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  827. package/components/Checkbox/Checkbox.d.ts +31 -15
  828. package/components/Checkbox/Checkbox.md +104 -63
  829. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +38 -27
  830. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  831. package/components/Checkbox/Checkbox.styles.d.ts +12 -7
  832. package/components/Checkbox/index/index.js.map +1 -1
  833. package/components/ComboBox/ComboBox/ComboBox.js +22 -22
  834. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  835. package/components/ComboBox/ComboBox.d.ts +9 -1
  836. package/components/ComboBox/ComboBox.md +445 -445
  837. package/components/ComboBox/index/index.js.map +1 -1
  838. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +2 -1
  839. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  840. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +62 -15
  841. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  842. package/components/CurrencyInput/CurrencyInput.d.ts +4 -1
  843. package/components/CurrencyInput/CurrencyInput.md +24 -24
  844. package/components/CurrencyInput/CurrencyInputHelper/CurrencyInputHelper.js.map +1 -1
  845. package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js.map +1 -1
  846. package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
  847. package/components/CurrencyInput/SelectionHelper/SelectionHelper.js.map +1 -1
  848. package/components/CurrencyInput/constants/constants.js.map +1 -1
  849. package/components/CurrencyInput/index/index.js.map +1 -1
  850. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  851. package/components/CurrencyLabel/CurrencyLabel.md +23 -23
  852. package/components/CurrencyLabel/index/index.js.map +1 -1
  853. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +6 -6
  854. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  855. package/components/DateInput/DateFragmentsView.styles/DateFragmentsView.styles.js +3 -4
  856. package/components/DateInput/DateFragmentsView.styles/DateFragmentsView.styles.js.map +1 -1
  857. package/components/DateInput/DateFragmentsView.styles.d.ts +1 -1
  858. package/components/DateInput/DateInput/DateInput.js +15 -8
  859. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  860. package/components/DateInput/DateInput.d.ts +7 -0
  861. package/components/DateInput/DateInput.md +106 -106
  862. package/components/DateInput/DateInput.styles/DateInput.styles.js +8 -2
  863. package/components/DateInput/DateInput.styles/DateInput.styles.js.map +1 -1
  864. package/components/DateInput/DateInput.styles.d.ts +3 -1
  865. package/components/DateInput/ViewDateInputValidateChecks/ViewDateInputValidateChecks.js.map +1 -1
  866. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
  867. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  868. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  869. package/components/DateInput/helpers/inputNumber/inputNumber.js.map +1 -1
  870. package/components/DateInput/index/index.js.map +1 -1
  871. package/components/DatePicker/DatePicker/DatePicker.js +46 -23
  872. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  873. package/components/DatePicker/DatePicker.d.ts +16 -2
  874. package/components/DatePicker/DatePicker.md +307 -307
  875. package/components/DatePicker/DatePicker.styles/DatePicker.styles.js +3 -4
  876. package/components/DatePicker/DatePicker.styles/DatePicker.styles.js.map +1 -1
  877. package/components/DatePicker/DatePicker.styles.d.ts +1 -1
  878. package/components/DatePicker/DatePickerHelpers/DatePickerHelpers.js.map +1 -1
  879. package/components/DatePicker/Picker/Picker.js +4 -4
  880. package/components/DatePicker/Picker/Picker.js.map +1 -1
  881. package/components/DatePicker/Picker.styles/Picker.styles.js +3 -4
  882. package/components/DatePicker/Picker.styles/Picker.styles.js.map +1 -1
  883. package/components/DatePicker/Picker.styles.d.ts +1 -1
  884. package/components/DatePicker/index/index.js.map +1 -1
  885. package/components/DatePicker/locale/index/index.js.map +1 -1
  886. package/components/DatePicker/locale/locales/en/en.js.map +1 -1
  887. package/components/DatePicker/locale/locales/ru/ru.js.map +1 -1
  888. package/components/Dropdown/Dropdown/Dropdown.js +25 -24
  889. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  890. package/components/Dropdown/Dropdown.d.ts +3 -2
  891. package/components/Dropdown/Dropdown.md +11 -12
  892. package/components/Dropdown/index/index.js.map +1 -1
  893. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +4 -3
  894. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  895. package/components/DropdownMenu/DropdownMenu.d.ts +19 -3
  896. package/components/DropdownMenu/DropdownMenu.md +154 -73
  897. package/components/DropdownMenu/index/index.js.map +1 -1
  898. package/components/FxInput/FxInput/FxInput.js +3 -1
  899. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  900. package/components/FxInput/FxInput.md +16 -16
  901. package/components/FxInput/index/index.js.map +1 -1
  902. package/components/Gapped/Gapped/Gapped.js +30 -21
  903. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  904. package/components/Gapped/Gapped.d.ts +4 -3
  905. package/components/Gapped/Gapped.md +43 -43
  906. package/components/Gapped/index/index.js.map +1 -1
  907. package/components/Group/Group/Group.js +6 -6
  908. package/components/Group/Group/Group.js.map +1 -1
  909. package/components/Group/Group.md +18 -18
  910. package/components/Group/Group.styles/Group.styles.js +3 -4
  911. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  912. package/components/Group/Group.styles.d.ts +1 -1
  913. package/components/Group/index/index.js.map +1 -1
  914. package/components/Hint/Hint/Hint.js +40 -13
  915. package/components/Hint/Hint/Hint.js.map +1 -1
  916. package/components/Hint/Hint.d.ts +41 -0
  917. package/components/Hint/Hint.md +42 -3
  918. package/components/Hint/Hint.styles/Hint.styles.js +8 -6
  919. package/components/Hint/Hint.styles/Hint.styles.js.map +1 -1
  920. package/components/Hint/Hint.styles.d.ts +2 -1
  921. package/components/Hint/index/index.js.map +1 -1
  922. package/components/Input/Input/Input.js +65 -47
  923. package/components/Input/Input/Input.js.map +1 -1
  924. package/components/Input/Input.d.ts +10 -2
  925. package/components/Input/Input.md +13 -13
  926. package/components/Input/Input.styles/Input.styles.js +61 -33
  927. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  928. package/components/Input/Input.styles.d.ts +9 -1
  929. package/components/Input/index/index.js.map +1 -1
  930. package/components/Kebab/Kebab/Kebab.js +21 -45
  931. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  932. package/components/Kebab/Kebab.d.ts +10 -2
  933. package/components/Kebab/Kebab.md +291 -45
  934. package/components/Kebab/Kebab.styles/Kebab.styles.js +18 -16
  935. package/components/Kebab/Kebab.styles/Kebab.styles.js.map +1 -1
  936. package/components/Kebab/Kebab.styles.d.ts +6 -5
  937. package/components/Kebab/__stories__/Kebab.items/Kebab.items.js.map +1 -1
  938. package/components/Kebab/index/index.js.map +1 -1
  939. package/components/Link/Link/Link.js +17 -23
  940. package/components/Link/Link/Link.js.map +1 -1
  941. package/components/Link/Link.d.ts +29 -11
  942. package/components/Link/Link.md +77 -11
  943. package/components/Link/Link.mixins/Link.mixins.js +1 -1
  944. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  945. package/components/Link/Link.styles/Link.styles.js +10 -8
  946. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  947. package/components/Link/Link.styles.d.ts +2 -1
  948. package/components/Link/index/index.js.map +1 -1
  949. package/components/Loader/Loader/Loader.js +190 -48
  950. package/components/Loader/Loader/Loader.js.map +1 -1
  951. package/components/Loader/Loader.d.ts +34 -3
  952. package/components/Loader/Loader.md +25 -25
  953. package/components/Loader/Loader.styles/Loader.styles.js +8 -15
  954. package/components/Loader/Loader.styles/Loader.styles.js.map +1 -1
  955. package/components/Loader/Loader.styles.d.ts +1 -3
  956. package/components/Loader/__stories__/LoaderAndButton/LoaderAndButton.js.map +1 -1
  957. package/components/Loader/index/index.js.map +1 -1
  958. package/components/MenuHeader/MenuHeader/MenuHeader.js +10 -6
  959. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  960. package/components/MenuHeader/MenuHeader.d.ts +5 -1
  961. package/components/MenuHeader/MenuHeader.md +23 -0
  962. package/components/MenuHeader/MenuHeader.styles/MenuHeader.styles.js +2 -3
  963. package/components/MenuHeader/MenuHeader.styles/MenuHeader.styles.js.map +1 -1
  964. package/components/MenuHeader/MenuHeader.styles.d.ts +1 -1
  965. package/components/MenuHeader/index/index.js.map +1 -1
  966. package/components/MenuItem/MenuItem/MenuItem.js +13 -9
  967. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  968. package/components/MenuItem/MenuItem.d.ts +51 -6
  969. package/components/MenuItem/MenuItem.md +109 -7
  970. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +16 -14
  971. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  972. package/components/MenuItem/MenuItem.styles.d.ts +2 -1
  973. package/components/MenuItem/index/index.js.map +1 -1
  974. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +6 -4
  975. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  976. package/components/MenuSeparator/MenuSeparator.d.ts +3 -1
  977. package/components/MenuSeparator/MenuSeparator.md +14 -0
  978. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js +2 -3
  979. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js.map +1 -1
  980. package/components/MenuSeparator/MenuSeparator.styles.d.ts +1 -1
  981. package/components/MenuSeparator/index/index.js.map +1 -1
  982. package/components/Modal/Modal/Modal.js +97 -71
  983. package/components/Modal/Modal/Modal.js.map +1 -1
  984. package/components/Modal/Modal.d.ts +7 -3
  985. package/components/Modal/Modal.md +38 -38
  986. package/components/Modal/Modal.styles/Modal.styles.js +67 -25
  987. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  988. package/components/Modal/Modal.styles.d.ts +16 -2
  989. package/components/Modal/ModalBody/ModalBody.js +27 -15
  990. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  991. package/components/Modal/ModalBody.d.ts +2 -0
  992. package/components/Modal/ModalClose/ModalClose.js +41 -10
  993. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  994. package/components/Modal/ModalClose.d.ts +1 -1
  995. package/components/Modal/ModalContext/ModalContext.js.map +1 -1
  996. package/components/Modal/ModalContext.d.ts +5 -1
  997. package/components/Modal/ModalFooter/ModalFooter.js +26 -31
  998. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  999. package/components/Modal/ModalHeader/ModalHeader.js +33 -35
  1000. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  1001. package/components/Modal/index/index.js.map +1 -1
  1002. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  1003. package/components/Paging/Paging/Paging.js +27 -27
  1004. package/components/Paging/Paging/Paging.js.map +1 -1
  1005. package/components/Paging/Paging.md +43 -43
  1006. package/components/Paging/Paging.styles/Paging.styles.js +10 -12
  1007. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  1008. package/components/Paging/Paging.styles.d.ts +2 -2
  1009. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  1010. package/components/Paging/index/index.js.map +1 -1
  1011. package/components/Paging/locale/index/index.js.map +1 -1
  1012. package/components/Paging/locale/locales/en/en.js.map +1 -1
  1013. package/components/Paging/locale/locales/ru/ru.js.map +1 -1
  1014. package/components/PasswordInput/PasswordInput/PasswordInput.js +39 -12
  1015. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  1016. package/components/PasswordInput/PasswordInput.d.ts +2 -0
  1017. package/components/PasswordInput/PasswordInput.md +9 -9
  1018. package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js +16 -8
  1019. package/components/PasswordInput/PasswordInput.styles/PasswordInput.styles.js.map +1 -1
  1020. package/components/PasswordInput/PasswordInput.styles.d.ts +6 -2
  1021. package/components/PasswordInput/index/index.js.map +1 -1
  1022. package/components/Radio/Radio/Radio.js +67 -27
  1023. package/components/Radio/Radio/Radio.js.map +1 -1
  1024. package/components/Radio/Radio.d.ts +37 -13
  1025. package/components/Radio/Radio.md +38 -14
  1026. package/components/Radio/Radio.styles/Radio.styles.js +44 -24
  1027. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  1028. package/components/Radio/Radio.styles.d.ts +11 -5
  1029. package/components/Radio/index/index.js.map +1 -1
  1030. package/components/RadioGroup/Prevent/Prevent.js.map +1 -1
  1031. package/components/RadioGroup/RadioGroup/RadioGroup.js +7 -79
  1032. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  1033. package/components/RadioGroup/RadioGroup.d.ts +51 -61
  1034. package/components/RadioGroup/RadioGroup.md +43 -43
  1035. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +3 -4
  1036. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  1037. package/components/RadioGroup/RadioGroup.styles.d.ts +1 -1
  1038. package/components/RadioGroup/index/index.js.map +1 -1
  1039. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +129 -0
  1040. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -0
  1041. package/components/ResponsiveLayout/ResponsiveLayout/package.json +6 -0
  1042. package/components/ResponsiveLayout/ResponsiveLayout.d.ts +42 -0
  1043. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +83 -0
  1044. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -0
  1045. package/components/ResponsiveLayout/ResponsiveLayoutEvents/package.json +6 -0
  1046. package/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +11 -0
  1047. package/components/ResponsiveLayout/index/index.js +1 -0
  1048. package/components/ResponsiveLayout/index/index.js.map +1 -0
  1049. package/components/ResponsiveLayout/index/package.json +6 -0
  1050. package/components/ResponsiveLayout/index.d.ts +1 -0
  1051. package/components/ResponsiveLayout/package.json +6 -0
  1052. package/components/ScrollContainer/ScrollBar/ScrollBar.js +254 -0
  1053. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -0
  1054. package/components/ScrollContainer/ScrollBar/package.json +6 -0
  1055. package/components/ScrollContainer/ScrollBar.d.ts +37 -0
  1056. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +130 -209
  1057. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  1058. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +31 -0
  1059. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -0
  1060. package/components/ScrollContainer/ScrollContainer.constants/package.json +6 -0
  1061. package/components/ScrollContainer/ScrollContainer.constants.d.ts +23 -0
  1062. package/components/ScrollContainer/ScrollContainer.d.ts +42 -23
  1063. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js +55 -0
  1064. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js.map +1 -0
  1065. package/components/ScrollContainer/ScrollContainer.helpers/package.json +6 -0
  1066. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +10 -0
  1067. package/components/ScrollContainer/ScrollContainer.md +143 -94
  1068. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +25 -12
  1069. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  1070. package/components/ScrollContainer/ScrollContainer.styles.d.ts +13 -4
  1071. package/components/ScrollContainer/index/index.js.map +1 -1
  1072. package/components/Select/Item/Item.js.map +1 -1
  1073. package/components/Select/Select/Select.js +139 -61
  1074. package/components/Select/Select/Select.js.map +1 -1
  1075. package/components/Select/Select.d.ts +14 -1
  1076. package/components/Select/Select.md +67 -55
  1077. package/components/Select/Select.styles/Select.styles.js +25 -17
  1078. package/components/Select/Select.styles/Select.styles.js.map +1 -1
  1079. package/components/Select/Select.styles.d.ts +5 -2
  1080. package/components/Select/index/index.js.map +1 -1
  1081. package/components/Select/locale/index/index.js.map +1 -1
  1082. package/components/Select/locale/locales/en/en.js.map +1 -1
  1083. package/components/Select/locale/locales/ru/ru.js.map +1 -1
  1084. package/components/Select/selectTheme/selectTheme.js +4 -1
  1085. package/components/Select/selectTheme/selectTheme.js.map +1 -1
  1086. package/components/SidePage/SidePage/SidePage.js +110 -86
  1087. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  1088. package/components/SidePage/SidePage.d.ts +19 -1
  1089. package/components/SidePage/SidePage.md +48 -48
  1090. package/components/SidePage/SidePage.styles/SidePage.styles.js +87 -42
  1091. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  1092. package/components/SidePage/SidePage.styles.d.ts +22 -7
  1093. package/components/SidePage/SidePageBody/SidePageBody.js +25 -14
  1094. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  1095. package/components/SidePage/SidePageBody.d.ts +1 -0
  1096. package/components/SidePage/SidePageContainer/SidePageContainer.js +17 -13
  1097. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  1098. package/components/SidePage/SidePageContainer.d.ts +1 -0
  1099. package/components/SidePage/SidePageContext/SidePageContext.js.map +1 -1
  1100. package/components/SidePage/SidePageContext.d.ts +3 -0
  1101. package/components/SidePage/SidePageFooter/SidePageFooter.js +46 -15
  1102. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  1103. package/components/SidePage/SidePageFooter.d.ts +4 -0
  1104. package/components/SidePage/SidePageHeader/SidePageHeader.js +86 -38
  1105. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  1106. package/components/SidePage/SidePageHeader.d.ts +10 -4
  1107. package/components/SidePage/index/index.js.map +1 -1
  1108. package/components/Spinner/Spinner/Spinner.js +24 -22
  1109. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  1110. package/components/Spinner/Spinner.d.ts +1 -0
  1111. package/components/Spinner/Spinner.md +34 -34
  1112. package/components/Spinner/Spinner.styles/Spinner.styles.js +11 -9
  1113. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  1114. package/components/Spinner/Spinner.styles.d.ts +2 -1
  1115. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +1 -1
  1116. package/components/Spinner/index/index.js.map +1 -1
  1117. package/components/Spinner/locale/index/index.js.map +1 -1
  1118. package/components/Spinner/locale/locales/en/en.js.map +1 -1
  1119. package/components/Spinner/locale/locales/ru/ru.js.map +1 -1
  1120. package/components/Sticky/Sticky/Sticky.js +11 -11
  1121. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  1122. package/components/Sticky/Sticky.md +27 -27
  1123. package/components/Sticky/Sticky.styles/Sticky.styles.js +2 -3
  1124. package/components/Sticky/Sticky.styles/Sticky.styles.js.map +1 -1
  1125. package/components/Sticky/Sticky.styles.d.ts +1 -1
  1126. package/components/Sticky/index/index.js.map +1 -1
  1127. package/components/Switcher/Switcher/Switcher.js +16 -14
  1128. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  1129. package/components/Switcher/Switcher.d.ts +2 -2
  1130. package/components/Switcher/Switcher.md +10 -10
  1131. package/components/Switcher/Switcher.styles/Switcher.styles.js +17 -15
  1132. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  1133. package/components/Switcher/Switcher.styles.d.ts +6 -5
  1134. package/components/Switcher/index/index.js.map +1 -1
  1135. package/components/Switcher/switcherTheme/switcherTheme.js.map +1 -1
  1136. package/components/Tabs/Indicator/Indicator.js +7 -10
  1137. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  1138. package/components/Tabs/Indicator.d.ts +1 -2
  1139. package/components/Tabs/Indicator.styles/Indicator.styles.js +2 -3
  1140. package/components/Tabs/Indicator.styles/Indicator.styles.js.map +1 -1
  1141. package/components/Tabs/Indicator.styles.d.ts +1 -1
  1142. package/components/Tabs/Tab/Tab.js +27 -39
  1143. package/components/Tabs/Tab/Tab.js.map +1 -1
  1144. package/components/Tabs/Tab.d.ts +7 -12
  1145. package/components/Tabs/Tab.styles/Tab.styles.js +48 -19
  1146. package/components/Tabs/Tab.styles/Tab.styles.js.map +1 -1
  1147. package/components/Tabs/Tab.styles.d.ts +17 -2
  1148. package/components/Tabs/Tabs/Tabs.js +8 -9
  1149. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  1150. package/components/Tabs/Tabs.d.ts +4 -5
  1151. package/components/Tabs/Tabs.md +36 -36
  1152. package/components/Tabs/Tabs.styles/Tabs.styles.js +5 -6
  1153. package/components/Tabs/Tabs.styles/Tabs.styles.js.map +1 -1
  1154. package/components/Tabs/Tabs.styles.d.ts +2 -2
  1155. package/components/Tabs/TabsContext/TabsContext.js.map +1 -1
  1156. package/components/Tabs/TabsContext.d.ts +8 -8
  1157. package/components/Tabs/index/index.js.map +1 -1
  1158. package/components/Textarea/Textarea/Textarea.js +44 -27
  1159. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  1160. package/components/Textarea/Textarea.d.ts +9 -4
  1161. package/components/Textarea/Textarea.md +25 -25
  1162. package/components/Textarea/Textarea.styles/Textarea.styles.js +17 -15
  1163. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  1164. package/components/Textarea/Textarea.styles.d.ts +2 -1
  1165. package/components/Textarea/TextareaCounter/TextareaCounter.js +6 -6
  1166. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  1167. package/components/Textarea/TextareaHelpers/TextareaHelpers.js.map +1 -1
  1168. package/components/Textarea/index/index.js.map +1 -1
  1169. package/components/Toast/Toast/Toast.js +24 -24
  1170. package/components/Toast/Toast/Toast.js.map +1 -1
  1171. package/components/Toast/Toast.md +41 -41
  1172. package/components/Toast/Toast.styles/Toast.styles.js +2 -3
  1173. package/components/Toast/Toast.styles/Toast.styles.js.map +1 -1
  1174. package/components/Toast/Toast.styles.d.ts +1 -1
  1175. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  1176. package/components/Toast/ToastView/ToastView.js +10 -10
  1177. package/components/Toast/ToastView/ToastView.js.map +1 -1
  1178. package/components/Toast/ToastView.styles/ToastView.styles.js +3 -4
  1179. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  1180. package/components/Toast/ToastView.styles.d.ts +1 -1
  1181. package/components/Toast/index/index.js.map +1 -1
  1182. package/components/Toggle/Toggle/Toggle.js +30 -25
  1183. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  1184. package/components/Toggle/Toggle.d.ts +47 -1
  1185. package/components/Toggle/Toggle.md +94 -20
  1186. package/components/Toggle/Toggle.styles/Toggle.styles.js +44 -25
  1187. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  1188. package/components/Toggle/Toggle.styles.d.ts +16 -5
  1189. package/components/Toggle/index/index.js.map +1 -1
  1190. package/components/Token/Token/Token.js +11 -11
  1191. package/components/Token/Token/Token.js.map +1 -1
  1192. package/components/Token/Token.d.ts +8 -2
  1193. package/components/Token/Token.md +112 -112
  1194. package/components/Token/Token.styles/Token.styles.js +11 -9
  1195. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  1196. package/components/Token/Token.styles.d.ts +5 -2
  1197. package/components/Token/index/index.js.map +1 -1
  1198. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js +5 -5
  1199. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
  1200. package/components/TokenInput/TokenInput/TokenInput.js +70 -31
  1201. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  1202. package/components/TokenInput/TokenInput.d.ts +25 -0
  1203. package/components/TokenInput/TokenInput.md +79 -79
  1204. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +22 -21
  1205. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  1206. package/components/TokenInput/TokenInput.styles.d.ts +1 -3
  1207. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +11 -6
  1208. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  1209. package/components/TokenInput/TokenInputMenu.d.ts +3 -0
  1210. package/components/TokenInput/TokenInputReducer/TokenInputReducer.js.map +1 -1
  1211. package/components/TokenInput/index/index.js.map +1 -1
  1212. package/components/TokenInput/locale/index/index.js.map +1 -1
  1213. package/components/TokenInput/locale/locales/en/en.js.map +1 -1
  1214. package/components/TokenInput/locale/locales/ru/ru.js.map +1 -1
  1215. package/components/Tooltip/Tooltip/Tooltip.js +42 -23
  1216. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  1217. package/components/Tooltip/Tooltip.d.ts +5 -2
  1218. package/components/Tooltip/Tooltip.md +292 -292
  1219. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +3 -4
  1220. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  1221. package/components/Tooltip/Tooltip.styles.d.ts +1 -1
  1222. package/components/Tooltip/index/index.js.map +1 -1
  1223. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +10 -7
  1224. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  1225. package/components/TooltipMenu/TooltipMenu.d.ts +26 -8
  1226. package/components/TooltipMenu/TooltipMenu.md +183 -115
  1227. package/components/TooltipMenu/index/index.js.map +1 -1
  1228. package/index.d.ts +3 -3
  1229. package/index.js +3 -3
  1230. package/index.js.map +1 -1
  1231. package/internal/BGRuler/BGRuler.js +5 -5
  1232. package/internal/BGRuler/BGRuler.js.map +1 -1
  1233. package/internal/Calendar/Calendar/Calendar.js +65 -23
  1234. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  1235. package/internal/Calendar/Calendar.d.ts +6 -0
  1236. package/internal/Calendar/Calendar.styles/Calendar.styles.js +3 -4
  1237. package/internal/Calendar/Calendar.styles/Calendar.styles.js.map +1 -1
  1238. package/internal/Calendar/Calendar.styles.d.ts +1 -1
  1239. package/internal/Calendar/CalendarDateShape/CalendarDateShape.js.map +1 -1
  1240. package/internal/Calendar/CalendarScrollEvents/CalendarScrollEvents.js.map +1 -1
  1241. package/internal/Calendar/CalendarUtils/CalendarUtils.js.map +1 -1
  1242. package/internal/Calendar/DayCellView/DayCellView.js +4 -4
  1243. package/internal/Calendar/DayCellView/DayCellView.js.map +1 -1
  1244. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js +6 -7
  1245. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  1246. package/internal/Calendar/DayCellView.styles.d.ts +1 -1
  1247. package/internal/Calendar/DayCellViewModel/DayCellViewModel.js.map +1 -1
  1248. package/internal/Calendar/Month/Month.js +4 -1
  1249. package/internal/Calendar/Month/Month.js.map +1 -1
  1250. package/internal/Calendar/MonthView/MonthView.js +8 -8
  1251. package/internal/Calendar/MonthView/MonthView.js.map +1 -1
  1252. package/internal/Calendar/MonthView.styles/MonthView.styles.js +10 -8
  1253. package/internal/Calendar/MonthView.styles/MonthView.styles.js.map +1 -1
  1254. package/internal/Calendar/MonthView.styles.d.ts +3 -2
  1255. package/internal/Calendar/MonthViewModel/MonthViewModel.js.map +1 -1
  1256. package/internal/Calendar/config/config.js.map +1 -1
  1257. package/internal/Calendar/index/index.js.map +1 -1
  1258. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +2 -2
  1259. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  1260. package/internal/CommonWrapper/CommonWrapper.d.ts +9 -1
  1261. package/internal/CommonWrapper/index/index.js.map +1 -1
  1262. package/internal/ComponentCombinator/ComponentCombinator.js.map +1 -1
  1263. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  1264. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +39 -15
  1265. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  1266. package/internal/CustomComboBox/ComboBoxMenu.d.ts +1 -0
  1267. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +181 -108
  1268. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  1269. package/internal/CustomComboBox/ComboBoxView.d.ts +21 -1
  1270. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +27 -17
  1271. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  1272. package/internal/CustomComboBox/CustomComboBox.d.ts +8 -0
  1273. package/internal/CustomComboBox/CustomComboBox.styles/CustomComboBox.styles.js +4 -5
  1274. package/internal/CustomComboBox/CustomComboBox.styles/CustomComboBox.styles.js.map +1 -1
  1275. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +2 -2
  1276. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +5 -4
  1277. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  1278. package/internal/CustomComboBox/CustomComboBoxTypes/CustomComboBoxTypes.js.map +1 -1
  1279. package/internal/CustomComboBox/index/index.js.map +1 -1
  1280. package/internal/CustomComboBox/locale/index/index.js.map +1 -1
  1281. package/internal/CustomComboBox/locale/locales/en/en.js.map +1 -1
  1282. package/internal/CustomComboBox/locale/locales/ru/ru.js.map +1 -1
  1283. package/internal/DateSelect/DateSelect/DateSelect.js +52 -15
  1284. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  1285. package/internal/DateSelect/DateSelect.d.ts +3 -0
  1286. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js +11 -12
  1287. package/internal/DateSelect/DateSelect.styles/DateSelect.styles.js.map +1 -1
  1288. package/internal/DateSelect/DateSelect.styles.d.ts +3 -3
  1289. package/internal/DateSelect/index/index.js.map +1 -1
  1290. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  1291. package/internal/DropdownContainer/index/index.js.map +1 -1
  1292. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  1293. package/internal/FocusTrap/index/index.js.map +1 -1
  1294. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +29 -65
  1295. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  1296. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -3
  1297. package/internal/HideBodyVerticalScroll/index/index.js.map +1 -1
  1298. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  1299. package/internal/IgnoreLayerClick/index/index.js.map +1 -1
  1300. package/internal/InputLikeText/HiddenInput/HiddenInput.js +4 -4
  1301. package/internal/InputLikeText/HiddenInput/HiddenInput.js.map +1 -1
  1302. package/internal/InputLikeText/InputLikeText/InputLikeText.js +67 -40
  1303. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  1304. package/internal/InputLikeText/InputLikeText.d.ts +2 -1
  1305. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +5 -9
  1306. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  1307. package/internal/InputLikeText/InputLikeText.styles.d.ts +2 -3
  1308. package/internal/InputLikeText/index/index.js.map +1 -1
  1309. package/internal/InternalMenu/InternalMenu/InternalMenu.js +9 -9
  1310. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  1311. package/internal/InternalMenu/InternalMenu.d.ts +6 -1
  1312. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +3 -4
  1313. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  1314. package/internal/InternalMenu/InternalMenu.styles.d.ts +1 -1
  1315. package/internal/InternalMenu/index/index.js.map +1 -1
  1316. package/internal/InternalMenu/isActiveElement/isActiveElement.js.map +1 -1
  1317. package/internal/MaskCharLowLine/MaskCharLowLine/MaskCharLowLine.js +8 -8
  1318. package/internal/MaskCharLowLine/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  1319. package/internal/MaskCharLowLine/MaskCharLowLine.styles/MaskCharLowLine.styles.js +2 -3
  1320. package/internal/MaskCharLowLine/MaskCharLowLine.styles/MaskCharLowLine.styles.js.map +1 -1
  1321. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +1 -1
  1322. package/internal/MaskCharLowLine/index/index.js.map +1 -1
  1323. package/internal/MaskedInput/MaskedInput/MaskedInput.js +5 -5
  1324. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  1325. package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js +2 -3
  1326. package/internal/MaskedInput/MaskedInput.styles/MaskedInput.styles.js.map +1 -1
  1327. package/internal/MaskedInput/MaskedInput.styles.d.ts +1 -1
  1328. package/internal/MaskedInput/index/index.js.map +1 -1
  1329. package/internal/Menu/Menu/Menu.js +64 -60
  1330. package/internal/Menu/Menu/Menu.js.map +1 -1
  1331. package/internal/Menu/Menu.d.ts +5 -0
  1332. package/internal/Menu/Menu.styles/Menu.styles.js +4 -6
  1333. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  1334. package/internal/Menu/Menu.styles.d.ts +1 -1
  1335. package/internal/Menu/index/index.js.map +1 -1
  1336. package/internal/Menu/isActiveElement/isActiveElement.js.map +1 -1
  1337. package/internal/MobilePopup/MobilePopup/MobilePopup.js +113 -0
  1338. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -0
  1339. package/internal/MobilePopup/MobilePopup/package.json +6 -0
  1340. package/internal/MobilePopup/MobilePopup.d.ts +34 -0
  1341. package/internal/MobilePopup/MobilePopup.styles/MobilePopup.styles.js +29 -0
  1342. package/internal/MobilePopup/MobilePopup.styles/MobilePopup.styles.js.map +1 -0
  1343. package/internal/MobilePopup/MobilePopup.styles/package.json +6 -0
  1344. package/internal/MobilePopup/MobilePopup.styles.d.ts +10 -0
  1345. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +67 -0
  1346. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -0
  1347. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/package.json +6 -0
  1348. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +15 -0
  1349. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/MobilePopupHeader.styles.js +29 -0
  1350. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/MobilePopupHeader.styles.js.map +1 -0
  1351. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/package.json +6 -0
  1352. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +10 -0
  1353. package/internal/MobilePopup/MobilePopupHeader/index/index.js +1 -0
  1354. package/internal/MobilePopup/MobilePopupHeader/index/index.js.map +1 -0
  1355. package/internal/MobilePopup/MobilePopupHeader/index/package.json +6 -0
  1356. package/internal/MobilePopup/MobilePopupHeader/index.d.ts +1 -0
  1357. package/internal/MobilePopup/MobilePopupHeader/package.json +6 -0
  1358. package/internal/MobilePopup/index/index.js +1 -0
  1359. package/internal/MobilePopup/index/index.js.map +1 -0
  1360. package/internal/MobilePopup/index/package.json +6 -0
  1361. package/internal/MobilePopup/index.d.ts +1 -0
  1362. package/internal/MobilePopup/package.json +6 -0
  1363. package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js +67 -0
  1364. package/internal/NativeDateInput/NativeDateInput/NativeDateInput.js.map +1 -0
  1365. package/internal/NativeDateInput/NativeDateInput/package.json +6 -0
  1366. package/internal/NativeDateInput/NativeDateInput.d.ts +23 -0
  1367. package/internal/NativeDateInput/NativeDateInput.styles/NativeDateInput.styles.js +11 -0
  1368. package/internal/NativeDateInput/NativeDateInput.styles/NativeDateInput.styles.js.map +1 -0
  1369. package/internal/NativeDateInput/NativeDateInput.styles/package.json +6 -0
  1370. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -0
  1371. package/internal/NativeDateInput/index/index.js +1 -0
  1372. package/internal/NativeDateInput/index/index.js.map +1 -0
  1373. package/internal/NativeDateInput/index/package.json +6 -0
  1374. package/internal/NativeDateInput/index.d.ts +1 -0
  1375. package/internal/NativeDateInput/package.json +6 -0
  1376. package/internal/NativeDateInput/utils/package.json +6 -0
  1377. package/internal/NativeDateInput/utils/utils.js +54 -0
  1378. package/internal/NativeDateInput/utils/utils.js.map +1 -0
  1379. package/internal/NativeDateInput/utils.d.ts +7 -0
  1380. package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  1381. package/internal/Popup/Popup/Popup.js +115 -73
  1382. package/internal/Popup/Popup/Popup.js.map +1 -1
  1383. package/internal/Popup/Popup.d.ts +21 -0
  1384. package/internal/Popup/Popup.styles/Popup.styles.js +6 -7
  1385. package/internal/Popup/Popup.styles/Popup.styles.js.map +1 -1
  1386. package/internal/Popup/Popup.styles.d.ts +1 -1
  1387. package/internal/Popup/PopupHelper/PopupHelper.js +2 -1
  1388. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  1389. package/internal/Popup/PopupPin/PopupPin.js +18 -18
  1390. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  1391. package/internal/Popup/PopupPin.styles/PopupPin.styles.js +2 -3
  1392. package/internal/Popup/PopupPin.styles/PopupPin.styles.js.map +1 -1
  1393. package/internal/Popup/PopupPin.styles.d.ts +1 -1
  1394. package/internal/Popup/index/index.js.map +1 -1
  1395. package/internal/PopupMenu/PopupMenu/PopupMenu.js +19 -14
  1396. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  1397. package/internal/PopupMenu/PopupMenu.d.ts +3 -1
  1398. package/internal/PopupMenu/PopupMenu.styles/PopupMenu.styles.js +4 -5
  1399. package/internal/PopupMenu/PopupMenu.styles/PopupMenu.styles.js.map +1 -1
  1400. package/internal/PopupMenu/PopupMenu.styles.d.ts +1 -1
  1401. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +1 -1
  1402. package/internal/PopupMenu/index/index.js.map +1 -1
  1403. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  1404. package/internal/RenderContainer/RenderContainer/RenderContainer.js +2 -1
  1405. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  1406. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  1407. package/internal/RenderContainer/index/index.js.map +1 -1
  1408. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  1409. package/internal/RenderLayer/index/index.js.map +1 -1
  1410. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js +8 -4
  1411. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
  1412. package/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  1413. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js +8 -6
  1414. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js.map +1 -1
  1415. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +2 -1
  1416. package/internal/ResizeDetector/index/index.js.map +1 -1
  1417. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  1418. package/internal/ThemePlayground/darkTheme/darkTheme.js +57 -13
  1419. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  1420. package/internal/ThemePlayground/darkTheme.d.ts +18 -4
  1421. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +128 -110
  1422. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  1423. package/internal/ThemeShowcase/ThemeShowcase.md +13 -13
  1424. package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js +36 -25
  1425. package/internal/ThemeShowcase/ThemeShowcase.styles/ThemeShowcase.styles.js.map +1 -1
  1426. package/internal/ThemeShowcase/ThemeShowcase.styles.d.ts +9 -4
  1427. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js +67 -60
  1428. package/internal/ThemeShowcase/VariablesCollector/VariablesCollector.js.map +1 -1
  1429. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  1430. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  1431. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js +1 -0
  1432. package/internal/ZIndex/ZIndexStorage/ZIndexStorage.js.map +1 -1
  1433. package/internal/ZIndex/ZIndexStorage.d.ts +1 -0
  1434. package/internal/ZIndex/index/index.js.map +1 -1
  1435. package/internal/icons/16px/icon.styles/icon.styles.js +2 -3
  1436. package/internal/icons/16px/icon.styles/icon.styles.js.map +1 -1
  1437. package/internal/icons/16px/icon.styles.d.ts +1 -1
  1438. package/internal/icons/16px/index/index.js +3 -3
  1439. package/internal/icons/16px/index/index.js.map +1 -1
  1440. package/internal/icons/20px/Icon/Icon.js +2 -2
  1441. package/internal/icons/20px/Icon/Icon.js.map +1 -1
  1442. package/internal/icons/20px/icon.styles/icon.styles.js +2 -3
  1443. package/internal/icons/20px/icon.styles/icon.styles.js.map +1 -1
  1444. package/internal/icons/20px/icon.styles.d.ts +1 -1
  1445. package/internal/icons/20px/index/index.js.map +1 -1
  1446. package/internal/icons/20px/svg/svg.js +3 -3
  1447. package/internal/icons/20px/svg/svg.js.map +1 -1
  1448. package/internal/icons/CloudIcon/CloudIcon.js.map +1 -1
  1449. package/internal/icons/CrossIcon/CrossIcon.js +2 -1
  1450. package/internal/icons/CrossIcon/CrossIcon.js.map +1 -1
  1451. package/internal/icons/SpinnerIcon/SpinnerIcon.js +9 -6
  1452. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  1453. package/internal/icons/SpinnerIcon.d.ts +2 -1
  1454. package/internal/icons/SpinnerIcon.styles/SpinnerIcon.styles.js +10 -5
  1455. package/internal/icons/SpinnerIcon.styles/SpinnerIcon.styles.js.map +1 -1
  1456. package/internal/icons/SpinnerIcon.styles.d.ts +3 -1
  1457. package/internal/themes/DarkTheme/DarkTheme.js +194 -0
  1458. package/internal/themes/DarkTheme/DarkTheme.js.map +1 -0
  1459. package/internal/themes/DarkTheme/package.json +6 -0
  1460. package/internal/themes/DarkTheme.d.ts +103 -0
  1461. package/internal/themes/DefaultTheme/DefaultTheme.js +927 -509
  1462. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1463. package/internal/themes/DefaultTheme.d.ts +202 -117
  1464. package/internal/themes/NotFlat/NotFlat.js +295 -0
  1465. package/internal/themes/NotFlat/NotFlat.js.map +1 -0
  1466. package/internal/themes/NotFlat/package.json +6 -0
  1467. package/{cjs/internal/themes/FlatTheme.d.ts → internal/themes/NotFlat.d.ts} +80 -85
  1468. package/internal/themes/OldColors/OldColors.js +160 -0
  1469. package/internal/themes/OldColors/OldColors.js.map +1 -0
  1470. package/internal/themes/OldColors/package.json +6 -0
  1471. package/internal/themes/OldColors.d.ts +110 -0
  1472. package/lib/ConditionalHandler/ConditionalHandler.js +2 -2
  1473. package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
  1474. package/lib/LayoutEvents/LayoutEvents.js +12 -4
  1475. package/lib/LayoutEvents/LayoutEvents.js.map +1 -1
  1476. package/lib/ModalStack/ModalStack.js +4 -4
  1477. package/lib/ModalStack/ModalStack.js.map +1 -1
  1478. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  1479. package/lib/Supports/Supports.js.map +1 -1
  1480. package/lib/Upgrades/Upgrades.js +13 -0
  1481. package/lib/Upgrades/Upgrades.js.map +1 -1
  1482. package/lib/Upgrades.d.ts +2 -0
  1483. package/lib/animation/index/index.js.map +1 -1
  1484. package/lib/animation/presets/presets.js.map +1 -1
  1485. package/lib/animation/stepper/stepper.js.map +1 -1
  1486. package/lib/client/client.js +3 -1
  1487. package/lib/client/client.js.map +1 -1
  1488. package/lib/client.d.ts +2 -0
  1489. package/lib/createPropsGetter/createPropsGetter.js.map +1 -1
  1490. package/lib/currentEnvironment/currentEnvironment.js +14 -3
  1491. package/lib/currentEnvironment/currentEnvironment.js.map +1 -1
  1492. package/lib/date/InternalDate/InternalDate.js +3 -3
  1493. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  1494. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  1495. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  1496. package/lib/date/InternalDateSetter/InternalDateSetter.js.map +1 -1
  1497. package/lib/date/InternalDateTransformer/InternalDateTransformer.js.map +1 -1
  1498. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  1499. package/lib/date/constants/constants.js.map +1 -1
  1500. package/lib/date/localeSets/localeSets.js.map +1 -1
  1501. package/lib/date/types/types.js.map +1 -1
  1502. package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
  1503. package/lib/dom/tabbableHelpers/package.json +6 -0
  1504. package/lib/dom/tabbableHelpers/tabbableHelpers.js +34 -0
  1505. package/lib/dom/tabbableHelpers/tabbableHelpers.js.map +1 -0
  1506. package/lib/dom/tabbableHelpers.d.ts +16 -0
  1507. package/lib/events/MouseDrag/MouseDrag.js +26 -26
  1508. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  1509. package/lib/events/fixClickFocusIE/fixClickFocusIE.js +1 -1
  1510. package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +1 -1
  1511. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +19 -0
  1512. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  1513. package/lib/events/fixFirefoxModifiedClickOnLabel/package.json +6 -0
  1514. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  1515. package/lib/events/keyListener/keyListener.js +22 -0
  1516. package/lib/events/keyListener/keyListener.js.map +1 -0
  1517. package/lib/events/keyListener/package.json +6 -0
  1518. package/lib/events/keyListener.d.ts +7 -0
  1519. package/lib/events/keyboard/KeyboardEventCodes/KeyboardEventCodes.js.map +1 -1
  1520. package/lib/events/keyboard/KeyboardMapKeys/KeyboardMapKeys.js.map +1 -1
  1521. package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
  1522. package/lib/events/keyboard/identifiers/identifiers.js +10 -1
  1523. package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
  1524. package/lib/events/keyboard/identifiers.d.ts +1 -0
  1525. package/lib/events/stopPropagation/stopPropagation.js.map +1 -1
  1526. package/lib/events/tabListener/tabListener.js +2 -19
  1527. package/lib/events/tabListener/tabListener.js.map +1 -1
  1528. package/lib/events/tabListener.d.ts +1 -6
  1529. package/lib/extractKeyboardAction/extractKeyboardAction.js.map +1 -1
  1530. package/lib/filterProps/filterProps.js.map +1 -1
  1531. package/lib/forwardRefAndName/forwardRefAndName.js +11 -0
  1532. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -0
  1533. package/lib/forwardRefAndName/package.json +6 -0
  1534. package/lib/forwardRefAndName.d.ts +5 -0
  1535. package/lib/getDisplayName/getDisplayName.js +3 -0
  1536. package/lib/getDisplayName/getDisplayName.js.map +1 -0
  1537. package/lib/getDisplayName/package.json +6 -0
  1538. package/lib/getDisplayName.d.ts +3 -0
  1539. package/lib/listenFocusOutside/listenFocusOutside.js +13 -12
  1540. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  1541. package/lib/listenFocusOutside.d.ts +4 -0
  1542. package/lib/locale/LOCALECONTEXT.md +221 -221
  1543. package/lib/locale/LocaleContext/LocaleContext.js.map +1 -1
  1544. package/lib/locale/LocaleHelper/LocaleHelper.js.map +1 -1
  1545. package/lib/locale/constants/constants.js.map +1 -1
  1546. package/lib/locale/decorators/decorators.js +8 -3
  1547. package/lib/locale/decorators/decorators.js.map +1 -1
  1548. package/lib/locale/index/index.js.map +1 -1
  1549. package/lib/locale/types/types.js.map +1 -1
  1550. package/lib/memo/memo.js.map +1 -1
  1551. package/lib/net/fetch/fetch.js.map +1 -1
  1552. package/lib/polyfillPlaceholder/polyfillPlaceholder.js.map +1 -1
  1553. package/lib/reactGetTextContent/reactGetTextContent.js.map +1 -1
  1554. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  1555. package/lib/styles/ColorFunctions/ColorFunctions.js +1 -1
  1556. package/lib/styles/ColorFunctions/ColorFunctions.js.map +1 -1
  1557. package/lib/styles/ColorHelpers/ColorHelpers.js.map +1 -1
  1558. package/lib/styles/ColorKeywords/ColorKeywords.js.map +1 -1
  1559. package/lib/styles/ColorObject/ColorObject.js.map +1 -1
  1560. package/lib/styles/DimensionFunctions/DimensionFunctions.js.map +1 -1
  1561. package/lib/styles/HoldSelectionColor/HoldSelectionColor.js.map +1 -1
  1562. package/lib/styles/Mixins/Mixins.js.map +1 -1
  1563. package/lib/taskWithDelayAndMinimalDuration/package.json +6 -0
  1564. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js +76 -0
  1565. package/lib/taskWithDelayAndMinimalDuration/taskWithDelayAndMinimalDuration.js.map +1 -0
  1566. package/lib/taskWithDelayAndMinimalDuration.d.ts +21 -0
  1567. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  1568. package/lib/theming/Emotion/Emotion.js +17 -6
  1569. package/lib/theming/Emotion/Emotion.js.map +1 -1
  1570. package/lib/theming/Emotion.d.ts +1 -1
  1571. package/lib/theming/ThemeContext/ThemeContext.js +2 -2
  1572. package/lib/theming/ThemeContext/ThemeContext.js.map +1 -1
  1573. package/lib/theming/ThemeContext.d.ts +1 -1
  1574. package/lib/theming/ThemeContext.md +264 -265
  1575. package/lib/theming/ThemeFactory/ThemeFactory.js +2 -10
  1576. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  1577. package/lib/theming/ThemeFactory.d.ts +0 -1
  1578. package/lib/theming/ThemeHelpers/ThemeHelpers.js +0 -45
  1579. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  1580. package/lib/theming/ThemeHelpers.d.ts +0 -10
  1581. package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -0
  1582. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -0
  1583. package/lib/theming/themes/DarkTheme/package.json +6 -0
  1584. package/lib/theming/themes/DarkTheme.d.ts +1 -0
  1585. package/lib/theming/themes/DefaultTheme/DefaultTheme.js +2 -1
  1586. package/lib/theming/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1587. package/lib/theming/themes/DefaultTheme8pxOld/DefaultTheme8pxOld.js +5 -0
  1588. package/lib/theming/themes/DefaultTheme8pxOld/DefaultTheme8pxOld.js.map +1 -0
  1589. package/lib/theming/themes/DefaultTheme8pxOld/package.json +6 -0
  1590. package/lib/theming/themes/DefaultTheme8pxOld.d.ts +1 -0
  1591. package/lib/theming/themes/DefaultThemeMobile/DefaultThemeMobile.js +5 -0
  1592. package/lib/theming/themes/DefaultThemeMobile/DefaultThemeMobile.js.map +1 -0
  1593. package/lib/theming/themes/DefaultThemeMobile/package.json +6 -0
  1594. package/lib/theming/themes/DefaultThemeMobile.d.ts +3 -0
  1595. package/lib/theming/themes/FlatTheme8pxOld/FlatTheme8pxOld.js +4 -0
  1596. package/lib/theming/themes/FlatTheme8pxOld/FlatTheme8pxOld.js.map +1 -0
  1597. package/lib/theming/themes/FlatTheme8pxOld/package.json +6 -0
  1598. package/lib/theming/themes/FlatTheme8pxOld.d.ts +1 -0
  1599. package/lib/utils/utils.js +12 -2
  1600. package/lib/utils/utils.js.map +1 -1
  1601. package/lib/utils.d.ts +7 -0
  1602. package/lib/withClassWrapper/package.json +6 -0
  1603. package/lib/withClassWrapper/withClassWrapper.js +70 -0
  1604. package/lib/withClassWrapper/withClassWrapper.js.map +1 -0
  1605. package/lib/withClassWrapper.d.ts +71 -0
  1606. package/package.json +17 -31
  1607. package/typings/console.d.ts +3 -3
  1608. package/typings/event-types.d.ts +4 -4
  1609. package/typings/fonts.d.ts +12 -12
  1610. package/typings/global.d.ts +6 -6
  1611. package/typings/images.d.ts +1 -1
  1612. package/typings/normalize-wheel.d.ts +5 -5
  1613. package/typings/stories.d.ts +7 -0
  1614. package/typings/stylis-plugin-extra-scope.d.ts +3 -3
  1615. package/typings/utility-types.d.ts +14 -14
  1616. package/cjs/components/Modal/helpers.d.ts +0 -6
  1617. package/cjs/components/Modal/helpers.js +0 -20
  1618. package/cjs/components/Modal/helpers.js.map +0 -1
  1619. package/cjs/components/SidePage/helpers.d.ts +0 -5
  1620. package/cjs/components/SidePage/helpers.js +0 -14
  1621. package/cjs/components/SidePage/helpers.js.map +0 -1
  1622. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +0 -13
  1623. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js +0 -60
  1624. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js.map +0 -1
  1625. package/cjs/internal/ThemePlayground/CheckboxPlayground.d.ts +0 -1
  1626. package/cjs/internal/ThemePlayground/CheckboxPlayground.js +0 -28
  1627. package/cjs/internal/ThemePlayground/CheckboxPlayground.js.map +0 -1
  1628. package/cjs/internal/ThemePlayground/ComponentsGroup.d.ts +0 -10
  1629. package/cjs/internal/ThemePlayground/ComponentsGroup.js +0 -29
  1630. package/cjs/internal/ThemePlayground/ComponentsGroup.js.map +0 -1
  1631. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +0 -11
  1632. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js +0 -31
  1633. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js.map +0 -1
  1634. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +0 -10
  1635. package/cjs/internal/ThemePlayground/FxInputPlayground.js +0 -37
  1636. package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +0 -1
  1637. package/cjs/internal/ThemePlayground/HintPlayground.d.ts +0 -6
  1638. package/cjs/internal/ThemePlayground/HintPlayground.js +0 -28
  1639. package/cjs/internal/ThemePlayground/HintPlayground.js.map +0 -1
  1640. package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +0 -10
  1641. package/cjs/internal/ThemePlayground/PagingPlayground.js +0 -16
  1642. package/cjs/internal/ThemePlayground/PagingPlayground.js.map +0 -1
  1643. package/cjs/internal/ThemePlayground/Playground.d.ts +0 -31
  1644. package/cjs/internal/ThemePlayground/Playground.js +0 -321
  1645. package/cjs/internal/ThemePlayground/Playground.js.map +0 -1
  1646. package/cjs/internal/ThemePlayground/Playground.md +0 -7
  1647. package/cjs/internal/ThemePlayground/Playground.styles.d.ts +0 -23
  1648. package/cjs/internal/ThemePlayground/Playground.styles.js +0 -162
  1649. package/cjs/internal/ThemePlayground/Playground.styles.js.map +0 -1
  1650. package/cjs/internal/ThemePlayground/RadioPlayground.d.ts +0 -1
  1651. package/cjs/internal/ThemePlayground/RadioPlayground.js +0 -27
  1652. package/cjs/internal/ThemePlayground/RadioPlayground.js.map +0 -1
  1653. package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +0 -12
  1654. package/cjs/internal/ThemePlayground/SelectPlayground.js +0 -31
  1655. package/cjs/internal/ThemePlayground/SelectPlayground.js.map +0 -1
  1656. package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +0 -15
  1657. package/cjs/internal/ThemePlayground/SwitcherPlayground.js +0 -30
  1658. package/cjs/internal/ThemePlayground/SwitcherPlayground.js.map +0 -1
  1659. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +0 -51
  1660. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +0 -231
  1661. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +0 -1
  1662. package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +0 -39
  1663. package/cjs/internal/ThemePlayground/ThemeEditor.js +0 -165
  1664. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +0 -1
  1665. package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +0 -9
  1666. package/cjs/internal/ThemePlayground/TogglePlayground.js +0 -26
  1667. package/cjs/internal/ThemePlayground/TogglePlayground.js.map +0 -1
  1668. package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +0 -7
  1669. package/cjs/internal/ThemePlayground/TokenInputPlayground.js +0 -69
  1670. package/cjs/internal/ThemePlayground/TokenInputPlayground.js.map +0 -1
  1671. package/cjs/internal/ThemePlayground/VariableValue.d.ts +0 -45
  1672. package/cjs/internal/ThemePlayground/VariableValue.js +0 -222
  1673. package/cjs/internal/ThemePlayground/VariableValue.js.map +0 -1
  1674. package/cjs/internal/ThemePlayground/constants.d.ts +0 -18
  1675. package/cjs/internal/ThemePlayground/constants.js +0 -40
  1676. package/cjs/internal/ThemePlayground/constants.js.map +0 -1
  1677. package/cjs/internal/ThemePlayground/helpers.d.ts +0 -2
  1678. package/cjs/internal/ThemePlayground/helpers.js +0 -26
  1679. package/cjs/internal/ThemePlayground/helpers.js.map +0 -1
  1680. package/cjs/internal/themes/FlatTheme.js +0 -229
  1681. package/cjs/internal/themes/FlatTheme.js.map +0 -1
  1682. package/cjs/internal/themes/Theme8px.d.ts +0 -277
  1683. package/cjs/internal/themes/Theme8px.js +0 -570
  1684. package/cjs/internal/themes/Theme8px.js.map +0 -1
  1685. package/cjs/lib/dom/getFocusableElements.d.ts +0 -42
  1686. package/cjs/lib/dom/getFocusableElements.js +0 -88
  1687. package/cjs/lib/dom/getFocusableElements.js.map +0 -1
  1688. package/cjs/lib/theming/themes/DefaultTheme8px.d.ts +0 -1
  1689. package/cjs/lib/theming/themes/DefaultTheme8px.js +0 -6
  1690. package/cjs/lib/theming/themes/DefaultTheme8px.js.map +0 -1
  1691. package/cjs/lib/theming/themes/FlatTheme.d.ts +0 -1
  1692. package/cjs/lib/theming/themes/FlatTheme.js +0 -6
  1693. package/cjs/lib/theming/themes/FlatTheme.js.map +0 -1
  1694. package/cjs/lib/theming/themes/FlatTheme8px.d.ts +0 -1
  1695. package/cjs/lib/theming/themes/FlatTheme8px.js +0 -6
  1696. package/cjs/lib/theming/themes/FlatTheme8px.js.map +0 -1
  1697. package/components/Modal/helpers/helpers.js +0 -10
  1698. package/components/Modal/helpers/helpers.js.map +0 -1
  1699. package/components/Modal/helpers/package.json +0 -6
  1700. package/components/Modal/helpers.d.ts +0 -6
  1701. package/components/SidePage/helpers/helpers.js +0 -7
  1702. package/components/SidePage/helpers/helpers.js.map +0 -1
  1703. package/components/SidePage/helpers/package.json +0 -6
  1704. package/components/SidePage/helpers.d.ts +0 -5
  1705. package/internal/ThemePlayground/AnotherInputsPlayground/AnotherInputsPlayground.js +0 -79
  1706. package/internal/ThemePlayground/AnotherInputsPlayground/AnotherInputsPlayground.js.map +0 -1
  1707. package/internal/ThemePlayground/AnotherInputsPlayground/package.json +0 -6
  1708. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +0 -13
  1709. package/internal/ThemePlayground/CheckboxPlayground/CheckboxPlayground.js +0 -36
  1710. package/internal/ThemePlayground/CheckboxPlayground/CheckboxPlayground.js.map +0 -1
  1711. package/internal/ThemePlayground/CheckboxPlayground/package.json +0 -6
  1712. package/internal/ThemePlayground/CheckboxPlayground.d.ts +0 -1
  1713. package/internal/ThemePlayground/ComponentsGroup/ComponentsGroup.js +0 -23
  1714. package/internal/ThemePlayground/ComponentsGroup/ComponentsGroup.js.map +0 -1
  1715. package/internal/ThemePlayground/ComponentsGroup/package.json +0 -6
  1716. package/internal/ThemePlayground/ComponentsGroup.d.ts +0 -10
  1717. package/internal/ThemePlayground/CurrencyInputPlayground/CurrencyInputPlayground.js +0 -41
  1718. package/internal/ThemePlayground/CurrencyInputPlayground/CurrencyInputPlayground.js.map +0 -1
  1719. package/internal/ThemePlayground/CurrencyInputPlayground/package.json +0 -6
  1720. package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +0 -11
  1721. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js +0 -47
  1722. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js.map +0 -1
  1723. package/internal/ThemePlayground/FxInputPlayground/package.json +0 -6
  1724. package/internal/ThemePlayground/FxInputPlayground.d.ts +0 -10
  1725. package/internal/ThemePlayground/HintPlayground/HintPlayground.js +0 -57
  1726. package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +0 -1
  1727. package/internal/ThemePlayground/HintPlayground/package.json +0 -6
  1728. package/internal/ThemePlayground/HintPlayground.d.ts +0 -6
  1729. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js +0 -39
  1730. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js.map +0 -1
  1731. package/internal/ThemePlayground/PagingPlayground/package.json +0 -6
  1732. package/internal/ThemePlayground/PagingPlayground.d.ts +0 -10
  1733. package/internal/ThemePlayground/Playground/Playground.js +0 -394
  1734. package/internal/ThemePlayground/Playground/Playground.js.map +0 -1
  1735. package/internal/ThemePlayground/Playground/package.json +0 -6
  1736. package/internal/ThemePlayground/Playground.d.ts +0 -31
  1737. package/internal/ThemePlayground/Playground.md +0 -7
  1738. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +0 -68
  1739. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +0 -1
  1740. package/internal/ThemePlayground/Playground.styles/package.json +0 -6
  1741. package/internal/ThemePlayground/Playground.styles.d.ts +0 -23
  1742. package/internal/ThemePlayground/RadioPlayground/RadioPlayground.js +0 -41
  1743. package/internal/ThemePlayground/RadioPlayground/RadioPlayground.js.map +0 -1
  1744. package/internal/ThemePlayground/RadioPlayground/package.json +0 -6
  1745. package/internal/ThemePlayground/RadioPlayground.d.ts +0 -1
  1746. package/internal/ThemePlayground/SelectPlayground/SelectPlayground.js +0 -49
  1747. package/internal/ThemePlayground/SelectPlayground/SelectPlayground.js.map +0 -1
  1748. package/internal/ThemePlayground/SelectPlayground/package.json +0 -6
  1749. package/internal/ThemePlayground/SelectPlayground.d.ts +0 -12
  1750. package/internal/ThemePlayground/SwitcherPlayground/SwitcherPlayground.js +0 -44
  1751. package/internal/ThemePlayground/SwitcherPlayground/SwitcherPlayground.js.map +0 -1
  1752. package/internal/ThemePlayground/SwitcherPlayground/package.json +0 -6
  1753. package/internal/ThemePlayground/SwitcherPlayground.d.ts +0 -15
  1754. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +0 -239
  1755. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +0 -1
  1756. package/internal/ThemePlayground/ThemeContextPlayground/package.json +0 -6
  1757. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +0 -51
  1758. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js +0 -213
  1759. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +0 -1
  1760. package/internal/ThemePlayground/ThemeEditor/package.json +0 -6
  1761. package/internal/ThemePlayground/ThemeEditor.d.ts +0 -39
  1762. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js +0 -39
  1763. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js.map +0 -1
  1764. package/internal/ThemePlayground/TogglePlayground/package.json +0 -6
  1765. package/internal/ThemePlayground/TogglePlayground.d.ts +0 -9
  1766. package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js +0 -112
  1767. package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js.map +0 -1
  1768. package/internal/ThemePlayground/TokenInputPlayground/package.json +0 -6
  1769. package/internal/ThemePlayground/TokenInputPlayground.d.ts +0 -7
  1770. package/internal/ThemePlayground/VariableValue/VariableValue.js +0 -246
  1771. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +0 -1
  1772. package/internal/ThemePlayground/VariableValue/package.json +0 -6
  1773. package/internal/ThemePlayground/VariableValue.d.ts +0 -45
  1774. package/internal/ThemePlayground/constants/constants.js +0 -91
  1775. package/internal/ThemePlayground/constants/constants.js.map +0 -1
  1776. package/internal/ThemePlayground/constants/package.json +0 -6
  1777. package/internal/ThemePlayground/constants.d.ts +0 -18
  1778. package/internal/ThemePlayground/helpers/helpers.js +0 -31
  1779. package/internal/ThemePlayground/helpers/helpers.js.map +0 -1
  1780. package/internal/ThemePlayground/helpers/package.json +0 -6
  1781. package/internal/ThemePlayground/helpers.d.ts +0 -2
  1782. package/internal/themes/FlatTheme/FlatTheme.js +0 -307
  1783. package/internal/themes/FlatTheme/FlatTheme.js.map +0 -1
  1784. package/internal/themes/FlatTheme/package.json +0 -6
  1785. package/internal/themes/Theme8px/Theme8px.js +0 -752
  1786. package/internal/themes/Theme8px/Theme8px.js.map +0 -1
  1787. package/internal/themes/Theme8px/package.json +0 -6
  1788. package/internal/themes/Theme8px.d.ts +0 -277
  1789. package/lib/dom/getFocusableElements/getFocusableElements.js +0 -103
  1790. package/lib/dom/getFocusableElements/getFocusableElements.js.map +0 -1
  1791. package/lib/dom/getFocusableElements/package.json +0 -6
  1792. package/lib/dom/getFocusableElements.d.ts +0 -42
  1793. package/lib/theming/themes/DefaultTheme8px/DefaultTheme8px.js +0 -5
  1794. package/lib/theming/themes/DefaultTheme8px/DefaultTheme8px.js.map +0 -1
  1795. package/lib/theming/themes/DefaultTheme8px/package.json +0 -6
  1796. package/lib/theming/themes/DefaultTheme8px.d.ts +0 -1
  1797. package/lib/theming/themes/FlatTheme/FlatTheme.js +0 -5
  1798. package/lib/theming/themes/FlatTheme/FlatTheme.js.map +0 -1
  1799. package/lib/theming/themes/FlatTheme/package.json +0 -6
  1800. package/lib/theming/themes/FlatTheme.d.ts +0 -1
  1801. package/lib/theming/themes/FlatTheme8px/FlatTheme8px.js +0 -5
  1802. package/lib/theming/themes/FlatTheme8px/FlatTheme8px.js.map +0 -1
  1803. package/lib/theming/themes/FlatTheme8px/package.json +0 -6
  1804. package/lib/theming/themes/FlatTheme8px.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["DateSelect.tsx"],"names":["React","PropTypes","cn","isKeyEscape","DatePickerLocaleHelper","locale","RenderLayer","DropdownContainer","LayoutEvents","ThemeContext","ArrowTriangleUpDownIcon","ArrowChevronDownIcon","ArrowChevronUpIcon","jsStyles","itemHeight","visibleYearsCount","itemsToMoveCount","monthsCount","defaultMinYear","defaultMaxYear","DateSelect","state","botCapped","current","height","opened","pos","top","topCapped","nodeTop","Infinity","theme","root","itemsContainer","listener","timeout","longClickTimer","setPositionRepeatTimer","yearStep","open","props","disabled","setPosition","setState","close","refRoot","element","setNodeTop","clearTimeout","setTimeout","getBoundingClientRect","refItemsContainer","addEventListener","handleWheel","passive","removeEventListener","handleLongClickUp","event","preventDefault","window","setInterval","handleLongClickDown","handleLongClickStop","getAnchor","WheelEvent","stopPropagation","deltaY","deltaMode","handleItemClick","shift","e","value","onValueChange","handleKey","handleUp","handleDown","UNSAFE_componentWillReceiveProps","componentDidMount","addListener","componentWillUnmount","remove","render","renderMain","width","rootProps","className","Boolean","style","ref","caption","getItem","arrow","arrowDisabled","renderMenu","disableItems","index","maxValue","minValue","from","to","Math","ceil","items","i","menuItem","menuItemSelected","menuItemActive","menuItemDisabled","clickHandler","onMouseDown","onClick","push","left","right","shiftStyle","position","holderClass","menuHolder","isTopCapped","isBotCapped","dropdownOffset","overflowOffsetDelta","menuUp","itemsHolder","menuDown","type","months","minPos","getMinPos","maxPos","getMaxPos","Component","__KONTUR_REACT_UI__","propTypes","bool","string","number","isRequired","oneOfType","func","defaultProps","minMonth","maxMonth"],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport cn from 'classnames';\r\n\r\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\r\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../../components/DatePicker/locale';\r\nimport { locale } from '../../lib/locale/decorators';\r\nimport { RenderLayer } from '../RenderLayer';\r\nimport { DropdownContainer } from '../DropdownContainer';\r\nimport * as LayoutEvents from '../../lib/LayoutEvents';\r\nimport { Nullable } from '../../typings/utility-types';\r\nimport { Theme } from '../../lib/theming/Theme';\r\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\r\nimport { ArrowTriangleUpDownIcon, ArrowChevronDownIcon, ArrowChevronUpIcon } from '../icons/16px';\r\n\r\nimport { jsStyles } from './DateSelect.styles';\r\n\r\nconst itemHeight = 24;\r\nconst visibleYearsCount = 11;\r\nconst itemsToMoveCount = -5;\r\nconst monthsCount = 12;\r\nconst defaultMinYear = 1900;\r\nconst defaultMaxYear = 2100;\r\n\r\nexport interface DateSelectProps {\r\n disabled?: boolean | null;\r\n onValueChange: (value: number) => void;\r\n type?: 'month' | 'year';\r\n value: number;\r\n width?: number | string;\r\n minValue?: number;\r\n maxValue?: number;\r\n}\r\n\r\nexport interface DateSelectState {\r\n botCapped: boolean;\r\n current: Nullable<number>;\r\n height: number;\r\n opened: boolean;\r\n pos: number;\r\n top: number;\r\n topCapped: boolean;\r\n nodeTop: number;\r\n}\r\n\r\n@locale('DatePicker', DatePickerLocaleHelper)\r\nexport class DateSelect extends React.Component<DateSelectProps, DateSelectState> {\r\n public static __KONTUR_REACT_UI__ = 'DateSelect';\r\n\r\n public static propTypes = {\r\n disabled: PropTypes.bool,\r\n\r\n type: PropTypes.string,\r\n\r\n value: PropTypes.number.isRequired,\r\n\r\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\r\n\r\n onValueChange: PropTypes.func,\r\n\r\n minValue: PropTypes.number,\r\n\r\n maxValue: PropTypes.number,\r\n };\r\n\r\n public static defaultProps = {\r\n type: 'year',\r\n minMonth: 0,\r\n maxMonth: 11,\r\n width: 'auto',\r\n };\r\n\r\n public state = {\r\n botCapped: false,\r\n current: 0,\r\n height: 0,\r\n opened: false,\r\n pos: 0,\r\n top: 0,\r\n topCapped: false,\r\n nodeTop: Infinity,\r\n };\r\n\r\n private theme!: Theme;\r\n private readonly locale!: DatePickerLocale;\r\n private root: HTMLElement | null = null;\r\n private itemsContainer: HTMLElement | null = null;\r\n private listener: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\r\n private timeout: NodeJS.Timeout | undefined;\r\n private longClickTimer = 0;\r\n private setPositionRepeatTimer = 0;\r\n private yearStep = 3;\r\n\r\n public UNSAFE_componentWillReceiveProps() {\r\n this.setNodeTop();\r\n }\r\n\r\n public componentDidMount() {\r\n this.listener = LayoutEvents.addListener(this.setNodeTop);\r\n this.setNodeTop();\r\n window.addEventListener('keydown', this.handleKey);\r\n }\r\n\r\n public componentWillUnmount() {\r\n if (this.listener) {\r\n this.listener.remove();\r\n }\r\n if (this.timeout) {\r\n clearTimeout(this.timeout);\r\n }\r\n if (this.longClickTimer) {\r\n clearTimeout(this.longClickTimer);\r\n }\r\n if (this.setPositionRepeatTimer) {\r\n clearTimeout(this.setPositionRepeatTimer);\r\n }\r\n window.removeEventListener('keydown', this.handleKey);\r\n }\r\n\r\n /**\r\n * @public\r\n */\r\n public open = () => {\r\n if (this.props.disabled) {\r\n return;\r\n }\r\n\r\n if (this.state.opened) {\r\n return;\r\n }\r\n\r\n this.setPosition(0);\r\n this.setState({\r\n opened: true,\r\n current: 0,\r\n });\r\n };\r\n\r\n /**\r\n * @public\r\n */\r\n public close = () => {\r\n if (!this.state.opened) {\r\n return;\r\n }\r\n\r\n this.setState({ opened: false });\r\n };\r\n\r\n public render() {\r\n return (\r\n <ThemeContext.Consumer>\r\n {theme => {\r\n this.theme = theme;\r\n return this.renderMain();\r\n }}\r\n </ThemeContext.Consumer>\r\n );\r\n }\r\n\r\n private renderMain() {\r\n const { width, disabled } = this.props;\r\n const rootProps = {\r\n className: cn({\r\n [jsStyles.root(this.theme)]: true,\r\n [jsStyles.disabled()]: Boolean(disabled),\r\n }),\r\n style: { width },\r\n ref: this.refRoot,\r\n };\r\n return (\r\n <span {...rootProps}>\r\n <div data-tid=\"DateSelect__caption\" className={jsStyles.caption()} onClick={this.open}>\r\n {this.getItem(0)}\r\n <div\r\n className={cn({\r\n [jsStyles.arrow(this.theme)]: true,\r\n [jsStyles.arrowDisabled()]: Boolean(disabled),\r\n })}\r\n >\r\n <ArrowTriangleUpDownIcon size={12} />\r\n </div>\r\n </div>\r\n {this.state.opened && this.renderMenu()}\r\n </span>\r\n );\r\n }\r\n\r\n private refRoot = (element: HTMLElement | null) => {\r\n this.root = element;\r\n };\r\n\r\n private setNodeTop = () => {\r\n const root = this.root;\r\n if (!root) {\r\n return;\r\n }\r\n if (this.timeout) {\r\n clearTimeout(this.timeout);\r\n }\r\n this.timeout = setTimeout(() =>\r\n this.setState({\r\n nodeTop: root.getBoundingClientRect().top,\r\n }),\r\n );\r\n };\r\n\r\n private disableItems(index: number) {\r\n const value = this.props.value + index;\r\n if (this.props.maxValue != null && this.props.minValue != null) {\r\n return value > this.props.maxValue || value < this.props.minValue;\r\n }\r\n if (this.props.minValue != null) {\r\n return value < this.props.minValue;\r\n }\r\n if (this.props.maxValue != null) {\r\n return value > this.props.maxValue;\r\n }\r\n }\r\n\r\n private renderMenu(): React.ReactNode {\r\n const { top, height, nodeTop } = this.state;\r\n\r\n let shift = this.state.pos % itemHeight;\r\n if (shift < 0) {\r\n shift += itemHeight;\r\n }\r\n\r\n const from = (this.state.pos - shift + top) / itemHeight;\r\n const to = from + Math.ceil((height + shift) / itemHeight);\r\n const items = [];\r\n\r\n for (let i = from; i < to; ++i) {\r\n const disableItems = this.disableItems(i) || false;\r\n const className = cn({\r\n [jsStyles.menuItem(this.theme)]: true,\r\n [jsStyles.menuItemSelected(this.theme)]: i === 0,\r\n [jsStyles.menuItemActive(this.theme)]: i === this.state.current,\r\n [jsStyles.menuItemDisabled(this.theme)]: disableItems,\r\n });\r\n const clickHandler = {\r\n onMouseDown: preventDefault,\r\n onClick: this.handleItemClick(i),\r\n };\r\n items.push(\r\n <div\r\n data-tid=\"DateSelect__menuItem\"\r\n data-prop-disabled={disableItems}\r\n key={i}\r\n className={className}\r\n onMouseEnter={() => this.setState({ current: i })}\r\n onMouseLeave={() => this.setState({ current: null })}\r\n {...clickHandler}\r\n >\r\n {this.getItem(i)}\r\n </div>,\r\n );\r\n }\r\n const style: {\r\n left?: number | string;\r\n right?: number | string;\r\n top: number;\r\n width?: number | string;\r\n } = {\r\n top: top - 5,\r\n left: 0,\r\n right: 0,\r\n };\r\n\r\n const shiftStyle: React.CSSProperties = {\r\n position: 'relative',\r\n top: -shift,\r\n };\r\n\r\n const holderClass = cn({\r\n [jsStyles.menuHolder(this.theme)]: true,\r\n [jsStyles.isTopCapped()]: this.state.topCapped,\r\n [jsStyles.isBotCapped()]: this.state.botCapped,\r\n });\r\n\r\n let dropdownOffset = -itemHeight;\r\n if (nodeTop < -top) {\r\n const overflowOffsetDelta = this.state.topCapped ? 6 : 17;\r\n dropdownOffset -= nodeTop + top - overflowOffsetDelta;\r\n }\r\n\r\n return (\r\n <RenderLayer onClickOutside={this.close} onFocusOutside={this.close} active>\r\n <div>\r\n <DropdownContainer getParent={this.getAnchor} offsetY={dropdownOffset} offsetX={-10}>\r\n <div className={holderClass} style={style}>\r\n {!this.state.topCapped && (\r\n <div\r\n className={jsStyles.menuUp(this.theme)}\r\n onClick={this.handleUp}\r\n onMouseDown={this.handleLongClickUp}\r\n onMouseUp={this.handleLongClickStop}\r\n onMouseLeave={this.handleLongClickStop}\r\n onTouchStart={this.handleLongClickUp}\r\n onTouchEnd={this.handleLongClickStop}\r\n >\r\n <span>\r\n <ArrowChevronUpIcon />\r\n </span>\r\n </div>\r\n )}\r\n <div className={jsStyles.itemsHolder()} style={{ height }}>\r\n <div ref={this.refItemsContainer} style={shiftStyle}>\r\n {items}\r\n </div>\r\n </div>\r\n {!this.state.botCapped && (\r\n <div\r\n className={jsStyles.menuDown(this.theme)}\r\n onClick={this.handleDown}\r\n onMouseDown={this.handleLongClickDown}\r\n onMouseUp={this.handleLongClickStop}\r\n onMouseLeave={this.handleLongClickStop}\r\n onTouchStart={this.handleLongClickDown}\r\n onTouchEnd={this.handleLongClickStop}\r\n >\r\n <span>\r\n <ArrowChevronDownIcon />\r\n </span>\r\n </div>\r\n )}\r\n </div>\r\n </DropdownContainer>\r\n </div>\r\n </RenderLayer>\r\n );\r\n }\r\n\r\n private refItemsContainer = (element: HTMLElement | null) => {\r\n if (!this.itemsContainer && element) {\r\n element.addEventListener('wheel', this.handleWheel, { passive: false });\r\n }\r\n if (this.itemsContainer && !element) {\r\n this.itemsContainer.removeEventListener('wheel', this.handleWheel);\r\n }\r\n this.itemsContainer = element;\r\n };\r\n\r\n private handleLongClickUp = (event: React.MouseEvent | React.TouchEvent) => {\r\n event.preventDefault();\r\n this.longClickTimer = window.setTimeout(() => {\r\n this.setPositionRepeatTimer = window.setInterval(() => this.setPosition(this.state.pos - itemHeight), 100);\r\n }, 200);\r\n };\r\n\r\n private handleLongClickDown = (event: React.MouseEvent | React.TouchEvent) => {\r\n event.preventDefault();\r\n this.longClickTimer = window.setTimeout(() => {\r\n this.setPositionRepeatTimer = window.setInterval(() => this.setPosition(this.state.pos + itemHeight), 100);\r\n }, 200);\r\n };\r\n\r\n private handleLongClickStop = () => {\r\n clearTimeout(this.longClickTimer);\r\n clearTimeout(this.setPositionRepeatTimer);\r\n };\r\n\r\n private getAnchor = () => this.root;\r\n\r\n private handleWheel = (event: Event) => {\r\n if (!(event instanceof WheelEvent)) {\r\n return;\r\n }\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n let deltaY = event.deltaY;\r\n if (event.deltaMode === 1) {\r\n deltaY *= itemHeight;\r\n } else if (event.deltaMode === 2) {\r\n deltaY *= itemHeight * 4;\r\n }\r\n const pos = this.state.pos + deltaY;\r\n this.setPosition(pos);\r\n };\r\n\r\n private handleItemClick = (shift: number) => {\r\n return (e: React.MouseEvent<HTMLElement>) => {\r\n const value = this.props.value + shift;\r\n if (this.props.onValueChange) {\r\n this.props.onValueChange(value);\r\n }\r\n this.setState({ opened: false });\r\n };\r\n };\r\n\r\n private handleKey = (e: KeyboardEvent) => {\r\n if (this.state.opened && isKeyEscape(e)) {\r\n e.preventDefault();\r\n this.close();\r\n e.stopPropagation();\r\n }\r\n };\r\n\r\n private handleUp = (event: React.MouseEvent) => {\r\n event.preventDefault();\r\n this.setPosition(this.state.pos - itemHeight * this.yearStep);\r\n };\r\n\r\n private handleDown = (event: React.MouseEvent) => {\r\n event.preventDefault();\r\n this.setPosition(this.state.pos + itemHeight * this.yearStep);\r\n };\r\n\r\n private getItem(index: number) {\r\n const value = this.props.value + index;\r\n if (this.props.type === 'month') {\r\n return this.locale.months[value];\r\n }\r\n return value;\r\n }\r\n\r\n private setPosition(pos: number) {\r\n let top = itemsToMoveCount * itemHeight;\r\n let height = visibleYearsCount * itemHeight;\r\n if (this.props.type === 'month') {\r\n top = -this.props.value * itemHeight;\r\n height = monthsCount * itemHeight;\r\n }\r\n\r\n const minPos = this.getMinPos() - top;\r\n const maxPos = this.getMaxPos() - top - height + itemHeight;\r\n if (minPos >= pos) {\r\n pos = minPos;\r\n }\r\n if (maxPos <= pos) {\r\n pos = maxPos;\r\n }\r\n const topCapped = pos <= minPos;\r\n const botCapped = pos >= maxPos;\r\n\r\n this.setState({ pos, top, height, topCapped, botCapped });\r\n }\r\n\r\n private getMinPos() {\r\n if (this.props.type === 'month') {\r\n return -this.props.value * itemHeight;\r\n } else if (this.props.type === 'year') {\r\n return ((this.props.minValue || defaultMinYear) - this.props.value) * itemHeight;\r\n }\r\n return -Infinity; // Be defensive.\r\n }\r\n\r\n private getMaxPos() {\r\n if (this.props.type === 'month') {\r\n return (visibleYearsCount - this.props.value) * itemHeight;\r\n } else if (this.props.type === 'year') {\r\n return ((this.props.maxValue || defaultMaxYear) - this.props.value) * itemHeight;\r\n }\r\n return Infinity; // Be defensive.\r\n }\r\n}\r\n\r\nfunction preventDefault(e: React.SyntheticEvent) {\r\n e.preventDefault();\r\n}\r\n"]}
1
+ {"version":3,"sources":["DateSelect.tsx"],"names":["React","PropTypes","isKeyEscape","DatePickerLocaleHelper","locale","RenderLayer","DropdownContainer","LayoutEvents","ThemeContext","ArrowTriangleUpDownIcon","ArrowChevronDownIcon","ArrowChevronUpIcon","isMobile","cx","styles","itemHeight","visibleYearsCount","itemsToMoveCount","monthsCount","defaultMinYear","defaultMaxYear","DateSelect","state","botCapped","current","height","opened","pos","top","topCapped","nodeTop","Infinity","theme","root","itemsContainer","listener","timeout","longClickTimer","setPositionRepeatTimer","yearStep","touchStartY","open","props","disabled","setPosition","setState","close","refRoot","element","setNodeTop","clearTimeout","setTimeout","getBoundingClientRect","refItemsContainer","addEventListener","handleWheel","passive","removeEventListener","handleTouchStart","handleTouchMove","handleLongClickUp","event","preventDefault","window","setInterval","handleLongClickDown","handleLongClickStop","getAnchor","WheelEvent","stopPropagation","deltaY","deltaMode","TouchEvent","targetTouches","clientY","changedTouches","pixelRatio","devicePixelRatio","handleItemClick","shift","e","value","onValueChange","handleKey","handleUp","handleDown","UNSAFE_componentWillReceiveProps","componentDidMount","addListener","componentWillUnmount","remove","render","renderMain","width","rootProps","className","Boolean","style","ref","caption","getItem","arrow","arrowDisabled","renderMenu","disableItems","index","maxValue","minValue","from","to","Math","ceil","items","i","menuItem","menuItemSelected","menuItemActive","menuItemDisabled","clickHandler","onMouseDown","onClick","push","left","right","shiftStyle","position","holderClass","menuHolder","isTopCapped","isBotCapped","dropdownOffset","overflowOffsetDelta","menu","menuUp","itemsHolder","menuDown","type","months","minPos","getMinPos","maxPos","getMaxPos","Component","__KONTUR_REACT_UI__","propTypes","bool","string","number","isRequired","oneOfType","func","defaultProps","minMonth","maxMonth"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isKeyEscape } from '../../lib/events/keyboard/identifiers';\nimport { DatePickerLocale, DatePickerLocaleHelper } from '../../components/DatePicker/locale';\nimport { locale } from '../../lib/locale/decorators';\nimport { RenderLayer } from '../RenderLayer';\nimport { DropdownContainer } from '../DropdownContainer';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ArrowTriangleUpDownIcon, ArrowChevronDownIcon, ArrowChevronUpIcon } from '../icons/16px';\nimport { isMobile } from '../../lib/client';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './DateSelect.styles';\n\nconst itemHeight = 24;\nconst visibleYearsCount = 11;\nconst itemsToMoveCount = -5;\nconst monthsCount = 12;\nconst defaultMinYear = 1900;\nconst defaultMaxYear = 2100;\n\nexport interface DateSelectProps {\n disabled?: boolean | null;\n onValueChange: (value: number) => void;\n type?: 'month' | 'year';\n value: number;\n width?: number | string;\n minValue?: number;\n maxValue?: number;\n}\n\nexport interface DateSelectState {\n botCapped: boolean;\n current: Nullable<number>;\n height: number;\n opened: boolean;\n pos: number;\n top: number;\n topCapped: boolean;\n nodeTop: number;\n}\n\n@locale('DatePicker', DatePickerLocaleHelper)\nexport class DateSelect extends React.Component<DateSelectProps, DateSelectState> {\n public static __KONTUR_REACT_UI__ = 'DateSelect';\n\n public static propTypes = {\n disabled: PropTypes.bool,\n\n type: PropTypes.string,\n\n value: PropTypes.number.isRequired,\n\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n onValueChange: PropTypes.func,\n\n minValue: PropTypes.number,\n\n maxValue: PropTypes.number,\n };\n\n public static defaultProps = {\n type: 'year',\n minMonth: 0,\n maxMonth: 11,\n width: 'auto',\n };\n\n public state = {\n botCapped: false,\n current: 0,\n height: 0,\n opened: false,\n pos: 0,\n top: 0,\n topCapped: false,\n nodeTop: Infinity,\n };\n\n private theme!: Theme;\n private readonly locale!: DatePickerLocale;\n private root: HTMLElement | null = null;\n private itemsContainer: HTMLElement | null = null;\n private listener: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n private timeout: NodeJS.Timeout | undefined;\n private longClickTimer = 0;\n private setPositionRepeatTimer = 0;\n private yearStep = 3;\n private touchStartY: Nullable<number> = null;\n\n public UNSAFE_componentWillReceiveProps() {\n this.setNodeTop();\n }\n\n public componentDidMount() {\n this.listener = LayoutEvents.addListener(this.setNodeTop);\n this.setNodeTop();\n window.addEventListener('keydown', this.handleKey);\n }\n\n public componentWillUnmount() {\n if (this.listener) {\n this.listener.remove();\n }\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n if (this.longClickTimer) {\n clearTimeout(this.longClickTimer);\n }\n if (this.setPositionRepeatTimer) {\n clearTimeout(this.setPositionRepeatTimer);\n }\n window.removeEventListener('keydown', this.handleKey);\n }\n\n /**\n * @public\n */\n public open = () => {\n if (this.props.disabled) {\n return;\n }\n\n if (this.state.opened) {\n return;\n }\n\n this.setPosition(0);\n this.setState({\n opened: true,\n current: 0,\n });\n };\n\n /**\n * @public\n */\n public close = () => {\n if (!this.state.opened) {\n return;\n }\n\n this.setState({ opened: false });\n };\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { width, disabled } = this.props;\n const rootProps = {\n className: cx({\n [styles.root(this.theme)]: true,\n [styles.disabled()]: Boolean(disabled),\n }),\n style: { width },\n ref: this.refRoot,\n };\n return (\n <span {...rootProps}>\n <div data-tid=\"DateSelect__caption\" className={styles.caption()} onClick={this.open}>\n {this.getItem(0)}\n <div\n className={cx({\n [styles.arrow(this.theme)]: true,\n [styles.arrowDisabled()]: Boolean(disabled),\n })}\n >\n <ArrowTriangleUpDownIcon size={12} />\n </div>\n </div>\n {this.state.opened && this.renderMenu()}\n </span>\n );\n }\n\n private refRoot = (element: HTMLElement | null) => {\n this.root = element;\n };\n\n private setNodeTop = () => {\n const root = this.root;\n if (!root) {\n return;\n }\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n this.timeout = setTimeout(() =>\n this.setState({\n nodeTop: root.getBoundingClientRect().top,\n }),\n );\n };\n\n private disableItems(index: number) {\n const value = this.props.value + index;\n if (this.props.maxValue != null && this.props.minValue != null) {\n return value > this.props.maxValue || value < this.props.minValue;\n }\n if (this.props.minValue != null) {\n return value < this.props.minValue;\n }\n if (this.props.maxValue != null) {\n return value > this.props.maxValue;\n }\n }\n\n private renderMenu(): React.ReactNode {\n const { top, height, nodeTop } = this.state;\n\n let shift = this.state.pos % itemHeight;\n if (shift < 0) {\n shift += itemHeight;\n }\n\n const from = (this.state.pos - shift + top) / itemHeight;\n const to = from + Math.ceil((height + shift) / itemHeight);\n const items = [];\n\n for (let i = from; i < to; ++i) {\n const disableItems = this.disableItems(i) || false;\n const className = cx({\n [styles.menuItem(this.theme)]: true,\n [styles.menuItemSelected(this.theme)]: i === 0,\n [styles.menuItemActive(this.theme)]: i === this.state.current,\n [styles.menuItemDisabled(this.theme)]: disableItems,\n });\n const clickHandler = {\n onMouseDown: preventDefault,\n onClick: this.handleItemClick(i),\n };\n items.push(\n <div\n data-tid=\"DateSelect__menuItem\"\n data-prop-disabled={disableItems}\n key={i}\n className={className}\n onMouseEnter={() => this.setState({ current: i })}\n onMouseLeave={() => this.setState({ current: null })}\n {...clickHandler}\n >\n {this.getItem(i)}\n </div>,\n );\n }\n const style: {\n left?: number | string;\n right?: number | string;\n top: number;\n width?: number | string;\n } = {\n top: top - 5,\n left: 0,\n right: 0,\n };\n\n const shiftStyle: React.CSSProperties = {\n position: 'relative',\n top: -shift,\n };\n\n const holderClass = cx({\n [styles.menuHolder(this.theme)]: true,\n [styles.isTopCapped()]: this.state.topCapped,\n [styles.isBotCapped()]: this.state.botCapped,\n });\n\n let dropdownOffset = -itemHeight;\n if (nodeTop < -top) {\n const overflowOffsetDelta = this.state.topCapped ? 6 : 17;\n dropdownOffset -= nodeTop + top - overflowOffsetDelta;\n }\n\n return (\n <RenderLayer onClickOutside={this.close} onFocusOutside={this.close} active>\n <div>\n <DropdownContainer getParent={this.getAnchor} offsetY={dropdownOffset} offsetX={-10}>\n <div className={holderClass} style={style}>\n {!this.state.topCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuUp())}\n onClick={this.handleUp}\n onMouseDown={this.handleLongClickUp}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickUp}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>\n <ArrowChevronUpIcon />\n </span>\n </div>\n )}\n <div className={styles.itemsHolder()} style={{ height }}>\n <div ref={this.refItemsContainer} style={shiftStyle}>\n {items}\n </div>\n </div>\n {!this.state.botCapped && (\n <div\n className={cx(styles.menu(this.theme), styles.menuDown())}\n onClick={this.handleDown}\n onMouseDown={this.handleLongClickDown}\n onMouseUp={this.handleLongClickStop}\n onMouseLeave={this.handleLongClickStop}\n onTouchStart={this.handleLongClickDown}\n onTouchEnd={this.handleLongClickStop}\n >\n <span>\n <ArrowChevronDownIcon />\n </span>\n </div>\n )}\n </div>\n </DropdownContainer>\n </div>\n </RenderLayer>\n );\n }\n\n private refItemsContainer = (element: HTMLElement | null) => {\n if (!this.itemsContainer && element) {\n element.addEventListener('wheel', this.handleWheel, { passive: false });\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('wheel', this.handleWheel);\n }\n\n if (isMobile) {\n if (!this.itemsContainer && element) {\n element.addEventListener('touchstart', this.handleTouchStart);\n element.addEventListener('touchmove', this.handleTouchMove);\n }\n if (this.itemsContainer && !element) {\n this.itemsContainer.removeEventListener('touchstart', this.handleTouchStart);\n this.itemsContainer.removeEventListener('touchmove', this.handleTouchMove);\n }\n }\n\n this.itemsContainer = element;\n };\n\n private handleLongClickUp = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = window.setTimeout(() => {\n this.setPositionRepeatTimer = window.setInterval(() => this.setPosition(this.state.pos - itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickDown = (event: React.MouseEvent | React.TouchEvent) => {\n event.preventDefault();\n this.longClickTimer = window.setTimeout(() => {\n this.setPositionRepeatTimer = window.setInterval(() => this.setPosition(this.state.pos + itemHeight), 100);\n }, 200);\n };\n\n private handleLongClickStop = () => {\n clearTimeout(this.longClickTimer);\n clearTimeout(this.setPositionRepeatTimer);\n };\n\n private getAnchor = () => this.root;\n\n private handleWheel = (event: Event) => {\n if (!(event instanceof WheelEvent)) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n\n let deltaY = event.deltaY;\n if (event.deltaMode === 1) {\n deltaY *= itemHeight;\n } else if (event.deltaMode === 2) {\n deltaY *= itemHeight * 4;\n }\n const pos = this.state.pos + deltaY;\n this.setPosition(pos);\n };\n\n private handleTouchStart = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n this.touchStartY = event.targetTouches[0].clientY;\n };\n\n private handleTouchMove = (event: Event) => {\n if (!(event instanceof TouchEvent)) {\n return;\n }\n\n const { clientY } = event.changedTouches[0];\n const pixelRatio = window.devicePixelRatio;\n\n const deltaY = ((this.touchStartY || 0) - clientY) / pixelRatio;\n const pos = this.state.pos + deltaY + deltaY / itemHeight;\n\n this.touchStartY = clientY;\n\n this.setPosition(pos);\n };\n\n private handleItemClick = (shift: number) => {\n return (e: React.MouseEvent<HTMLElement>) => {\n const value = this.props.value + shift;\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n this.setState({ opened: false });\n };\n };\n\n private handleKey = (e: KeyboardEvent) => {\n if (this.state.opened && isKeyEscape(e)) {\n e.preventDefault();\n this.close();\n e.stopPropagation();\n }\n };\n\n private handleUp = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos - itemHeight * this.yearStep);\n };\n\n private handleDown = (event: React.MouseEvent) => {\n event.preventDefault();\n this.setPosition(this.state.pos + itemHeight * this.yearStep);\n };\n\n private getItem(index: number) {\n const value = this.props.value + index;\n if (this.props.type === 'month') {\n return this.locale.months[value];\n }\n return value;\n }\n\n private setPosition(pos: number) {\n let top = itemsToMoveCount * itemHeight;\n let height = visibleYearsCount * itemHeight;\n if (this.props.type === 'month') {\n top = -this.props.value * itemHeight;\n height = monthsCount * itemHeight;\n }\n\n const minPos = this.getMinPos() - top;\n const maxPos = this.getMaxPos() - top - height + itemHeight;\n if (minPos >= pos) {\n pos = minPos;\n }\n if (maxPos <= pos) {\n pos = maxPos;\n }\n const topCapped = pos <= minPos;\n const botCapped = pos >= maxPos;\n\n this.setState({ pos, top, height, topCapped, botCapped });\n }\n\n private getMinPos() {\n if (this.props.type === 'month') {\n return -this.props.value * itemHeight;\n } else if (this.props.type === 'year') {\n return ((this.props.minValue || defaultMinYear) - this.props.value) * itemHeight;\n }\n return -Infinity; // Be defensive.\n }\n\n private getMaxPos() {\n if (this.props.type === 'month') {\n return (visibleYearsCount - this.props.value) * itemHeight;\n } else if (this.props.type === 'year') {\n return ((this.props.maxValue || defaultMaxYear) - this.props.value) * itemHeight;\n }\n return Infinity; // Be defensive.\n }\n}\n\nfunction preventDefault(e: React.SyntheticEvent) {\n e.preventDefault();\n}\n"]}
@@ -56,6 +56,7 @@ export declare class DateSelect extends React.Component<DateSelectProps, DateSel
56
56
  private longClickTimer;
57
57
  private setPositionRepeatTimer;
58
58
  private yearStep;
59
+ private touchStartY;
59
60
  UNSAFE_componentWillReceiveProps(): void;
60
61
  componentDidMount(): void;
61
62
  componentWillUnmount(): void;
@@ -79,6 +80,8 @@ export declare class DateSelect extends React.Component<DateSelectProps, DateSel
79
80
  private handleLongClickStop;
80
81
  private getAnchor;
81
82
  private handleWheel;
83
+ private handleTouchStart;
84
+ private handleTouchMove;
82
85
  private handleItemClick;
83
86
  private handleKey;
84
87
  private handleUp;
@@ -3,12 +3,12 @@ import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTempla
3
3
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16;
4
4
 
5
5
  import { css, memoizeStyle } from "../../../lib/theming/Emotion";
6
- var styles = {
6
+ export var styles = memoizeStyle({
7
7
  root: function root(t) {
8
- return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n color: ", ";\n cursor: pointer;\n display: inline-block;\n font-size: ", ";\n line-height: ", ";\n outline: 0;\n padding-right: 2px;\n position: relative;\n text-align: left;\n\n &:hover {\n color: ", " !important;\n }\n "])), t.dateSelectTextColorDefault, t.dateSelectFontSize, t.dateSelectLineHeight, t.dateSelectLinkColor);
8
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n color: ", ";\n cursor: pointer;\n display: inline-block;\n font-size: ", ";\n line-height: ", ";\n outline: 0;\n padding-right: 2px;\n position: relative;\n text-align: left;\n touch-action: none;\n\n &:hover {\n color: ", ";\n }\n "])), t.dateSelectTextColorDefault, t.dateSelectFontSize, t.dateSelectLineHeight, t.dateSelectLinkColor);
9
9
  },
10
10
  disabled: function disabled() {
11
- return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n color: inherit !important;\n cursor: default !important;\n "])));
11
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n color: inherit !important; // override root:hover style\n cursor: default;\n "])));
12
12
  },
13
13
  caption: function caption() {
14
14
  return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n position: relative;\n "])));
@@ -32,25 +32,24 @@ var styles = {
32
32
  return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n overflow: hidden;\n position: relative;\n "])));
33
33
  },
34
34
  menuItem: function menuItem(t) {
35
- return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n color: ", ";\n cursor: pointer;\n height: 24px;\n line-height: 24px;\n padding-left: 10px;\n user-select: none;\n white-space: nowrap;\n "])), t.dateSelectTextColorDefault);
35
+ return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n color: ", ";\n cursor: pointer;\n height: 24px;\n line-height: 24px;\n padding-left: 10px;\n user-select: none;\n white-space: nowrap;\n touch-action: none;\n "])), t.dateSelectTextColorDefault);
36
36
  },
37
37
  menuItemSelected: function menuItemSelected(t) {
38
38
  return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n "])), t.dateSelectMenuItemBgSelected, t.dateSelectMenuItemFontSelected);
39
39
  },
40
40
  menuItemActive: function menuItemActive(t) {
41
- return css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteralLoose(["\n background: ", " !important;\n color: ", " !important;\n "])), t.dateSelectMenuItemBgActive, t.dateSelectMenuItemFontActive);
41
+ return css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n "])), t.dateSelectMenuItemBgActive, t.dateSelectMenuItemFontActive);
42
42
  },
43
43
  menuItemDisabled: function menuItemDisabled(t) {
44
- return css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteralLoose(["\n background: ", " !important;\n color: ", " !important;\n pointer-events: none;\n "])), t.dateSelectMenuItemBgDisabled, t.dateSelectTextColorDisabled);
44
+ return css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n pointer-events: none;\n "])), t.dateSelectMenuItemBgDisabled, t.dateSelectTextColorDisabled);
45
45
  },
46
46
  menu: function menu(t) {
47
47
  return css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteralLoose(["\n box-sizing: border-box;\n cursor: pointer;\n height: 16px;\n line-height: 0;\n padding-left: 18px;\n text-align: left;\n user-select: none;\n\n background: ", ";\n color: ", ";\n\n &:hover {\n background: ", ";\n color: ", ";\n }\n "])), t.dateSelectMenuBg, t.dateSelectTextColorDefault, t.dateSelectMenuItemBgActive, t.dateSelectTextColorInvert);
48
48
  },
49
- menuUp: function menuUp(t) {
50
- return css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["\n ", "\n\n span {\n position: relative;\n top: -0.5px;\n }\n "])), styles.menu(t));
49
+ menuUp: function menuUp() {
50
+ return css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["\n span {\n position: relative;\n top: -0.5px;\n }\n "])));
51
51
  },
52
- menuDown: function menuDown(t) {
53
- return css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteralLoose(["\n ", "\n\n span {\n position: relative;\n top: -1px;\n }\n "])), styles.menu(t));
52
+ menuDown: function menuDown() {
53
+ return css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteralLoose(["\n span {\n position: relative;\n top: -1px;\n }\n "])));
54
54
  }
55
- };
56
- export var jsStyles = memoizeStyle(styles);
55
+ });
@@ -1 +1 @@
1
- {"version":3,"sources":["DateSelect.styles.ts"],"names":["css","memoizeStyle","styles","root","t","dateSelectTextColorDefault","dateSelectFontSize","dateSelectLineHeight","dateSelectLinkColor","disabled","caption","arrow","dateSelectTextColorDisabled","arrowDisabled","menuHolder","dateSelectMenuBg","dateSelectPopupBoxShadow","isTopCapped","isBotCapped","itemsHolder","menuItem","menuItemSelected","dateSelectMenuItemBgSelected","dateSelectMenuItemFontSelected","menuItemActive","dateSelectMenuItemBgActive","dateSelectMenuItemFontActive","menuItemDisabled","dateSelectMenuItemBgDisabled","menu","dateSelectTextColorInvert","menuUp","menuDown","jsStyles"],"mappings":"yYAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,2BAAlC;;;AAGA,IAAMC,MAAM,GAAG;AACbC,EAAAA,IADa,gBACRC,CADQ,EACE;AACb,WAAOJ,GAAP;AACWI,IAAAA,CAAC,CAACC,0BADb;;;AAIeD,IAAAA,CAAC,CAACE,kBAJjB;AAKiBF,IAAAA,CAAC,CAACG,oBALnB;;;;;;;AAYaH,IAAAA,CAAC,CAACI,mBAZf;;;AAeD,GAjBY;;AAmBbC,EAAAA,QAnBa,sBAmBF;AACT,WAAOT,GAAP;;;;AAID,GAxBY;;AA0BbU,EAAAA,OA1Ba,qBA0BH;AACR,WAAOV,GAAP;;;AAGD,GA9BY;;AAgCbW,EAAAA,KAhCa,iBAgCPP,CAhCO,EAgCG;AACd,WAAOJ,GAAP;AACWI,IAAAA,CAAC,CAACQ,2BADb;;AAGiBR,IAAAA,CAAC,CAACG,oBAHnB;;;;;;;;AAWD,GA5CY;AA6CbM,EAAAA,aA7Ca,2BA6CG;AACd,WAAOb,GAAP;;;AAGD,GAjDY;;AAmDbc,EAAAA,UAnDa,sBAmDFV,CAnDE,EAmDQ;AACnB,WAAOJ,GAAP;AACgBI,IAAAA,CAAC,CAACW,gBADlB;AAEgBX,IAAAA,CAAC,CAACY,wBAFlB;;AAIWZ,IAAAA,CAAC,CAACC,0BAJb;AAKeD,IAAAA,CAAC,CAACE,kBALjB;;;;;;AAWD,GA/DY;;AAiEbW,EAAAA,WAjEa,yBAiEC;AACZ,WAAOjB,GAAP;;;;AAID,GAtEY;;AAwEbkB,EAAAA,WAxEa,yBAwEC;AACZ,WAAOlB,GAAP;;;AAGD,GA5EY;;AA8EbmB,EAAAA,WA9Ea,yBA8EC;AACZ,WAAOnB,GAAP;;;;AAID,GAnFY;;AAqFboB,EAAAA,QArFa,oBAqFJhB,CArFI,EAqFM;AACjB,WAAOJ,GAAP;AACWI,IAAAA,CAAC,CAACC,0BADb;;;;;;;;AASD,GA/FY;;AAiGbgB,EAAAA,gBAjGa,4BAiGIjB,CAjGJ,EAiGc;AACzB,WAAOJ,GAAP;AACgBI,IAAAA,CAAC,CAACkB,4BADlB;AAEWlB,IAAAA,CAAC,CAACmB,8BAFb;;AAID,GAtGY;;AAwGbC,EAAAA,cAxGa,0BAwGEpB,CAxGF,EAwGY;AACvB,WAAOJ,GAAP;AACgBI,IAAAA,CAAC,CAACqB,0BADlB;AAEWrB,IAAAA,CAAC,CAACsB,4BAFb;;AAID,GA7GY;;AA+GbC,EAAAA,gBA/Ga,4BA+GIvB,CA/GJ,EA+Gc;AACzB,WAAOJ,GAAP;AACgBI,IAAAA,CAAC,CAACwB,4BADlB;AAEWxB,IAAAA,CAAC,CAACQ,2BAFb;;;AAKD,GArHY;;AAuHbiB,EAAAA,IAvHa,gBAuHRzB,CAvHQ,EAuHE;AACb,WAAOJ,GAAP;;;;;;;;;AASgBI,IAAAA,CAAC,CAACW,gBATlB;AAUWX,IAAAA,CAAC,CAACC,0BAVb;;;AAakBD,IAAAA,CAAC,CAACqB,0BAbpB;AAcarB,IAAAA,CAAC,CAAC0B,yBAdf;;;AAiBD,GAzIY;;AA2IbC,EAAAA,MA3Ia,kBA2IN3B,CA3IM,EA2II;AACf,WAAOJ,GAAP;AACIE,IAAAA,MAAM,CAAC2B,IAAP,CAAYzB,CAAZ,CADJ;;;;;;;AAQD,GApJY;;AAsJb4B,EAAAA,QAtJa,oBAsJJ5B,CAtJI,EAsJM;AACjB,WAAOJ,GAAP;AACIE,IAAAA,MAAM,CAAC2B,IAAP,CAAYzB,CAAZ,CADJ;;;;;;;AAQD,GA/JY,EAAf;;;AAkKA,OAAO,IAAM6B,QAAQ,GAAGhC,YAAY,CAACC,MAAD,CAA7B","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\r\nimport { Theme } from '../../lib/theming/Theme';\r\n\r\nconst styles = {\r\n root(t: Theme) {\r\n return css`\r\n color: ${t.dateSelectTextColorDefault};\r\n cursor: pointer;\r\n display: inline-block;\r\n font-size: ${t.dateSelectFontSize};\r\n line-height: ${t.dateSelectLineHeight};\r\n outline: 0;\r\n padding-right: 2px;\r\n position: relative;\r\n text-align: left;\r\n\r\n &:hover {\r\n color: ${t.dateSelectLinkColor} !important;\r\n }\r\n `;\r\n },\r\n\r\n disabled() {\r\n return css`\r\n color: inherit !important;\r\n cursor: default !important;\r\n `;\r\n },\r\n\r\n caption() {\r\n return css`\r\n position: relative;\r\n `;\r\n },\r\n\r\n arrow(t: Theme) {\r\n return css`\r\n color: ${t.dateSelectTextColorDisabled};\r\n float: right;\r\n line-height: ${t.dateSelectLineHeight};\r\n opacity: 1;\r\n position: absolute;\r\n right: 4px;\r\n top: 0;\r\n transform: scaleX(0.7);\r\n transition: opacity 0.2s ease-out;\r\n `;\r\n },\r\n arrowDisabled() {\r\n return css`\r\n opacity: 0;\r\n `;\r\n },\r\n\r\n menuHolder(t: Theme) {\r\n return css`\r\n background: ${t.dateSelectMenuBg};\r\n box-shadow: ${t.dateSelectPopupBoxShadow};\r\n box-sizing: content-box;\r\n color: ${t.dateSelectTextColorDefault};\r\n font-size: ${t.dateSelectFontSize};\r\n margin-top: -11px;\r\n overflow: hidden;\r\n position: absolute;\r\n z-index: 1000;\r\n `;\r\n },\r\n\r\n isTopCapped() {\r\n return css`\r\n margin-top: 0;\r\n padding-top: 5px;\r\n `;\r\n },\r\n\r\n isBotCapped() {\r\n return css`\r\n padding-bottom: 5px;\r\n `;\r\n },\r\n\r\n itemsHolder() {\r\n return css`\r\n overflow: hidden;\r\n position: relative;\r\n `;\r\n },\r\n\r\n menuItem(t: Theme) {\r\n return css`\r\n color: ${t.dateSelectTextColorDefault};\r\n cursor: pointer;\r\n height: 24px;\r\n line-height: 24px;\r\n padding-left: 10px;\r\n user-select: none;\r\n white-space: nowrap;\r\n `;\r\n },\r\n\r\n menuItemSelected(t: Theme) {\r\n return css`\r\n background: ${t.dateSelectMenuItemBgSelected};\r\n color: ${t.dateSelectMenuItemFontSelected};\r\n `;\r\n },\r\n\r\n menuItemActive(t: Theme) {\r\n return css`\r\n background: ${t.dateSelectMenuItemBgActive} !important;\r\n color: ${t.dateSelectMenuItemFontActive} !important;\r\n `;\r\n },\r\n\r\n menuItemDisabled(t: Theme) {\r\n return css`\r\n background: ${t.dateSelectMenuItemBgDisabled} !important;\r\n color: ${t.dateSelectTextColorDisabled} !important;\r\n pointer-events: none;\r\n `;\r\n },\r\n\r\n menu(t: Theme) {\r\n return css`\r\n box-sizing: border-box;\r\n cursor: pointer;\r\n height: 16px;\r\n line-height: 0;\r\n padding-left: 18px;\r\n text-align: left;\r\n user-select: none;\r\n\r\n background: ${t.dateSelectMenuBg};\r\n color: ${t.dateSelectTextColorDefault};\r\n\r\n &:hover {\r\n background: ${t.dateSelectMenuItemBgActive};\r\n color: ${t.dateSelectTextColorInvert};\r\n }\r\n `;\r\n },\r\n\r\n menuUp(t: Theme) {\r\n return css`\r\n ${styles.menu(t)}\r\n\r\n span {\r\n position: relative;\r\n top: -0.5px;\r\n }\r\n `;\r\n },\r\n\r\n menuDown(t: Theme) {\r\n return css`\r\n ${styles.menu(t)}\r\n\r\n span {\r\n position: relative;\r\n top: -1px;\r\n }\r\n `;\r\n },\r\n};\r\n\r\nexport const jsStyles = memoizeStyle(styles);\r\n"]}
1
+ {"version":3,"sources":["DateSelect.styles.ts"],"names":["css","memoizeStyle","styles","root","t","dateSelectTextColorDefault","dateSelectFontSize","dateSelectLineHeight","dateSelectLinkColor","disabled","caption","arrow","dateSelectTextColorDisabled","arrowDisabled","menuHolder","dateSelectMenuBg","dateSelectPopupBoxShadow","isTopCapped","isBotCapped","itemsHolder","menuItem","menuItemSelected","dateSelectMenuItemBgSelected","dateSelectMenuItemFontSelected","menuItemActive","dateSelectMenuItemBgActive","dateSelectMenuItemFontActive","menuItemDisabled","dateSelectMenuItemBgDisabled","menu","dateSelectTextColorInvert","menuUp","menuDown"],"mappings":"yYAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,2BAAlC;;;AAGA,OAAO,IAAMC,MAAM,GAAGD,YAAY,CAAC;AACjCE,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,WAAOJ,GAAP;AACWI,IAAAA,CAAC,CAACC,0BADb;;;AAIeD,IAAAA,CAAC,CAACE,kBAJjB;AAKiBF,IAAAA,CAAC,CAACG,oBALnB;;;;;;;;AAaaH,IAAAA,CAAC,CAACI,mBAbf;;;AAgBD,GAlBgC;;AAoBjCC,EAAAA,QApBiC,sBAoBtB;AACT,WAAOT,GAAP;;;;AAID,GAzBgC;;AA2BjCU,EAAAA,OA3BiC,qBA2BvB;AACR,WAAOV,GAAP;;;AAGD,GA/BgC;;AAiCjCW,EAAAA,KAjCiC,iBAiC3BP,CAjC2B,EAiCjB;AACd,WAAOJ,GAAP;AACWI,IAAAA,CAAC,CAACQ,2BADb;;AAGiBR,IAAAA,CAAC,CAACG,oBAHnB;;;;;;;;AAWD,GA7CgC;AA8CjCM,EAAAA,aA9CiC,2BA8CjB;AACd,WAAOb,GAAP;;;AAGD,GAlDgC;;AAoDjCc,EAAAA,UApDiC,sBAoDtBV,CApDsB,EAoDZ;AACnB,WAAOJ,GAAP;AACgBI,IAAAA,CAAC,CAACW,gBADlB;AAEgBX,IAAAA,CAAC,CAACY,wBAFlB;;AAIWZ,IAAAA,CAAC,CAACC,0BAJb;AAKeD,IAAAA,CAAC,CAACE,kBALjB;;;;;;AAWD,GAhEgC;;AAkEjCW,EAAAA,WAlEiC,yBAkEnB;AACZ,WAAOjB,GAAP;;;;AAID,GAvEgC;;AAyEjCkB,EAAAA,WAzEiC,yBAyEnB;AACZ,WAAOlB,GAAP;;;AAGD,GA7EgC;;AA+EjCmB,EAAAA,WA/EiC,yBA+EnB;AACZ,WAAOnB,GAAP;;;;AAID,GApFgC;;AAsFjCoB,EAAAA,QAtFiC,oBAsFxBhB,CAtFwB,EAsFd;AACjB,WAAOJ,GAAP;AACWI,IAAAA,CAAC,CAACC,0BADb;;;;;;;;;AAUD,GAjGgC;;AAmGjCgB,EAAAA,gBAnGiC,4BAmGhBjB,CAnGgB,EAmGN;AACzB,WAAOJ,GAAP;AACgBI,IAAAA,CAAC,CAACkB,4BADlB;AAEWlB,IAAAA,CAAC,CAACmB,8BAFb;;AAID,GAxGgC;;AA0GjCC,EAAAA,cA1GiC,0BA0GlBpB,CA1GkB,EA0GR;AACvB,WAAOJ,GAAP;AACgBI,IAAAA,CAAC,CAACqB,0BADlB;AAEWrB,IAAAA,CAAC,CAACsB,4BAFb;;AAID,GA/GgC;;AAiHjCC,EAAAA,gBAjHiC,4BAiHhBvB,CAjHgB,EAiHN;AACzB,WAAOJ,GAAP;AACgBI,IAAAA,CAAC,CAACwB,4BADlB;AAEWxB,IAAAA,CAAC,CAACQ,2BAFb;;;AAKD,GAvHgC;;AAyHjCiB,EAAAA,IAzHiC,gBAyH5BzB,CAzH4B,EAyHlB;AACb,WAAOJ,GAAP;;;;;;;;;AASgBI,IAAAA,CAAC,CAACW,gBATlB;AAUWX,IAAAA,CAAC,CAACC,0BAVb;;;AAakBD,IAAAA,CAAC,CAACqB,0BAbpB;AAcarB,IAAAA,CAAC,CAAC0B,yBAdf;;;AAiBD,GA3IgC;;AA6IjCC,EAAAA,MA7IiC,oBA6IxB;AACP,WAAO/B,GAAP;;;;;;AAMD,GApJgC;;AAsJjCgC,EAAAA,QAtJiC,sBAsJtB;AACT,WAAOhC,GAAP;;;;;;AAMD,GA7JgC,EAAD,CAA3B","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n color: ${t.dateSelectTextColorDefault};\n cursor: pointer;\n display: inline-block;\n font-size: ${t.dateSelectFontSize};\n line-height: ${t.dateSelectLineHeight};\n outline: 0;\n padding-right: 2px;\n position: relative;\n text-align: left;\n touch-action: none;\n\n &:hover {\n color: ${t.dateSelectLinkColor};\n }\n `;\n },\n\n disabled() {\n return css`\n color: inherit !important; // override root:hover style\n cursor: default;\n `;\n },\n\n caption() {\n return css`\n position: relative;\n `;\n },\n\n arrow(t: Theme) {\n return css`\n color: ${t.dateSelectTextColorDisabled};\n float: right;\n line-height: ${t.dateSelectLineHeight};\n opacity: 1;\n position: absolute;\n right: 4px;\n top: 0;\n transform: scaleX(0.7);\n transition: opacity 0.2s ease-out;\n `;\n },\n arrowDisabled() {\n return css`\n opacity: 0;\n `;\n },\n\n menuHolder(t: Theme) {\n return css`\n background: ${t.dateSelectMenuBg};\n box-shadow: ${t.dateSelectPopupBoxShadow};\n box-sizing: content-box;\n color: ${t.dateSelectTextColorDefault};\n font-size: ${t.dateSelectFontSize};\n margin-top: -11px;\n overflow: hidden;\n position: absolute;\n z-index: 1000;\n `;\n },\n\n isTopCapped() {\n return css`\n margin-top: 0;\n padding-top: 5px;\n `;\n },\n\n isBotCapped() {\n return css`\n padding-bottom: 5px;\n `;\n },\n\n itemsHolder() {\n return css`\n overflow: hidden;\n position: relative;\n `;\n },\n\n menuItem(t: Theme) {\n return css`\n color: ${t.dateSelectTextColorDefault};\n cursor: pointer;\n height: 24px;\n line-height: 24px;\n padding-left: 10px;\n user-select: none;\n white-space: nowrap;\n touch-action: none;\n `;\n },\n\n menuItemSelected(t: Theme) {\n return css`\n background: ${t.dateSelectMenuItemBgSelected};\n color: ${t.dateSelectMenuItemFontSelected};\n `;\n },\n\n menuItemActive(t: Theme) {\n return css`\n background: ${t.dateSelectMenuItemBgActive};\n color: ${t.dateSelectMenuItemFontActive};\n `;\n },\n\n menuItemDisabled(t: Theme) {\n return css`\n background: ${t.dateSelectMenuItemBgDisabled};\n color: ${t.dateSelectTextColorDisabled};\n pointer-events: none;\n `;\n },\n\n menu(t: Theme) {\n return css`\n box-sizing: border-box;\n cursor: pointer;\n height: 16px;\n line-height: 0;\n padding-left: 18px;\n text-align: left;\n user-select: none;\n\n background: ${t.dateSelectMenuBg};\n color: ${t.dateSelectTextColorDefault};\n\n &:hover {\n background: ${t.dateSelectMenuItemBgActive};\n color: ${t.dateSelectTextColorInvert};\n }\n `;\n },\n\n menuUp() {\n return css`\n span {\n position: relative;\n top: -0.5px;\n }\n `;\n },\n\n menuDown() {\n return css`\n span {\n position: relative;\n top: -1px;\n }\n `;\n },\n});\n"]}
@@ -1,5 +1,5 @@
1
1
  import { Theme } from '../../lib/theming/Theme';
2
- export declare const jsStyles: {
2
+ export declare const styles: {
3
3
  root(t: Theme): string;
4
4
  disabled(): string;
5
5
  caption(): string;
@@ -14,6 +14,6 @@ export declare const jsStyles: {
14
14
  menuItemActive(t: Theme): string;
15
15
  menuItemDisabled(t: Theme): string;
16
16
  menu(t: Theme): string;
17
- menuUp(t: Theme): string;
18
- menuDown(t: Theme): string;
17
+ menuUp(): string;
18
+ menuDown(): string;
19
19
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,cAAd","sourcesContent":["export * from './DateSelect';\r\n"]}
1
+ {"version":3,"sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,cAAd","sourcesContent":["export * from './DateSelect';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["DropdownContainer.tsx"],"names":["React","findDOMNode","LayoutEvents","RenderContainer","ZIndex","createPropsGetter","DropdownContainer","state","position","minWidth","isDocumentElementRoot","getProps","defaultProps","dom","layoutSub","ref","e","isElement","node","Element","target","props","getParent","targetRect","getBoundingClientRect","document","body","docEl","documentElement","Error","scrollX","window","pageXOffset","scrollLeft","scrollY","pageYOffset","scrollTop","left","right","align","docWidth","offsetWidth","offsetX","offsetY","bottom","top","distanceToBottom","clientHeight","dropdownHeight","getHeight","scrollHeight","setState","getMinWidth","disablePortal","convertToRelativePosition","child","children","item","height","width","targetHeight","componentDidMount","addListener","UNSAFE_componentWillMount","htmlPosition","getComputedStyle","bodyPosition","hasLimitedHeightRoot","hasStaticRoot","componentWillUnmount","remove","render","style","undefined","content","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\n\r\nimport * as LayoutEvents from '../../lib/LayoutEvents';\r\nimport { RenderContainer } from '../RenderContainer';\r\nimport { ZIndex } from '../ZIndex';\r\nimport { createPropsGetter } from '../../lib/createPropsGetter';\r\nimport { Nullable } from '../../typings/utility-types';\r\n\r\ntype DOMNode = Element | Text | null;\r\n\r\nexport interface DropdownContainerPosition {\r\n top: Nullable<number>;\r\n bottom: Nullable<number>;\r\n left: Nullable<number>;\r\n right: Nullable<number>;\r\n}\r\n\r\nexport interface DropdownContainerProps {\r\n align?: 'left' | 'right';\r\n getParent: () => DOMNode;\r\n children?: React.ReactNode;\r\n disablePortal?: boolean;\r\n offsetY?: number;\r\n offsetX?: number;\r\n}\r\n\r\nexport interface DropdownContainerState {\r\n position: Nullable<DropdownContainerPosition>;\r\n minWidth: number;\r\n isDocumentElementRoot?: boolean;\r\n}\r\n\r\nexport class DropdownContainer extends React.Component<DropdownContainerProps, DropdownContainerState> {\r\n public static __KONTUR_REACT_UI__ = 'DropdownContainer';\r\n\r\n public static defaultProps = {\r\n align: 'left',\r\n disablePortal: false,\r\n offsetX: 0,\r\n offsetY: -1,\r\n };\r\n\r\n public state: DropdownContainerState = {\r\n position: null,\r\n minWidth: 0,\r\n isDocumentElementRoot: true,\r\n };\r\n\r\n private getProps = createPropsGetter(DropdownContainer.defaultProps);\r\n\r\n private dom: DOMNode = null;\r\n private layoutSub: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\r\n\r\n public componentDidMount() {\r\n this.position();\r\n this.layoutSub = LayoutEvents.addListener(this.position);\r\n }\r\n\r\n public UNSAFE_componentWillMount() {\r\n const { body, documentElement: docEl } = document;\r\n const htmlPosition = getComputedStyle(docEl).position;\r\n const bodyPosition = getComputedStyle(body).position;\r\n\r\n const hasLimitedHeightRoot = body.scrollHeight > body.clientHeight;\r\n const hasStaticRoot = htmlPosition === 'static' && bodyPosition === 'static';\r\n\r\n this.setState({ isDocumentElementRoot: hasLimitedHeightRoot || hasStaticRoot });\r\n }\r\n\r\n public componentWillUnmount() {\r\n if (this.layoutSub) {\r\n this.layoutSub.remove();\r\n }\r\n }\r\n\r\n public render() {\r\n let style: React.CSSProperties = {\r\n position: 'absolute',\r\n top: '0',\r\n };\r\n if (this.state.position) {\r\n const { top, bottom, left, right } = this.state.position;\r\n style = {\r\n ...style,\r\n top: top !== null ? top : undefined,\r\n bottom: bottom !== null ? bottom : undefined,\r\n left: left !== null ? left : undefined,\r\n right: right !== null ? right : undefined,\r\n minWidth: this.state.minWidth,\r\n };\r\n }\r\n\r\n const content = (\r\n <ZIndex priority={'DropdownContainer'} ref={this.ref} style={style}>\r\n {this.props.children}\r\n </ZIndex>\r\n );\r\n\r\n return this.props.disablePortal ? content : <RenderContainer>{content}</RenderContainer>;\r\n }\r\n\r\n private ref = (e: ZIndex | null) => {\r\n this.dom = e && findDOMNode(e);\r\n };\r\n\r\n private isElement = (node: DOMNode): node is Element => {\r\n return node instanceof Element;\r\n };\r\n\r\n private position = () => {\r\n const target = this.props.getParent();\r\n const dom = this.dom;\r\n\r\n if (this.isElement(target) && dom) {\r\n const targetRect = target.getBoundingClientRect();\r\n const { body, documentElement: docEl } = document;\r\n\r\n if (!docEl) {\r\n throw Error('There is no \"documentElement\" in \"document\"');\r\n }\r\n\r\n const scrollX = window.pageXOffset || docEl.scrollLeft || 0;\r\n const scrollY = window.pageYOffset || docEl.scrollTop || 0;\r\n\r\n let left = null;\r\n let right = null;\r\n\r\n if (this.props.align === 'right') {\r\n const docWidth = docEl.offsetWidth || 0;\r\n right = docWidth - (targetRect.right + scrollX) + this.getProps().offsetX;\r\n } else {\r\n left = targetRect.left + scrollX + this.getProps().offsetX;\r\n }\r\n\r\n const { offsetY = 0 } = this.props;\r\n let bottom = null;\r\n let top: number | null = targetRect.bottom + scrollY + offsetY;\r\n\r\n const distanceToBottom = docEl.clientHeight - targetRect.bottom;\r\n const dropdownHeight = this.getHeight();\r\n\r\n if (distanceToBottom < dropdownHeight && targetRect.top > dropdownHeight) {\r\n const clientHeight = this.state.isDocumentElementRoot ? docEl.clientHeight : body.scrollHeight;\r\n\r\n top = null;\r\n bottom = clientHeight + offsetY - scrollY - targetRect.top;\r\n }\r\n\r\n const position = {\r\n top,\r\n left,\r\n right,\r\n bottom,\r\n };\r\n\r\n this.setState({\r\n minWidth: this.getMinWidth(),\r\n position: this.props.disablePortal ? this.convertToRelativePosition(position) : position,\r\n });\r\n }\r\n };\r\n\r\n private getHeight = () => {\r\n if (!this.isElement(this.dom)) {\r\n return 0;\r\n }\r\n const child = this.dom.children.item(0);\r\n if (!child) {\r\n return 0;\r\n }\r\n return child.getBoundingClientRect().height;\r\n };\r\n\r\n private getMinWidth = () => {\r\n const target = this.props.getParent();\r\n if (!this.isElement(target)) {\r\n return 0;\r\n }\r\n return target.getBoundingClientRect().width;\r\n };\r\n\r\n private convertToRelativePosition = (position: DropdownContainerPosition): DropdownContainerPosition => {\r\n const target = this.props.getParent();\r\n const { offsetX = 0, offsetY = 0 } = this.props;\r\n const { top, bottom, left, right } = position;\r\n if (this.isElement(target)) {\r\n const targetHeight = target.getBoundingClientRect().height;\r\n return {\r\n top: top !== null ? targetHeight + offsetY : null,\r\n bottom: bottom !== null ? targetHeight + offsetY : null,\r\n left: left !== null ? offsetX : null,\r\n right: right !== null ? offsetX : null,\r\n };\r\n }\r\n return {\r\n top: offsetY,\r\n bottom: null,\r\n left: offsetX,\r\n right: null,\r\n };\r\n };\r\n}\r\n"]}
1
+ {"version":3,"sources":["DropdownContainer.tsx"],"names":["React","findDOMNode","LayoutEvents","RenderContainer","ZIndex","createPropsGetter","DropdownContainer","state","position","minWidth","isDocumentElementRoot","getProps","defaultProps","dom","layoutSub","ref","e","isElement","node","Element","target","props","getParent","targetRect","getBoundingClientRect","document","body","docEl","documentElement","Error","scrollX","window","pageXOffset","scrollLeft","scrollY","pageYOffset","scrollTop","left","right","align","docWidth","offsetWidth","offsetX","offsetY","bottom","top","distanceToBottom","clientHeight","dropdownHeight","getHeight","scrollHeight","setState","getMinWidth","disablePortal","convertToRelativePosition","child","children","item","height","width","targetHeight","componentDidMount","addListener","UNSAFE_componentWillMount","htmlPosition","getComputedStyle","bodyPosition","hasLimitedHeightRoot","hasStaticRoot","componentWillUnmount","remove","render","style","undefined","content","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { findDOMNode } from 'react-dom';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { RenderContainer } from '../RenderContainer';\nimport { ZIndex } from '../ZIndex';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { Nullable } from '../../typings/utility-types';\n\ntype DOMNode = Element | Text | null;\n\nexport interface DropdownContainerPosition {\n top: Nullable<number>;\n bottom: Nullable<number>;\n left: Nullable<number>;\n right: Nullable<number>;\n}\n\nexport interface DropdownContainerProps {\n align?: 'left' | 'right';\n getParent: () => DOMNode;\n children?: React.ReactNode;\n disablePortal?: boolean;\n offsetY?: number;\n offsetX?: number;\n}\n\nexport interface DropdownContainerState {\n position: Nullable<DropdownContainerPosition>;\n minWidth: number;\n isDocumentElementRoot?: boolean;\n}\n\nexport class DropdownContainer extends React.Component<DropdownContainerProps, DropdownContainerState> {\n public static __KONTUR_REACT_UI__ = 'DropdownContainer';\n\n public static defaultProps = {\n align: 'left',\n disablePortal: false,\n offsetX: 0,\n offsetY: -1,\n };\n\n public state: DropdownContainerState = {\n position: null,\n minWidth: 0,\n isDocumentElementRoot: true,\n };\n\n private getProps = createPropsGetter(DropdownContainer.defaultProps);\n\n private dom: DOMNode = null;\n private layoutSub: Nullable<ReturnType<typeof LayoutEvents.addListener>>;\n\n public componentDidMount() {\n this.position();\n this.layoutSub = LayoutEvents.addListener(this.position);\n }\n\n public UNSAFE_componentWillMount() {\n const { body, documentElement: docEl } = document;\n const htmlPosition = getComputedStyle(docEl).position;\n const bodyPosition = getComputedStyle(body).position;\n\n const hasLimitedHeightRoot = body.scrollHeight > body.clientHeight;\n const hasStaticRoot = htmlPosition === 'static' && bodyPosition === 'static';\n\n this.setState({ isDocumentElementRoot: hasLimitedHeightRoot || hasStaticRoot });\n }\n\n public componentWillUnmount() {\n if (this.layoutSub) {\n this.layoutSub.remove();\n }\n }\n\n public render() {\n let style: React.CSSProperties = {\n position: 'absolute',\n top: '0',\n };\n if (this.state.position) {\n const { top, bottom, left, right } = this.state.position;\n style = {\n ...style,\n top: top !== null ? top : undefined,\n bottom: bottom !== null ? bottom : undefined,\n left: left !== null ? left : undefined,\n right: right !== null ? right : undefined,\n minWidth: this.state.minWidth,\n };\n }\n\n const content = (\n <ZIndex priority={'DropdownContainer'} ref={this.ref} style={style}>\n {this.props.children}\n </ZIndex>\n );\n\n return this.props.disablePortal ? content : <RenderContainer>{content}</RenderContainer>;\n }\n\n private ref = (e: ZIndex | null) => {\n this.dom = e && findDOMNode(e);\n };\n\n private isElement = (node: DOMNode): node is Element => {\n return node instanceof Element;\n };\n\n private position = () => {\n const target = this.props.getParent();\n const dom = this.dom;\n\n if (this.isElement(target) && dom) {\n const targetRect = target.getBoundingClientRect();\n const { body, documentElement: docEl } = document;\n\n if (!docEl) {\n throw Error('There is no \"documentElement\" in \"document\"');\n }\n\n const scrollX = window.pageXOffset || docEl.scrollLeft || 0;\n const scrollY = window.pageYOffset || docEl.scrollTop || 0;\n\n let left = null;\n let right = null;\n\n if (this.props.align === 'right') {\n const docWidth = docEl.offsetWidth || 0;\n right = docWidth - (targetRect.right + scrollX) + this.getProps().offsetX;\n } else {\n left = targetRect.left + scrollX + this.getProps().offsetX;\n }\n\n const { offsetY = 0 } = this.props;\n let bottom = null;\n let top: number | null = targetRect.bottom + scrollY + offsetY;\n\n const distanceToBottom = docEl.clientHeight - targetRect.bottom;\n const dropdownHeight = this.getHeight();\n\n if (distanceToBottom < dropdownHeight && targetRect.top > dropdownHeight) {\n const clientHeight = this.state.isDocumentElementRoot ? docEl.clientHeight : body.scrollHeight;\n\n top = null;\n bottom = clientHeight + offsetY - scrollY - targetRect.top;\n }\n\n const position = {\n top,\n left,\n right,\n bottom,\n };\n\n this.setState({\n minWidth: this.getMinWidth(),\n position: this.props.disablePortal ? this.convertToRelativePosition(position) : position,\n });\n }\n };\n\n private getHeight = () => {\n if (!this.isElement(this.dom)) {\n return 0;\n }\n const child = this.dom.children.item(0);\n if (!child) {\n return 0;\n }\n return child.getBoundingClientRect().height;\n };\n\n private getMinWidth = () => {\n const target = this.props.getParent();\n if (!this.isElement(target)) {\n return 0;\n }\n return target.getBoundingClientRect().width;\n };\n\n private convertToRelativePosition = (position: DropdownContainerPosition): DropdownContainerPosition => {\n const target = this.props.getParent();\n const { offsetX = 0, offsetY = 0 } = this.props;\n const { top, bottom, left, right } = position;\n if (this.isElement(target)) {\n const targetHeight = target.getBoundingClientRect().height;\n return {\n top: top !== null ? targetHeight + offsetY : null,\n bottom: bottom !== null ? targetHeight + offsetY : null,\n left: left !== null ? offsetX : null,\n right: right !== null ? offsetX : null,\n };\n }\n return {\n top: offsetY,\n bottom: null,\n left: offsetX,\n right: null,\n };\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,qBAAd","sourcesContent":["export * from './DropdownContainer';\r\n"]}
1
+ {"version":3,"sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,qBAAd","sourcesContent":["export * from './DropdownContainer';\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["FocusTrap.tsx"],"names":["React","findDOMNode","CommonWrapper","listen","listenFocusOutside","containsTargetOrRenderContainer","FocusTrap","focusOutsideListenerToken","onClickOutside","e","props","onBlur","detachListeners","attachListeners","document","addEventListener","documentElement","handleNativeDocClick","event","target","srcElement","node","Element","componentWillUnmount","render","children","cloneElement","Children","only","onFocus","remove","removeEventListener","PureComponent","__KONTUR_REACT_UI__"],"mappings":"4JAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,WAAT,QAA4B,WAA5B;;AAEA,SAAsBC,aAAtB,QAA2C,8BAA3C;AACA,SAASC,MAAM,IAAIC,kBAAnB,EAAuCC,+BAAvC,QAA8E,8BAA9E;;;;;;;AAOA,WAAaC,SAAb;;;AAGUC,IAAAA,yBAHV;;AAKa,QALb;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BUC,IAAAA,cA/BV,GA+B2B,UAACC,CAAD,EAAc;AACrC,UAAI,MAAKC,KAAL,CAAWC,MAAf,EAAuB;AACrB,cAAKD,KAAL,CAAWC,MAAX,CAAkBF,CAAlB;AACD;AACD,YAAKG,eAAL;AACD,KApCH;;AAsCUC,IAAAA,eAtCV,GAsC4B,YAAM;AAC9B,UAAI,CAAC,MAAKN,yBAAV,EAAqC;AACnC,cAAKA,yBAAL,GAAiCH,kBAAkB,CAAC,CAACH,WAAW,+BAAZ,CAAD,EAAqC,MAAKO,cAA1C,CAAnD;;AAEAM,QAAAA,QAAQ,CAACC,gBAAT;AACE,0BAAkBD,QAAQ,CAACE,eAA3B,GAA6C,YAA7C,GAA4D,WAD9D;AAEE,cAAKC,oBAFP;;AAID;AACF,KA/CH;;;;;;;;;;;;;;AA6DUA,IAAAA,oBA7DV,GA6DiC,UAACC,KAAD,EAAkB;AAC/C,UAAMC,MAAM,GAAGD,KAAK,CAACC,MAAN,IAAgBD,KAAK,CAACE,UAArC;AACA,UAAMC,IAAI,GAAGpB,WAAW,+BAAxB;;AAEA,UAAIkB,MAAM,YAAYG,OAAlB,IAA6BjB,+BAA+B,CAACc,MAAD,CAA/B,CAAwCE,IAAxC,CAAjC,EAAgF;AAC9E;AACD;;AAED,YAAKb,cAAL,CAAoBU,KAApB;AACD,KAtEH,uDAOSK,oBAPT,GAOE,gCAA8B,CAC5B,IAAI,KAAKhB,yBAAT,EAAoC,CAClC,KAAKK,eAAL,GACD,CACF,CAXH,QAaSY,MAbT,GAaE,kBAAgB,qCACe,KAAKd,KADpB,CACNe,QADM,eACNA,QADM,CACId,MADJ,eACIA,MADJ,CAEd,oBACE,oBAAC,aAAD,EAAmB,KAAKD,KAAxB,eACGV,KAAK,CAAC0B,YAAN,CAAmB1B,KAAK,CAAC2B,QAAN,CAAeC,IAAf,CAAoBH,QAApB,CAAnB,EAAkD,EACjDI,OAAO,EAAE,mBAAoB,CAC3B,IAAIlB,MAAJ,EAAY,CACV,MAAI,CAACE,eAAL,GACD,CACD,IAAIY,QAAQ,CAACf,KAAT,IAAkBe,QAAQ,CAACf,KAAT,CAAemB,OAArC,EAA8C,qBAC5C,mBAAAJ,QAAQ,CAACf,KAAT,EAAemB,OAAf,mCACD,CACF,CARgD,EAAlD,CADH,CADF,CAcD,CA7BH,QAiDUjB,eAjDV,GAiDE,2BAA0B,CACxB,IAAI,KAAKL,yBAAT,EAAoC,CAClC,KAAKA,yBAAL,CAA+BuB,MAA/B,GACA,KAAKvB,yBAAL,GAAiC,IAAjC,CAEAO,QAAQ,CAACiB,mBAAT,CACE,kBAAkBjB,QAAQ,CAACE,eAA3B,GAA6C,YAA7C,GAA4D,WAD9D,EAEE,KAAKC,oBAFP,EAID,CACF,CA3DH,oBAA+BjB,KAAK,CAACgC,aAArC,EAAa1B,S,CACG2B,mB,GAAsB,W","sourcesContent":["import React from 'react';\r\nimport { findDOMNode } from 'react-dom';\r\n\r\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\r\nimport { listen as listenFocusOutside, containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\r\n\r\nexport interface FocusTrapProps extends CommonProps {\r\n children: React.ReactElement<any>;\r\n onBlur?: (event: FocusEvent) => void;\r\n}\r\n\r\nexport class FocusTrap extends React.PureComponent<FocusTrapProps> {\r\n public static __KONTUR_REACT_UI__ = 'FocusTrap';\r\n\r\n private focusOutsideListenerToken: {\r\n remove: () => void;\r\n } | null = null;\r\n\r\n public componentWillUnmount() {\r\n if (this.focusOutsideListenerToken) {\r\n this.detachListeners();\r\n }\r\n }\r\n\r\n public render() {\r\n const { children, onBlur } = this.props;\r\n return (\r\n <CommonWrapper {...this.props}>\r\n {React.cloneElement(React.Children.only(children), {\r\n onFocus: (...args: any[]) => {\r\n if (onBlur) {\r\n this.attachListeners();\r\n }\r\n if (children.props && children.props.onFocus) {\r\n children.props.onFocus(...args);\r\n }\r\n },\r\n })}\r\n </CommonWrapper>\r\n );\r\n }\r\n\r\n private onClickOutside = (e: Event) => {\r\n if (this.props.onBlur) {\r\n this.props.onBlur(e as FocusEvent);\r\n }\r\n this.detachListeners();\r\n };\r\n\r\n private attachListeners = () => {\r\n if (!this.focusOutsideListenerToken) {\r\n this.focusOutsideListenerToken = listenFocusOutside([findDOMNode(this) as HTMLElement], this.onClickOutside);\r\n\r\n document.addEventListener(\r\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\r\n this.handleNativeDocClick,\r\n );\r\n }\r\n };\r\n\r\n private detachListeners() {\r\n if (this.focusOutsideListenerToken) {\r\n this.focusOutsideListenerToken.remove();\r\n this.focusOutsideListenerToken = null;\r\n\r\n document.removeEventListener(\r\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\r\n this.handleNativeDocClick,\r\n );\r\n }\r\n }\r\n\r\n private handleNativeDocClick = (event: Event) => {\r\n const target = event.target || event.srcElement;\r\n const node = findDOMNode(this) as HTMLElement;\r\n\r\n if (target instanceof Element && containsTargetOrRenderContainer(target)(node)) {\r\n return;\r\n }\r\n\r\n this.onClickOutside(event);\r\n };\r\n}\r\n"]}
1
+ {"version":3,"sources":["FocusTrap.tsx"],"names":["React","findDOMNode","CommonWrapper","listen","listenFocusOutside","containsTargetOrRenderContainer","FocusTrap","focusOutsideListenerToken","onClickOutside","e","props","onBlur","detachListeners","attachListeners","document","addEventListener","documentElement","handleNativeDocClick","event","target","srcElement","node","Element","componentWillUnmount","render","children","cloneElement","Children","only","onFocus","remove","removeEventListener","PureComponent","__KONTUR_REACT_UI__"],"mappings":"4JAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,WAAT,QAA4B,WAA5B;;AAEA,SAAsBC,aAAtB,QAA2C,8BAA3C;AACA,SAASC,MAAM,IAAIC,kBAAnB,EAAuCC,+BAAvC,QAA8E,8BAA9E;;;;;;;AAOA,WAAaC,SAAb;;;AAGUC,IAAAA,yBAHV;;AAKa,QALb;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BUC,IAAAA,cA/BV,GA+B2B,UAACC,CAAD,EAAc;AACrC,UAAI,MAAKC,KAAL,CAAWC,MAAf,EAAuB;AACrB,cAAKD,KAAL,CAAWC,MAAX,CAAkBF,CAAlB;AACD;AACD,YAAKG,eAAL;AACD,KApCH;;AAsCUC,IAAAA,eAtCV,GAsC4B,YAAM;AAC9B,UAAI,CAAC,MAAKN,yBAAV,EAAqC;AACnC,cAAKA,yBAAL,GAAiCH,kBAAkB,CAAC,CAACH,WAAW,+BAAZ,CAAD,EAAqC,MAAKO,cAA1C,CAAnD;;AAEAM,QAAAA,QAAQ,CAACC,gBAAT;AACE,0BAAkBD,QAAQ,CAACE,eAA3B,GAA6C,YAA7C,GAA4D,WAD9D;AAEE,cAAKC,oBAFP;;AAID;AACF,KA/CH;;;;;;;;;;;;;;AA6DUA,IAAAA,oBA7DV,GA6DiC,UAACC,KAAD,EAAkB;AAC/C,UAAMC,MAAM,GAAGD,KAAK,CAACC,MAAN,IAAgBD,KAAK,CAACE,UAArC;AACA,UAAMC,IAAI,GAAGpB,WAAW,+BAAxB;;AAEA,UAAIkB,MAAM,YAAYG,OAAlB,IAA6BjB,+BAA+B,CAACc,MAAD,CAA/B,CAAwCE,IAAxC,CAAjC,EAAgF;AAC9E;AACD;;AAED,YAAKb,cAAL,CAAoBU,KAApB;AACD,KAtEH,uDAOSK,oBAPT,GAOE,gCAA8B,CAC5B,IAAI,KAAKhB,yBAAT,EAAoC,CAClC,KAAKK,eAAL,GACD,CACF,CAXH,QAaSY,MAbT,GAaE,kBAAgB,qCACe,KAAKd,KADpB,CACNe,QADM,eACNA,QADM,CACId,MADJ,eACIA,MADJ,CAEd,oBACE,oBAAC,aAAD,EAAmB,KAAKD,KAAxB,eACGV,KAAK,CAAC0B,YAAN,CAAmB1B,KAAK,CAAC2B,QAAN,CAAeC,IAAf,CAAoBH,QAApB,CAAnB,EAAkD,EACjDI,OAAO,EAAE,mBAAoB,CAC3B,IAAIlB,MAAJ,EAAY,CACV,MAAI,CAACE,eAAL,GACD,CACD,IAAIY,QAAQ,CAACf,KAAT,IAAkBe,QAAQ,CAACf,KAAT,CAAemB,OAArC,EAA8C,qBAC5C,mBAAAJ,QAAQ,CAACf,KAAT,EAAemB,OAAf,mCACD,CACF,CARgD,EAAlD,CADH,CADF,CAcD,CA7BH,QAiDUjB,eAjDV,GAiDE,2BAA0B,CACxB,IAAI,KAAKL,yBAAT,EAAoC,CAClC,KAAKA,yBAAL,CAA+BuB,MAA/B,GACA,KAAKvB,yBAAL,GAAiC,IAAjC,CAEAO,QAAQ,CAACiB,mBAAT,CACE,kBAAkBjB,QAAQ,CAACE,eAA3B,GAA6C,YAA7C,GAA4D,WAD9D,EAEE,KAAKC,oBAFP,EAID,CACF,CA3DH,oBAA+BjB,KAAK,CAACgC,aAArC,EAAa1B,S,CACG2B,mB,GAAsB,W","sourcesContent":["import React from 'react';\nimport { findDOMNode } from 'react-dom';\n\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { listen as listenFocusOutside, containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\n\nexport interface FocusTrapProps extends CommonProps {\n children: React.ReactElement<any>;\n onBlur?: (event: FocusEvent) => void;\n}\n\nexport class FocusTrap extends React.PureComponent<FocusTrapProps> {\n public static __KONTUR_REACT_UI__ = 'FocusTrap';\n\n private focusOutsideListenerToken: {\n remove: () => void;\n } | null = null;\n\n public componentWillUnmount() {\n if (this.focusOutsideListenerToken) {\n this.detachListeners();\n }\n }\n\n public render() {\n const { children, onBlur } = this.props;\n return (\n <CommonWrapper {...this.props}>\n {React.cloneElement(React.Children.only(children), {\n onFocus: (...args: any[]) => {\n if (onBlur) {\n this.attachListeners();\n }\n if (children.props && children.props.onFocus) {\n children.props.onFocus(...args);\n }\n },\n })}\n </CommonWrapper>\n );\n }\n\n private onClickOutside = (e: Event) => {\n if (this.props.onBlur) {\n this.props.onBlur(e as FocusEvent);\n }\n this.detachListeners();\n };\n\n private attachListeners = () => {\n if (!this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken = listenFocusOutside([findDOMNode(this) as HTMLElement], this.onClickOutside);\n\n document.addEventListener(\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n };\n\n private detachListeners() {\n if (this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken.remove();\n this.focusOutsideListenerToken = null;\n\n document.removeEventListener(\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n }\n\n private handleNativeDocClick = (event: Event) => {\n const target = event.target || event.srcElement;\n const node = findDOMNode(this) as HTMLElement;\n\n if (target instanceof Element && containsTargetOrRenderContainer(target)(node)) {\n return;\n }\n\n this.onClickOutside(event);\n };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAd","sourcesContent":["export * from './FocusTrap';\r\n"]}
1
+ {"version":3,"sources":["index.tsx"],"names":[],"mappings":"AAAA,cAAc,aAAd","sourcesContent":["export * from './FocusTrap';\n"]}
@@ -1,6 +1,12 @@
1
+ import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
1
2
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
3
+
4
+ var _templateObject;
5
+
2
6
  import React from 'react';
3
7
  import { getScrollWidth } from "../../../lib/dom/getScrollWidth";
8
+ import { css } from "../../../lib/theming/Emotion";
9
+ var disposeDocumentStyle = null;
4
10
  export var HideBodyVerticalScroll = /*#__PURE__*/function (_React$Component) {
5
11
  _inheritsLoose(HideBodyVerticalScroll, _React$Component);
6
12
 
@@ -12,7 +18,6 @@ export var HideBodyVerticalScroll = /*#__PURE__*/function (_React$Component) {
12
18
  }
13
19
 
14
20
  _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
15
- _this.disposeDocumentStyle = null;
16
21
  _this.initialScroll = 0;
17
22
  _this.master = false;
18
23
 
@@ -20,52 +25,45 @@ export var HideBodyVerticalScroll = /*#__PURE__*/function (_React$Component) {
20
25
  var _document = document,
21
26
  documentElement = _document.documentElement;
22
27
 
23
- _this.restoreStyles();
24
-
25
28
  if (!documentElement) {
26
29
  return;
27
30
  }
28
31
 
29
- var clientHeight = documentElement.clientHeight,
30
- scrollHeight = documentElement.scrollHeight;
31
- var shouldRestore = VerticalScrollCounter.get() === 0;
32
- var shouldHide = !shouldRestore && clientHeight < scrollHeight;
32
+ var shouldHide = !disposeDocumentStyle;
33
33
 
34
34
  if (shouldHide) {
35
- _this.makeSomeMagicWithScroll(documentElement);
36
- }
37
-
38
- if (shouldRestore) {
39
- documentElement.scrollTop = _this.initialScroll;
35
+ _this.hideScroll(documentElement);
40
36
  }
41
37
  };
42
38
 
43
- _this.makeSomeMagicWithScroll = function (document) {
39
+ _this.hideScroll = function (document) {
40
+ var clientHeight = document.clientHeight,
41
+ scrollHeight = document.scrollHeight;
44
42
  var documentComputedStyle = getComputedStyle(document);
45
- var scrollWidth = getScrollWidth();
43
+ var scrollWidth = clientHeight < scrollHeight ? getScrollWidth() : 0;
46
44
  var documentMargin = parseFloat(documentComputedStyle.marginRight || '');
47
- var documentStyle = generateDocumentStyle(documentMargin + scrollWidth);
48
- _this.disposeDocumentStyle = _this.attachStyle(document, documentStyle);
45
+ var className = generateDocumentStyle(documentMargin + scrollWidth);
46
+ disposeDocumentStyle = _this.attachStyle(document, className);
49
47
  };
50
48
 
51
- _this.attachStyle = function (element, style) {
52
- element.classList.add(style.className);
53
- var removeStyleNode = attachStylesheet(style.css);
49
+ _this.attachStyle = function (element, className) {
50
+ element.classList.add(className);
54
51
  return function () {
55
- removeStyleNode();
56
- element.classList.remove(style.className);
52
+ element.classList.remove(className);
57
53
  };
58
54
  };
59
55
 
60
56
  _this.restoreStyles = function () {
61
- if (_this.disposeDocumentStyle) {
62
- _this.disposeDocumentStyle();
63
-
64
- _this.disposeDocumentStyle = null;
65
- } // Forcing reflow for Firefix
66
-
67
-
68
- attachStylesheet('html, body { height: auto; }')();
57
+ if (disposeDocumentStyle) {
58
+ disposeDocumentStyle();
59
+ disposeDocumentStyle = null;
60
+ var _document2 = document,
61
+ documentElement = _document2.documentElement;
62
+
63
+ if (documentElement) {
64
+ documentElement.scrollTop = _this.initialScroll;
65
+ }
66
+ }
69
67
  };
70
68
 
71
69
  return _this;
@@ -91,11 +89,10 @@ export var HideBodyVerticalScroll = /*#__PURE__*/function (_React$Component) {
91
89
  };
92
90
 
93
91
  _proto.componentWillUnmount = function componentWillUnmount() {
94
- this.restoreStyles();
95
92
  var counter = VerticalScrollCounter.decrement();
96
93
 
97
94
  if (counter === 0) {
98
- this.updateScrollVisibility();
95
+ this.restoreStyles();
99
96
  window.removeEventListener('resize', this.updateScrollVisibility);
100
97
  }
101
98
  };
@@ -107,7 +104,6 @@ export var HideBodyVerticalScroll = /*#__PURE__*/function (_React$Component) {
107
104
  return HideBodyVerticalScroll;
108
105
  }(React.Component);
109
106
  HideBodyVerticalScroll.__KONTUR_REACT_UI__ = 'HideBodyVerticalScroll';
110
- HideBodyVerticalScroll.hash = Math.random().toString(16).slice(2, 6);
111
107
 
112
108
  var VerticalScrollCounter = function VerticalScrollCounter() {};
113
109
 
@@ -125,38 +121,6 @@ VerticalScrollCounter.get = function () {
125
121
  return window.RetailUIVerticalScrollCounter || 0;
126
122
  };
127
123
 
128
- function generateClassName(className) {
129
- var name = HideBodyVerticalScroll.name,
130
- hash = HideBodyVerticalScroll.hash;
131
- return name + "-" + className + "-" + hash;
132
- }
133
-
134
124
  function generateDocumentStyle(documentMargin) {
135
- var className = generateClassName('document');
136
- var css = "." + className + " {\n overflow: hidden !important;\n margin-right: " + documentMargin + "px !important;\n height: 100%;\n}\n";
137
- return {
138
- className: className,
139
- css: css
140
- };
141
- }
142
-
143
- function attachStylesheet(sheet) {
144
- var style = document.createElement('style');
145
- style.setAttribute('type', 'text/css'); // @ts-ignore IE specific api
146
-
147
- if (style.styleSheet) {
148
- // @ts-ignore IE specific api
149
- style.styleSheet.cssText = sheet;
150
- } else {
151
- var textnode = document.createTextNode(sheet);
152
- style.appendChild(textnode);
153
- }
154
-
155
- var head = document.getElementsByTagName('head')[0];
156
- head.appendChild(style);
157
- return function () {
158
- if (head.contains(style)) {
159
- head.removeChild(style);
160
- }
161
- };
125
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n overflow: hidden !important;\n margin-right: ", "px !important;\n height: 100%;\n "])), documentMargin);
162
126
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["HideBodyVerticalScroll.tsx"],"names":["React","getScrollWidth","HideBodyVerticalScroll","disposeDocumentStyle","initialScroll","master","updateScrollVisibility","document","documentElement","restoreStyles","clientHeight","scrollHeight","shouldRestore","VerticalScrollCounter","get","shouldHide","makeSomeMagicWithScroll","scrollTop","documentComputedStyle","getComputedStyle","scrollWidth","documentMargin","parseFloat","marginRight","documentStyle","generateDocumentStyle","attachStyle","element","style","classList","add","className","removeStyleNode","attachStylesheet","css","remove","componentDidMount","counter","increment","window","addEventListener","componentDidUpdate","componentWillUnmount","decrement","removeEventListener","render","Component","__KONTUR_REACT_UI__","hash","Math","random","toString","slice","RetailUIVerticalScrollCounter","generateClassName","name","sheet","createElement","setAttribute","styleSheet","cssText","textnode","createTextNode","appendChild","head","getElementsByTagName","contains","removeChild"],"mappings":"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","sourcesContent":["import React from 'react';\r\n\r\nimport { getScrollWidth } from '../../lib/dom/getScrollWidth';\r\n\r\nexport class HideBodyVerticalScroll extends React.Component {\r\n public static __KONTUR_REACT_UI__ = 'HideBodyVerticalScroll';\r\n\r\n public static hash = Math.random()\r\n .toString(16)\r\n .slice(2, 6);\r\n private disposeDocumentStyle: (() => void) | null = null;\r\n private initialScroll = 0;\r\n private master = false;\r\n\r\n public componentDidMount() {\r\n const counter = VerticalScrollCounter.increment();\r\n if (counter === 1) {\r\n this.master = true;\r\n this.initialScroll = document.documentElement ? document.documentElement.scrollTop : 0;\r\n this.updateScrollVisibility();\r\n window.addEventListener('resize', this.updateScrollVisibility);\r\n }\r\n }\r\n\r\n public componentDidUpdate() {\r\n if (this.master) {\r\n this.updateScrollVisibility();\r\n }\r\n }\r\n\r\n public componentWillUnmount() {\r\n this.restoreStyles();\r\n\r\n const counter = VerticalScrollCounter.decrement();\r\n if (counter === 0) {\r\n this.updateScrollVisibility();\r\n window.removeEventListener('resize', this.updateScrollVisibility);\r\n }\r\n }\r\n\r\n public render() {\r\n return null;\r\n }\r\n\r\n private updateScrollVisibility = () => {\r\n const { documentElement } = document;\r\n\r\n this.restoreStyles();\r\n\r\n if (!documentElement) {\r\n return;\r\n }\r\n\r\n const { clientHeight, scrollHeight } = documentElement;\r\n const shouldRestore = VerticalScrollCounter.get() === 0;\r\n const shouldHide = !shouldRestore && clientHeight < scrollHeight;\r\n\r\n if (shouldHide) {\r\n this.makeSomeMagicWithScroll(documentElement);\r\n }\r\n\r\n if (shouldRestore) {\r\n documentElement.scrollTop = this.initialScroll;\r\n }\r\n };\r\n\r\n private makeSomeMagicWithScroll = (document: HTMLElement) => {\r\n const documentComputedStyle = getComputedStyle(document);\r\n const scrollWidth = getScrollWidth();\r\n const documentMargin = parseFloat(documentComputedStyle.marginRight || '');\r\n const documentStyle = generateDocumentStyle(documentMargin + scrollWidth);\r\n\r\n this.disposeDocumentStyle = this.attachStyle(document, documentStyle);\r\n };\r\n\r\n private attachStyle = (element: HTMLElement, style: { css: string; className: string }) => {\r\n element.classList.add(style.className);\r\n const removeStyleNode = attachStylesheet(style.css);\r\n return () => {\r\n removeStyleNode();\r\n element.classList.remove(style.className);\r\n };\r\n };\r\n\r\n private restoreStyles = () => {\r\n if (this.disposeDocumentStyle) {\r\n this.disposeDocumentStyle();\r\n this.disposeDocumentStyle = null;\r\n }\r\n\r\n // Forcing reflow for Firefix\r\n attachStylesheet('html, body { height: auto; }')();\r\n };\r\n}\r\n\r\nclass VerticalScrollCounter {\r\n public static increment = (): number => {\r\n const counter = window.RetailUIVerticalScrollCounter || 0;\r\n return (window.RetailUIVerticalScrollCounter = counter + 1);\r\n };\r\n\r\n public static decrement = (): number => {\r\n const counter = window.RetailUIVerticalScrollCounter || 0;\r\n return (window.RetailUIVerticalScrollCounter = counter - 1);\r\n };\r\n\r\n public static get = (): number => {\r\n return window.RetailUIVerticalScrollCounter || 0;\r\n };\r\n}\r\n\r\nfunction generateClassName(className: string) {\r\n const { name, hash } = HideBodyVerticalScroll;\r\n return `${name}-${className}-${hash}`;\r\n}\r\n\r\nfunction generateDocumentStyle(documentMargin: number) {\r\n const className = generateClassName('document');\r\n const css = `\\\r\n.${className} {\r\n overflow: hidden !important;\r\n margin-right: ${documentMargin}px !important;\r\n height: 100%;\r\n}\r\n`;\r\n return { className, css };\r\n}\r\n\r\nfunction attachStylesheet(sheet: string) {\r\n const style = document.createElement('style');\r\n style.setAttribute('type', 'text/css');\r\n // @ts-ignore IE specific api\r\n if (style.styleSheet) {\r\n // @ts-ignore IE specific api\r\n style.styleSheet.cssText = sheet;\r\n } else {\r\n const textnode = document.createTextNode(sheet);\r\n style.appendChild(textnode);\r\n }\r\n const head = document.getElementsByTagName('head')[0];\r\n head.appendChild(style);\r\n return () => {\r\n if (head.contains(style)) {\r\n head.removeChild(style);\r\n }\r\n };\r\n}\r\n"]}
1
+ {"version":3,"sources":["HideBodyVerticalScroll.tsx"],"names":["React","getScrollWidth","css","disposeDocumentStyle","HideBodyVerticalScroll","initialScroll","master","updateScrollVisibility","document","documentElement","shouldHide","hideScroll","clientHeight","scrollHeight","documentComputedStyle","getComputedStyle","scrollWidth","documentMargin","parseFloat","marginRight","className","generateDocumentStyle","attachStyle","element","classList","add","remove","restoreStyles","scrollTop","componentDidMount","counter","VerticalScrollCounter","increment","window","addEventListener","componentDidUpdate","componentWillUnmount","decrement","removeEventListener","render","Component","__KONTUR_REACT_UI__","RetailUIVerticalScrollCounter","get"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { getScrollWidth } from '../../lib/dom/getScrollWidth';\nimport { css } from '../../lib/theming/Emotion';\n\nlet disposeDocumentStyle: (() => void) | null = null;\n\nexport class HideBodyVerticalScroll extends React.Component {\n public static __KONTUR_REACT_UI__ = 'HideBodyVerticalScroll';\n\n private initialScroll = 0;\n private master = false;\n\n public componentDidMount() {\n const counter = VerticalScrollCounter.increment();\n if (counter === 1) {\n this.master = true;\n this.initialScroll = document.documentElement ? document.documentElement.scrollTop : 0;\n this.updateScrollVisibility();\n window.addEventListener('resize', this.updateScrollVisibility);\n }\n }\n\n public componentDidUpdate() {\n if (this.master) {\n this.updateScrollVisibility();\n }\n }\n\n public componentWillUnmount() {\n const counter = VerticalScrollCounter.decrement();\n if (counter === 0) {\n this.restoreStyles();\n window.removeEventListener('resize', this.updateScrollVisibility);\n }\n }\n\n public render() {\n return null;\n }\n\n private updateScrollVisibility = () => {\n const { documentElement } = document;\n if (!documentElement) {\n return;\n }\n const shouldHide = !disposeDocumentStyle;\n if (shouldHide) {\n this.hideScroll(documentElement);\n }\n };\n\n private hideScroll = (document: HTMLElement) => {\n const { clientHeight, scrollHeight } = document;\n const documentComputedStyle = getComputedStyle(document);\n const scrollWidth = clientHeight < scrollHeight ? getScrollWidth() : 0;\n const documentMargin = parseFloat(documentComputedStyle.marginRight || '');\n const className = generateDocumentStyle(documentMargin + scrollWidth);\n\n disposeDocumentStyle = this.attachStyle(document, className);\n };\n\n private attachStyle = (element: HTMLElement, className: string) => {\n element.classList.add(className);\n return () => {\n element.classList.remove(className);\n };\n };\n\n private restoreStyles = () => {\n if (disposeDocumentStyle) {\n disposeDocumentStyle();\n disposeDocumentStyle = null;\n\n const { documentElement } = document;\n\n if (documentElement) {\n documentElement.scrollTop = this.initialScroll;\n }\n }\n };\n}\n\nclass VerticalScrollCounter {\n public static increment = (): number => {\n const counter = window.RetailUIVerticalScrollCounter || 0;\n return (window.RetailUIVerticalScrollCounter = counter + 1);\n };\n\n public static decrement = (): number => {\n const counter = window.RetailUIVerticalScrollCounter || 0;\n return (window.RetailUIVerticalScrollCounter = counter - 1);\n };\n\n public static get = (): number => {\n return window.RetailUIVerticalScrollCounter || 0;\n };\n}\n\nfunction generateDocumentStyle(documentMargin: number) {\n return css`\n overflow: hidden !important;\n margin-right: ${documentMargin}px !important;\n height: 100%;\n `;\n}\n"]}