@skbkontur/react-ui 3.10.0-fileuploader.1 → 3.11.0-latest

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 (751) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/LICENSE +21 -21
  3. package/README.md +57 -0
  4. package/cjs/components/Autocomplete/Autocomplete.d.ts +1 -0
  5. package/cjs/components/Autocomplete/Autocomplete.js +11 -5
  6. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  7. package/cjs/components/Button/Button.d.ts +5 -1
  8. package/cjs/components/Button/Button.js +17 -5
  9. package/cjs/components/Button/Button.js.map +1 -1
  10. package/cjs/components/Button/Button.styles.d.ts +1 -0
  11. package/cjs/components/Button/Button.styles.js +38 -28
  12. package/cjs/components/Button/Button.styles.js.map +1 -1
  13. package/cjs/components/Center/Center.d.ts +1 -0
  14. package/cjs/components/Center/Center.js +10 -3
  15. package/cjs/components/Center/Center.js.map +1 -1
  16. package/cjs/components/Checkbox/Checkbox.d.ts +3 -3
  17. package/cjs/components/Checkbox/Checkbox.js +31 -22
  18. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  19. package/cjs/components/ComboBox/ComboBox.d.ts +2 -0
  20. package/cjs/components/ComboBox/ComboBox.js +100 -70
  21. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  22. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +4 -3
  23. package/cjs/components/CurrencyInput/CurrencyInput.js +35 -4
  24. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  25. package/cjs/components/CurrencyLabel/CurrencyLabel.md +23 -23
  26. package/cjs/components/DateInput/DateInput.d.ts +1 -0
  27. package/cjs/components/DateInput/DateInput.js +6 -3
  28. package/cjs/components/DateInput/DateInput.js.map +1 -1
  29. package/cjs/components/DatePicker/DatePicker.d.ts +4 -2
  30. package/cjs/components/DatePicker/DatePicker.js +17 -7
  31. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  32. package/cjs/components/Dropdown/Dropdown.d.ts +1 -0
  33. package/cjs/components/Dropdown/Dropdown.js +11 -4
  34. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  35. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +3 -2
  36. package/cjs/components/DropdownMenu/DropdownMenu.js +7 -4
  37. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  38. package/cjs/components/FxInput/FxInput.d.ts +1 -0
  39. package/cjs/components/FxInput/FxInput.js +9 -2
  40. package/cjs/components/FxInput/FxInput.js.map +1 -1
  41. package/cjs/components/Gapped/Gapped.d.ts +2 -0
  42. package/cjs/components/Gapped/Gapped.js +22 -14
  43. package/cjs/components/Gapped/Gapped.js.map +1 -1
  44. package/cjs/components/Gapped/Gapped.md +43 -43
  45. package/cjs/components/Group/Group.d.ts +1 -0
  46. package/cjs/components/Group/Group.js +10 -7
  47. package/cjs/components/Group/Group.js.map +1 -1
  48. package/cjs/components/Hint/Hint.d.ts +5 -3
  49. package/cjs/components/Hint/Hint.js +7 -20
  50. package/cjs/components/Hint/Hint.js.map +1 -1
  51. package/cjs/components/Input/Input.d.ts +8 -1
  52. package/cjs/components/Input/Input.js +22 -5
  53. package/cjs/components/Input/Input.js.map +1 -1
  54. package/cjs/components/Input/Input.md +13 -13
  55. package/cjs/components/Kebab/Kebab.d.ts +3 -2
  56. package/cjs/components/Kebab/Kebab.js +8 -5
  57. package/cjs/components/Kebab/Kebab.js.map +1 -1
  58. package/cjs/components/Link/Link.d.ts +1 -0
  59. package/cjs/components/Link/Link.js +11 -3
  60. package/cjs/components/Link/Link.js.map +1 -1
  61. package/cjs/components/Loader/Loader.d.ts +1 -0
  62. package/cjs/components/Loader/Loader.js +11 -7
  63. package/cjs/components/Loader/Loader.js.map +1 -1
  64. package/cjs/components/MenuItem/MenuItem.d.ts +2 -1
  65. package/cjs/components/MenuItem/MenuItem.js +11 -8
  66. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  67. package/cjs/components/Modal/Modal.js +1 -1
  68. package/cjs/components/Modal/Modal.js.map +1 -1
  69. package/cjs/components/Modal/ModalBody.d.ts +1 -0
  70. package/cjs/components/Modal/ModalBody.js +9 -6
  71. package/cjs/components/Modal/ModalBody.js.map +1 -1
  72. package/cjs/components/Paging/Paging.d.ts +2 -2
  73. package/cjs/components/Paging/Paging.js +6 -5
  74. package/cjs/components/Paging/Paging.js.map +1 -1
  75. package/cjs/components/PasswordInput/PasswordInput.d.ts +3 -2
  76. package/cjs/components/PasswordInput/PasswordInput.js +13 -6
  77. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  78. package/cjs/components/PasswordInput/PasswordInput.md +9 -9
  79. package/cjs/components/Radio/Radio.d.ts +5 -10
  80. package/cjs/components/Radio/Radio.js +15 -11
  81. package/cjs/components/Radio/Radio.js.map +1 -1
  82. package/cjs/components/RadioGroup/RadioGroup.d.ts +11 -26
  83. package/cjs/components/RadioGroup/RadioGroup.js +25 -29
  84. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  85. package/cjs/components/RadioGroup/RadioGroup.md +43 -43
  86. package/cjs/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  87. package/cjs/components/RadioGroup/RadioGroupContext.js +21 -0
  88. package/cjs/components/RadioGroup/RadioGroupContext.js.map +1 -0
  89. package/cjs/components/ScrollContainer/ScrollBar.js +4 -2
  90. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  91. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  92. package/cjs/components/ScrollContainer/ScrollContainer.js +10 -6
  93. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  94. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +1 -0
  95. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +12 -8
  96. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  97. package/cjs/components/Select/Select.d.ts +1 -0
  98. package/cjs/components/Select/Select.js +8 -5
  99. package/cjs/components/Select/Select.js.map +1 -1
  100. package/cjs/components/SidePage/SidePage.d.ts +3 -0
  101. package/cjs/components/SidePage/SidePage.js +20 -2
  102. package/cjs/components/SidePage/SidePage.js.map +1 -1
  103. package/cjs/components/SidePage/SidePageBody.d.ts +1 -0
  104. package/cjs/components/SidePage/SidePageBody.js +9 -6
  105. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  106. package/cjs/components/SidePage/SidePageContainer.d.ts +1 -0
  107. package/cjs/components/SidePage/SidePageContainer.js +9 -6
  108. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  109. package/cjs/components/SidePage/SidePageFooter.d.ts +1 -2
  110. package/cjs/components/SidePage/SidePageFooter.js +11 -12
  111. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  112. package/cjs/components/SidePage/SidePageHeader.d.ts +1 -0
  113. package/cjs/components/SidePage/SidePageHeader.js +6 -3
  114. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  115. package/cjs/components/Spinner/Spinner.d.ts +9 -0
  116. package/cjs/components/Spinner/Spinner.js +29 -8
  117. package/cjs/components/Spinner/Spinner.js.map +1 -1
  118. package/cjs/components/Spinner/Spinner.md +1 -0
  119. package/cjs/components/Spinner/Spinner.styles.d.ts +2 -1
  120. package/cjs/components/Spinner/Spinner.styles.js +13 -10
  121. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  122. package/cjs/components/Sticky/Sticky.d.ts +1 -0
  123. package/cjs/components/Sticky/Sticky.js +8 -5
  124. package/cjs/components/Sticky/Sticky.js.map +1 -1
  125. package/cjs/components/Switcher/Switcher.d.ts +1 -0
  126. package/cjs/components/Switcher/Switcher.js +6 -3
  127. package/cjs/components/Switcher/Switcher.js.map +1 -1
  128. package/cjs/components/Switcher/Switcher.styles.js +4 -2
  129. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  130. package/cjs/components/Tabs/Indicator.d.ts +1 -0
  131. package/cjs/components/Tabs/Indicator.js +16 -15
  132. package/cjs/components/Tabs/Indicator.js.map +1 -1
  133. package/cjs/components/Tabs/Tab.d.ts +2 -1
  134. package/cjs/components/Tabs/Tab.js +13 -9
  135. package/cjs/components/Tabs/Tab.js.map +1 -1
  136. package/cjs/components/Tabs/Tabs.d.ts +1 -0
  137. package/cjs/components/Tabs/Tabs.js +9 -9
  138. package/cjs/components/Tabs/Tabs.js.map +1 -1
  139. package/cjs/components/Textarea/Textarea.d.ts +1 -0
  140. package/cjs/components/Textarea/Textarea.js +12 -5
  141. package/cjs/components/Textarea/Textarea.js.map +1 -1
  142. package/cjs/components/Toast/Toast.d.ts +3 -0
  143. package/cjs/components/Toast/Toast.js +15 -4
  144. package/cjs/components/Toast/Toast.js.map +1 -1
  145. package/cjs/components/Toast/ToastView.d.ts +1 -0
  146. package/cjs/components/Toast/ToastView.js +8 -5
  147. package/cjs/components/Toast/ToastView.js.map +1 -1
  148. package/cjs/components/Toggle/Toggle.d.ts +1 -0
  149. package/cjs/components/Toggle/Toggle.js +9 -6
  150. package/cjs/components/Toggle/Toggle.js.map +1 -1
  151. package/cjs/components/Token/Token.d.ts +1 -0
  152. package/cjs/components/Token/Token.js +7 -4
  153. package/cjs/components/Token/Token.js.map +1 -1
  154. package/cjs/components/Token/Token.md +112 -112
  155. package/cjs/components/TokenInput/TokenInput.d.ts +1 -0
  156. package/cjs/components/TokenInput/TokenInput.js +11 -8
  157. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  158. package/cjs/components/Tooltip/Tooltip.d.ts +11 -22
  159. package/cjs/components/Tooltip/Tooltip.js +28 -30
  160. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  161. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +3 -2
  162. package/cjs/components/TooltipMenu/TooltipMenu.js +8 -5
  163. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  164. package/cjs/index.d.ts +1 -1
  165. package/cjs/index.js +2 -2
  166. package/cjs/index.js.map +1 -1
  167. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +9 -1
  168. package/cjs/internal/CommonWrapper/CommonWrapper.js +38 -15
  169. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  170. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +3 -2
  171. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  172. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +4 -1
  173. package/cjs/internal/CustomComboBox/ComboBoxView.js +15 -5
  174. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  175. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
  176. package/cjs/internal/CustomComboBox/CustomComboBox.js +8 -5
  177. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  178. package/cjs/internal/DateSelect/DateSelect.d.ts +2 -2
  179. package/cjs/internal/DateSelect/DateSelect.js +3 -3
  180. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  181. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
  182. package/cjs/internal/DropdownContainer/DropdownContainer.js +8 -13
  183. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  184. package/cjs/internal/FocusTrap/FocusTrap.d.ts +1 -0
  185. package/cjs/internal/FocusTrap/FocusTrap.js +12 -9
  186. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  187. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +12 -4
  188. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  189. package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -0
  190. package/cjs/internal/InputLikeText/InputLikeText.js +10 -3
  191. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  192. package/cjs/internal/InternalMenu/InternalMenu.d.ts +2 -3
  193. package/cjs/internal/InternalMenu/InternalMenu.js +16 -22
  194. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  195. package/cjs/internal/MaskedInput/MaskedInput.d.ts +2 -2
  196. package/cjs/internal/MaskedInput/MaskedInput.js +3 -3
  197. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  198. package/cjs/internal/Menu/Menu.d.ts +1 -0
  199. package/cjs/internal/Menu/Menu.js +9 -6
  200. package/cjs/internal/Menu/Menu.js.map +1 -1
  201. package/cjs/internal/Popup/Popup.d.ts +9 -8
  202. package/cjs/internal/Popup/Popup.js +64 -48
  203. package/cjs/internal/Popup/Popup.js.map +1 -1
  204. package/cjs/internal/Popup/PopupHelper.d.ts +2 -2
  205. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  206. package/cjs/internal/Popup/types.d.ts +1 -0
  207. package/cjs/{components/FileUploader/locale → internal/Popup}/types.js +0 -0
  208. package/cjs/{components/FileUploader/locale → internal/Popup}/types.js.map +0 -0
  209. package/cjs/internal/PopupMenu/PopupMenu.d.ts +4 -3
  210. package/cjs/internal/PopupMenu/PopupMenu.js +23 -6
  211. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  212. package/cjs/internal/PopupMenu/validatePositions.d.ts +2 -2
  213. package/cjs/internal/PopupMenu/validatePositions.js +2 -4
  214. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  215. package/cjs/internal/RenderContainer/RenderContainer.d.ts +1 -1
  216. package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
  217. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  218. package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -3
  219. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  220. package/cjs/internal/RenderLayer/RenderLayer.d.ts +3 -1
  221. package/cjs/internal/RenderLayer/RenderLayer.js +13 -7
  222. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  223. package/cjs/internal/ThemePlayground/Playground.d.ts +0 -1
  224. package/cjs/internal/ThemePlayground/Playground.js +1 -11
  225. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  226. package/cjs/internal/ThemePlayground/darkTheme.d.ts +0 -15
  227. package/cjs/internal/ThemePlayground/darkTheme.js +1 -25
  228. package/cjs/internal/ThemePlayground/darkTheme.js.map +1 -1
  229. package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +1 -1
  230. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +20 -19
  231. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  232. package/cjs/internal/ThemeShowcase/ThemeShowcase.md +13 -13
  233. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  234. package/cjs/internal/ZIndex/ZIndex.d.ts +2 -0
  235. package/cjs/internal/ZIndex/ZIndex.js +45 -34
  236. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  237. package/cjs/internal/icons/16px/index.d.ts +17 -19
  238. package/cjs/internal/icons/16px/index.js +105 -84
  239. package/cjs/internal/icons/16px/index.js.map +1 -1
  240. package/cjs/internal/icons/SpinnerIcon.d.ts +4 -1
  241. package/cjs/internal/icons/SpinnerIcon.js +5 -2
  242. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  243. package/cjs/internal/themes/DefaultTheme.d.ts +0 -23
  244. package/cjs/internal/themes/DefaultTheme.js +1 -64
  245. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  246. package/cjs/lib/ModalStack.js +16 -17
  247. package/cjs/lib/ModalStack.js.map +1 -1
  248. package/cjs/lib/callChildRef/callChildRef.d.ts +3 -0
  249. package/cjs/lib/callChildRef/callChildRef.js +19 -0
  250. package/cjs/lib/callChildRef/callChildRef.js.map +1 -0
  251. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  252. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js +20 -0
  253. package/cjs/lib/events/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  254. package/cjs/lib/getDisplayName.d.ts +3 -0
  255. package/cjs/lib/getDisplayName.js +9 -0
  256. package/cjs/lib/getDisplayName.js.map +1 -0
  257. package/cjs/lib/locale/types.d.ts +0 -2
  258. package/cjs/lib/locale/types.js +0 -2
  259. package/cjs/lib/locale/types.js.map +1 -1
  260. package/cjs/lib/rootNode/getRootNode.d.ts +3 -0
  261. package/cjs/lib/rootNode/getRootNode.js +27 -0
  262. package/cjs/lib/rootNode/getRootNode.js.map +1 -0
  263. package/cjs/lib/rootNode/index.d.ts +2 -0
  264. package/cjs/lib/rootNode/index.js +2 -0
  265. package/cjs/lib/rootNode/index.js.map +1 -0
  266. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  267. package/cjs/lib/rootNode/rootNodeDecorator.js +31 -0
  268. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -0
  269. package/cjs/lib/theming/AnimationKeyframes.js +1 -1
  270. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  271. package/cjs/lib/theming/Emotion.js +1 -0
  272. package/cjs/lib/theming/Emotion.js.map +1 -1
  273. package/cjs/lib/theming/useTheme.d.ts +1 -0
  274. package/cjs/lib/theming/useTheme.js +7 -0
  275. package/cjs/lib/theming/useTheme.js.map +1 -0
  276. package/cjs/lib/utils.d.ts +35 -1
  277. package/cjs/lib/utils.js +77 -22
  278. package/cjs/lib/utils.js.map +1 -1
  279. package/cjs/lib/withClassWrapper.d.ts +71 -0
  280. package/cjs/lib/withClassWrapper.js +59 -0
  281. package/cjs/lib/withClassWrapper.js.map +1 -0
  282. package/cjs/typings/html-props.d.ts +123 -0
  283. package/components/Autocomplete/Autocomplete/Autocomplete.js +19 -16
  284. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  285. package/components/Autocomplete/Autocomplete.d.ts +1 -0
  286. package/components/Button/Button/Button.js +24 -15
  287. package/components/Button/Button/Button.js.map +1 -1
  288. package/components/Button/Button.d.ts +5 -1
  289. package/components/Button/Button.styles/Button.styles.js +31 -28
  290. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  291. package/components/Button/Button.styles.d.ts +1 -0
  292. package/components/Center/Center/Center.js +14 -9
  293. package/components/Center/Center/Center.js.map +1 -1
  294. package/components/Center/Center.d.ts +1 -0
  295. package/components/Checkbox/Checkbox/Checkbox.js +34 -30
  296. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  297. package/components/Checkbox/Checkbox.d.ts +3 -3
  298. package/components/ComboBox/ComboBox/ComboBox.js +38 -32
  299. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  300. package/components/ComboBox/ComboBox.d.ts +2 -0
  301. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +62 -27
  302. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  303. package/components/CurrencyInput/CurrencyInput.d.ts +4 -3
  304. package/components/CurrencyLabel/CurrencyLabel.md +23 -23
  305. package/components/DateInput/DateInput/DateInput.js +7 -3
  306. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  307. package/components/DateInput/DateInput.d.ts +1 -0
  308. package/components/DatePicker/DatePicker/DatePicker.js +29 -22
  309. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  310. package/components/DatePicker/DatePicker.d.ts +4 -2
  311. package/components/Dropdown/Dropdown/Dropdown.js +15 -13
  312. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  313. package/components/Dropdown/Dropdown.d.ts +1 -0
  314. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +15 -9
  315. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  316. package/components/DropdownMenu/DropdownMenu.d.ts +3 -2
  317. package/components/FxInput/FxInput/FxInput.js +13 -9
  318. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  319. package/components/FxInput/FxInput.d.ts +1 -0
  320. package/components/Gapped/Gapped/Gapped.js +24 -21
  321. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  322. package/components/Gapped/Gapped.d.ts +2 -0
  323. package/components/Gapped/Gapped.md +43 -43
  324. package/components/Group/Group/Group.js +22 -9
  325. package/components/Group/Group/Group.js.map +1 -1
  326. package/components/Group/Group.d.ts +1 -0
  327. package/components/Hint/Hint/Hint.js +18 -12
  328. package/components/Hint/Hint/Hint.js.map +1 -1
  329. package/components/Hint/Hint.d.ts +5 -3
  330. package/components/Input/Input/Input.js +29 -14
  331. package/components/Input/Input/Input.js.map +1 -1
  332. package/components/Input/Input.d.ts +8 -1
  333. package/components/Input/Input.md +13 -13
  334. package/components/Kebab/Kebab/Kebab.js +12 -7
  335. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  336. package/components/Kebab/Kebab.d.ts +3 -2
  337. package/components/Link/Link/Link.js +15 -11
  338. package/components/Link/Link/Link.js.map +1 -1
  339. package/components/Link/Link.d.ts +1 -0
  340. package/components/Loader/Loader/Loader.js +19 -13
  341. package/components/Loader/Loader/Loader.js.map +1 -1
  342. package/components/Loader/Loader.d.ts +1 -0
  343. package/components/MenuItem/MenuItem/MenuItem.js +19 -17
  344. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  345. package/components/MenuItem/MenuItem.d.ts +2 -1
  346. package/components/Modal/Modal/Modal.js +1 -1
  347. package/components/Modal/Modal/Modal.js.map +1 -1
  348. package/components/Modal/ModalBody/ModalBody.js +16 -10
  349. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  350. package/components/Modal/ModalBody.d.ts +1 -0
  351. package/components/Paging/Paging/Paging.js +17 -14
  352. package/components/Paging/Paging/Paging.js.map +1 -1
  353. package/components/Paging/Paging.d.ts +2 -2
  354. package/components/PasswordInput/PasswordInput/PasswordInput.js +18 -14
  355. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  356. package/components/PasswordInput/PasswordInput.d.ts +3 -2
  357. package/components/PasswordInput/PasswordInput.md +9 -9
  358. package/components/Radio/Radio/Radio.js +21 -20
  359. package/components/Radio/Radio/Radio.js.map +1 -1
  360. package/components/Radio/Radio.d.ts +5 -10
  361. package/components/RadioGroup/RadioGroup/RadioGroup.js +36 -29
  362. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  363. package/components/RadioGroup/RadioGroup.d.ts +11 -26
  364. package/components/RadioGroup/RadioGroup.md +43 -43
  365. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js +12 -0
  366. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js.map +1 -0
  367. package/components/RadioGroup/RadioGroupContext/package.json +6 -0
  368. package/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  369. package/components/ScrollContainer/ScrollBar/ScrollBar.js +6 -2
  370. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  371. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +15 -9
  372. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  373. package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  374. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +11 -8
  375. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  376. package/components/ScrollContainer/ScrollContainer.styles.d.ts +1 -0
  377. package/components/Select/Select/Select.js +14 -6
  378. package/components/Select/Select/Select.js.map +1 -1
  379. package/components/Select/Select.d.ts +1 -0
  380. package/components/SidePage/SidePage/SidePage.js +27 -3
  381. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  382. package/components/SidePage/SidePage.d.ts +3 -0
  383. package/components/SidePage/SidePageBody/SidePageBody.js +16 -10
  384. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  385. package/components/SidePage/SidePageBody.d.ts +1 -0
  386. package/components/SidePage/SidePageContainer/SidePageContainer.js +16 -9
  387. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  388. package/components/SidePage/SidePageContainer.d.ts +1 -0
  389. package/components/SidePage/SidePageFooter/SidePageFooter.js +22 -19
  390. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  391. package/components/SidePage/SidePageFooter.d.ts +1 -2
  392. package/components/SidePage/SidePageHeader/SidePageHeader.js +15 -10
  393. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  394. package/components/SidePage/SidePageHeader.d.ts +1 -0
  395. package/components/Spinner/Spinner/Spinner.js +14 -6
  396. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  397. package/components/Spinner/Spinner.d.ts +9 -0
  398. package/components/Spinner/Spinner.md +1 -0
  399. package/components/Spinner/Spinner.styles/Spinner.styles.js +12 -9
  400. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  401. package/components/Spinner/Spinner.styles.d.ts +2 -1
  402. package/components/Sticky/Sticky/Sticky.js +13 -8
  403. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  404. package/components/Sticky/Sticky.d.ts +1 -0
  405. package/components/Switcher/Switcher/Switcher.js +11 -6
  406. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  407. package/components/Switcher/Switcher.d.ts +1 -0
  408. package/components/Switcher/Switcher.styles/Switcher.styles.js +3 -1
  409. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  410. package/components/Tabs/Indicator/Indicator.js +16 -14
  411. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  412. package/components/Tabs/Indicator.d.ts +1 -0
  413. package/components/Tabs/Tab/Tab.js +31 -34
  414. package/components/Tabs/Tab/Tab.js.map +1 -1
  415. package/components/Tabs/Tab.d.ts +2 -1
  416. package/components/Tabs/Tabs/Tabs.js +20 -20
  417. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  418. package/components/Tabs/Tabs.d.ts +1 -0
  419. package/components/Textarea/Textarea/Textarea.js +21 -17
  420. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  421. package/components/Textarea/Textarea.d.ts +1 -0
  422. package/components/Toast/Toast/Toast.js +29 -14
  423. package/components/Toast/Toast/Toast.js.map +1 -1
  424. package/components/Toast/Toast.d.ts +3 -0
  425. package/components/Toast/ToastView/ToastView.js +10 -5
  426. package/components/Toast/ToastView/ToastView.js.map +1 -1
  427. package/components/Toast/ToastView.d.ts +1 -0
  428. package/components/Toggle/Toggle/Toggle.js +16 -11
  429. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  430. package/components/Toggle/Toggle.d.ts +1 -0
  431. package/components/Token/Token/Token.js +11 -4
  432. package/components/Token/Token/Token.js.map +1 -1
  433. package/components/Token/Token.d.ts +1 -0
  434. package/components/Token/Token.md +112 -112
  435. package/components/TokenInput/TokenInput/TokenInput.js +12 -6
  436. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  437. package/components/TokenInput/TokenInput.d.ts +1 -0
  438. package/components/Tooltip/Tooltip/Tooltip.js +26 -17
  439. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  440. package/components/Tooltip/Tooltip.d.ts +11 -22
  441. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +23 -17
  442. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  443. package/components/TooltipMenu/TooltipMenu.d.ts +3 -2
  444. package/index.d.ts +1 -1
  445. package/index.js +2 -2
  446. package/index.js.map +1 -1
  447. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +37 -10
  448. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  449. package/internal/CommonWrapper/CommonWrapper.d.ts +9 -1
  450. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +5 -3
  451. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  452. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +23 -13
  453. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  454. package/internal/CustomComboBox/ComboBoxView.d.ts +4 -1
  455. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +12 -4
  456. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  457. package/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
  458. package/internal/DateSelect/DateSelect/DateSelect.js +5 -5
  459. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  460. package/internal/DateSelect/DateSelect.d.ts +2 -2
  461. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +11 -15
  462. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  463. package/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
  464. package/internal/FocusTrap/FocusTrap/FocusTrap.js +17 -9
  465. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  466. package/internal/FocusTrap/FocusTrap.d.ts +1 -0
  467. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +13 -7
  468. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  469. package/internal/InputLikeText/InputLikeText/InputLikeText.js +11 -6
  470. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  471. package/internal/InputLikeText/InputLikeText.d.ts +1 -0
  472. package/internal/InternalMenu/InternalMenu/InternalMenu.js +24 -25
  473. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  474. package/internal/InternalMenu/InternalMenu.d.ts +2 -3
  475. package/internal/MaskedInput/MaskedInput/MaskedInput.js +7 -7
  476. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  477. package/internal/MaskedInput/MaskedInput.d.ts +2 -2
  478. package/internal/Menu/Menu/Menu.js +11 -8
  479. package/internal/Menu/Menu/Menu.js.map +1 -1
  480. package/internal/Menu/Menu.d.ts +1 -0
  481. package/internal/Popup/Popup/Popup.js +85 -68
  482. package/internal/Popup/Popup/Popup.js.map +1 -1
  483. package/internal/Popup/Popup.d.ts +9 -8
  484. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  485. package/internal/Popup/PopupHelper.d.ts +2 -2
  486. package/{components/FileUploader/locale → internal/Popup}/types/package.json +1 -1
  487. package/{components/FileUploader/locale → internal/Popup}/types/types.js +0 -0
  488. package/{components/FileUploader/locale → internal/Popup}/types/types.js.map +0 -0
  489. package/internal/Popup/types.d.ts +1 -0
  490. package/internal/PopupMenu/PopupMenu/PopupMenu.js +15 -10
  491. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  492. package/internal/PopupMenu/PopupMenu.d.ts +4 -3
  493. package/internal/PopupMenu/validatePositions/validatePositions.js +2 -2
  494. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  495. package/internal/PopupMenu/validatePositions.d.ts +2 -2
  496. package/internal/RenderContainer/RenderContainer/RenderContainer.js +3 -1
  497. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  498. package/internal/RenderContainer/RenderContainer.d.ts +1 -1
  499. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
  500. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  501. package/internal/RenderLayer/RenderLayer/RenderLayer.js +20 -18
  502. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  503. package/internal/RenderLayer/RenderLayer.d.ts +3 -1
  504. package/internal/ThemePlayground/Playground/Playground.js +1 -11
  505. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  506. package/internal/ThemePlayground/Playground.d.ts +0 -1
  507. package/internal/ThemePlayground/darkTheme/darkTheme.js +1 -26
  508. package/internal/ThemePlayground/darkTheme/darkTheme.js.map +1 -1
  509. package/internal/ThemePlayground/darkTheme.d.ts +0 -15
  510. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +35 -43
  511. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  512. package/internal/ThemeShowcase/ThemeShowcase.d.ts +1 -1
  513. package/internal/ThemeShowcase/ThemeShowcase.md +13 -13
  514. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  515. package/internal/ZIndex/ZIndex/ZIndex.js +20 -8
  516. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  517. package/internal/ZIndex/ZIndex.d.ts +2 -0
  518. package/internal/icons/16px/index/index.js +83 -78
  519. package/internal/icons/16px/index/index.js.map +1 -1
  520. package/internal/icons/16px/index.d.ts +17 -19
  521. package/internal/icons/SpinnerIcon/SpinnerIcon.js +5 -2
  522. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  523. package/internal/icons/SpinnerIcon.d.ts +4 -1
  524. package/internal/themes/DefaultTheme/DefaultTheme.js +0 -67
  525. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  526. package/internal/themes/DefaultTheme.d.ts +0 -23
  527. package/lib/ModalStack/ModalStack.js +9 -13
  528. package/lib/ModalStack/ModalStack.js.map +1 -1
  529. package/lib/callChildRef/callChildRef/callChildRef.js +14 -0
  530. package/lib/callChildRef/callChildRef/callChildRef.js.map +1 -0
  531. package/lib/callChildRef/callChildRef/package.json +6 -0
  532. package/lib/callChildRef/callChildRef.d.ts +3 -0
  533. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js +19 -0
  534. package/lib/events/fixFirefoxModifiedClickOnLabel/fixFirefoxModifiedClickOnLabel.js.map +1 -0
  535. package/lib/events/fixFirefoxModifiedClickOnLabel/package.json +6 -0
  536. package/lib/events/fixFirefoxModifiedClickOnLabel.d.ts +2 -0
  537. package/lib/getDisplayName/getDisplayName.js +3 -0
  538. package/lib/getDisplayName/getDisplayName.js.map +1 -0
  539. package/lib/getDisplayName/package.json +6 -0
  540. package/lib/getDisplayName.d.ts +3 -0
  541. package/lib/locale/types/types.js.map +1 -1
  542. package/lib/locale/types.d.ts +0 -2
  543. package/lib/rootNode/getRootNode/getRootNode.js +25 -0
  544. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -0
  545. package/lib/rootNode/getRootNode/package.json +6 -0
  546. package/lib/rootNode/getRootNode.d.ts +3 -0
  547. package/lib/rootNode/index/index.js +2 -0
  548. package/lib/rootNode/index/index.js.map +1 -0
  549. package/{components/FileUploader → lib/rootNode}/index/package.json +1 -1
  550. package/lib/rootNode/index.d.ts +2 -0
  551. package/{components/FileUploader → lib/rootNode}/package.json +1 -1
  552. package/lib/rootNode/rootNodeDecorator/package.json +6 -0
  553. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +37 -0
  554. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -0
  555. package/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  556. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +1 -1
  557. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  558. package/lib/theming/Emotion/Emotion.js +1 -0
  559. package/lib/theming/Emotion/Emotion.js.map +1 -1
  560. package/lib/theming/useTheme/package.json +6 -0
  561. package/lib/theming/useTheme/useTheme.js +5 -0
  562. package/lib/theming/useTheme/useTheme.js.map +1 -0
  563. package/lib/theming/useTheme.d.ts +1 -0
  564. package/lib/utils/utils.js +77 -19
  565. package/lib/utils/utils.js.map +1 -1
  566. package/lib/utils.d.ts +35 -1
  567. package/lib/withClassWrapper/package.json +6 -0
  568. package/lib/withClassWrapper/withClassWrapper.js +70 -0
  569. package/lib/withClassWrapper/withClassWrapper.js.map +1 -0
  570. package/lib/withClassWrapper.d.ts +71 -0
  571. package/package.json +13 -5
  572. package/typings/html-props.d.ts +123 -0
  573. package/cjs/components/FileUploader/FileUploader.d.ts +0 -31
  574. package/cjs/components/FileUploader/FileUploader.js +0 -270
  575. package/cjs/components/FileUploader/FileUploader.js.map +0 -1
  576. package/cjs/components/FileUploader/FileUploader.md +0 -67
  577. package/cjs/components/FileUploader/FileUploader.styles.d.ts +0 -19
  578. package/cjs/components/FileUploader/FileUploader.styles.js +0 -159
  579. package/cjs/components/FileUploader/FileUploader.styles.js.map +0 -1
  580. package/cjs/components/FileUploader/index.d.ts +0 -4
  581. package/cjs/components/FileUploader/index.js +0 -4
  582. package/cjs/components/FileUploader/index.js.map +0 -1
  583. package/cjs/components/FileUploader/locale/index.d.ts +0 -4
  584. package/cjs/components/FileUploader/locale/index.js +0 -11
  585. package/cjs/components/FileUploader/locale/index.js.map +0 -1
  586. package/cjs/components/FileUploader/locale/locales/en.d.ts +0 -2
  587. package/cjs/components/FileUploader/locale/locales/en.js +0 -7
  588. package/cjs/components/FileUploader/locale/locales/en.js.map +0 -1
  589. package/cjs/components/FileUploader/locale/locales/ru.d.ts +0 -2
  590. package/cjs/components/FileUploader/locale/locales/ru.js +0 -7
  591. package/cjs/components/FileUploader/locale/locales/ru.js.map +0 -1
  592. package/cjs/components/FileUploader/locale/types.d.ts +0 -6
  593. package/cjs/hooks/useDrop.d.ts +0 -11
  594. package/cjs/hooks/useDrop.js +0 -75
  595. package/cjs/hooks/useDrop.js.map +0 -1
  596. package/cjs/hooks/useMemoObject.d.ts +0 -1
  597. package/cjs/hooks/useMemoObject.js +0 -5
  598. package/cjs/hooks/useMemoObject.js.map +0 -1
  599. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +0 -11
  600. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js +0 -15
  601. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js.map +0 -1
  602. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +0 -14
  603. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +0 -107
  604. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +0 -1
  605. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +0 -10
  606. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +0 -187
  607. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +0 -1
  608. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +0 -11
  609. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js +0 -66
  610. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js.map +0 -1
  611. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +0 -4
  612. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +0 -24
  613. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +0 -1
  614. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +0 -4
  615. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js +0 -17
  616. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js.map +0 -1
  617. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +0 -7
  618. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js +0 -16
  619. package/cjs/internal/FileUploaderControl/FileUploaderFileValidationResult.js.map +0 -1
  620. package/cjs/internal/FileUploaderControl/fileUtils.d.ts +0 -18
  621. package/cjs/internal/FileUploaderControl/fileUtils.js +0 -55
  622. package/cjs/internal/FileUploaderControl/fileUtils.js.map +0 -1
  623. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.d.ts +0 -1
  624. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js +0 -4
  625. package/cjs/internal/FileUploaderControl/hooks/useControlLocale.js.map +0 -1
  626. package/cjs/internal/FileUploaderControl/hooks/useUpload.d.ts +0 -3
  627. package/cjs/internal/FileUploaderControl/hooks/useUpload.js +0 -51
  628. package/cjs/internal/FileUploaderControl/hooks/useUpload.js.map +0 -1
  629. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +0 -3
  630. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +0 -18
  631. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +0 -1
  632. package/cjs/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
  633. package/cjs/internal/PopupMenu/PopupMenuPositions.js +0 -15
  634. package/cjs/internal/PopupMenu/PopupMenuPositions.js.map +0 -1
  635. package/cjs/internal/TextWidthHelper/TextWidthHelper.d.ts +0 -15
  636. package/cjs/internal/TextWidthHelper/TextWidthHelper.js +0 -34
  637. package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +0 -1
  638. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +0 -4
  639. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js +0 -23
  640. package/cjs/internal/TextWidthHelper/TextWidthHelper.styles.js.map +0 -1
  641. package/cjs/lib/guidUtils.d.ts +0 -1
  642. package/cjs/lib/guidUtils.js +0 -5
  643. package/cjs/lib/guidUtils.js.map +0 -1
  644. package/cjs/lib/locale/useLocaleForControl.d.ts +0 -3
  645. package/cjs/lib/locale/useLocaleForControl.js +0 -14
  646. package/cjs/lib/locale/useLocaleForControl.js.map +0 -1
  647. package/cjs/lib/stringUtils.d.ts +0 -1
  648. package/cjs/lib/stringUtils.js +0 -13
  649. package/cjs/lib/stringUtils.js.map +0 -1
  650. package/components/FileUploader/FileUploader/FileUploader.js +0 -277
  651. package/components/FileUploader/FileUploader/FileUploader.js.map +0 -1
  652. package/components/FileUploader/FileUploader/package.json +0 -6
  653. package/components/FileUploader/FileUploader.d.ts +0 -31
  654. package/components/FileUploader/FileUploader.md +0 -67
  655. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +0 -56
  656. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +0 -1
  657. package/components/FileUploader/FileUploader.styles/package.json +0 -6
  658. package/components/FileUploader/FileUploader.styles.d.ts +0 -19
  659. package/components/FileUploader/index/index.js +0 -3
  660. package/components/FileUploader/index/index.js.map +0 -1
  661. package/components/FileUploader/index.d.ts +0 -4
  662. package/components/FileUploader/locale/index/index.js +0 -8
  663. package/components/FileUploader/locale/index/index.js.map +0 -1
  664. package/components/FileUploader/locale/index/package.json +0 -6
  665. package/components/FileUploader/locale/index.d.ts +0 -4
  666. package/components/FileUploader/locale/locales/en/en.js +0 -6
  667. package/components/FileUploader/locale/locales/en/en.js.map +0 -1
  668. package/components/FileUploader/locale/locales/en/package.json +0 -6
  669. package/components/FileUploader/locale/locales/en.d.ts +0 -2
  670. package/components/FileUploader/locale/locales/ru/package.json +0 -6
  671. package/components/FileUploader/locale/locales/ru/ru.js +0 -6
  672. package/components/FileUploader/locale/locales/ru/ru.js.map +0 -1
  673. package/components/FileUploader/locale/locales/ru.d.ts +0 -2
  674. package/components/FileUploader/locale/package.json +0 -6
  675. package/components/FileUploader/locale/types.d.ts +0 -6
  676. package/hooks/useDrop/package.json +0 -6
  677. package/hooks/useDrop/useDrop.js +0 -57
  678. package/hooks/useDrop/useDrop.js.map +0 -1
  679. package/hooks/useDrop.d.ts +0 -11
  680. package/hooks/useMemoObject/package.json +0 -6
  681. package/hooks/useMemoObject/useMemoObject.js +0 -6
  682. package/hooks/useMemoObject/useMemoObject.js.map +0 -1
  683. package/hooks/useMemoObject.d.ts +0 -1
  684. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js +0 -2
  685. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js.map +0 -1
  686. package/internal/FileUploaderControl/FileUploaderControlContext/package.json +0 -6
  687. package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +0 -11
  688. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +0 -79
  689. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +0 -1
  690. package/internal/FileUploaderControl/FileUploaderControlProvider/package.json +0 -6
  691. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +0 -14
  692. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +0 -176
  693. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +0 -1
  694. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/package.json +0 -6
  695. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +0 -10
  696. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js +0 -32
  697. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js.map +0 -1
  698. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/package.json +0 -6
  699. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +0 -11
  700. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +0 -23
  701. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +0 -1
  702. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/package.json +0 -6
  703. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +0 -4
  704. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js +0 -11
  705. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js.map +0 -1
  706. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/package.json +0 -6
  707. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +0 -4
  708. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js +0 -18
  709. package/internal/FileUploaderControl/FileUploaderFileValidationResult/FileUploaderFileValidationResult.js.map +0 -1
  710. package/internal/FileUploaderControl/FileUploaderFileValidationResult/package.json +0 -6
  711. package/internal/FileUploaderControl/FileUploaderFileValidationResult.d.ts +0 -7
  712. package/internal/FileUploaderControl/fileUtils/fileUtils.js +0 -85
  713. package/internal/FileUploaderControl/fileUtils/fileUtils.js.map +0 -1
  714. package/internal/FileUploaderControl/fileUtils/package.json +0 -6
  715. package/internal/FileUploaderControl/fileUtils.d.ts +0 -18
  716. package/internal/FileUploaderControl/hooks/useControlLocale/package.json +0 -6
  717. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js +0 -5
  718. package/internal/FileUploaderControl/hooks/useControlLocale/useControlLocale.js.map +0 -1
  719. package/internal/FileUploaderControl/hooks/useControlLocale.d.ts +0 -1
  720. package/internal/FileUploaderControl/hooks/useUpload/package.json +0 -6
  721. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js +0 -56
  722. package/internal/FileUploaderControl/hooks/useUpload/useUpload.js.map +0 -1
  723. package/internal/FileUploaderControl/hooks/useUpload.d.ts +0 -3
  724. package/internal/FileUploaderControl/withFileUploaderControlProvider/package.json +0 -6
  725. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +0 -16
  726. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +0 -1
  727. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +0 -3
  728. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js +0 -1
  729. package/internal/PopupMenu/PopupMenuPositions/PopupMenuPositions.js.map +0 -1
  730. package/internal/PopupMenu/PopupMenuPositions/package.json +0 -6
  731. package/internal/PopupMenu/PopupMenuPositions.d.ts +0 -2
  732. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +0 -49
  733. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +0 -1
  734. package/internal/TextWidthHelper/TextWidthHelper/package.json +0 -6
  735. package/internal/TextWidthHelper/TextWidthHelper.d.ts +0 -15
  736. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js +0 -14
  737. package/internal/TextWidthHelper/TextWidthHelper.styles/TextWidthHelper.styles.js.map +0 -1
  738. package/internal/TextWidthHelper/TextWidthHelper.styles/package.json +0 -6
  739. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +0 -4
  740. package/lib/guidUtils/guidUtils.js +0 -4
  741. package/lib/guidUtils/guidUtils.js.map +0 -1
  742. package/lib/guidUtils/package.json +0 -6
  743. package/lib/guidUtils.d.ts +0 -1
  744. package/lib/locale/useLocaleForControl/package.json +0 -6
  745. package/lib/locale/useLocaleForControl/useLocaleForControl.js +0 -12
  746. package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +0 -1
  747. package/lib/locale/useLocaleForControl.d.ts +0 -3
  748. package/lib/stringUtils/package.json +0 -6
  749. package/lib/stringUtils/stringUtils.js +0 -12
  750. package/lib/stringUtils/stringUtils.js.map +0 -1
  751. package/lib/stringUtils.d.ts +0 -1
@@ -1,7 +1,7 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");
2
2
 
3
3
  var _AnimationKeyframes = require("../../lib/theming/AnimationKeyframes");
4
- var _client = require("../../lib/client");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
4
+ var _client = require("../../lib/client");var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
5
5
 
6
6
  var styles = (0, _Emotion.memoizeStyle)({
7
7
  circle: function circle(t) {
@@ -17,10 +17,13 @@ var styles = (0, _Emotion.memoizeStyle)({
17
17
 
18
18
 
19
19
  },
20
- circleDimmed: function circleDimmed(t) {
21
- return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n stroke: ", ";\n\n ", "\n "])),
22
- t.spinnerDimmedColor,
20
+ circleDimmedColor: function circleDimmedColor(t) {
21
+ return (0, _Emotion.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteralLoose2.default)(["\n stroke: ", ";\n "])),
22
+ t.spinnerDimmedColor);
23
23
 
24
+ },
25
+ circleWithoutColorAnimation: function circleWithoutColorAnimation(t) {
26
+ return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n ", "\n "])),
24
27
  !_client.isIE11 && "\n animation: " +
25
28
 
26
29
  _AnimationKeyframes.AnimationKeyframes.spinnerCircleOffset(t) + " 1s cubic-bezier(0.5, 0.2, 0.5, 0.8) infinite,\n " +
@@ -31,13 +34,13 @@ var styles = (0, _Emotion.memoizeStyle)({
31
34
  },
32
35
 
33
36
  captionColor: function captionColor(t) {
34
- return (0, _Emotion.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n "])),
37
+ return (0, _Emotion.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n color: ", ";\n "])),
35
38
  t.spinnerCaptionColor);
36
39
 
37
40
  },
38
41
 
39
42
  mini: function mini(t) {
40
- return (0, _Emotion.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteralLoose2.default)(["\n margin-left: ", ";\n font-size: ", ";\n line-height: ", ";\n "])),
43
+ return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n margin-left: ", ";\n font-size: ", ";\n line-height: ", ";\n "])),
41
44
  t.spinnerCaptionGapSmall,
42
45
  t.spinnerFontSizeSmall,
43
46
  t.spinnerLineHeightSmall);
@@ -45,7 +48,7 @@ var styles = (0, _Emotion.memoizeStyle)({
45
48
  },
46
49
 
47
50
  normal: function normal(t) {
48
- return (0, _Emotion.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: block;\n font-size: ", ";\n line-height: ", ";\n margin-top: ", ";\n "])),
51
+ return (0, _Emotion.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: block;\n font-size: ", ";\n line-height: ", ";\n margin-top: ", ";\n "])),
49
52
 
50
53
  t.spinnerFontSizeMedium,
51
54
  t.spinnerLineHeightMedium,
@@ -54,7 +57,7 @@ var styles = (0, _Emotion.memoizeStyle)({
54
57
  },
55
58
 
56
59
  big: function big(t) {
57
- return (0, _Emotion.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: block;\n font-size: ", ";\n line-height: ", ";\n margin-top: ", ";\n "])),
60
+ return (0, _Emotion.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: block;\n font-size: ", ";\n line-height: ", ";\n margin-top: ", ";\n "])),
58
61
 
59
62
  t.spinnerFontSizeLarge,
60
63
  t.spinnerLineHeightLarge,
@@ -63,14 +66,14 @@ var styles = (0, _Emotion.memoizeStyle)({
63
66
  },
64
67
 
65
68
  spinner: function spinner() {
66
- return (0, _Emotion.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n text-align: center;\n "])));
69
+ return (0, _Emotion.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n text-align: center;\n "])));
67
70
 
68
71
 
69
72
 
70
73
  },
71
74
 
72
75
  inner: function inner() {
73
- return (0, _Emotion.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n "])));
76
+ return (0, _Emotion.css)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-block;\n "])));
74
77
 
75
78
 
76
79
  } });exports.styles = styles;
@@ -1 +1 @@
1
- {"version":3,"sources":["Spinner.styles.ts"],"names":["styles","circle","t","css","spinnerColor","isIE11","AnimationKeyframes","spinnerCircleOffset","spinnerCircleLength","spinnerCircleRotate","circleDimmed","spinnerDimmedColor","captionColor","spinnerCaptionColor","mini","spinnerCaptionGapSmall","spinnerFontSizeSmall","spinnerLineHeightSmall","normal","spinnerFontSizeMedium","spinnerLineHeightMedium","spinnerCaptionGapMedium","big","spinnerFontSizeLarge","spinnerLineHeightLarge","spinnerCaptionGapLarge","spinner","inner"],"mappings":"4QAAA;;AAEA;AACA,0C;;AAEO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,MADiC,kBAC1BC,CAD0B,EAChB;AACf,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACE,YADd;;AAGI,KAACC,cAAD;;AAEeC,2CAAmBC,mBAAnB,CAAuCL,CAAvC,CAFf;AAGMI,2CAAmBE,mBAAnB,CAAuCN,CAAvC,CAHN;AAIMI,2CAAmBG,mBAAnB,CAAuCP,CAAvC,CAJN;AAKMI,2CAAmBF,YAAnB,CAAgCF,CAAhC,CALN,wCAHJ;;;AAWD,GAbgC;AAcjCQ,EAAAA,YAdiC,wBAcpBR,CAdoB,EAcV;AACrB,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACS,kBADd;;AAGI,KAACN,cAAD;;AAEeC,2CAAmBC,mBAAnB,CAAuCL,CAAvC,CAFf;AAGII,2CAAmBE,mBAAnB,CAAuCN,CAAvC,CAHJ;AAIII,2CAAmBG,mBAAnB,CAAuCP,CAAvC,CAJJ,mCAHJ;;;AAUD,GAzBgC;;AA2BjCU,EAAAA,YA3BiC,wBA2BpBV,CA3BoB,EA2BV;AACrB,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAACW,mBADb;;AAGD,GA/BgC;;AAiCjCC,EAAAA,IAjCiC,gBAiC5BZ,CAjC4B,EAiClB;AACb,eAAOC,YAAP;AACiBD,IAAAA,CAAC,CAACa,sBADnB;AAEeb,IAAAA,CAAC,CAACc,oBAFjB;AAGiBd,IAAAA,CAAC,CAACe,sBAHnB;;AAKD,GAvCgC;;AAyCjCC,EAAAA,MAzCiC,kBAyC1BhB,CAzC0B,EAyChB;AACf,eAAOC,YAAP;;AAEeD,IAAAA,CAAC,CAACiB,qBAFjB;AAGiBjB,IAAAA,CAAC,CAACkB,uBAHnB;AAIgBlB,IAAAA,CAAC,CAACmB,uBAJlB;;AAMD,GAhDgC;;AAkDjCC,EAAAA,GAlDiC,eAkD7BpB,CAlD6B,EAkDnB;AACZ,eAAOC,YAAP;;AAEeD,IAAAA,CAAC,CAACqB,oBAFjB;AAGiBrB,IAAAA,CAAC,CAACsB,sBAHnB;AAIgBtB,IAAAA,CAAC,CAACuB,sBAJlB;;AAMD,GAzDgC;;AA2DjCC,EAAAA,OA3DiC,qBA2DvB;AACR,eAAOvB,YAAP;;;;AAID,GAhEgC;;AAkEjCwB,EAAAA,KAlEiC,mBAkEzB;AACN,eAAOxB,YAAP;;;AAGD,GAtEgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { AnimationKeyframes } from '../../lib/theming/AnimationKeyframes';\nimport { isIE11 } from '../../lib/client';\n\nexport const styles = memoizeStyle({\n circle(t: Theme) {\n return css`\n stroke: ${t.spinnerColor};\n\n ${!isIE11 &&\n `\n animation: ${AnimationKeyframes.spinnerCircleOffset(t)} 1s cubic-bezier(0.5, 0.2, 0.5, 0.8) infinite,\n ${AnimationKeyframes.spinnerCircleLength(t)} 2s cubic-bezier(0.36, 0.14, 0.38, 0.69) infinite,\n ${AnimationKeyframes.spinnerCircleRotate(t)} 2s linear infinite,\n ${AnimationKeyframes.spinnerColor(t)} 6s ease-in-out infinite;\n `}\n `;\n },\n circleDimmed(t: Theme) {\n return css`\n stroke: ${t.spinnerDimmedColor};\n\n ${!isIE11 &&\n `\n animation: ${AnimationKeyframes.spinnerCircleOffset(t)} 1s cubic-bezier(0.5, 0.2, 0.5, 0.8) infinite,\n ${AnimationKeyframes.spinnerCircleLength(t)} 2s cubic-bezier(0.36, 0.14, 0.38, 0.69) infinite,\n ${AnimationKeyframes.spinnerCircleRotate(t)} 2s linear infinite;\n `}\n `;\n },\n\n captionColor(t: Theme) {\n return css`\n color: ${t.spinnerCaptionColor};\n `;\n },\n\n mini(t: Theme) {\n return css`\n margin-left: ${t.spinnerCaptionGapSmall};\n font-size: ${t.spinnerFontSizeSmall};\n line-height: ${t.spinnerLineHeightSmall};\n `;\n },\n\n normal(t: Theme) {\n return css`\n display: block;\n font-size: ${t.spinnerFontSizeMedium};\n line-height: ${t.spinnerLineHeightMedium};\n margin-top: ${t.spinnerCaptionGapMedium};\n `;\n },\n\n big(t: Theme) {\n return css`\n display: block;\n font-size: ${t.spinnerFontSizeLarge};\n line-height: ${t.spinnerLineHeightLarge};\n margin-top: ${t.spinnerCaptionGapLarge};\n `;\n },\n\n spinner() {\n return css`\n display: inline-block;\n text-align: center;\n `;\n },\n\n inner() {\n return css`\n display: inline-block;\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["Spinner.styles.ts"],"names":["styles","circle","t","css","spinnerColor","isIE11","AnimationKeyframes","spinnerCircleOffset","spinnerCircleLength","spinnerCircleRotate","circleDimmedColor","spinnerDimmedColor","circleWithoutColorAnimation","captionColor","spinnerCaptionColor","mini","spinnerCaptionGapSmall","spinnerFontSizeSmall","spinnerLineHeightSmall","normal","spinnerFontSizeMedium","spinnerLineHeightMedium","spinnerCaptionGapMedium","big","spinnerFontSizeLarge","spinnerLineHeightLarge","spinnerCaptionGapLarge","spinner","inner"],"mappings":"4QAAA;;AAEA;AACA,0C;;AAEO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,MADiC,kBAC1BC,CAD0B,EAChB;AACf,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACE,YADd;;AAGI,KAACC,cAAD;;AAEeC,2CAAmBC,mBAAnB,CAAuCL,CAAvC,CAFf;AAGMI,2CAAmBE,mBAAnB,CAAuCN,CAAvC,CAHN;AAIMI,2CAAmBG,mBAAnB,CAAuCP,CAAvC,CAJN;AAKMI,2CAAmBF,YAAnB,CAAgCF,CAAhC,CALN,wCAHJ;;;AAWD,GAbgC;AAcjCQ,EAAAA,iBAdiC,6BAcfR,CAde,EAcL;AAC1B,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACS,kBADd;;AAGD,GAlBgC;AAmBjCC,EAAAA,2BAnBiC,uCAmBLV,CAnBK,EAmBK;AACpC,eAAOC,YAAP;AACI,KAACE,cAAD;;AAEeC,2CAAmBC,mBAAnB,CAAuCL,CAAvC,CAFf;AAGII,2CAAmBE,mBAAnB,CAAuCN,CAAvC,CAHJ;AAIII,2CAAmBG,mBAAnB,CAAuCP,CAAvC,CAJJ,mCADJ;;;AAQD,GA5BgC;;AA8BjCW,EAAAA,YA9BiC,wBA8BpBX,CA9BoB,EA8BV;AACrB,eAAOC,YAAP;AACWD,IAAAA,CAAC,CAACY,mBADb;;AAGD,GAlCgC;;AAoCjCC,EAAAA,IApCiC,gBAoC5Bb,CApC4B,EAoClB;AACb,eAAOC,YAAP;AACiBD,IAAAA,CAAC,CAACc,sBADnB;AAEed,IAAAA,CAAC,CAACe,oBAFjB;AAGiBf,IAAAA,CAAC,CAACgB,sBAHnB;;AAKD,GA1CgC;;AA4CjCC,EAAAA,MA5CiC,kBA4C1BjB,CA5C0B,EA4ChB;AACf,eAAOC,YAAP;;AAEeD,IAAAA,CAAC,CAACkB,qBAFjB;AAGiBlB,IAAAA,CAAC,CAACmB,uBAHnB;AAIgBnB,IAAAA,CAAC,CAACoB,uBAJlB;;AAMD,GAnDgC;;AAqDjCC,EAAAA,GArDiC,eAqD7BrB,CArD6B,EAqDnB;AACZ,eAAOC,YAAP;;AAEeD,IAAAA,CAAC,CAACsB,oBAFjB;AAGiBtB,IAAAA,CAAC,CAACuB,sBAHnB;AAIgBvB,IAAAA,CAAC,CAACwB,sBAJlB;;AAMD,GA5DgC;;AA8DjCC,EAAAA,OA9DiC,qBA8DvB;AACR,eAAOxB,YAAP;;;;AAID,GAnEgC;;AAqEjCyB,EAAAA,KArEiC,mBAqEzB;AACN,eAAOzB,YAAP;;;AAGD,GAzEgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { AnimationKeyframes } from '../../lib/theming/AnimationKeyframes';\nimport { isIE11 } from '../../lib/client';\n\nexport const styles = memoizeStyle({\n circle(t: Theme) {\n return css`\n stroke: ${t.spinnerColor};\n\n ${!isIE11 &&\n `\n animation: ${AnimationKeyframes.spinnerCircleOffset(t)} 1s cubic-bezier(0.5, 0.2, 0.5, 0.8) infinite,\n ${AnimationKeyframes.spinnerCircleLength(t)} 2s cubic-bezier(0.36, 0.14, 0.38, 0.69) infinite,\n ${AnimationKeyframes.spinnerCircleRotate(t)} 2s linear infinite,\n ${AnimationKeyframes.spinnerColor(t)} 6s ease-in-out infinite;\n `}\n `;\n },\n circleDimmedColor(t: Theme) {\n return css`\n stroke: ${t.spinnerDimmedColor};\n `;\n },\n circleWithoutColorAnimation(t: Theme) {\n return css`\n ${!isIE11 &&\n `\n animation: ${AnimationKeyframes.spinnerCircleOffset(t)} 1s cubic-bezier(0.5, 0.2, 0.5, 0.8) infinite,\n ${AnimationKeyframes.spinnerCircleLength(t)} 2s cubic-bezier(0.36, 0.14, 0.38, 0.69) infinite,\n ${AnimationKeyframes.spinnerCircleRotate(t)} 2s linear infinite;\n `}\n `;\n },\n\n captionColor(t: Theme) {\n return css`\n color: ${t.spinnerCaptionColor};\n `;\n },\n\n mini(t: Theme) {\n return css`\n margin-left: ${t.spinnerCaptionGapSmall};\n font-size: ${t.spinnerFontSizeSmall};\n line-height: ${t.spinnerLineHeightSmall};\n `;\n },\n\n normal(t: Theme) {\n return css`\n display: block;\n font-size: ${t.spinnerFontSizeMedium};\n line-height: ${t.spinnerLineHeightMedium};\n margin-top: ${t.spinnerCaptionGapMedium};\n `;\n },\n\n big(t: Theme) {\n return css`\n display: block;\n font-size: ${t.spinnerFontSizeLarge};\n line-height: ${t.spinnerLineHeightLarge};\n margin-top: ${t.spinnerCaptionGapLarge};\n `;\n },\n\n spinner() {\n return css`\n display: inline-block;\n text-align: center;\n `;\n },\n\n inner() {\n return css`\n display: inline-block;\n `;\n },\n});\n"]}
@@ -43,6 +43,7 @@ export declare class Sticky extends React.Component<StickyProps, StickyState> {
43
43
  private inner;
44
44
  private layoutSubscription;
45
45
  private reflowCounter;
46
+ private setRootNode;
46
47
  componentDidMount(): void;
47
48
  componentWillUnmount(): void;
48
49
  componentDidUpdate(prevProps: StickyProps, prevState: StickyState): void;
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.Sticky = void 0;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");exports.__esModule = true;exports.Sticky = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
  var _propTypes = _interopRequireDefault(require("prop-types"));
3
3
  var _shallowequal = _interopRequireDefault(require("shallowequal"));
4
4
 
@@ -8,8 +8,9 @@ var _utils = require("../../lib/utils");
8
8
  var _ZIndex = require("../../internal/ZIndex");
9
9
  var _CommonWrapper = require("../../internal/CommonWrapper");
10
10
  var _Emotion = require("../../lib/theming/Emotion");
11
+ var _rootNode = require("../../lib/rootNode");
11
12
 
12
- var _Sticky = require("./Sticky.styles");
13
+ var _Sticky = require("./Sticky.styles");var _class, _class2, _temp;
13
14
 
14
15
  var MAX_REFLOW_RETRIES = 5;var
15
16
 
@@ -34,7 +35,8 @@ var MAX_REFLOW_RETRIES = 5;var
34
35
 
35
36
 
36
37
 
37
- Sticky = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Sticky, _React$Component);function Sticky() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
38
+
39
+ Sticky = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Sticky, _React$Component);function Sticky() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
38
40
 
39
41
 
40
42
 
@@ -66,6 +68,7 @@ Sticky = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(
66
68
  inner = void 0;_this.
67
69
  layoutSubscription = { remove: null };_this.
68
70
  reflowCounter = 0;_this.
71
+ setRootNode = void 0;_this.
69
72
 
70
73
 
71
74
 
@@ -179,8 +182,8 @@ Sticky = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(
179
182
  _this.setState({ relativeTop: relativeTop, deltaHeight: deltaHeight, stopped: stopped });
180
183
  }
181
184
  }
182
- };return _this;}var _proto = Sticky.prototype;_proto.componentDidMount = function componentDidMount() {this.reflow();this.layoutSubscription = LayoutEvents.addListener(this.reflow);};_proto.componentWillUnmount = function componentWillUnmount() {if (this.layoutSubscription.remove) {this.layoutSubscription.remove();}};_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {if (!(0, _shallowequal.default)(prevProps, this.props) || !(0, _shallowequal.default)(prevState, this.state)) {if (this.reflowCounter < MAX_REFLOW_RETRIES) {LayoutEvents.emit();this.reflowCounter += 1;return;}}this.reflowCounter = 0;};_proto.render = function render() {var _cx;var children = this.props.children;var _this$props2 = this.props,side = _this$props2.side,offset = _this$props2.offset;var _this$state2 = this.state,fixed = _this$state2.fixed,stopped = _this$state2.stopped,relativeTop = _this$state2.relativeTop,deltaHeight = _this$state2.deltaHeight,width = _this$state2.width,height = _this$state2.height,left = _this$state2.left;var innerStyle = {};if (fixed) {if (stopped) {innerStyle.top = relativeTop;innerStyle[side === 'top' ? 'marginTop' : 'marginBottom'] = deltaHeight;} else {innerStyle.width = width;innerStyle[side] = offset;innerStyle.left = left;}}if ((0, _utils.isFunction)(children)) {children = children(fixed);}return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, /*#__PURE__*/_react.default.createElement("div", { ref: this.refWrapper, className: _Sticky.styles.wrapper() }, /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { priority: "Sticky", applyZIndex: fixed, className: (0, _Emotion.cx)(_Sticky.styles.inner(), (_cx = {}, _cx[_Sticky.styles.fixed()] = fixed && !stopped, _cx[_Sticky.styles.stopped()] = stopped, _cx)), style: innerStyle, wrapperRef: this.refInner }, /*#__PURE__*/_react.default.createElement("div", { className: _Sticky.styles.container() }, children)), fixed && !stopped ? /*#__PURE__*/_react.default.createElement("div", { style: { width: width, height: height } }) : null));};return Sticky;}(_react.default.Component);exports.Sticky = Sticky;Sticky.__KONTUR_REACT_UI__ = 'Sticky';Sticky.propTypes = { children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]), /**
185
+ };return _this;}var _proto = Sticky.prototype;_proto.componentDidMount = function componentDidMount() {this.reflow();this.layoutSubscription = LayoutEvents.addListener(this.reflow);};_proto.componentWillUnmount = function componentWillUnmount() {if (this.layoutSubscription.remove) {this.layoutSubscription.remove();}};_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {if (!(0, _shallowequal.default)(prevProps, this.props) || !(0, _shallowequal.default)(prevState, this.state)) {if (this.reflowCounter < MAX_REFLOW_RETRIES) {LayoutEvents.emit();this.reflowCounter += 1;return;}}this.reflowCounter = 0;};_proto.render = function render() {var _cx;var children = this.props.children;var _this$props2 = this.props,side = _this$props2.side,offset = _this$props2.offset;var _this$state2 = this.state,fixed = _this$state2.fixed,stopped = _this$state2.stopped,relativeTop = _this$state2.relativeTop,deltaHeight = _this$state2.deltaHeight,width = _this$state2.width,height = _this$state2.height,left = _this$state2.left;var innerStyle = {};if (fixed) {if (stopped) {innerStyle.top = relativeTop;innerStyle[side === 'top' ? 'marginTop' : 'marginBottom'] = deltaHeight;} else {innerStyle.width = width;innerStyle[side] = offset;innerStyle.left = left;}}if ((0, _utils.isFunction)(children)) {children = children(fixed);}return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("div", { ref: this.refWrapper, className: _Sticky.styles.wrapper() }, /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { priority: "Sticky", applyZIndex: fixed, className: (0, _Emotion.cx)(_Sticky.styles.inner(), (_cx = {}, _cx[_Sticky.styles.fixed()] = fixed && !stopped, _cx[_Sticky.styles.stopped()] = stopped, _cx)), style: innerStyle, wrapperRef: this.refInner }, /*#__PURE__*/_react.default.createElement("div", { className: _Sticky.styles.container() }, children)), fixed && !stopped ? /*#__PURE__*/_react.default.createElement("div", { style: { width: width, height: height } }) : null));};return Sticky;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'Sticky', _class2.propTypes = { children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]), /**
183
186
  * Функция, которая возвращает DOM-элемент, который нельзя пересекать.
184
187
  */getStop: _propTypes.default.func, /**
185
188
  * Отступ от границы в пикселях
186
- */offset: _propTypes.default.number, side: _propTypes.default.oneOf(['top', 'bottom']).isRequired };Sticky.defaultProps = { offset: 0 };
189
+ */offset: _propTypes.default.number, side: _propTypes.default.oneOf(['top', 'bottom']).isRequired }, _class2.defaultProps = { offset: 0 }, _temp)) || _class;exports.Sticky = Sticky;
@@ -1 +1 @@
1
- {"version":3,"sources":["Sticky.tsx"],"names":["MAX_REFLOW_RETRIES","Sticky","state","fixed","deltaHeight","stopped","relativeTop","wrapper","inner","layoutSubscription","remove","reflowCounter","refWrapper","ref","refInner","reflow","document","documentElement","Error","windowHeight","window","innerHeight","clientHeight","getBoundingClientRect","top","bottom","left","width","height","props","offset","getStop","side","prevFixed","prevHeight","setState","stop","stopRect","outerHeight","componentDidMount","LayoutEvents","addListener","componentWillUnmount","componentDidUpdate","prevProps","prevState","emit","render","children","innerStyle","styles","container","React","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","oneOfType","node","func","number","oneOf","isRequired","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport shallowEqual from 'shallowequal';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { isFunction } from '../../lib/utils';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Sticky.styles';\n\nconst MAX_REFLOW_RETRIES = 5;\n\nexport interface StickyProps extends CommonProps {\n side: 'top' | 'bottom';\n /**\n * Отступ в пикселях от края экрана, на сколько сдвигается элемент в залипшем состоянии\n * @default 0\n */\n offset: number;\n getStop?: () => Nullable<HTMLElement>;\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n}\n\nexport interface StickyState {\n fixed: boolean;\n deltaHeight: number;\n height?: number;\n width?: number;\n left?: number;\n stopped: boolean;\n relativeTop: number;\n}\n\nexport class Sticky extends React.Component<StickyProps, StickyState> {\n public static __KONTUR_REACT_UI__ = 'Sticky';\n\n public static propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Функция, которая возвращает DOM-элемент, который нельзя пересекать.\n */\n getStop: PropTypes.func,\n\n /**\n * Отступ от границы в пикселях\n */\n offset: PropTypes.number,\n\n side: PropTypes.oneOf(['top', 'bottom']).isRequired,\n };\n\n public static defaultProps = { offset: 0 };\n\n public state: StickyState = {\n fixed: false,\n deltaHeight: 0,\n stopped: false,\n relativeTop: 0,\n };\n\n private wrapper: Nullable<HTMLElement>;\n private inner: Nullable<HTMLElement>;\n private layoutSubscription: { remove: Nullable<() => void> } = { remove: null };\n private reflowCounter = 0;\n\n public componentDidMount() {\n this.reflow();\n\n this.layoutSubscription = LayoutEvents.addListener(this.reflow);\n }\n\n public componentWillUnmount() {\n if (this.layoutSubscription.remove) {\n this.layoutSubscription.remove();\n }\n }\n\n public componentDidUpdate(prevProps: StickyProps, prevState: StickyState) {\n if (!shallowEqual(prevProps, this.props) || !shallowEqual(prevState, this.state)) {\n if (this.reflowCounter < MAX_REFLOW_RETRIES) {\n LayoutEvents.emit();\n this.reflowCounter += 1;\n return;\n }\n }\n this.reflowCounter = 0;\n }\n\n public render() {\n let { children } = this.props;\n const { side, offset } = this.props;\n const { fixed, stopped, relativeTop, deltaHeight, width, height, left } = this.state;\n const innerStyle: React.CSSProperties = {};\n\n if (fixed) {\n if (stopped) {\n innerStyle.top = relativeTop;\n innerStyle[side === 'top' ? 'marginTop' : 'marginBottom'] = deltaHeight;\n } else {\n innerStyle.width = width;\n innerStyle[side] = offset;\n innerStyle.left = left;\n }\n }\n\n if (isFunction(children)) {\n children = children(fixed);\n }\n\n return (\n <CommonWrapper {...this.props}>\n <div ref={this.refWrapper} className={styles.wrapper()}>\n <ZIndex\n priority=\"Sticky\"\n applyZIndex={fixed}\n className={cx(styles.inner(), {\n [styles.fixed()]: fixed && !stopped,\n [styles.stopped()]: stopped,\n })}\n style={innerStyle}\n wrapperRef={this.refInner}\n >\n <div className={styles.container()}>{children}</div>\n </ZIndex>\n {fixed && !stopped ? <div style={{ width, height }} /> : null}\n </div>\n </CommonWrapper>\n );\n }\n\n private refWrapper = (ref: Nullable<HTMLElement>) => (this.wrapper = ref);\n\n private refInner = (ref: Nullable<HTMLElement>) => (this.inner = ref);\n\n private reflow = () => {\n const { documentElement } = document;\n\n if (!documentElement) {\n throw Error('There is no \"documentElement\" in document');\n }\n\n const windowHeight = window.innerHeight || documentElement.clientHeight;\n if (!this.wrapper || !this.inner) {\n return;\n }\n const { top, bottom, left } = this.wrapper.getBoundingClientRect();\n const { width, height } = this.inner.getBoundingClientRect();\n const { offset, getStop, side } = this.props;\n const { fixed: prevFixed, height: prevHeight = height } = this.state;\n const fixed = side === 'top' ? top < offset : bottom > windowHeight - offset;\n\n this.setState({ fixed, left });\n\n if (fixed && !prevFixed) {\n this.setState({ width, height });\n }\n\n if (fixed) {\n const stop = getStop && getStop();\n if (stop) {\n const deltaHeight = prevHeight - height;\n const stopRect = stop.getBoundingClientRect();\n const outerHeight = height + offset;\n let stopped = false;\n let relativeTop = 0;\n\n if (side === 'top') {\n stopped = stopRect.top - outerHeight < 0;\n relativeTop = stopRect.top - prevHeight - top;\n } else {\n stopped = stopRect.bottom + outerHeight > windowHeight;\n relativeTop = stopRect.bottom - top;\n }\n\n this.setState({ relativeTop, deltaHeight, stopped });\n }\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["Sticky.tsx"],"names":["MAX_REFLOW_RETRIES","Sticky","rootNode","state","fixed","deltaHeight","stopped","relativeTop","wrapper","inner","layoutSubscription","remove","reflowCounter","setRootNode","refWrapper","ref","refInner","reflow","document","documentElement","Error","windowHeight","window","innerHeight","clientHeight","getBoundingClientRect","top","bottom","left","width","height","props","offset","getStop","side","prevFixed","prevHeight","setState","stop","stopRect","outerHeight","componentDidMount","LayoutEvents","addListener","componentWillUnmount","componentDidUpdate","prevProps","prevState","emit","render","children","innerStyle","styles","container","React","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","oneOfType","node","func","number","oneOf","isRequired","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport shallowEqual from 'shallowequal';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { isFunction } from '../../lib/utils';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { CommonWrapper, CommonProps } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Sticky.styles';\n\nconst MAX_REFLOW_RETRIES = 5;\n\nexport interface StickyProps extends CommonProps {\n side: 'top' | 'bottom';\n /**\n * Отступ в пикселях от края экрана, на сколько сдвигается элемент в залипшем состоянии\n * @default 0\n */\n offset: number;\n getStop?: () => Nullable<HTMLElement>;\n children?: React.ReactNode | ((fixed: boolean) => React.ReactNode);\n}\n\nexport interface StickyState {\n fixed: boolean;\n deltaHeight: number;\n height?: number;\n width?: number;\n left?: number;\n stopped: boolean;\n relativeTop: number;\n}\n\n@rootNode\nexport class Sticky extends React.Component<StickyProps, StickyState> {\n public static __KONTUR_REACT_UI__ = 'Sticky';\n\n public static propTypes = {\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n\n /**\n * Функция, которая возвращает DOM-элемент, который нельзя пересекать.\n */\n getStop: PropTypes.func,\n\n /**\n * Отступ от границы в пикселях\n */\n offset: PropTypes.number,\n\n side: PropTypes.oneOf(['top', 'bottom']).isRequired,\n };\n\n public static defaultProps = { offset: 0 };\n\n public state: StickyState = {\n fixed: false,\n deltaHeight: 0,\n stopped: false,\n relativeTop: 0,\n };\n\n private wrapper: Nullable<HTMLElement>;\n private inner: Nullable<HTMLElement>;\n private layoutSubscription: { remove: Nullable<() => void> } = { remove: null };\n private reflowCounter = 0;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n this.reflow();\n\n this.layoutSubscription = LayoutEvents.addListener(this.reflow);\n }\n\n public componentWillUnmount() {\n if (this.layoutSubscription.remove) {\n this.layoutSubscription.remove();\n }\n }\n\n public componentDidUpdate(prevProps: StickyProps, prevState: StickyState) {\n if (!shallowEqual(prevProps, this.props) || !shallowEqual(prevState, this.state)) {\n if (this.reflowCounter < MAX_REFLOW_RETRIES) {\n LayoutEvents.emit();\n this.reflowCounter += 1;\n return;\n }\n }\n this.reflowCounter = 0;\n }\n\n public render() {\n let { children } = this.props;\n const { side, offset } = this.props;\n const { fixed, stopped, relativeTop, deltaHeight, width, height, left } = this.state;\n const innerStyle: React.CSSProperties = {};\n\n if (fixed) {\n if (stopped) {\n innerStyle.top = relativeTop;\n innerStyle[side === 'top' ? 'marginTop' : 'marginBottom'] = deltaHeight;\n } else {\n innerStyle.width = width;\n innerStyle[side] = offset;\n innerStyle.left = left;\n }\n }\n\n if (isFunction(children)) {\n children = children(fixed);\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div ref={this.refWrapper} className={styles.wrapper()}>\n <ZIndex\n priority=\"Sticky\"\n applyZIndex={fixed}\n className={cx(styles.inner(), {\n [styles.fixed()]: fixed && !stopped,\n [styles.stopped()]: stopped,\n })}\n style={innerStyle}\n wrapperRef={this.refInner}\n >\n <div className={styles.container()}>{children}</div>\n </ZIndex>\n {fixed && !stopped ? <div style={{ width, height }} /> : null}\n </div>\n </CommonWrapper>\n );\n }\n\n private refWrapper = (ref: Nullable<HTMLElement>) => (this.wrapper = ref);\n\n private refInner = (ref: Nullable<HTMLElement>) => (this.inner = ref);\n\n private reflow = () => {\n const { documentElement } = document;\n\n if (!documentElement) {\n throw Error('There is no \"documentElement\" in document');\n }\n\n const windowHeight = window.innerHeight || documentElement.clientHeight;\n if (!this.wrapper || !this.inner) {\n return;\n }\n const { top, bottom, left } = this.wrapper.getBoundingClientRect();\n const { width, height } = this.inner.getBoundingClientRect();\n const { offset, getStop, side } = this.props;\n const { fixed: prevFixed, height: prevHeight = height } = this.state;\n const fixed = side === 'top' ? top < offset : bottom > windowHeight - offset;\n\n this.setState({ fixed, left });\n\n if (fixed && !prevFixed) {\n this.setState({ width, height });\n }\n\n if (fixed) {\n const stop = getStop && getStop();\n if (stop) {\n const deltaHeight = prevHeight - height;\n const stopRect = stop.getBoundingClientRect();\n const outerHeight = height + offset;\n let stopped = false;\n let relativeTop = 0;\n\n if (side === 'top') {\n stopped = stopRect.top - outerHeight < 0;\n relativeTop = stopRect.top - prevHeight - top;\n } else {\n stopped = stopRect.bottom + outerHeight > windowHeight;\n relativeTop = stopRect.bottom - top;\n }\n\n this.setState({ relativeTop, deltaHeight, stopped });\n }\n }\n };\n}\n"]}
@@ -39,6 +39,7 @@ export declare class Switcher extends React.Component<SwitcherProps, SwitcherSta
39
39
  };
40
40
  state: SwitcherState;
41
41
  private theme;
42
+ private setRootNode;
42
43
  render(): JSX.Element;
43
44
  private renderMain;
44
45
  private selectItem;
@@ -9,9 +9,10 @@ var _ThemeContext = require("../../lib/theming/ThemeContext");
9
9
 
10
10
  var _CommonWrapper = require("../../internal/CommonWrapper");
11
11
  var _Emotion = require("../../lib/theming/Emotion");
12
+ var _rootNode = require("../../lib/rootNode");
12
13
 
13
14
  var _Switcher = require("./Switcher.styles");
14
- var _switcherTheme = require("./switcherTheme");var
15
+ var _switcherTheme = require("./switcherTheme");var _class, _class2, _temp;var
15
16
 
16
17
 
17
18
 
@@ -44,7 +45,8 @@ var _switcherTheme = require("./switcherTheme");var
44
45
 
45
46
 
46
47
 
47
- Switcher = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Switcher, _React$Component);function Switcher() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
48
+
49
+ Switcher = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Switcher, _React$Component);function Switcher() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
48
50
 
49
51
 
50
52
 
@@ -69,6 +71,7 @@ Switcher = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default
69
71
 
70
72
 
71
73
  theme = void 0;_this.
74
+ setRootNode = void 0;_this.
72
75
 
73
76
 
74
77
 
@@ -217,4 +220,4 @@ Switcher = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default
217
220
  default:
218
221
  return _Switcher.styles.labelSmall(_this.theme);}
219
222
 
220
- };return _this;}var _proto = Switcher.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = (0, _switcherTheme.getSwitcherTheme)(theme);return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _this2.theme }, _this2.renderMain());});};_proto.renderMain = function renderMain() {var _cx;var listClassName = (0, _Emotion.cx)((_cx = {}, _cx[_Switcher.styles.error(this.theme)] = !!this.props.error, _cx));var inputProps = { type: 'checkbox', onKeyDown: this.handleKey, onFocus: this._handleFocus, onBlur: this._handleBlur, className: _Switcher.styles.input() };var lableClassName = (0, _Emotion.cx)(_Switcher.styles.label(this.theme), this.getLabelSizeClassName());return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, /*#__PURE__*/_react.default.createElement("div", null, this.props.label ? /*#__PURE__*/_react.default.createElement("div", { className: lableClassName }, this.props.label) : null, /*#__PURE__*/_react.default.createElement("div", { className: _Switcher.styles.wrap() }, /*#__PURE__*/_react.default.createElement("input", inputProps), /*#__PURE__*/_react.default.createElement("div", { className: listClassName }, /*#__PURE__*/_react.default.createElement(_Group.Group, null, this._renderItems())))));};return Switcher;}(_react.default.Component);exports.Switcher = Switcher;Switcher.__KONTUR_REACT_UI__ = 'Switcher';Switcher.propTypes = { error: _propTypes.default.bool, disabled: _propTypes.default.bool, items: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string), _propTypes.default.arrayOf(_propTypes.default.shape({ label: _propTypes.default.string, value: _propTypes.default.string }))]).isRequired, label: _propTypes.default.string, value: _propTypes.default.string, onValueChange: _propTypes.default.func };
223
+ };return _this;}var _proto = Switcher.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = (0, _switcherTheme.getSwitcherTheme)(theme);return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _this2.theme }, _this2.renderMain());});};_proto.renderMain = function renderMain() {var _cx;var listClassName = (0, _Emotion.cx)((_cx = {}, _cx[_Switcher.styles.error(this.theme)] = !!this.props.error, _cx));var inputProps = { type: 'checkbox', onKeyDown: this.handleKey, onFocus: this._handleFocus, onBlur: this._handleBlur, className: _Switcher.styles.input() };var lableClassName = (0, _Emotion.cx)(_Switcher.styles.label(this.theme), this.getLabelSizeClassName());return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("div", null, this.props.label ? /*#__PURE__*/_react.default.createElement("div", { className: lableClassName }, this.props.label) : null, /*#__PURE__*/_react.default.createElement("div", { className: _Switcher.styles.wrap() }, /*#__PURE__*/_react.default.createElement("input", inputProps), /*#__PURE__*/_react.default.createElement("div", { className: listClassName }, /*#__PURE__*/_react.default.createElement(_Group.Group, null, this._renderItems())))));};return Switcher;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'Switcher', _class2.propTypes = { error: _propTypes.default.bool, disabled: _propTypes.default.bool, items: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string), _propTypes.default.arrayOf(_propTypes.default.shape({ label: _propTypes.default.string, value: _propTypes.default.string }))]).isRequired, label: _propTypes.default.string, value: _propTypes.default.string, onValueChange: _propTypes.default.func }, _temp)) || _class;exports.Switcher = Switcher;
@@ -1 +1 @@
1
- {"version":3,"sources":["Switcher.tsx"],"names":["Switcher","state","focusedIndex","theme","selectItem","value","props","onValueChange","_extractPropsFromItem","item","label","_extractValuesFromItems","items","map","move","step","selectedIndex","length","_focus","index","setState","handleKey","e","preventDefault","_handleFocus","currentIndex","indexOf","_handleBlur","_renderItems","i","buttonProps","checked","visuallyFocused","onClick","disableFocus","size","disabled","getLabelSizeClassName","styles","labelLarge","labelMedium","labelSmall","render","renderMain","listClassName","error","inputProps","type","onKeyDown","onFocus","onBlur","className","input","lableClassName","wrap","React","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","bool","oneOfType","arrayOf","string","shape","isRequired","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isKeyArrowHorizontal, isKeyArrowLeft, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { Group } from '../Group';\nimport { Button, ButtonSize } from '../Button';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Switcher.styles';\nimport { getSwitcherTheme } from './switcherTheme';\n\nexport type SwitcherSize = ButtonSize;\n\nexport interface SwitcherProps extends CommonProps {\n /**\n * Список строк или список элементов типа `{ label: string, value: string }`\n */\n items: Array<string | SwitcherItem>;\n\n value?: string;\n\n onValueChange?: (value: string) => void;\n\n label?: string;\n\n error?: boolean;\n\n /** Размер */\n size?: SwitcherSize;\n\n disabled?: boolean;\n}\n\nexport interface SwitcherState {\n focusedIndex: Nullable<number>;\n}\n\ninterface SwitcherItem {\n label: string;\n value: string;\n}\n\nexport class Switcher extends React.Component<SwitcherProps, SwitcherState> {\n public static __KONTUR_REACT_UI__ = 'Switcher';\n\n public static propTypes = {\n error: PropTypes.bool,\n disabled: PropTypes.bool,\n items: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n }),\n ),\n ]).isRequired,\n label: PropTypes.string,\n value: PropTypes.string,\n onValueChange: PropTypes.func,\n };\n\n public state: SwitcherState = {\n focusedIndex: null,\n };\n\n private theme!: Theme;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getSwitcherTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const listClassName = cx({\n [styles.error(this.theme)]: !!this.props.error,\n });\n\n const inputProps = {\n type: 'checkbox',\n onKeyDown: this.handleKey,\n onFocus: this._handleFocus,\n onBlur: this._handleBlur,\n className: styles.input(),\n };\n\n const lableClassName = cx(styles.label(this.theme), this.getLabelSizeClassName());\n\n return (\n <CommonWrapper {...this.props}>\n <div>\n {this.props.label ? <div className={lableClassName}>{this.props.label}</div> : null}\n <div className={styles.wrap()}>\n <input {...inputProps} />\n <div className={listClassName}>\n <Group>{this._renderItems()}</Group>\n </div>\n </div>\n </div>\n </CommonWrapper>\n );\n }\n\n private selectItem = (value: string) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private _extractPropsFromItem = (item: string | SwitcherItem): SwitcherItem => {\n return typeof item === 'object' ? item : { label: item, value: item };\n };\n\n private _extractValuesFromItems = (): string[] => {\n return this.props.items.map((item) => {\n const { value } = this._extractPropsFromItem(item);\n return value;\n });\n };\n\n private move = (step: number) => {\n let selectedIndex = this.state.focusedIndex;\n\n if (typeof selectedIndex !== 'number') {\n return;\n }\n\n const items = this._extractValuesFromItems();\n\n selectedIndex += step;\n\n if (selectedIndex < 0) {\n selectedIndex = items.length - 1;\n } else if (selectedIndex >= items.length) {\n selectedIndex = 0;\n }\n\n this._focus(selectedIndex);\n };\n\n private _focus = (index: number) => {\n this.setState({ focusedIndex: index });\n };\n\n private handleKey = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const focusedIndex = this.state.focusedIndex;\n if (typeof focusedIndex !== 'number') {\n return;\n }\n\n if (isKeyEnter(e)) {\n if (this.props.onValueChange) {\n const { value } = this._extractPropsFromItem(this.props.items[focusedIndex]);\n this.selectItem(value);\n }\n return;\n }\n\n if (isKeyArrowHorizontal(e)) {\n e.preventDefault();\n this.move(isKeyArrowLeft(e) ? -1 : 1);\n }\n };\n\n private _handleFocus = () => {\n const { value } = this.props;\n\n const items = this._extractValuesFromItems();\n const currentIndex = [...items].indexOf(value as string);\n const index = currentIndex > -1 ? currentIndex : 0;\n\n this.setState({ focusedIndex: index });\n };\n\n private _handleBlur = () => {\n this.setState({ focusedIndex: null });\n };\n\n private _renderItems = () => {\n return this.props.items.map((item, i) => {\n const { label, value } = this._extractPropsFromItem(item);\n const buttonProps = {\n checked: this.props.value === value,\n visuallyFocused: this.state.focusedIndex === i,\n onClick: () => {\n this.selectItem(value);\n },\n disableFocus: true,\n size: this.props.size,\n disabled: this.props.disabled,\n };\n return (\n <Button key={value} {...buttonProps}>\n {label}\n </Button>\n );\n });\n };\n\n private getLabelSizeClassName = (): string => {\n switch (this.props.size) {\n case 'large':\n return styles.labelLarge(this.theme);\n case 'medium':\n return styles.labelMedium(this.theme);\n case 'small':\n default:\n return styles.labelSmall(this.theme);\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["Switcher.tsx"],"names":["Switcher","rootNode","state","focusedIndex","theme","setRootNode","selectItem","value","props","onValueChange","_extractPropsFromItem","item","label","_extractValuesFromItems","items","map","move","step","selectedIndex","length","_focus","index","setState","handleKey","e","preventDefault","_handleFocus","currentIndex","indexOf","_handleBlur","_renderItems","i","buttonProps","checked","visuallyFocused","onClick","disableFocus","size","disabled","getLabelSizeClassName","styles","labelLarge","labelMedium","labelSmall","render","renderMain","listClassName","error","inputProps","type","onKeyDown","onFocus","onBlur","className","input","lableClassName","wrap","React","Component","__KONTUR_REACT_UI__","propTypes","PropTypes","bool","oneOfType","arrayOf","string","shape","isRequired","func"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { isKeyArrowHorizontal, isKeyArrowLeft, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { Group } from '../Group';\nimport { Button, ButtonSize } from '../Button';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Switcher.styles';\nimport { getSwitcherTheme } from './switcherTheme';\n\nexport type SwitcherSize = ButtonSize;\n\nexport interface SwitcherProps extends CommonProps {\n /**\n * Список строк или список элементов типа `{ label: string, value: string }`\n */\n items: Array<string | SwitcherItem>;\n\n value?: string;\n\n onValueChange?: (value: string) => void;\n\n label?: string;\n\n error?: boolean;\n\n /** Размер */\n size?: SwitcherSize;\n\n disabled?: boolean;\n}\n\nexport interface SwitcherState {\n focusedIndex: Nullable<number>;\n}\n\ninterface SwitcherItem {\n label: string;\n value: string;\n}\n\n@rootNode\nexport class Switcher extends React.Component<SwitcherProps, SwitcherState> {\n public static __KONTUR_REACT_UI__ = 'Switcher';\n\n public static propTypes = {\n error: PropTypes.bool,\n disabled: PropTypes.bool,\n items: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n }),\n ),\n ]).isRequired,\n label: PropTypes.string,\n value: PropTypes.string,\n onValueChange: PropTypes.func,\n };\n\n public state: SwitcherState = {\n focusedIndex: null,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = getSwitcherTheme(theme);\n return <ThemeContext.Provider value={this.theme}>{this.renderMain()}</ThemeContext.Provider>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const listClassName = cx({\n [styles.error(this.theme)]: !!this.props.error,\n });\n\n const inputProps = {\n type: 'checkbox',\n onKeyDown: this.handleKey,\n onFocus: this._handleFocus,\n onBlur: this._handleBlur,\n className: styles.input(),\n };\n\n const lableClassName = cx(styles.label(this.theme), this.getLabelSizeClassName());\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div>\n {this.props.label ? <div className={lableClassName}>{this.props.label}</div> : null}\n <div className={styles.wrap()}>\n <input {...inputProps} />\n <div className={listClassName}>\n <Group>{this._renderItems()}</Group>\n </div>\n </div>\n </div>\n </CommonWrapper>\n );\n }\n\n private selectItem = (value: string) => {\n if (this.props.onValueChange) {\n this.props.onValueChange(value);\n }\n };\n\n private _extractPropsFromItem = (item: string | SwitcherItem): SwitcherItem => {\n return typeof item === 'object' ? item : { label: item, value: item };\n };\n\n private _extractValuesFromItems = (): string[] => {\n return this.props.items.map((item) => {\n const { value } = this._extractPropsFromItem(item);\n return value;\n });\n };\n\n private move = (step: number) => {\n let selectedIndex = this.state.focusedIndex;\n\n if (typeof selectedIndex !== 'number') {\n return;\n }\n\n const items = this._extractValuesFromItems();\n\n selectedIndex += step;\n\n if (selectedIndex < 0) {\n selectedIndex = items.length - 1;\n } else if (selectedIndex >= items.length) {\n selectedIndex = 0;\n }\n\n this._focus(selectedIndex);\n };\n\n private _focus = (index: number) => {\n this.setState({ focusedIndex: index });\n };\n\n private handleKey = (e: React.KeyboardEvent<HTMLInputElement>) => {\n const focusedIndex = this.state.focusedIndex;\n if (typeof focusedIndex !== 'number') {\n return;\n }\n\n if (isKeyEnter(e)) {\n if (this.props.onValueChange) {\n const { value } = this._extractPropsFromItem(this.props.items[focusedIndex]);\n this.selectItem(value);\n }\n return;\n }\n\n if (isKeyArrowHorizontal(e)) {\n e.preventDefault();\n this.move(isKeyArrowLeft(e) ? -1 : 1);\n }\n };\n\n private _handleFocus = () => {\n const { value } = this.props;\n\n const items = this._extractValuesFromItems();\n const currentIndex = [...items].indexOf(value as string);\n const index = currentIndex > -1 ? currentIndex : 0;\n\n this.setState({ focusedIndex: index });\n };\n\n private _handleBlur = () => {\n this.setState({ focusedIndex: null });\n };\n\n private _renderItems = () => {\n return this.props.items.map((item, i) => {\n const { label, value } = this._extractPropsFromItem(item);\n const buttonProps = {\n checked: this.props.value === value,\n visuallyFocused: this.state.focusedIndex === i,\n onClick: () => {\n this.selectItem(value);\n },\n disableFocus: true,\n size: this.props.size,\n disabled: this.props.disabled,\n };\n return (\n <Button key={value} {...buttonProps}>\n {label}\n </Button>\n );\n });\n };\n\n private getLabelSizeClassName = (): string => {\n switch (this.props.size) {\n case 'large':\n return styles.labelLarge(this.theme);\n case 'medium':\n return styles.labelMedium(this.theme);\n case 'small':\n default:\n return styles.labelSmall(this.theme);\n }\n };\n}\n"]}
@@ -51,8 +51,10 @@ var styles = (0, _Emotion.memoizeStyle)({
51
51
  },
52
52
 
53
53
  error: function error(t) {
54
- return (0, _Emotion.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteralLoose2.default)(["\n border-radius: 2px;\n box-shadow: 0 0 0 ", " ", ";\n "])),
54
+ var insideWidth = parseInt(t.btnBorderWidth);
55
+ var outsideWidth = parseInt(t.switcherOutlineWidth) - insideWidth + "px";
56
+ return (0, _Emotion.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteralLoose2.default)(["\n border-radius: 2px;\n box-shadow: inset 0 0 0 ", "px ", ", 0 0 0 ", " ", ";\n "])),
55
57
 
56
- t.switcherOutlineWidth, t.borderColorError);
58
+ insideWidth, t.borderColorError, outsideWidth, t.borderColorError);
57
59
 
58
60
  } });exports.styles = styles;
@@ -1 +1 @@
1
- {"version":3,"sources":["Switcher.styles.ts"],"names":["styles","wrap","css","input","label","t","switcherTextColor","labelSmall","switcherLabelGapSmall","switcherLabelFontSizeSmall","switcherLabelLineHeightSmall","labelMedium","switcherLabelGapMedium","switcherLabelFontSizeMedium","switcherLabelLineHeightMedium","labelLarge","switcherLabelGapLarge","switcherLabelFontSizeLarge","switcherLabelLineHeightLarge","error","switcherOutlineWidth","borderColorError"],"mappings":"4QAAA,oD;;;AAGO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,kBAC1B;AACL,eAAOC,YAAP;;;;AAID,GANgC;;AAQjCC,EAAAA,KARiC,mBAQzB;AACN,eAAOD,YAAP;;;;;;AAMD,GAfgC;;AAiBjCE,EAAAA,KAjBiC,iBAiB3BC,CAjB2B,EAiBjB;AACd,eAAOH,YAAP;AACWG,IAAAA,CAAC,CAACC,iBADb;;;;AAKD,GAvBgC;;AAyBjCC,EAAAA,UAzBiC,sBAyBtBF,CAzBsB,EAyBZ;AACnB,eAAOH,YAAP;AACkBG,IAAAA,CAAC,CAACG,qBADpB;AAEeH,IAAAA,CAAC,CAACI,0BAFjB;AAGiBJ,IAAAA,CAAC,CAACK,4BAHnB;;AAKD,GA/BgC;;AAiCjCC,EAAAA,WAjCiC,uBAiCrBN,CAjCqB,EAiCX;AACpB,eAAOH,YAAP;AACkBG,IAAAA,CAAC,CAACO,sBADpB;AAEeP,IAAAA,CAAC,CAACQ,2BAFjB;AAGiBR,IAAAA,CAAC,CAACS,6BAHnB;;AAKD,GAvCgC;;AAyCjCC,EAAAA,UAzCiC,sBAyCtBV,CAzCsB,EAyCZ;AACnB,eAAOH,YAAP;AACkBG,IAAAA,CAAC,CAACW,qBADpB;AAEeX,IAAAA,CAAC,CAACY,0BAFjB;AAGiBZ,IAAAA,CAAC,CAACa,4BAHnB;;AAKD,GA/CgC;;AAiDjCC,EAAAA,KAjDiC,iBAiD3Bd,CAjD2B,EAiDjB;AACd,eAAOH,YAAP;;AAEsBG,IAAAA,CAAC,CAACe,oBAFxB,EAEgDf,CAAC,CAACgB,gBAFlD;;AAID,GAtDgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n wrap() {\n return css`\n display: inline-block;\n vertical-align: middle;\n `;\n },\n\n input() {\n return css`\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n `;\n },\n\n label(t: Theme) {\n return css`\n color: ${t.switcherTextColor};\n vertical-align: middle;\n display: inline-block;\n `;\n },\n\n labelSmall(t: Theme) {\n return css`\n margin-right: ${t.switcherLabelGapSmall};\n font-size: ${t.switcherLabelFontSizeSmall};\n line-height: ${t.switcherLabelLineHeightSmall};\n `;\n },\n\n labelMedium(t: Theme) {\n return css`\n margin-right: ${t.switcherLabelGapMedium};\n font-size: ${t.switcherLabelFontSizeMedium};\n line-height: ${t.switcherLabelLineHeightMedium};\n `;\n },\n\n labelLarge(t: Theme) {\n return css`\n margin-right: ${t.switcherLabelGapLarge};\n font-size: ${t.switcherLabelFontSizeLarge};\n line-height: ${t.switcherLabelLineHeightLarge};\n `;\n },\n\n error(t: Theme) {\n return css`\n border-radius: 2px;\n box-shadow: 0 0 0 ${t.switcherOutlineWidth} ${t.borderColorError};\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["Switcher.styles.ts"],"names":["styles","wrap","css","input","label","t","switcherTextColor","labelSmall","switcherLabelGapSmall","switcherLabelFontSizeSmall","switcherLabelLineHeightSmall","labelMedium","switcherLabelGapMedium","switcherLabelFontSizeMedium","switcherLabelLineHeightMedium","labelLarge","switcherLabelGapLarge","switcherLabelFontSizeLarge","switcherLabelLineHeightLarge","error","insideWidth","parseInt","btnBorderWidth","outsideWidth","switcherOutlineWidth","borderColorError"],"mappings":"4QAAA,oD;;;AAGO,IAAMA,MAAM,GAAG,2BAAa;AACjCC,EAAAA,IADiC,kBAC1B;AACL,eAAOC,YAAP;;;;AAID,GANgC;;AAQjCC,EAAAA,KARiC,mBAQzB;AACN,eAAOD,YAAP;;;;;;AAMD,GAfgC;;AAiBjCE,EAAAA,KAjBiC,iBAiB3BC,CAjB2B,EAiBjB;AACd,eAAOH,YAAP;AACWG,IAAAA,CAAC,CAACC,iBADb;;;;AAKD,GAvBgC;;AAyBjCC,EAAAA,UAzBiC,sBAyBtBF,CAzBsB,EAyBZ;AACnB,eAAOH,YAAP;AACkBG,IAAAA,CAAC,CAACG,qBADpB;AAEeH,IAAAA,CAAC,CAACI,0BAFjB;AAGiBJ,IAAAA,CAAC,CAACK,4BAHnB;;AAKD,GA/BgC;;AAiCjCC,EAAAA,WAjCiC,uBAiCrBN,CAjCqB,EAiCX;AACpB,eAAOH,YAAP;AACkBG,IAAAA,CAAC,CAACO,sBADpB;AAEeP,IAAAA,CAAC,CAACQ,2BAFjB;AAGiBR,IAAAA,CAAC,CAACS,6BAHnB;;AAKD,GAvCgC;;AAyCjCC,EAAAA,UAzCiC,sBAyCtBV,CAzCsB,EAyCZ;AACnB,eAAOH,YAAP;AACkBG,IAAAA,CAAC,CAACW,qBADpB;AAEeX,IAAAA,CAAC,CAACY,0BAFjB;AAGiBZ,IAAAA,CAAC,CAACa,4BAHnB;;AAKD,GA/CgC;;AAiDjCC,EAAAA,KAjDiC,iBAiD3Bd,CAjD2B,EAiDjB;AACd,QAAMe,WAAW,GAAGC,QAAQ,CAAChB,CAAC,CAACiB,cAAH,CAA5B;AACA,QAAMC,YAAY,GAAMF,QAAQ,CAAChB,CAAC,CAACmB,oBAAH,CAAR,GAAmCJ,WAAzC,OAAlB;AACA,eAAOlB,YAAP;;AAE4BkB,IAAAA,WAF5B,EAE6Cf,CAAC,CAACoB,gBAF/C,EAE0EF,YAF1E,EAE0FlB,CAAC,CAACoB,gBAF5F;;AAID,GAxDgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nexport const styles = memoizeStyle({\n wrap() {\n return css`\n display: inline-block;\n vertical-align: middle;\n `;\n },\n\n input() {\n return css`\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n `;\n },\n\n label(t: Theme) {\n return css`\n color: ${t.switcherTextColor};\n vertical-align: middle;\n display: inline-block;\n `;\n },\n\n labelSmall(t: Theme) {\n return css`\n margin-right: ${t.switcherLabelGapSmall};\n font-size: ${t.switcherLabelFontSizeSmall};\n line-height: ${t.switcherLabelLineHeightSmall};\n `;\n },\n\n labelMedium(t: Theme) {\n return css`\n margin-right: ${t.switcherLabelGapMedium};\n font-size: ${t.switcherLabelFontSizeMedium};\n line-height: ${t.switcherLabelLineHeightMedium};\n `;\n },\n\n labelLarge(t: Theme) {\n return css`\n margin-right: ${t.switcherLabelGapLarge};\n font-size: ${t.switcherLabelFontSizeLarge};\n line-height: ${t.switcherLabelLineHeightLarge};\n `;\n },\n\n error(t: Theme) {\n const insideWidth = parseInt(t.btnBorderWidth);\n const outsideWidth = `${parseInt(t.switcherOutlineWidth) - insideWidth}px`;\n return css`\n border-radius: 2px;\n box-shadow: inset 0 0 0 ${insideWidth}px ${t.borderColorError}, 0 0 0 ${outsideWidth} ${t.borderColorError};\n `;\n },\n});\n"]}
@@ -17,6 +17,7 @@ export declare class Indicator extends React.Component<IndicatorProps, Indicator
17
17
  private theme;
18
18
  private eventListener;
19
19
  private removeTabUpdatesListener;
20
+ private setRootNode;
20
21
  componentDidMount(): void;
21
22
  componentWillUnmount(): void;
22
23
  componentDidUpdate(_: IndicatorProps, prevState: IndicatorState): void;
@@ -1,5 +1,4 @@
1
- "use strict";var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.Indicator = void 0;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
- var _reactDom = require("react-dom");
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");exports.__esModule = true;exports.Indicator = void 0;var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
3
2
  var _lodash = _interopRequireDefault(require("lodash.throttle"));
4
3
 
5
4
  var LayoutEvents = _interopRequireWildcard(require("../../lib/LayoutEvents"));
@@ -7,9 +6,10 @@ var LayoutEvents = _interopRequireWildcard(require("../../lib/LayoutEvents"));
7
6
  var _ThemeContext = require("../../lib/theming/ThemeContext");
8
7
 
9
8
  var _Emotion = require("../../lib/theming/Emotion");
9
+ var _rootNode = require("../../lib/rootNode");
10
10
 
11
11
  var _Indicator = require("./Indicator.styles");
12
- var _TabsContext = require("./TabsContext");var
12
+ var _TabsContext = require("./TabsContext");var _class, _class2, _temp;var
13
13
 
14
14
 
15
15
 
@@ -24,7 +24,8 @@ var _TabsContext = require("./TabsContext");var
24
24
 
25
25
 
26
26
 
27
- Indicator = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Indicator, _React$Component);function Indicator() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
27
+
28
+ Indicator = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Indicator, _React$Component);function Indicator() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
28
29
 
29
30
  context = _this.context;_this.
30
31
 
@@ -39,6 +40,8 @@ Indicator = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.defaul
39
40
  null;_this.
40
41
 
41
42
  removeTabUpdatesListener = null;_this.
43
+ setRootNode = void 0;_this.
44
+
42
45
 
43
46
 
44
47
 
@@ -107,31 +110,29 @@ Indicator = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.defaul
107
110
  if (stylesUpdated) {
108
111
  _this.setState({ styles: nodeStyles });
109
112
  }
110
- }, 100);return _this;}var _proto = Indicator.prototype;_proto.componentDidMount = function componentDidMount() {this.eventListener = LayoutEvents.addListener(this.reflow);this.removeTabUpdatesListener = this.props.tabUpdates.on(this.reflow);this.reflow();};_proto.componentWillUnmount = function componentWillUnmount() {this.reflow.cancel();if (this.eventListener) {this.eventListener.remove();}if (this.removeTabUpdatesListener) {this.removeTabUpdatesListener();}};_proto.componentDidUpdate = function componentDidUpdate(_, prevState) {this.reflow();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _this$context2 = this.context,getTab = _this$context2.getTab,activeTab = _this$context2.activeTab;var node = getTab(activeTab);var indicators = node && node.getIndicators && node.getIndicators() || { error: false, warning: false, success: false, primary: false, disabled: false };return /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_Indicator.styles.root(this.theme), indicators.primary && _Indicator.styles.primary(this.theme), indicators.success && _Indicator.styles.success(this.theme), indicators.warning && _Indicator.styles.warning(this.theme), indicators.error && _Indicator.styles.error(this.theme), this.props.className), style: this.state.styles });};_proto.
113
+ }, 100);return _this;}var _proto = Indicator.prototype;_proto.componentDidMount = function componentDidMount() {this.eventListener = LayoutEvents.addListener(this.reflow);this.removeTabUpdatesListener = this.props.tabUpdates.on(this.reflow);this.reflow();};_proto.componentWillUnmount = function componentWillUnmount() {this.reflow.cancel();if (this.eventListener) {this.eventListener.remove();}if (this.removeTabUpdatesListener) {this.removeTabUpdatesListener();}};_proto.componentDidUpdate = function componentDidUpdate(_, prevState) {this.reflow();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _this$context2 = this.context,getTab = _this$context2.getTab,activeTab = _this$context2.activeTab;var node = getTab(activeTab);var indicators = node && node.getIndicators && node.getIndicators() || { error: false, warning: false, success: false, primary: false, disabled: false };return /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_Indicator.styles.root(this.theme), indicators.primary && _Indicator.styles.primary(this.theme), indicators.success && _Indicator.styles.success(this.theme), indicators.warning && _Indicator.styles.warning(this.theme), indicators.error && _Indicator.styles.error(this.theme), this.props.className), style: this.state.styles, ref: this.setRootNode });};_proto.
111
114
 
112
115
  getStyles = function getStyles(node) {
113
- if (node instanceof _react.default.Component) {
114
- node = (0, _reactDom.findDOMNode)(node);
115
- }
116
+ var htmlNode = (0, _rootNode.getRootNode)(node);
116
117
 
117
- if (node instanceof HTMLElement) {
118
- var rect = node.getBoundingClientRect();
118
+ if (htmlNode && htmlNode instanceof HTMLElement) {
119
+ var rect = htmlNode.getBoundingClientRect();
119
120
  if (this.props.vertical) {
120
121
  return {
121
122
  width: this.theme.tabBorderWidth,
122
- left: node.offsetLeft,
123
- top: node.offsetTop,
123
+ left: htmlNode.offsetLeft,
124
+ top: htmlNode.offsetTop,
124
125
  height: rect.bottom - rect.top };
125
126
 
126
127
  }
127
128
 
128
129
  var tabBorderWidth = parseInt(this.theme.tabBorderWidth, 10) || 0;
129
130
  return {
130
- left: node.offsetLeft,
131
- top: node.offsetHeight + node.offsetTop - tabBorderWidth,
131
+ left: htmlNode.offsetLeft,
132
+ top: htmlNode.offsetHeight + htmlNode.offsetTop - tabBorderWidth,
132
133
  width: rect.right - rect.left };
133
134
 
134
135
  }
135
136
 
136
137
  return {};
137
- };return Indicator;}(_react.default.Component);exports.Indicator = Indicator;Indicator.contextType = _TabsContext.TabsContext;
138
+ };return Indicator;}(_react.default.Component), _class2.contextType = _TabsContext.TabsContext, _temp)) || _class;exports.Indicator = Indicator;
@@ -1 +1 @@
1
- {"version":3,"sources":["Indicator.tsx"],"names":["Indicator","context","state","styles","theme","eventListener","removeTabUpdatesListener","reflow","getTab","activeTab","node","nodeStyles","getStyles","stylesUpdated","some","prop","setState","componentDidMount","LayoutEvents","addListener","props","tabUpdates","on","componentWillUnmount","cancel","remove","componentDidUpdate","_","prevState","render","renderMain","indicators","getIndicators","error","warning","success","primary","disabled","root","className","React","Component","HTMLElement","rect","getBoundingClientRect","vertical","width","tabBorderWidth","left","offsetLeft","top","offsetTop","height","bottom","parseInt","offsetHeight","right","contextType","TabsContext"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { findDOMNode } from 'react-dom';\nimport throttle from 'lodash.throttle';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { styles } from './Indicator.styles';\nimport { TabsContext, TabsContextType } from './TabsContext';\nimport { TabIndicators } from './Tab';\n\nexport interface IndicatorProps {\n className?: string;\n tabUpdates: {\n on: (x0: () => void) => () => void;\n };\n vertical: boolean;\n}\n\nexport interface IndicatorState {\n styles: React.CSSProperties;\n}\n\nexport class Indicator extends React.Component<IndicatorProps, IndicatorState> {\n public static contextType = TabsContext;\n public context: TabsContextType = this.context;\n\n public state: IndicatorState = {\n styles: {},\n };\n\n private theme!: Theme;\n\n private eventListener: Nullable<{\n remove: () => void;\n }> = null;\n\n private removeTabUpdatesListener: Nullable<() => void> = null;\n\n public componentDidMount() {\n this.eventListener = LayoutEvents.addListener(this.reflow);\n this.removeTabUpdatesListener = this.props.tabUpdates.on(this.reflow);\n this.reflow();\n }\n\n public componentWillUnmount() {\n this.reflow.cancel();\n\n if (this.eventListener) {\n this.eventListener.remove();\n }\n if (this.removeTabUpdatesListener) {\n this.removeTabUpdatesListener();\n }\n }\n\n public componentDidUpdate(_: IndicatorProps, prevState: IndicatorState) {\n this.reflow();\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 { getTab, activeTab } = this.context;\n const node = getTab(activeTab);\n const indicators: TabIndicators = (node && node.getIndicators && node.getIndicators()) || {\n error: false,\n warning: false,\n success: false,\n primary: false,\n disabled: false,\n };\n return (\n <div\n className={cx(\n styles.root(this.theme),\n indicators.primary && styles.primary(this.theme),\n indicators.success && styles.success(this.theme),\n indicators.warning && styles.warning(this.theme),\n indicators.error && styles.error(this.theme),\n this.props.className,\n )}\n style={this.state.styles}\n />\n );\n }\n\n private reflow = throttle(() => {\n const { getTab, activeTab } = this.context;\n const node = getTab(activeTab);\n const nodeStyles = this.getStyles(node);\n const stylesUpdated = ['left', 'top', 'width', 'height'].some(\n (prop) => nodeStyles[prop as keyof React.CSSProperties] !== this.state.styles[prop as keyof React.CSSProperties],\n );\n if (stylesUpdated) {\n this.setState({ styles: nodeStyles });\n }\n }, 100);\n\n private getStyles(node: any): React.CSSProperties {\n if (node instanceof React.Component) {\n node = findDOMNode(node);\n }\n\n if (node instanceof HTMLElement) {\n const rect = node.getBoundingClientRect();\n if (this.props.vertical) {\n return {\n width: this.theme.tabBorderWidth,\n left: node.offsetLeft,\n top: node.offsetTop,\n height: rect.bottom - rect.top,\n };\n }\n\n const tabBorderWidth = parseInt(this.theme.tabBorderWidth, 10) || 0;\n return {\n left: node.offsetLeft,\n top: node.offsetHeight + node.offsetTop - tabBorderWidth,\n width: rect.right - rect.left,\n };\n }\n\n return {};\n }\n}\n"]}
1
+ {"version":3,"sources":["Indicator.tsx"],"names":["Indicator","rootNode","context","state","styles","theme","eventListener","removeTabUpdatesListener","setRootNode","reflow","getTab","activeTab","node","nodeStyles","getStyles","stylesUpdated","some","prop","setState","componentDidMount","LayoutEvents","addListener","props","tabUpdates","on","componentWillUnmount","cancel","remove","componentDidUpdate","_","prevState","render","renderMain","indicators","getIndicators","error","warning","success","primary","disabled","root","className","htmlNode","HTMLElement","rect","getBoundingClientRect","vertical","width","tabBorderWidth","left","offsetLeft","top","offsetTop","height","bottom","parseInt","offsetHeight","right","React","Component","contextType","TabsContext"],"mappings":"4UAAA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA,4C;;;;;;;;;;;;;;;;AAgBaA,S,OADZC,kB;;AAGQC,IAAAA,O,GAA2B,MAAKA,O;;AAEhCC,IAAAA,K,GAAwB;AAC7BC,MAAAA,MAAM,EAAE,EADqB,E;;;AAIvBC,IAAAA,K;;AAEAC,IAAAA,a;;AAEH,Q;;AAEGC,IAAAA,wB,GAAiD,I;AACjDC,IAAAA,W;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DAC,IAAAA,M,GAAS,qBAAS,YAAM;AACA,YAAKP,OADL,CACtBQ,MADsB,iBACtBA,MADsB,CACdC,SADc,iBACdA,SADc;AAE9B,UAAMC,IAAI,GAAGF,MAAM,CAACC,SAAD,CAAnB;AACA,UAAME,UAAU,GAAG,MAAKC,SAAL,CAAeF,IAAf,CAAnB;AACA,UAAMG,aAAa,GAAG,CAAC,MAAD,EAAS,KAAT,EAAgB,OAAhB,EAAyB,QAAzB,EAAmCC,IAAnC;AACpB,gBAACC,IAAD,UAAUJ,UAAU,CAACI,IAAD,CAAV,KAAkD,MAAKd,KAAL,CAAWC,MAAX,CAAkBa,IAAlB,CAA5D,EADoB,CAAtB;;AAGA,UAAIF,aAAJ,EAAmB;AACjB,cAAKG,QAAL,CAAc,EAAEd,MAAM,EAAES,UAAV,EAAd;AACD;AACF,KAVgB,EAUd,GAVc,C,uDA1DVM,iB,GAAP,6BAA2B,CACzB,KAAKb,aAAL,GAAqBc,YAAY,CAACC,WAAb,CAAyB,KAAKZ,MAA9B,CAArB,CACA,KAAKF,wBAAL,GAAgC,KAAKe,KAAL,CAAWC,UAAX,CAAsBC,EAAtB,CAAyB,KAAKf,MAA9B,CAAhC,CACA,KAAKA,MAAL,GACD,C,QAEMgB,oB,GAAP,gCAA8B,CAC5B,KAAKhB,MAAL,CAAYiB,MAAZ,GAEA,IAAI,KAAKpB,aAAT,EAAwB,CACtB,KAAKA,aAAL,CAAmBqB,MAAnB,GACD,CACD,IAAI,KAAKpB,wBAAT,EAAmC,CACjC,KAAKA,wBAAL,GACD,CACF,C,QAEMqB,kB,GAAP,4BAA0BC,CAA1B,EAA6CC,SAA7C,EAAwE,CACtE,KAAKrB,MAAL,GACD,C,QAEMsB,M,GAAP,kBAAgB,mBACd,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAAC1B,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,OAAO,MAAI,CAAC2B,UAAL,EAAP,CACD,CAJH,CADF,CAQD,C,QAEOA,U,GAAR,sBAAqB,sBACW,KAAK9B,OADhB,CACXQ,MADW,kBACXA,MADW,CACHC,SADG,kBACHA,SADG,CAEnB,IAAMC,IAAI,GAAGF,MAAM,CAACC,SAAD,CAAnB,CACA,IAAMsB,UAAyB,GAAIrB,IAAI,IAAIA,IAAI,CAACsB,aAAb,IAA8BtB,IAAI,CAACsB,aAAL,EAA/B,IAAwD,EACxFC,KAAK,EAAE,KADiF,EAExFC,OAAO,EAAE,KAF+E,EAGxFC,OAAO,EAAE,KAH+E,EAIxFC,OAAO,EAAE,KAJ+E,EAKxFC,QAAQ,EAAE,KAL8E,EAA1F,CAOA,oBACE,sCACE,SAAS,EAAE,iBACTnC,kBAAOoC,IAAP,CAAY,KAAKnC,KAAjB,CADS,EAET4B,UAAU,CAACK,OAAX,IAAsBlC,kBAAOkC,OAAP,CAAe,KAAKjC,KAApB,CAFb,EAGT4B,UAAU,CAACI,OAAX,IAAsBjC,kBAAOiC,OAAP,CAAe,KAAKhC,KAApB,CAHb,EAIT4B,UAAU,CAACG,OAAX,IAAsBhC,kBAAOgC,OAAP,CAAe,KAAK/B,KAApB,CAJb,EAKT4B,UAAU,CAACE,KAAX,IAAoB/B,kBAAO+B,KAAP,CAAa,KAAK9B,KAAlB,CALX,EAMT,KAAKiB,KAAL,CAAWmB,SANF,CADb,EASE,KAAK,EAAE,KAAKtC,KAAL,CAAWC,MATpB,EAUE,GAAG,EAAE,KAAKI,WAVZ,GADF,CAcD,C;;AAcOM,EAAAA,S,GAAR,mBAAkBF,IAAlB,EAAkD;AAChD,QAAM8B,QAAQ,GAAG,2BAAY9B,IAAZ,CAAjB;;AAEA,QAAI8B,QAAQ,IAAIA,QAAQ,YAAYC,WAApC,EAAiD;AAC/C,UAAMC,IAAI,GAAGF,QAAQ,CAACG,qBAAT,EAAb;AACA,UAAI,KAAKvB,KAAL,CAAWwB,QAAf,EAAyB;AACvB,eAAO;AACLC,UAAAA,KAAK,EAAE,KAAK1C,KAAL,CAAW2C,cADb;AAELC,UAAAA,IAAI,EAAEP,QAAQ,CAACQ,UAFV;AAGLC,UAAAA,GAAG,EAAET,QAAQ,CAACU,SAHT;AAILC,UAAAA,MAAM,EAAET,IAAI,CAACU,MAAL,GAAcV,IAAI,CAACO,GAJtB,EAAP;;AAMD;;AAED,UAAMH,cAAc,GAAGO,QAAQ,CAAC,KAAKlD,KAAL,CAAW2C,cAAZ,EAA4B,EAA5B,CAAR,IAA2C,CAAlE;AACA,aAAO;AACLC,QAAAA,IAAI,EAAEP,QAAQ,CAACQ,UADV;AAELC,QAAAA,GAAG,EAAET,QAAQ,CAACc,YAAT,GAAwBd,QAAQ,CAACU,SAAjC,GAA6CJ,cAF7C;AAGLD,QAAAA,KAAK,EAAEH,IAAI,CAACa,KAAL,GAAab,IAAI,CAACK,IAHpB,EAAP;;AAKD;;AAED,WAAO,EAAP;AACD,G,oBA9G4BS,eAAMC,S,WACrBC,W,GAAcC,wB","sourcesContent":["import React from 'react';\nimport throttle from 'lodash.throttle';\n\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Indicator.styles';\nimport { TabsContext, TabsContextType } from './TabsContext';\nimport { TabIndicators } from './Tab';\n\nexport interface IndicatorProps {\n className?: string;\n tabUpdates: {\n on: (x0: () => void) => () => void;\n };\n vertical: boolean;\n}\n\nexport interface IndicatorState {\n styles: React.CSSProperties;\n}\n\n@rootNode\nexport class Indicator extends React.Component<IndicatorProps, IndicatorState> {\n public static contextType = TabsContext;\n public context: TabsContextType = this.context;\n\n public state: IndicatorState = {\n styles: {},\n };\n\n private theme!: Theme;\n\n private eventListener: Nullable<{\n remove: () => void;\n }> = null;\n\n private removeTabUpdatesListener: Nullable<() => void> = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n this.eventListener = LayoutEvents.addListener(this.reflow);\n this.removeTabUpdatesListener = this.props.tabUpdates.on(this.reflow);\n this.reflow();\n }\n\n public componentWillUnmount() {\n this.reflow.cancel();\n\n if (this.eventListener) {\n this.eventListener.remove();\n }\n if (this.removeTabUpdatesListener) {\n this.removeTabUpdatesListener();\n }\n }\n\n public componentDidUpdate(_: IndicatorProps, prevState: IndicatorState) {\n this.reflow();\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 { getTab, activeTab } = this.context;\n const node = getTab(activeTab);\n const indicators: TabIndicators = (node && node.getIndicators && node.getIndicators()) || {\n error: false,\n warning: false,\n success: false,\n primary: false,\n disabled: false,\n };\n return (\n <div\n className={cx(\n styles.root(this.theme),\n indicators.primary && styles.primary(this.theme),\n indicators.success && styles.success(this.theme),\n indicators.warning && styles.warning(this.theme),\n indicators.error && styles.error(this.theme),\n this.props.className,\n )}\n style={this.state.styles}\n ref={this.setRootNode}\n />\n );\n }\n\n private reflow = throttle(() => {\n const { getTab, activeTab } = this.context;\n const node = getTab(activeTab);\n const nodeStyles = this.getStyles(node);\n const stylesUpdated = ['left', 'top', 'width', 'height'].some(\n (prop) => nodeStyles[prop as keyof React.CSSProperties] !== this.state.styles[prop as keyof React.CSSProperties],\n );\n if (stylesUpdated) {\n this.setState({ styles: nodeStyles });\n }\n }, 100);\n\n private getStyles(node: any): React.CSSProperties {\n const htmlNode = getRootNode(node);\n\n if (htmlNode && htmlNode instanceof HTMLElement) {\n const rect = htmlNode.getBoundingClientRect();\n if (this.props.vertical) {\n return {\n width: this.theme.tabBorderWidth,\n left: htmlNode.offsetLeft,\n top: htmlNode.offsetTop,\n height: rect.bottom - rect.top,\n };\n }\n\n const tabBorderWidth = parseInt(this.theme.tabBorderWidth, 10) || 0;\n return {\n left: htmlNode.offsetLeft,\n top: htmlNode.offsetHeight + htmlNode.offsetTop - tabBorderWidth,\n width: rect.right - rect.left,\n };\n }\n\n return {};\n }\n}\n"]}
@@ -96,7 +96,8 @@ export declare class Tab<T extends string = string> extends React.Component<TabP
96
96
  state: TabState;
97
97
  private theme;
98
98
  private tabComponent;
99
- UNSAFE_componentWillMount(): void;
99
+ private setRootNode;
100
+ constructor(props: TabProps<T>);
100
101
  componentDidMount(): void;
101
102
  componentDidUpdate(): void;
102
103
  componentWillUnmount(): void;
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.Tab = void 0;var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.Tab = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
  var _propTypes = _interopRequireDefault(require("prop-types"));
3
3
  var _invariant = _interopRequireDefault(require("invariant"));
4
4
 
@@ -11,9 +11,10 @@ var _ThemeContext = require("../../lib/theming/ThemeContext");
11
11
 
12
12
  var _CommonWrapper = require("../../internal/CommonWrapper");
13
13
  var _Emotion = require("../../lib/theming/Emotion");
14
+ var _rootNode = require("../../lib/rootNode");
14
15
 
15
16
  var _TabsContext = require("./TabsContext");
16
- var _Tab = require("./Tab.styles");
17
+ var _Tab = require("./Tab.styles");var _class, _class2, _temp;
17
18
 
18
19
 
19
20
 
@@ -104,11 +105,10 @@ var _Tab = require("./Tab.styles");
104
105
  *
105
106
  * Works only inside Tabs component, otherwise throws
106
107
  */var
107
- Tab = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Tab, _React$Component);function Tab() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
108
108
 
109
+ Tab = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Tab, _React$Component);
109
110
 
110
111
 
111
- context = _this.context;_this.
112
112
 
113
113
 
114
114
 
@@ -123,12 +123,8 @@ Tab = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Tab
123
123
 
124
124
 
125
125
 
126
- state = {
127
- focusedByKeyboard: false };_this.
128
126
 
129
127
 
130
- theme = void 0;_this.
131
- tabComponent = null;_this.
132
128
 
133
129
 
134
130
 
@@ -137,6 +133,14 @@ Tab = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Tab
137
133
 
138
134
 
139
135
 
136
+ function Tab(props) {var _this;
137
+ _this = _React$Component.call(this, props) || this;_this.context = _this.context;_this.state = { focusedByKeyboard: false };_this.theme = void 0;_this.tabComponent = null;_this.setRootNode = void 0;_this.
138
+
139
+
140
+
141
+
142
+
143
+
140
144
 
141
145
 
142
146
 
@@ -301,4 +305,4 @@ Tab = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(Tab
301
305
  }
302
306
 
303
307
  _this.setState({ focusedByKeyboard: false });
304
- };return _this;}var _proto = Tab.prototype;_proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {(0, _invariant.default)(this.context !== _TabsContext.TabsContextDefaultValue, 'Tab should be placed inside Tabs component');};_proto.componentDidMount = function componentDidMount() {var id = this.getId();if (typeof id === 'string') {this.context.addTab(id, this.getTabInstance);}};_proto.componentDidUpdate = function componentDidUpdate() {if (this.context.activeTab === this.props.id) {this.context.notifyUpdate();}};_proto.componentWillUnmount = function componentWillUnmount() {var id = this.getId();if (typeof id === 'string') {this.context.removeTab(id);}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.getIndicators = function getIndicators() {return { error: Boolean(this.props.error), warning: Boolean(this.props.warning), success: Boolean(this.props.success), primary: Boolean(this.props.primary), disabled: Boolean(this.props.disabled) };};_proto.renderMain = function renderMain() {var _cx;var _this$props = this.props,children = _this$props.children,disabled = _this$props.disabled,error = _this$props.error,warning = _this$props.warning,success = _this$props.success,primary = _this$props.primary,_this$props$component = _this$props.component,Component = _this$props$component === void 0 ? Tab.defaultProps.component : _this$props$component,href = _this$props.href;var isActive = false;var isVertical = false;var id = this.getId();if (typeof id === 'string') {isActive = this.context.activeTab === this.getId();isVertical = this.context.vertical;}var orientationStyles = isVertical ? _Tab.verticalStyles : _Tab.horizontalStyles;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, /*#__PURE__*/_react.default.createElement(Component, { className: (0, _Emotion.cx)((_cx = {}, _cx[_Tab.styles.root(this.theme)] = true, _cx[_Tab.styles.vertical(this.theme)] = !!isVertical, _cx[orientationStyles.primary(this.theme)] = !!primary, _cx[orientationStyles.success(this.theme)] = !!success, _cx[orientationStyles.warning(this.theme)] = !!warning, _cx[orientationStyles.error(this.theme)] = !!error, _cx[_Tab.styles.active()] = !!isActive, _cx[orientationStyles.active(this.theme)] = !!isActive, _cx[_Tab.styles.disabled(this.theme)] = !!disabled, _cx[orientationStyles.disabled()] = !!disabled, _cx)), onBlur: this.handleBlur, onClick: this.switchTab, onFocus: this.handleFocus, onKeyDown: this.handleKeyDown, tabIndex: disabled ? -1 : 0, ref: (0, _utils.isFunctionalComponent)(Component) ? null : this.refTabComponent, href: href }, /*#__PURE__*/_react.default.createElement(_ResizeDetector.ResizeDetector, { onResize: this.context.notifyUpdate }, children), this.state.focusedByKeyboard && /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_Tab.styles.focus(this.theme), _Tab.globalClasses.focus) })));};return Tab;}(_react.default.Component);exports.Tab = Tab;Tab.__KONTUR_REACT_UI__ = 'Tab';Tab.contextType = _TabsContext.TabsContext;Tab.propTypes = { children: _propTypes.default.node, disabled: _propTypes.default.bool, href: _propTypes.default.string.isRequired, onClick: _propTypes.default.func, onKeyDown: _propTypes.default.func };Tab.defaultProps = { component: 'a', href: '' };
308
+ };(0, _invariant.default)(_this.context !== _TabsContext.TabsContextDefaultValue, 'Tab should be placed inside Tabs component');return _this;}var _proto = Tab.prototype;_proto.componentDidMount = function componentDidMount() {var id = this.getId();if (typeof id === 'string') {this.context.addTab(id, this.getTabInstance);}};_proto.componentDidUpdate = function componentDidUpdate() {if (this.context.activeTab === this.props.id) {this.context.notifyUpdate();}};_proto.componentWillUnmount = function componentWillUnmount() {var id = this.getId();if (typeof id === 'string') {this.context.removeTab(id);}};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.getIndicators = function getIndicators() {return { error: Boolean(this.props.error), warning: Boolean(this.props.warning), success: Boolean(this.props.success), primary: Boolean(this.props.primary), disabled: Boolean(this.props.disabled) };};_proto.renderMain = function renderMain() {var _cx;var _this$props = this.props,children = _this$props.children,disabled = _this$props.disabled,error = _this$props.error,warning = _this$props.warning,success = _this$props.success,primary = _this$props.primary,_this$props$component = _this$props.component,Component = _this$props$component === void 0 ? Tab.defaultProps.component : _this$props$component,href = _this$props.href;var isActive = false;var isVertical = false;var id = this.getId();if (typeof id === 'string') {isActive = this.context.activeTab === this.getId();isVertical = this.context.vertical;}var orientationStyles = isVertical ? _Tab.verticalStyles : _Tab.horizontalStyles;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement(Component, { className: (0, _Emotion.cx)((_cx = {}, _cx[_Tab.styles.root(this.theme)] = true, _cx[_Tab.styles.vertical(this.theme)] = !!isVertical, _cx[orientationStyles.primary(this.theme)] = !!primary, _cx[orientationStyles.success(this.theme)] = !!success, _cx[orientationStyles.warning(this.theme)] = !!warning, _cx[orientationStyles.error(this.theme)] = !!error, _cx[_Tab.styles.active()] = !!isActive, _cx[orientationStyles.active(this.theme)] = !!isActive, _cx[_Tab.styles.disabled(this.theme)] = !!disabled, _cx[orientationStyles.disabled()] = !!disabled, _cx)), onBlur: this.handleBlur, onClick: this.switchTab, onFocus: this.handleFocus, onKeyDown: this.handleKeyDown, tabIndex: disabled ? -1 : 0, ref: (0, _utils.isFunctionalComponent)(Component) ? null : this.refTabComponent, href: href }, /*#__PURE__*/_react.default.createElement(_ResizeDetector.ResizeDetector, { onResize: this.context.notifyUpdate }, children), this.state.focusedByKeyboard && /*#__PURE__*/_react.default.createElement("div", { className: (0, _Emotion.cx)(_Tab.styles.focus(this.theme), _Tab.globalClasses.focus) })));};return Tab;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'Tab', _class2.contextType = _TabsContext.TabsContext, _class2.propTypes = { children: _propTypes.default.node, disabled: _propTypes.default.bool, href: _propTypes.default.string.isRequired, onClick: _propTypes.default.func, onKeyDown: _propTypes.default.func }, _class2.defaultProps = { component: 'a', href: '' }, _temp)) || _class;exports.Tab = Tab;