@skbkontur/react-ui 3.9.4 → 3.10.0

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 (437) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +57 -0
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +1 -0
  4. package/cjs/components/Autocomplete/Autocomplete.js +11 -5
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +1 -0
  7. package/cjs/components/Button/Button.js +7 -3
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Center/Center.d.ts +1 -0
  10. package/cjs/components/Center/Center.js +10 -3
  11. package/cjs/components/Center/Center.js.map +1 -1
  12. package/cjs/components/Checkbox/Checkbox.d.ts +3 -2
  13. package/cjs/components/Checkbox/Checkbox.js +10 -4
  14. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  15. package/cjs/components/ComboBox/ComboBox.d.ts +2 -0
  16. package/cjs/components/ComboBox/ComboBox.js +100 -70
  17. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  18. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +3 -3
  19. package/cjs/components/CurrencyInput/CurrencyInput.js +7 -4
  20. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  21. package/cjs/components/DateInput/DateInput.d.ts +1 -0
  22. package/cjs/components/DateInput/DateInput.js +6 -3
  23. package/cjs/components/DateInput/DateInput.js.map +1 -1
  24. package/cjs/components/DatePicker/DatePicker.d.ts +4 -2
  25. package/cjs/components/DatePicker/DatePicker.js +17 -7
  26. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  27. package/cjs/components/Dropdown/Dropdown.d.ts +1 -0
  28. package/cjs/components/Dropdown/Dropdown.js +11 -4
  29. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  30. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +1 -0
  31. package/cjs/components/DropdownMenu/DropdownMenu.js +7 -4
  32. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  33. package/cjs/components/FxInput/FxInput.d.ts +1 -0
  34. package/cjs/components/FxInput/FxInput.js +9 -2
  35. package/cjs/components/FxInput/FxInput.js.map +1 -1
  36. package/cjs/components/Gapped/Gapped.d.ts +1 -0
  37. package/cjs/components/Gapped/Gapped.js +8 -5
  38. package/cjs/components/Gapped/Gapped.js.map +1 -1
  39. package/cjs/components/Group/Group.d.ts +1 -0
  40. package/cjs/components/Group/Group.js +10 -7
  41. package/cjs/components/Group/Group.js.map +1 -1
  42. package/cjs/components/Hint/Hint.d.ts +3 -2
  43. package/cjs/components/Hint/Hint.js +7 -4
  44. package/cjs/components/Hint/Hint.js.map +1 -1
  45. package/cjs/components/Input/Input.d.ts +4 -1
  46. package/cjs/components/Input/Input.js +13 -5
  47. package/cjs/components/Input/Input.js.map +1 -1
  48. package/cjs/components/Kebab/Kebab.d.ts +1 -0
  49. package/cjs/components/Kebab/Kebab.js +8 -5
  50. package/cjs/components/Kebab/Kebab.js.map +1 -1
  51. package/cjs/components/Link/Link.d.ts +1 -0
  52. package/cjs/components/Link/Link.js +11 -3
  53. package/cjs/components/Link/Link.js.map +1 -1
  54. package/cjs/components/Loader/Loader.d.ts +1 -0
  55. package/cjs/components/Loader/Loader.js +9 -6
  56. package/cjs/components/Loader/Loader.js.map +1 -1
  57. package/cjs/components/MenuItem/MenuItem.d.ts +1 -0
  58. package/cjs/components/MenuItem/MenuItem.js +13 -7
  59. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  60. package/cjs/components/Modal/Modal.js +1 -1
  61. package/cjs/components/Modal/Modal.js.map +1 -1
  62. package/cjs/components/Modal/ModalBody.d.ts +1 -0
  63. package/cjs/components/Modal/ModalBody.js +9 -6
  64. package/cjs/components/Modal/ModalBody.js.map +1 -1
  65. package/cjs/components/Paging/Paging.d.ts +2 -2
  66. package/cjs/components/Paging/Paging.js +6 -5
  67. package/cjs/components/Paging/Paging.js.map +1 -1
  68. package/cjs/components/PasswordInput/PasswordInput.d.ts +3 -2
  69. package/cjs/components/PasswordInput/PasswordInput.js +13 -6
  70. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  71. package/cjs/components/Radio/Radio.d.ts +5 -10
  72. package/cjs/components/Radio/Radio.js +11 -10
  73. package/cjs/components/Radio/Radio.js.map +1 -1
  74. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -16
  75. package/cjs/components/RadioGroup/RadioGroup.js +16 -19
  76. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  77. package/cjs/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  78. package/cjs/components/RadioGroup/RadioGroupContext.js +21 -0
  79. package/cjs/components/RadioGroup/RadioGroupContext.js.map +1 -0
  80. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  81. package/cjs/components/ScrollContainer/ScrollContainer.js +8 -5
  82. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  83. package/cjs/components/Select/Select.d.ts +1 -0
  84. package/cjs/components/Select/Select.js +6 -4
  85. package/cjs/components/Select/Select.js.map +1 -1
  86. package/cjs/components/SidePage/SidePage.d.ts +1 -0
  87. package/cjs/components/SidePage/SidePage.js +4 -1
  88. package/cjs/components/SidePage/SidePage.js.map +1 -1
  89. package/cjs/components/SidePage/SidePageBody.d.ts +1 -0
  90. package/cjs/components/SidePage/SidePageBody.js +9 -6
  91. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  92. package/cjs/components/SidePage/SidePageContainer.d.ts +1 -0
  93. package/cjs/components/SidePage/SidePageContainer.js +9 -6
  94. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  95. package/cjs/components/SidePage/SidePageFooter.d.ts +1 -2
  96. package/cjs/components/SidePage/SidePageFooter.js +11 -12
  97. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  98. package/cjs/components/SidePage/SidePageHeader.d.ts +1 -0
  99. package/cjs/components/SidePage/SidePageHeader.js +6 -3
  100. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  101. package/cjs/components/Spinner/Spinner.d.ts +1 -0
  102. package/cjs/components/Spinner/Spinner.js +8 -5
  103. package/cjs/components/Spinner/Spinner.js.map +1 -1
  104. package/cjs/components/Sticky/Sticky.d.ts +1 -0
  105. package/cjs/components/Sticky/Sticky.js +8 -5
  106. package/cjs/components/Sticky/Sticky.js.map +1 -1
  107. package/cjs/components/Switcher/Switcher.d.ts +1 -0
  108. package/cjs/components/Switcher/Switcher.js +6 -3
  109. package/cjs/components/Switcher/Switcher.js.map +1 -1
  110. package/cjs/components/Tabs/Indicator.d.ts +1 -0
  111. package/cjs/components/Tabs/Indicator.js +16 -15
  112. package/cjs/components/Tabs/Indicator.js.map +1 -1
  113. package/cjs/components/Tabs/Tab.d.ts +2 -1
  114. package/cjs/components/Tabs/Tab.js +13 -9
  115. package/cjs/components/Tabs/Tab.js.map +1 -1
  116. package/cjs/components/Tabs/Tabs.d.ts +1 -0
  117. package/cjs/components/Tabs/Tabs.js +9 -9
  118. package/cjs/components/Tabs/Tabs.js.map +1 -1
  119. package/cjs/components/Textarea/Textarea.d.ts +1 -0
  120. package/cjs/components/Textarea/Textarea.js +12 -5
  121. package/cjs/components/Textarea/Textarea.js.map +1 -1
  122. package/cjs/components/Toast/Toast.d.ts +3 -0
  123. package/cjs/components/Toast/Toast.js +15 -4
  124. package/cjs/components/Toast/Toast.js.map +1 -1
  125. package/cjs/components/Toast/ToastView.d.ts +1 -0
  126. package/cjs/components/Toast/ToastView.js +8 -5
  127. package/cjs/components/Toast/ToastView.js.map +1 -1
  128. package/cjs/components/Toggle/Toggle.d.ts +1 -0
  129. package/cjs/components/Toggle/Toggle.js +9 -6
  130. package/cjs/components/Toggle/Toggle.js.map +1 -1
  131. package/cjs/components/Token/Token.d.ts +1 -0
  132. package/cjs/components/Token/Token.js +7 -4
  133. package/cjs/components/Token/Token.js.map +1 -1
  134. package/cjs/components/TokenInput/TokenInput.d.ts +1 -0
  135. package/cjs/components/TokenInput/TokenInput.js +11 -8
  136. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  137. package/cjs/components/Tooltip/Tooltip.d.ts +3 -1
  138. package/cjs/components/Tooltip/Tooltip.js +16 -5
  139. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  140. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -0
  141. package/cjs/components/TooltipMenu/TooltipMenu.js +8 -5
  142. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  143. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +9 -1
  144. package/cjs/internal/CommonWrapper/CommonWrapper.js +38 -15
  145. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  146. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +3 -2
  147. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  148. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +4 -1
  149. package/cjs/internal/CustomComboBox/ComboBoxView.js +15 -5
  150. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  151. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
  152. package/cjs/internal/CustomComboBox/CustomComboBox.js +8 -5
  153. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  154. package/cjs/internal/DateSelect/DateSelect.d.ts +2 -2
  155. package/cjs/internal/DateSelect/DateSelect.js +3 -3
  156. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  157. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
  158. package/cjs/internal/DropdownContainer/DropdownContainer.js +8 -13
  159. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  160. package/cjs/internal/FocusTrap/FocusTrap.d.ts +1 -0
  161. package/cjs/internal/FocusTrap/FocusTrap.js +12 -9
  162. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  163. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +12 -4
  164. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  165. package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -0
  166. package/cjs/internal/InputLikeText/InputLikeText.js +10 -3
  167. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  168. package/cjs/internal/InternalMenu/InternalMenu.d.ts +2 -3
  169. package/cjs/internal/InternalMenu/InternalMenu.js +16 -22
  170. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  171. package/cjs/internal/MaskedInput/MaskedInput.d.ts +2 -2
  172. package/cjs/internal/MaskedInput/MaskedInput.js +3 -3
  173. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  174. package/cjs/internal/Menu/Menu.d.ts +1 -0
  175. package/cjs/internal/Menu/Menu.js +9 -6
  176. package/cjs/internal/Menu/Menu.js.map +1 -1
  177. package/cjs/internal/Popup/Popup.d.ts +4 -4
  178. package/cjs/internal/Popup/Popup.js +50 -27
  179. package/cjs/internal/Popup/Popup.js.map +1 -1
  180. package/cjs/internal/PopupMenu/PopupMenu.d.ts +1 -0
  181. package/cjs/internal/PopupMenu/PopupMenu.js +7 -4
  182. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  183. package/cjs/internal/RenderContainer/RenderContainer.d.ts +1 -1
  184. package/cjs/internal/RenderContainer/RenderContainer.js +2 -1
  185. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  186. package/cjs/internal/RenderContainer/RenderInnerContainer.js +2 -3
  187. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  188. package/cjs/internal/RenderLayer/RenderLayer.d.ts +3 -1
  189. package/cjs/internal/RenderLayer/RenderLayer.js +13 -7
  190. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  191. package/cjs/internal/ThemeShowcase/ThemeShowcase.d.ts +1 -1
  192. package/cjs/internal/ThemeShowcase/ThemeShowcase.js +20 -19
  193. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  194. package/cjs/internal/ZIndex/ZIndex.d.ts +2 -0
  195. package/cjs/internal/ZIndex/ZIndex.js +45 -34
  196. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  197. package/cjs/internal/icons/16px/index.d.ts +17 -16
  198. package/cjs/internal/icons/16px/index.js +108 -51
  199. package/cjs/internal/icons/16px/index.js.map +1 -1
  200. package/cjs/lib/callChildRef/callChildRef.d.ts +3 -0
  201. package/cjs/lib/callChildRef/callChildRef.js +19 -0
  202. package/cjs/lib/callChildRef/callChildRef.js.map +1 -0
  203. package/cjs/lib/rootNode/getRootNode.d.ts +3 -0
  204. package/cjs/lib/rootNode/getRootNode.js +27 -0
  205. package/cjs/lib/rootNode/getRootNode.js.map +1 -0
  206. package/cjs/lib/rootNode/index.d.ts +2 -0
  207. package/cjs/lib/rootNode/index.js +2 -0
  208. package/cjs/lib/rootNode/index.js.map +1 -0
  209. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  210. package/cjs/lib/rootNode/rootNodeDecorator.js +31 -0
  211. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -0
  212. package/cjs/lib/theming/Emotion.js +1 -0
  213. package/cjs/lib/theming/Emotion.js.map +1 -1
  214. package/cjs/lib/utils.d.ts +3 -0
  215. package/cjs/lib/utils.js +15 -2
  216. package/cjs/lib/utils.js.map +1 -1
  217. package/components/Autocomplete/Autocomplete/Autocomplete.js +19 -16
  218. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  219. package/components/Autocomplete/Autocomplete.d.ts +1 -0
  220. package/components/Button/Button/Button.js +15 -12
  221. package/components/Button/Button/Button.js.map +1 -1
  222. package/components/Button/Button.d.ts +1 -0
  223. package/components/Center/Center/Center.js +14 -9
  224. package/components/Center/Center/Center.js.map +1 -1
  225. package/components/Center/Center.d.ts +1 -0
  226. package/components/Checkbox/Checkbox/Checkbox.js +16 -10
  227. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  228. package/components/Checkbox/Checkbox.d.ts +3 -2
  229. package/components/ComboBox/ComboBox/ComboBox.js +38 -32
  230. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  231. package/components/ComboBox/ComboBox.d.ts +2 -0
  232. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +29 -27
  233. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  234. package/components/CurrencyInput/CurrencyInput.d.ts +3 -3
  235. package/components/DateInput/DateInput/DateInput.js +7 -3
  236. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  237. package/components/DateInput/DateInput.d.ts +1 -0
  238. package/components/DatePicker/DatePicker/DatePicker.js +29 -22
  239. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  240. package/components/DatePicker/DatePicker.d.ts +4 -2
  241. package/components/Dropdown/Dropdown/Dropdown.js +15 -13
  242. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  243. package/components/Dropdown/Dropdown.d.ts +1 -0
  244. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +15 -9
  245. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  246. package/components/DropdownMenu/DropdownMenu.d.ts +1 -0
  247. package/components/FxInput/FxInput/FxInput.js +13 -9
  248. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  249. package/components/FxInput/FxInput.d.ts +1 -0
  250. package/components/Gapped/Gapped/Gapped.js +15 -11
  251. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  252. package/components/Gapped/Gapped.d.ts +1 -0
  253. package/components/Group/Group/Group.js +22 -9
  254. package/components/Group/Group/Group.js.map +1 -1
  255. package/components/Group/Group.d.ts +1 -0
  256. package/components/Hint/Hint/Hint.js +18 -12
  257. package/components/Hint/Hint/Hint.js.map +1 -1
  258. package/components/Hint/Hint.d.ts +3 -2
  259. package/components/Input/Input/Input.js +21 -14
  260. package/components/Input/Input/Input.js.map +1 -1
  261. package/components/Input/Input.d.ts +4 -1
  262. package/components/Kebab/Kebab/Kebab.js +12 -7
  263. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  264. package/components/Kebab/Kebab.d.ts +1 -0
  265. package/components/Link/Link/Link.js +15 -11
  266. package/components/Link/Link/Link.js.map +1 -1
  267. package/components/Link/Link.d.ts +1 -0
  268. package/components/Loader/Loader/Loader.js +16 -11
  269. package/components/Loader/Loader/Loader.js.map +1 -1
  270. package/components/Loader/Loader.d.ts +1 -0
  271. package/components/MenuItem/MenuItem/MenuItem.js +21 -14
  272. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  273. package/components/MenuItem/MenuItem.d.ts +1 -0
  274. package/components/Modal/Modal/Modal.js +1 -1
  275. package/components/Modal/Modal/Modal.js.map +1 -1
  276. package/components/Modal/ModalBody/ModalBody.js +16 -10
  277. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  278. package/components/Modal/ModalBody.d.ts +1 -0
  279. package/components/Paging/Paging/Paging.js +17 -14
  280. package/components/Paging/Paging/Paging.js.map +1 -1
  281. package/components/Paging/Paging.d.ts +2 -2
  282. package/components/PasswordInput/PasswordInput/PasswordInput.js +18 -14
  283. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  284. package/components/PasswordInput/PasswordInput.d.ts +3 -2
  285. package/components/Radio/Radio/Radio.js +17 -19
  286. package/components/Radio/Radio/Radio.js.map +1 -1
  287. package/components/Radio/Radio.d.ts +5 -10
  288. package/components/RadioGroup/RadioGroup/RadioGroup.js +35 -38
  289. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  290. package/components/RadioGroup/RadioGroup.d.ts +2 -16
  291. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js +12 -0
  292. package/components/RadioGroup/RadioGroupContext/RadioGroupContext.js.map +1 -0
  293. package/components/RadioGroup/RadioGroupContext/package.json +6 -0
  294. package/components/RadioGroup/RadioGroupContext.d.ts +10 -0
  295. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +13 -8
  296. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  297. package/components/ScrollContainer/ScrollContainer.d.ts +1 -0
  298. package/components/Select/Select/Select.js +8 -5
  299. package/components/Select/Select/Select.js.map +1 -1
  300. package/components/Select/Select.d.ts +1 -0
  301. package/components/SidePage/SidePage/SidePage.js +6 -3
  302. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  303. package/components/SidePage/SidePage.d.ts +1 -0
  304. package/components/SidePage/SidePageBody/SidePageBody.js +16 -10
  305. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  306. package/components/SidePage/SidePageBody.d.ts +1 -0
  307. package/components/SidePage/SidePageContainer/SidePageContainer.js +16 -9
  308. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  309. package/components/SidePage/SidePageContainer.d.ts +1 -0
  310. package/components/SidePage/SidePageFooter/SidePageFooter.js +22 -19
  311. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  312. package/components/SidePage/SidePageFooter.d.ts +1 -2
  313. package/components/SidePage/SidePageHeader/SidePageHeader.js +15 -10
  314. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  315. package/components/SidePage/SidePageHeader.d.ts +1 -0
  316. package/components/Spinner/Spinner/Spinner.js +8 -3
  317. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  318. package/components/Spinner/Spinner.d.ts +1 -0
  319. package/components/Sticky/Sticky/Sticky.js +13 -8
  320. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  321. package/components/Sticky/Sticky.d.ts +1 -0
  322. package/components/Switcher/Switcher/Switcher.js +11 -6
  323. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  324. package/components/Switcher/Switcher.d.ts +1 -0
  325. package/components/Tabs/Indicator/Indicator.js +16 -14
  326. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  327. package/components/Tabs/Indicator.d.ts +1 -0
  328. package/components/Tabs/Tab/Tab.js +31 -34
  329. package/components/Tabs/Tab/Tab.js.map +1 -1
  330. package/components/Tabs/Tab.d.ts +2 -1
  331. package/components/Tabs/Tabs/Tabs.js +20 -20
  332. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  333. package/components/Tabs/Tabs.d.ts +1 -0
  334. package/components/Textarea/Textarea/Textarea.js +21 -17
  335. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  336. package/components/Textarea/Textarea.d.ts +1 -0
  337. package/components/Toast/Toast/Toast.js +29 -14
  338. package/components/Toast/Toast/Toast.js.map +1 -1
  339. package/components/Toast/Toast.d.ts +3 -0
  340. package/components/Toast/ToastView/ToastView.js +10 -5
  341. package/components/Toast/ToastView/ToastView.js.map +1 -1
  342. package/components/Toast/ToastView.d.ts +1 -0
  343. package/components/Toggle/Toggle/Toggle.js +16 -11
  344. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  345. package/components/Toggle/Toggle.d.ts +1 -0
  346. package/components/Token/Token/Token.js +11 -4
  347. package/components/Token/Token/Token.js.map +1 -1
  348. package/components/Token/Token.d.ts +1 -0
  349. package/components/TokenInput/TokenInput/TokenInput.js +12 -6
  350. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  351. package/components/TokenInput/TokenInput.d.ts +1 -0
  352. package/components/Tooltip/Tooltip/Tooltip.js +24 -15
  353. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  354. package/components/Tooltip/Tooltip.d.ts +3 -1
  355. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +23 -17
  356. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  357. package/components/TooltipMenu/TooltipMenu.d.ts +1 -0
  358. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +37 -10
  359. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  360. package/internal/CommonWrapper/CommonWrapper.d.ts +9 -1
  361. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +5 -3
  362. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  363. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +23 -13
  364. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  365. package/internal/CustomComboBox/ComboBoxView.d.ts +4 -1
  366. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +12 -4
  367. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  368. package/internal/CustomComboBox/CustomComboBox.d.ts +1 -0
  369. package/internal/DateSelect/DateSelect/DateSelect.js +5 -5
  370. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  371. package/internal/DateSelect/DateSelect.d.ts +2 -2
  372. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +11 -15
  373. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  374. package/internal/DropdownContainer/DropdownContainer.d.ts +4 -7
  375. package/internal/FocusTrap/FocusTrap/FocusTrap.js +17 -9
  376. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  377. package/internal/FocusTrap/FocusTrap.d.ts +1 -0
  378. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js +13 -7
  379. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  380. package/internal/InputLikeText/InputLikeText/InputLikeText.js +11 -6
  381. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  382. package/internal/InputLikeText/InputLikeText.d.ts +1 -0
  383. package/internal/InternalMenu/InternalMenu/InternalMenu.js +24 -25
  384. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  385. package/internal/InternalMenu/InternalMenu.d.ts +2 -3
  386. package/internal/MaskedInput/MaskedInput/MaskedInput.js +7 -7
  387. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  388. package/internal/MaskedInput/MaskedInput.d.ts +2 -2
  389. package/internal/Menu/Menu/Menu.js +11 -8
  390. package/internal/Menu/Menu/Menu.js.map +1 -1
  391. package/internal/Menu/Menu.d.ts +1 -0
  392. package/internal/Popup/Popup/Popup.js +79 -68
  393. package/internal/Popup/Popup/Popup.js.map +1 -1
  394. package/internal/Popup/Popup.d.ts +4 -4
  395. package/internal/PopupMenu/PopupMenu/PopupMenu.js +12 -7
  396. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  397. package/internal/PopupMenu/PopupMenu.d.ts +1 -0
  398. package/internal/RenderContainer/RenderContainer/RenderContainer.js +3 -1
  399. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  400. package/internal/RenderContainer/RenderContainer.d.ts +1 -1
  401. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +2 -3
  402. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  403. package/internal/RenderLayer/RenderLayer/RenderLayer.js +20 -18
  404. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  405. package/internal/RenderLayer/RenderLayer.d.ts +3 -1
  406. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js +35 -43
  407. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  408. package/internal/ThemeShowcase/ThemeShowcase.d.ts +1 -1
  409. package/internal/ZIndex/ZIndex/ZIndex.js +20 -8
  410. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  411. package/internal/ZIndex/ZIndex.d.ts +2 -0
  412. package/internal/icons/16px/index/index.js +83 -51
  413. package/internal/icons/16px/index/index.js.map +1 -1
  414. package/internal/icons/16px/index.d.ts +17 -16
  415. package/lib/callChildRef/callChildRef/callChildRef.js +14 -0
  416. package/lib/callChildRef/callChildRef/callChildRef.js.map +1 -0
  417. package/lib/callChildRef/callChildRef/package.json +6 -0
  418. package/lib/callChildRef/callChildRef.d.ts +3 -0
  419. package/lib/rootNode/getRootNode/getRootNode.js +25 -0
  420. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -0
  421. package/lib/rootNode/getRootNode/package.json +6 -0
  422. package/lib/rootNode/getRootNode.d.ts +3 -0
  423. package/lib/rootNode/index/index.js +2 -0
  424. package/lib/rootNode/index/index.js.map +1 -0
  425. package/lib/rootNode/index/package.json +6 -0
  426. package/lib/rootNode/index.d.ts +2 -0
  427. package/lib/rootNode/package.json +6 -0
  428. package/lib/rootNode/rootNodeDecorator/package.json +6 -0
  429. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +37 -0
  430. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -0
  431. package/lib/rootNode/rootNodeDecorator.d.ts +33 -0
  432. package/lib/theming/Emotion/Emotion.js +1 -0
  433. package/lib/theming/Emotion/Emotion.js.map +1 -1
  434. package/lib/utils/utils.js +11 -1
  435. package/lib/utils/utils.js.map +1 -1
  436. package/lib/utils.d.ts +3 -0
  437. package/package.json +8 -2
@@ -2,7 +2,6 @@
2
2
  var _reactDom = _interopRequireDefault(require("react-dom"));
3
3
 
4
4
 
5
- var _CommonWrapper = require("../CommonWrapper");
6
5
 
7
6
 
8
7
 
@@ -52,8 +51,8 @@ RenderInnerContainer = /*#__PURE__*/function (_React$Component) {(0, _inheritsLo
52
51
  inner = /*#__PURE__*/
53
52
  _react.default.createElement(_react.default.Fragment, null,
54
53
  anchor, /*#__PURE__*/
55
- _react.default.createElement(Portal, { key: "portal-ref", rt_rootID: rootId, container: domContainer }, /*#__PURE__*/
56
- _react.default.createElement(_CommonWrapper.CommonWrapper, this.props, children)));
54
+ _react.default.createElement(Portal, { key: "portal-ref", rt_rootID: rootId, container: domContainer },
55
+ children));
57
56
 
58
57
 
59
58
 
@@ -1 +1 @@
1
- {"version":3,"sources":["RenderInnerContainer.tsx"],"names":["SSRPlaceholder","Portal","container","rt_rootID","children","ReactDOM","createPortal","RenderInnerContainer","render","props","anchor","domContainer","rootId","inner","React","Component","__KONTUR_REACT_UI__"],"mappings":"iRAAA;AACA;;;AAGA;;;;;;;;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,wBAAM,yCAAQ,WAAQ,iBAAhB,GAAN,EAAvB;;AAEO,IAAMC,MAA4C,GAAG,SAA/CA,MAA+C,OAAwC,KAArCC,SAAqC,QAArCA,SAAqC,CAA1BC,SAA0B,QAA1BA,SAA0B,CAAfC,QAAe,QAAfA,QAAe;AAClG;AACA;AACE,iCAAC,cAAD,CAAO,QAAP;AACGF,IAAAA,SAAS,gBAAGG,kBAASC,YAAT,CAAsBF,QAAtB,EAAgCF,SAAhC,CAAH,gBAAgD,6BAAC,cAAD,OAD5D;AAEGA,IAAAA,SAAS,gBAAG,2CAAU,4BAA0BC,SAApC,GAAH,gBAAuD,6BAAC,cAAD,OAFnE,CADF;;;AAMD,CARM,C;;AAUMI,oB;;;AAGJC,EAAAA,M,GAAP,kBAAgB;AACqC,SAAKC,KAD1C,CACNC,MADM,eACNA,MADM,CACEN,QADF,eACEA,QADF,CACYO,YADZ,eACYA,YADZ,CAC0BC,MAD1B,eAC0BA,MAD1B;AAEd,QAAIC,KAAK,GAAGH,MAAZ;;AAEA,QAAIN,QAAJ,EAAc;AACZS,MAAAA,KAAK;AACH,mCAAC,cAAD,CAAO,QAAP;AACGH,MAAAA,MADH;AAEE,mCAAC,MAAD,IAAQ,GAAG,EAAC,YAAZ,EAAyB,SAAS,EAAEE,MAApC,EAA4C,SAAS,EAAED,YAAvD;AACE,mCAAC,4BAAD,EAAmB,KAAKF,KAAxB,EAAgCL,QAAhC,CADF,CAFF,CADF;;;;AAQD;;AAED,WAAOS,KAAP;AACD,G,+BAnBuCC,eAAMC,S,sDAAnCR,oB,CACGS,mB,GAAsB,sB","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { CommonWrapper } from '../CommonWrapper';\n\nimport { PortalProps, RenderContainerProps } from './RenderContainerTypes';\n\ninterface RenderInnerContainerProps extends RenderContainerProps {\n domContainer: Nullable<HTMLElement>;\n rootId: string;\n}\n\n// Заглушка нужна для корректной гидрации порталов после SSR,\n// которую реакт сам пока не поддерживает.\n// @see https://github.com/facebook/react/issues/13097\n// А также для вставки актуального render-container-id на клиенте.\n//\n// Дело в том, что во время гидрации, структура HTML на сервере\n// и на клиенте должна совпадать, иначе возможны артефакты.\n// Алгоритм там примерно такой. Клиент во время гидрации идет\n// по этим двум деревьям и сравнивает узлы. Элементы разных типов\n// он подменяет на свои. А те, что совпадают, он оставляет как есть\n// вместе со всеми атрибутами, навесив только обработчики событий.\n//\n// Поэтому, для портала, который рендерится только на клиенте,\n// нужно использовать серверную заглушку, чтобы при гидрации\n// он не испортил какой-то другой элемент. Null не подходит,\n// т.к. на сервере он тоже не рендерится.\n// А элемент с render-container-id нужно отрендерить с нуля.\n\nconst SSRPlaceholder = () => <script data-id=\"ssr-placeholder\" />;\n\nexport const Portal: React.FunctionComponent<PortalProps> = ({ container, rt_rootID, children }) => {\n // container exists only in browser\n return (\n <React.Fragment>\n {container ? ReactDOM.createPortal(children, container) : <SSRPlaceholder />}\n {container ? <noscript data-render-container-id={rt_rootID} /> : <SSRPlaceholder />}\n </React.Fragment>\n );\n};\n\nexport class RenderInnerContainer extends React.Component<RenderInnerContainerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderInnerContainer';\n\n public render() {\n const { anchor, children, domContainer, rootId } = this.props;\n let inner = anchor;\n\n if (children) {\n inner = (\n <React.Fragment>\n {anchor}\n <Portal key=\"portal-ref\" rt_rootID={rootId} container={domContainer}>\n <CommonWrapper {...this.props}>{children}</CommonWrapper>\n </Portal>\n </React.Fragment>\n );\n }\n\n return inner;\n }\n}\n"]}
1
+ {"version":3,"sources":["RenderInnerContainer.tsx"],"names":["SSRPlaceholder","Portal","container","rt_rootID","children","ReactDOM","createPortal","RenderInnerContainer","render","props","anchor","domContainer","rootId","inner","React","Component","__KONTUR_REACT_UI__"],"mappings":"iRAAA;AACA;;;;;;;;;;;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,wBAAM,yCAAQ,WAAQ,iBAAhB,GAAN,EAAvB;;AAEO,IAAMC,MAA4C,GAAG,SAA/CA,MAA+C,OAAwC,KAArCC,SAAqC,QAArCA,SAAqC,CAA1BC,SAA0B,QAA1BA,SAA0B,CAAfC,QAAe,QAAfA,QAAe;AAClG;AACA;AACE,iCAAC,cAAD,CAAO,QAAP;AACGF,IAAAA,SAAS,gBAAGG,kBAASC,YAAT,CAAsBF,QAAtB,EAAgCF,SAAhC,CAAH,gBAAgD,6BAAC,cAAD,OAD5D;AAEGA,IAAAA,SAAS,gBAAG,2CAAU,4BAA0BC,SAApC,GAAH,gBAAuD,6BAAC,cAAD,OAFnE,CADF;;;AAMD,CARM,C;;AAUMI,oB;;;AAGJC,EAAAA,M,GAAP,kBAAgB;AACqC,SAAKC,KAD1C,CACNC,MADM,eACNA,MADM,CACEN,QADF,eACEA,QADF,CACYO,YADZ,eACYA,YADZ,CAC0BC,MAD1B,eAC0BA,MAD1B;AAEd,QAAIC,KAAK,GAAGH,MAAZ;;AAEA,QAAIN,QAAJ,EAAc;AACZS,MAAAA,KAAK;AACH,mCAAC,cAAD,CAAO,QAAP;AACGH,MAAAA,MADH;AAEE,mCAAC,MAAD,IAAQ,GAAG,EAAC,YAAZ,EAAyB,SAAS,EAAEE,MAApC,EAA4C,SAAS,EAAED,YAAvD;AACGP,MAAAA,QADH,CAFF,CADF;;;;AAQD;;AAED,WAAOS,KAAP;AACD,G,+BAnBuCC,eAAMC,S,sDAAnCR,oB,CACGS,mB,GAAsB,sB","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { Nullable } from '../../typings/utility-types';\n\nimport { PortalProps, RenderContainerProps } from './RenderContainerTypes';\n\ninterface RenderInnerContainerProps extends RenderContainerProps {\n domContainer: Nullable<HTMLElement>;\n rootId: string;\n}\n\n// Заглушка нужна для корректной гидрации порталов после SSR,\n// которую реакт сам пока не поддерживает.\n// @see https://github.com/facebook/react/issues/13097\n// А также для вставки актуального render-container-id на клиенте.\n//\n// Дело в том, что во время гидрации, структура HTML на сервере\n// и на клиенте должна совпадать, иначе возможны артефакты.\n// Алгоритм там примерно такой. Клиент во время гидрации идет\n// по этим двум деревьям и сравнивает узлы. Элементы разных типов\n// он подменяет на свои. А те, что совпадают, он оставляет как есть\n// вместе со всеми атрибутами, навесив только обработчики событий.\n//\n// Поэтому, для портала, который рендерится только на клиенте,\n// нужно использовать серверную заглушку, чтобы при гидрации\n// он не испортил какой-то другой элемент. Null не подходит,\n// т.к. на сервере он тоже не рендерится.\n// А элемент с render-container-id нужно отрендерить с нуля.\n\nconst SSRPlaceholder = () => <script data-id=\"ssr-placeholder\" />;\n\nexport const Portal: React.FunctionComponent<PortalProps> = ({ container, rt_rootID, children }) => {\n // container exists only in browser\n return (\n <React.Fragment>\n {container ? ReactDOM.createPortal(children, container) : <SSRPlaceholder />}\n {container ? <noscript data-render-container-id={rt_rootID} /> : <SSRPlaceholder />}\n </React.Fragment>\n );\n};\n\nexport class RenderInnerContainer extends React.Component<RenderInnerContainerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderInnerContainer';\n\n public render() {\n const { anchor, children, domContainer, rootId } = this.props;\n let inner = anchor;\n\n if (children) {\n inner = (\n <React.Fragment>\n {anchor}\n <Portal key=\"portal-ref\" rt_rootID={rootId} container={domContainer}>\n {children}\n </Portal>\n </React.Fragment>\n );\n }\n\n return inner;\n }\n}\n"]}
@@ -1,10 +1,12 @@
1
1
  import React from 'react';
2
2
  import { CommonProps } from '../CommonWrapper';
3
+ import { Nullable } from '../../typings/utility-types';
3
4
  export interface RenderLayerProps extends CommonProps {
4
5
  children: JSX.Element;
5
6
  onClickOutside?: (e: Event) => void;
6
7
  onFocusOutside?: (e: Event) => void;
7
8
  active?: boolean;
9
+ getAnchorElement?: () => Nullable<HTMLElement>;
8
10
  }
9
11
  export declare class RenderLayer extends React.Component<RenderLayerProps> {
10
12
  static __KONTUR_REACT_UI__: string;
@@ -15,13 +17,13 @@ export declare class RenderLayer extends React.Component<RenderLayerProps> {
15
17
  active: boolean;
16
18
  };
17
19
  private focusOutsideListenerToken;
20
+ private setRootNode;
18
21
  componentDidMount(): void;
19
22
  componentDidUpdate(prevProps: RenderLayerProps): void;
20
23
  componentWillUnmount(): void;
21
24
  render(): JSX.Element;
22
25
  private attachListeners;
23
26
  private detachListeners;
24
- private getDomNode;
25
27
  private handleFocusOutside;
26
28
  private handleNativeDocClick;
27
29
  }
@@ -1,8 +1,8 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.RenderLayer = 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");exports.__esModule = true;exports.RenderLayer = 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"));
3
2
 
4
3
  var _listenFocusOutside = require("../../lib/listenFocusOutside");
5
- var _CommonWrapper = require("../CommonWrapper");var
4
+ var _CommonWrapper = require("../CommonWrapper");
5
+ var _rootNode = require("../../lib/rootNode");var _class, _class2, _temp;var
6
6
 
7
7
 
8
8
 
@@ -11,7 +11,10 @@ var _CommonWrapper = require("../CommonWrapper");var
11
11
 
12
12
 
13
13
 
14
- RenderLayer = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(RenderLayer, _React$Component);function RenderLayer() {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.
14
+
15
+
16
+
17
+ RenderLayer = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(RenderLayer, _React$Component);function RenderLayer() {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.
15
18
 
16
19
 
17
20
 
@@ -32,6 +35,9 @@ RenderLayer = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.defa
32
35
  focusOutsideListenerToken =
33
36
 
34
37
  null;_this.
38
+ setRootNode = void 0;_this.
39
+
40
+
35
41
 
36
42
 
37
43
 
@@ -92,13 +98,13 @@ RenderLayer = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.defa
92
98
 
93
99
  handleNativeDocClick = function (event) {
94
100
  var target = event.target || event.srcElement;
95
- var node = _this.getDomNode();
101
+ var node = (0, _rootNode.getRootNode)((0, _assertThisInitialized2.default)(_this)) || (0, _rootNode.getRootNode)(_this.props.getAnchorElement == null ? void 0 : _this.props.getAnchorElement());
96
102
 
97
- if (target instanceof Element && (0, _listenFocusOutside.containsTargetOrRenderContainer)(target)(node)) {
103
+ if (!node || target instanceof Element && (0, _listenFocusOutside.containsTargetOrRenderContainer)(target)(node)) {
98
104
  return;
99
105
  }
100
106
 
101
107
  if (_this.props.onClickOutside) {
102
108
  _this.props.onClickOutside(event);
103
109
  }
104
- };return _this;}var _proto = RenderLayer.prototype;_proto.componentDidMount = function componentDidMount() {if (this.props.active) {this.attachListeners();}};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (!prevProps.active && this.props.active) {this.attachListeners();}if (prevProps.active && !this.props.active) {this.detachListeners();}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.props.active) {this.detachListeners();}};_proto.render = function render() {return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, this.props, _react.default.Children.only(this.props.children));};_proto.attachListeners = function attachListeners() {var _this2 = this;this.focusOutsideListenerToken = (0, _listenFocusOutside.listen)(function () {return [_this2.getDomNode()];}, this.handleFocusOutside);window.addEventListener('blur', this.handleFocusOutside);document.addEventListener('ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown', this.handleNativeDocClick);};_proto.detachListeners = function detachListeners() {if (this.focusOutsideListenerToken) {this.focusOutsideListenerToken.remove();this.focusOutsideListenerToken = null;}window.removeEventListener('blur', this.handleFocusOutside);document.removeEventListener('ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown', this.handleNativeDocClick);};_proto.getDomNode = function getDomNode() {return (0, _reactDom.findDOMNode)(this);};return RenderLayer;}(_react.default.Component);exports.RenderLayer = RenderLayer;RenderLayer.__KONTUR_REACT_UI__ = 'RenderLayer';RenderLayer.propTypes = { active: function active(props, propName, componentName) {var active = props.active,onClickOutside = props.onClickOutside,onFocusOutside = props.onFocusOutside;if (active && !(onClickOutside || onFocusOutside)) {return new Error("[" + componentName + "]: using the component without either 'onClickOutside' or 'onFocusOutside' callback is pointless.");}} };RenderLayer.defaultProps = { active: true };
110
+ };return _this;}var _proto = RenderLayer.prototype;_proto.componentDidMount = function componentDidMount() {if (this.props.active) {this.attachListeners();}};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (!prevProps.active && this.props.active) {this.attachListeners();}if (prevProps.active && !this.props.active) {this.detachListeners();}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.props.active) {this.detachListeners();}};_proto.render = function render() {return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), _react.default.Children.only(this.props.children));};_proto.attachListeners = function attachListeners() {var _this$props$getAnchor, _this$props;var rootNode = (0, _rootNode.getRootNode)(this) || ((_this$props$getAnchor = (_this$props = this.props).getAnchorElement) == null ? void 0 : _this$props$getAnchor.call(_this$props));if (!rootNode) return;this.focusOutsideListenerToken = (0, _listenFocusOutside.listen)(function () {return [rootNode];}, this.handleFocusOutside);window.addEventListener('blur', this.handleFocusOutside);document.addEventListener('ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown', this.handleNativeDocClick);};_proto.detachListeners = function detachListeners() {if (this.focusOutsideListenerToken) {this.focusOutsideListenerToken.remove();this.focusOutsideListenerToken = null;}window.removeEventListener('blur', this.handleFocusOutside);document.removeEventListener('ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown', this.handleNativeDocClick);};return RenderLayer;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'RenderLayer', _class2.propTypes = { active: function active(props, propName, componentName) {var active = props.active,onClickOutside = props.onClickOutside,onFocusOutside = props.onFocusOutside;if (active && !(onClickOutside || onFocusOutside)) {return new Error("[" + componentName + "]: using the component without either 'onClickOutside' or 'onFocusOutside' callback is pointless.");}} }, _class2.defaultProps = { active: true }, _temp)) || _class;exports.RenderLayer = RenderLayer;
@@ -1 +1 @@
1
- {"version":3,"sources":["RenderLayer.tsx"],"names":["RenderLayer","focusOutsideListenerToken","handleFocusOutside","event","props","onFocusOutside","handleNativeDocClick","target","srcElement","node","getDomNode","Element","onClickOutside","componentDidMount","active","attachListeners","componentDidUpdate","prevProps","detachListeners","componentWillUnmount","render","React","Children","only","children","window","addEventListener","document","documentElement","remove","removeEventListener","Component","__KONTUR_REACT_UI__","propTypes","propName","componentName","Error","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { findDOMNode } from 'react-dom';\n\nimport { listen as listenFocusOutside, containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\n\nexport interface RenderLayerProps extends CommonProps {\n children: JSX.Element;\n onClickOutside?: (e: Event) => void;\n onFocusOutside?: (e: Event) => void;\n active?: boolean;\n}\n\nexport class RenderLayer extends React.Component<RenderLayerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderLayer';\n\n public static propTypes = {\n active(props: RenderLayerProps, propName: keyof RenderLayerProps, componentName: string) {\n const { active, onClickOutside, onFocusOutside } = props;\n if (active && !(onClickOutside || onFocusOutside)) {\n return new Error(\n `[${componentName}]: using the component without either 'onClickOutside' or 'onFocusOutside' callback is pointless.`,\n );\n }\n },\n };\n\n public static defaultProps = {\n active: true,\n };\n\n private focusOutsideListenerToken: {\n remove: () => void;\n } | null = null;\n\n public componentDidMount() {\n if (this.props.active) {\n this.attachListeners();\n }\n }\n\n public componentDidUpdate(prevProps: RenderLayerProps) {\n if (!prevProps.active && this.props.active) {\n this.attachListeners();\n }\n if (prevProps.active && !this.props.active) {\n this.detachListeners();\n }\n }\n\n public componentWillUnmount() {\n if (this.props.active) {\n this.detachListeners();\n }\n }\n\n public render() {\n return <CommonWrapper {...this.props}>{React.Children.only(this.props.children)}</CommonWrapper>;\n }\n\n private attachListeners() {\n this.focusOutsideListenerToken = listenFocusOutside(() => [this.getDomNode()], this.handleFocusOutside);\n window.addEventListener('blur', this.handleFocusOutside);\n document.addEventListener(\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private detachListeners() {\n if (this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken.remove();\n this.focusOutsideListenerToken = null;\n }\n\n window.removeEventListener('blur', this.handleFocusOutside);\n document.removeEventListener(\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private getDomNode() {\n return findDOMNode(this) as HTMLElement;\n }\n\n private handleFocusOutside = (event: Event) => {\n if (this.props.onFocusOutside) {\n this.props.onFocusOutside(event);\n }\n };\n\n private handleNativeDocClick = (event: Event) => {\n const target = event.target || event.srcElement;\n const node = this.getDomNode();\n\n if (target instanceof Element && containsTargetOrRenderContainer(target)(node)) {\n return;\n }\n\n if (this.props.onClickOutside) {\n this.props.onClickOutside(event);\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["RenderLayer.tsx"],"names":["RenderLayer","rootNode","focusOutsideListenerToken","setRootNode","handleFocusOutside","event","props","onFocusOutside","handleNativeDocClick","target","srcElement","node","getAnchorElement","Element","onClickOutside","componentDidMount","active","attachListeners","componentDidUpdate","prevProps","detachListeners","componentWillUnmount","render","React","Children","only","children","window","addEventListener","document","documentElement","remove","removeEventListener","Component","__KONTUR_REACT_UI__","propTypes","propName","componentName","Error","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { listen as listenFocusOutside, containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { CommonProps, CommonWrapper } from '../CommonWrapper';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { Nullable } from '../../typings/utility-types';\n\nexport interface RenderLayerProps extends CommonProps {\n children: JSX.Element;\n onClickOutside?: (e: Event) => void;\n onFocusOutside?: (e: Event) => void;\n active?: boolean;\n getAnchorElement?: () => Nullable<HTMLElement>;\n}\n\n@rootNode\nexport class RenderLayer extends React.Component<RenderLayerProps> {\n public static __KONTUR_REACT_UI__ = 'RenderLayer';\n\n public static propTypes = {\n active(props: RenderLayerProps, propName: keyof RenderLayerProps, componentName: string) {\n const { active, onClickOutside, onFocusOutside } = props;\n if (active && !(onClickOutside || onFocusOutside)) {\n return new Error(\n `[${componentName}]: using the component without either 'onClickOutside' or 'onFocusOutside' callback is pointless.`,\n );\n }\n },\n };\n\n public static defaultProps = {\n active: true,\n };\n\n private focusOutsideListenerToken: {\n remove: () => void;\n } | null = null;\n private setRootNode!: TSetRootNode;\n\n public componentDidMount() {\n if (this.props.active) {\n this.attachListeners();\n }\n }\n\n public componentDidUpdate(prevProps: RenderLayerProps) {\n if (!prevProps.active && this.props.active) {\n this.attachListeners();\n }\n if (prevProps.active && !this.props.active) {\n this.detachListeners();\n }\n }\n\n public componentWillUnmount() {\n if (this.props.active) {\n this.detachListeners();\n }\n }\n\n public render() {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n {React.Children.only(this.props.children)}\n </CommonWrapper>\n );\n }\n\n private attachListeners() {\n const rootNode = getRootNode(this) || this.props.getAnchorElement?.();\n if (!rootNode) return;\n this.focusOutsideListenerToken = listenFocusOutside(() => [rootNode], this.handleFocusOutside);\n window.addEventListener('blur', this.handleFocusOutside);\n document.addEventListener(\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private detachListeners() {\n if (this.focusOutsideListenerToken) {\n this.focusOutsideListenerToken.remove();\n this.focusOutsideListenerToken = null;\n }\n\n window.removeEventListener('blur', this.handleFocusOutside);\n document.removeEventListener(\n 'ontouchstart' in document.documentElement ? 'touchstart' : 'mousedown',\n this.handleNativeDocClick,\n );\n }\n\n private handleFocusOutside = (event: Event) => {\n if (this.props.onFocusOutside) {\n this.props.onFocusOutside(event);\n }\n };\n\n private handleNativeDocClick = (event: Event) => {\n const target = event.target || event.srcElement;\n const node = getRootNode(this) || getRootNode(this.props.getAnchorElement?.());\n\n if (!node || (target instanceof Element && containsTargetOrRenderContainer(target)(node))) {\n return;\n }\n\n if (this.props.onClickOutside) {\n this.props.onClickOutside(event);\n }\n };\n}\n"]}
@@ -10,7 +10,7 @@ export declare class ThemeShowcase extends React.Component<ShowcaseProps, Showca
10
10
  state: ShowcaseState;
11
11
  private isUnmounting;
12
12
  private variablesDiff;
13
- UNSAFE_componentWillMount(): void;
13
+ constructor(props: ShowcaseProps);
14
14
  render(): JSX.Element;
15
15
  componentWillUnmount(): void;
16
16
  private getValues;
@@ -34,15 +34,16 @@ var ALL_VARIABLES = Object.keys(_DefaultThemeOld.DEFAULT_THEME_OLD);var
34
34
 
35
35
 
36
36
 
37
- ThemeShowcase = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(ThemeShowcase, _React$Component);function ThemeShowcase() {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
- state = {};_this.
37
+ ThemeShowcase = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(ThemeShowcase, _React$Component);
39
38
 
40
- isUnmounting = false;_this.
41
- variablesDiff = [];_this.
42
39
 
43
40
 
44
41
 
45
42
 
43
+ function ThemeShowcase(props) {var _this;
44
+ _this = _React$Component.call(this, props) || this;_this.state = {};_this.isUnmounting = false;_this.variablesDiff = [];_this.
45
+
46
+
46
47
 
47
48
 
48
49
 
@@ -141,7 +142,7 @@ ThemeShowcase = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.de
141
142
  if (!_this.isUnmounting) {
142
143
  _this.setState({ selectedVariable: undefined });
143
144
  }
144
- };return _this;}var _proto = ThemeShowcase.prototype;_proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {var _this2 = this;if (this.props.isDebugMode) {ALL_VARIABLES.forEach(function (variable) {var found = _VariablesCollector.ALL_USED_VARIABLES.includes(variable);if (!found) {_this2.variablesDiff.push(variable);}});}};_proto.render = function render() {var _this3 = this;if (!_Supports.IS_PROXY_SUPPORTED) {return /*#__PURE__*/_react.default.createElement("div", null, "\u0422\u0430\u0431\u043B\u0438\u0446\u0430 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u0442\u043E\u043B\u044C\u043A\u043E \u0432", ' ', /*#__PURE__*/_react.default.createElement(_Link.Link, { href: 'https://caniuse.com/#feat=proxy', target: '_blank' }, "\u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\u0445 \u0441 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u043E\u0439 Proxy"), ".");}var selectedVariable = this.state.selectedVariable;var descriptionsToRender = selectedVariable ? _VariablesCollector.COMPONENT_DESCRIPTIONS_BY_VARIABLE[selectedVariable.value] || {} : _VariablesCollector.COMPONENT_DESCRIPTIONS;var isDebugMode = this.props.isDebugMode;var callsCount = isDebugMode ? "(" + _VariablesCollector.CALLS_COUNT + " \u0432\u044B\u0437\u043E\u0432\u043E\u0432)" : '';var executionTime = isDebugMode ? "\u0421\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u0437\u0430 " + _VariablesCollector.EXECUTION_TIME.toFixed(3) + "ms" : '';return /*#__PURE__*/_react.default.createElement(_Gapped.Gapped, { wrap: true, gap: 30, verticalAlign: 'top' }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Sticky.Sticky, { side: 'top' }, /*#__PURE__*/_react.default.createElement("div", { className: _ThemeShowcase.styles.searchBar(), "data-perf-info": executionTime + " " + callsCount }, /*#__PURE__*/_react.default.createElement(_Gapped.Gapped, { gap: 15 }, /*#__PURE__*/_react.default.createElement(_ComboBox.ComboBox, { getItems: this.getItems, value: selectedVariable, onValueChange: this.handleVariableChange, onUnexpectedInput: this.handleUnexpectedVariableInput, placeholder: 'поиск по названию переменной' }), !!selectedVariable && /*#__PURE__*/_react.default.createElement(_Link.Link, { onClick: this.resetVariable }, "\u0441\u0431\u0440\u043E\u0441\u0438\u0442\u044C")))), Object.keys(descriptionsToRender).sort().map(function (componentName) {return /*#__PURE__*/_react.default.createElement(ComponentShowcase, { key: componentName, name: componentName, description: descriptionsToRender[componentName], isDebugMode: isDebugMode, onVariableSelect: _this3.handleVariableChange });})), /*#__PURE__*/_react.default.createElement(ShowUnusedVariables, { diff: this.variablesDiff }));};_proto.componentWillUnmount = function componentWillUnmount() {this.isUnmounting = true;};_proto.getValues = function getValues(query) {var lowerCaseQuery = query && query.toLowerCase().trim();var allItems = _VariablesCollector.ALL_USED_VARIABLES;if (lowerCaseQuery) {allItems = _VariablesCollector.ALL_USED_VARIABLES.filter(function (usedVariable) {return usedVariable.toLowerCase().startsWith(lowerCaseQuery);});}return allItems.map(function (usedVariableName) {return { value: usedVariableName, label: usedVariableName };});};return ThemeShowcase;}(_react.default.Component);exports.ThemeShowcase = ThemeShowcase;var
145
+ };if (props.isDebugMode) {ALL_VARIABLES.forEach(function (variable) {var found = _VariablesCollector.ALL_USED_VARIABLES.includes(variable);if (!found) {_this.variablesDiff.push(variable);}});}return _this;}var _proto = ThemeShowcase.prototype;_proto.render = function render() {var _this2 = this;if (!_Supports.IS_PROXY_SUPPORTED) {return /*#__PURE__*/_react.default.createElement("div", null, "\u0422\u0430\u0431\u043B\u0438\u0446\u0430 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u044B\u0445 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u0442\u043E\u043B\u044C\u043A\u043E \u0432", ' ', /*#__PURE__*/_react.default.createElement(_Link.Link, { href: 'https://caniuse.com/#feat=proxy', target: '_blank' }, "\u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430\u0445 \u0441 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u043E\u0439 Proxy"), ".");}var selectedVariable = this.state.selectedVariable;var descriptionsToRender = selectedVariable ? _VariablesCollector.COMPONENT_DESCRIPTIONS_BY_VARIABLE[selectedVariable.value] || {} : _VariablesCollector.COMPONENT_DESCRIPTIONS;var isDebugMode = this.props.isDebugMode;var callsCount = isDebugMode ? "(" + _VariablesCollector.CALLS_COUNT + " \u0432\u044B\u0437\u043E\u0432\u043E\u0432)" : '';var executionTime = isDebugMode ? "\u0421\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u0437\u0430 " + _VariablesCollector.EXECUTION_TIME.toFixed(3) + "ms" : '';return /*#__PURE__*/_react.default.createElement(_Gapped.Gapped, { wrap: true, gap: 30, verticalAlign: 'top' }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_Sticky.Sticky, { side: 'top' }, /*#__PURE__*/_react.default.createElement("div", { className: _ThemeShowcase.styles.searchBar(), "data-perf-info": executionTime + " " + callsCount }, /*#__PURE__*/_react.default.createElement(_Gapped.Gapped, { gap: 15 }, /*#__PURE__*/_react.default.createElement(_ComboBox.ComboBox, { getItems: this.getItems, value: selectedVariable, onValueChange: this.handleVariableChange, onUnexpectedInput: this.handleUnexpectedVariableInput, placeholder: 'поиск по названию переменной' }), !!selectedVariable && /*#__PURE__*/_react.default.createElement(_Link.Link, { onClick: this.resetVariable }, "\u0441\u0431\u0440\u043E\u0441\u0438\u0442\u044C")))), Object.keys(descriptionsToRender).sort().map(function (componentName) {return /*#__PURE__*/_react.default.createElement(ComponentShowcase, { key: componentName, name: componentName, description: descriptionsToRender[componentName], isDebugMode: isDebugMode, onVariableSelect: _this2.handleVariableChange });})), /*#__PURE__*/_react.default.createElement(ShowUnusedVariables, { diff: this.variablesDiff }));};_proto.componentWillUnmount = function componentWillUnmount() {this.isUnmounting = true;};_proto.getValues = function getValues(query) {var lowerCaseQuery = query && query.toLowerCase().trim();var allItems = _VariablesCollector.ALL_USED_VARIABLES;if (lowerCaseQuery) {allItems = _VariablesCollector.ALL_USED_VARIABLES.filter(function (usedVariable) {return usedVariable.toLowerCase().startsWith(lowerCaseQuery);});}return allItems.map(function (usedVariableName) {return { value: usedVariableName, label: usedVariableName };});};return ThemeShowcase;}(_react.default.Component);exports.ThemeShowcase = ThemeShowcase;var
145
146
 
146
147
 
147
148
 
@@ -151,7 +152,7 @@ ThemeShowcase = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.de
151
152
 
152
153
 
153
154
  ComponentShowcase = /*#__PURE__*/function (_React$Component2) {(0, _inheritsLoose2.default)(ComponentShowcase, _React$Component2);function ComponentShowcase() {return _React$Component2.apply(this, arguments) || this;}var _proto2 = ComponentShowcase.prototype;_proto2.
154
- render = function render() {var _this4 = this;var _this$props =
155
+ render = function render() {var _this3 = this;var _this$props =
155
156
  this.props,name = _this$props.name,description = _this$props.description,onVariableSelect = _this$props.onVariableSelect,isDebugMode = _this$props.isDebugMode;
156
157
  var elements = Object.keys(description);
157
158
 
@@ -165,7 +166,7 @@ ComponentShowcase = /*#__PURE__*/function (_React$Component2) {(0, _inheritsLoos
165
166
  _ThemeShowcase.styles.headingSticky()] = isSticky, _cx)) },
166
167
 
167
168
 
168
- _this4.props.name));}), /*#__PURE__*/
169
+ _this3.props.name));}), /*#__PURE__*/
169
170
 
170
171
 
171
172
 
@@ -211,7 +212,7 @@ ComponentShowcase = /*#__PURE__*/function (_React$Component2) {(0, _inheritsLoos
211
212
 
212
213
 
213
214
  ComponentShowcaseRow = /*#__PURE__*/function (_React$Component3) {(0, _inheritsLoose2.default)(ComponentShowcaseRow, _React$Component3);function ComponentShowcaseRow() {return _React$Component3.apply(this, arguments) || this;}var _proto3 = ComponentShowcaseRow.prototype;_proto3.
214
- render = function render() {var _this5 = this;var _this$props2 =
215
+ render = function render() {var _this4 = this;var _this$props2 =
215
216
  this.props,el = _this$props2.element,row = _this$props2.row,isDebugMode = _this$props2.isDebugMode;
216
217
  var rowSpan = row.variables.length + 1;
217
218
 
@@ -237,7 +238,7 @@ ComponentShowcaseRow = /*#__PURE__*/function (_React$Component3) {(0, _inheritsL
237
238
  _react.default.createElement(VariableName, {
238
239
  variableName: varName,
239
240
  dependencies: dependencies,
240
- onVariableSelect: _this5.props.onVariableSelect })), /*#__PURE__*/
241
+ onVariableSelect: _this4.props.onVariableSelect })), /*#__PURE__*/
241
242
 
242
243
 
243
244
  _react.default.createElement("td", { className: _ThemeShowcase.styles.cell() }, /*#__PURE__*/
@@ -260,7 +261,7 @@ ComponentShowcaseRow = /*#__PURE__*/function (_React$Component3) {(0, _inheritsL
260
261
 
261
262
 
262
263
 
263
- VariableName = /*#__PURE__*/function (_React$Component4) {(0, _inheritsLoose2.default)(VariableName, _React$Component4);function VariableName() {var _this6;for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {args[_key2] = arguments[_key2];}_this6 = _React$Component4.call.apply(_React$Component4, [this].concat(args)) || this;_this6.
264
+ VariableName = /*#__PURE__*/function (_React$Component4) {(0, _inheritsLoose2.default)(VariableName, _React$Component4);function VariableName() {var _this5;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this5 = _React$Component4.call.apply(_React$Component4, [this].concat(args)) || this;_this5.
264
265
 
265
266
 
266
267
 
@@ -290,19 +291,19 @@ VariableName = /*#__PURE__*/function (_React$Component4) {(0, _inheritsLoose2.de
290
291
 
291
292
 
292
293
 
293
- handleVariableSelect = function () {var _this6$props =
294
- _this6.props,variableName = _this6$props.variableName,onVariableSelect = _this6$props.onVariableSelect;
294
+ handleVariableSelect = function () {var _this5$props =
295
+ _this5.props,variableName = _this5$props.variableName,onVariableSelect = _this5$props.onVariableSelect;
295
296
  if (onVariableSelect) {
296
297
  onVariableSelect({ value: variableName, label: variableName });
297
298
  }
298
- };return _this6;}var _proto4 = VariableName.prototype;_proto4.render = function render() {return /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement("span", { className: _ThemeShowcase.styles.variableName(), onClick: this.handleVariableSelect }, this.props.variableName), this.props.dependencies.length > 0 && this.renderDependencies());};_proto4.renderDependencies = function renderDependencies() {var _this$props3 = this.props,dependencies = _this$props3.dependencies,onVariableSelect = _this$props3.onVariableSelect;return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), "\u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043E\u0442:", dependencies.map(function (dependency) {return /*#__PURE__*/_react.default.createElement(DependencyName, { key: "dependency_" + dependency, dependencyName: dependency, onDependencySelect: onVariableSelect });}));};return VariableName;}(_react.default.Component);var
299
+ };return _this5;}var _proto4 = VariableName.prototype;_proto4.render = function render() {return /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement("span", { className: _ThemeShowcase.styles.variableName(), onClick: this.handleVariableSelect }, this.props.variableName), this.props.dependencies.length > 0 && this.renderDependencies());};_proto4.renderDependencies = function renderDependencies() {var _this$props3 = this.props,dependencies = _this$props3.dependencies,onVariableSelect = _this$props3.onVariableSelect;return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), "\u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043E\u0442:", dependencies.map(function (dependency) {return /*#__PURE__*/_react.default.createElement(DependencyName, { key: "dependency_" + dependency, dependencyName: dependency, onDependencySelect: onVariableSelect });}));};return VariableName;}(_react.default.Component);var
299
300
 
300
301
 
301
302
 
302
303
 
303
304
 
304
305
 
305
- DependencyName = /*#__PURE__*/function (_React$Component5) {(0, _inheritsLoose2.default)(DependencyName, _React$Component5);function DependencyName() {var _this7;for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {args[_key3] = arguments[_key3];}_this7 = _React$Component5.call.apply(_React$Component5, [this].concat(args)) || this;_this7.
306
+ DependencyName = /*#__PURE__*/function (_React$Component5) {(0, _inheritsLoose2.default)(DependencyName, _React$Component5);function DependencyName() {var _this6;for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {args[_key2] = arguments[_key2];}_this6 = _React$Component5.call.apply(_React$Component5, [this].concat(args)) || this;_this6.
306
307
 
307
308
 
308
309
 
@@ -318,7 +319,7 @@ DependencyName = /*#__PURE__*/function (_React$Component5) {(0, _inheritsLoose2.
318
319
 
319
320
 
320
321
  getValues = function () {
321
- var dependencyName = _this7.props.dependencyName;
322
+ var dependencyName = _this6.props.dependencyName;
322
323
  var dependencyDefault = _DefaultThemeOld.DEFAULT_THEME_OLD[dependencyName];
323
324
  var dependencyFlat = _FlatThemeOld.FLAT_THEME_OLD[dependencyName];
324
325
  return /*#__PURE__*/(
@@ -328,14 +329,14 @@ DependencyName = /*#__PURE__*/function (_React$Component5) {(0, _inheritsLoose2.
328
329
  _react.default.createElement("span", null, "Flat value: ", /*#__PURE__*/_react.default.createElement(VariableValue, { value: dependencyFlat }))));
329
330
 
330
331
 
331
- };_this7.
332
+ };_this6.
332
333
 
333
- handleDependencySelect = function () {var _this7$props =
334
- _this7.props,dependencyName = _this7$props.dependencyName,onDependencySelect = _this7$props.onDependencySelect;
334
+ handleDependencySelect = function () {var _this6$props =
335
+ _this6.props,dependencyName = _this6$props.dependencyName,onDependencySelect = _this6$props.onDependencySelect;
335
336
  if (onDependencySelect) {
336
337
  onDependencySelect({ value: dependencyName, label: dependencyName });
337
338
  }
338
- };return _this7;}var _proto5 = DependencyName.prototype;_proto5.render = function render() {return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("br", null), "\u2013", ' ', /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, { trigger: 'hover', render: this.getValues, pos: 'right middle' }, /*#__PURE__*/_react.default.createElement("span", { className: _ThemeShowcase.styles.variableName(), onClick: this.handleDependencySelect }, this.props.dependencyName)));};return DependencyName;}(_react.default.Component);
339
+ };return _this6;}var _proto5 = DependencyName.prototype;_proto5.render = function render() {return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("br", null), "\u2013", ' ', /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, { trigger: 'hover', render: this.getValues, pos: 'right middle' }, /*#__PURE__*/_react.default.createElement("span", { className: _ThemeShowcase.styles.variableName(), onClick: this.handleDependencySelect }, this.props.dependencyName)));};return DependencyName;}(_react.default.Component);
339
340
 
340
341
 
341
342
  var VariableValue = function VariableValue(props) {var _cx3;
@@ -1 +1 @@
1
- {"version":3,"sources":["ThemeShowcase.tsx"],"names":["EMPTY_ARRAY","ALL_VARIABLES","Object","keys","defaultVariables","ThemeShowcase","state","isUnmounting","variablesDiff","getItems","query","Promise","resolve","getValues","handleVariableChange","item","setState","selectedVariable","handleUnexpectedVariableInput","values","length","resetVariable","undefined","UNSAFE_componentWillMount","props","isDebugMode","forEach","variable","found","ALL_USED_VARIABLES","includes","push","render","IS_PROXY_SUPPORTED","descriptionsToRender","COMPONENT_DESCRIPTIONS_BY_VARIABLE","value","COMPONENT_DESCRIPTIONS","callsCount","CALLS_COUNT","executionTime","EXECUTION_TIME","toFixed","styles","searchBar","sort","map","componentName","componentWillUnmount","lowerCaseQuery","toLowerCase","trim","allItems","filter","usedVariable","startsWith","usedVariableName","label","React","Component","ComponentShowcase","name","description","onVariableSelect","elements","isSticky","heading","headingSticky","table","headerCell","width","el","ComponentShowcaseRow","element","row","rowSpan","variables","invisibleRow","cell","majorCell","elementName","invisibleCell","varName","dependencies","variableDefault","variableFlat","flatVariables","hasNoVariables","suspiciousRow","VariableName","handleVariableSelect","variableName","renderDependencies","dependency","DependencyName","dependencyName","dependencyDefault","dependencyFlat","handleDependencySelect","onDependencySelect","VariableValue","valueIsColor","isColor","valueIsGradient","isGradient","hasExample","borderColor","ColorFunctions","contrast","colorExample","background","ShowUnusedVariables","diff","unusedVariablesWarning","v","input"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { DEFAULT_THEME_OLD as defaultVariables } from '../../lib/theming/themes/DefaultThemeOld';\nimport { FLAT_THEME_OLD as flatVariables } from '../../lib/theming/themes/FlatThemeOld';\nimport { ComboBox, ComboBoxItem } from '../../components/ComboBox';\nimport { Gapped } from '../../components/Gapped';\nimport { Link } from '../../components/Link';\nimport { Sticky } from '../../components/Sticky';\nimport * as ColorFunctions from '../../lib/styles/ColorFunctions';\nimport { Tooltip } from '../../components/Tooltip';\nimport { IS_PROXY_SUPPORTED } from '../../lib/Supports';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport {\n ALL_USED_VARIABLES,\n CALLS_COUNT,\n COMPONENT_DESCRIPTIONS,\n COMPONENT_DESCRIPTIONS_BY_VARIABLE,\n ComponentDescriptionType,\n ComponentRowDescriptionType,\n EXECUTION_TIME,\n} from './VariablesCollector';\nimport { styles } from './ThemeShowcase.styles';\n\nconst EMPTY_ARRAY: string[] = [];\n\nconst ALL_VARIABLES = Object.keys(defaultVariables) as Array<keyof Theme>;\n\ninterface ShowcaseProps {\n isDebugMode?: boolean;\n}\ninterface ShowcaseState {\n selectedVariable?: ComboBoxItem;\n}\n\nexport class ThemeShowcase extends React.Component<ShowcaseProps, ShowcaseState> {\n public state: ShowcaseState = {};\n\n private isUnmounting = false;\n private variablesDiff: string[] = [];\n\n public UNSAFE_componentWillMount(): void {\n if (this.props.isDebugMode) {\n ALL_VARIABLES.forEach((variable) => {\n const found = ALL_USED_VARIABLES.includes(variable);\n if (!found) {\n this.variablesDiff.push(variable);\n }\n });\n }\n }\n\n public render() {\n if (!IS_PROXY_SUPPORTED) {\n return (\n <div>\n Таблица использования переменных доступна только в{' '}\n <Link href={'https://caniuse.com/#feat=proxy'} target={'_blank'}>\n браузерах с поддержкой Proxy\n </Link>\n .\n </div>\n );\n }\n\n const selectedVariable = this.state.selectedVariable;\n const descriptionsToRender = selectedVariable\n ? COMPONENT_DESCRIPTIONS_BY_VARIABLE[selectedVariable.value] || {}\n : COMPONENT_DESCRIPTIONS;\n\n const isDebugMode = this.props.isDebugMode;\n const callsCount = isDebugMode ? `(${CALLS_COUNT} вызовов)` : '';\n const executionTime = isDebugMode ? `Сгенерировано за ${EXECUTION_TIME.toFixed(3)}ms` : '';\n\n return (\n <Gapped wrap gap={30} verticalAlign={'top'}>\n <div>\n <Sticky side={'top'}>\n <div className={styles.searchBar()} data-perf-info={`${executionTime} ${callsCount}`}>\n <Gapped gap={15}>\n <ComboBox\n getItems={this.getItems}\n value={selectedVariable}\n onValueChange={this.handleVariableChange}\n onUnexpectedInput={this.handleUnexpectedVariableInput}\n placeholder={'поиск по названию переменной'}\n />\n {!!selectedVariable && <Link onClick={this.resetVariable}>сбросить</Link>}\n </Gapped>\n </div>\n </Sticky>\n {Object.keys(descriptionsToRender)\n .sort()\n .map((componentName) => (\n <ComponentShowcase\n key={componentName}\n name={componentName}\n description={descriptionsToRender[componentName]}\n isDebugMode={isDebugMode}\n onVariableSelect={this.handleVariableChange}\n />\n ))}\n </div>\n <ShowUnusedVariables diff={this.variablesDiff} />\n </Gapped>\n );\n }\n public componentWillUnmount(): void {\n this.isUnmounting = true;\n }\n\n private getValues(query: string) {\n const lowerCaseQuery = query && query.toLowerCase().trim();\n let allItems = ALL_USED_VARIABLES;\n if (lowerCaseQuery) {\n allItems = ALL_USED_VARIABLES.filter((usedVariable) => usedVariable.toLowerCase().startsWith(lowerCaseQuery));\n }\n return allItems.map((usedVariableName) => ({\n value: usedVariableName,\n label: usedVariableName,\n }));\n }\n private getItems = (query: string) => {\n return Promise.resolve(this.getValues(query));\n };\n private handleVariableChange = (item: ComboBoxItem) => {\n if (!this.isUnmounting) {\n this.setState({ selectedVariable: item });\n }\n };\n private handleUnexpectedVariableInput = (query: string) => {\n const values = this.getValues(query);\n if (values.length > 0) {\n return values[0];\n } else {\n return this.resetVariable();\n }\n };\n private resetVariable = () => {\n if (!this.isUnmounting) {\n this.setState({ selectedVariable: undefined });\n }\n };\n}\n\ninterface ComponentShowcaseProps {\n name: string;\n description: ComponentDescriptionType;\n isDebugMode?: boolean;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\nclass ComponentShowcase extends React.Component<ComponentShowcaseProps, {}> {\n public render() {\n const { name, description, onVariableSelect, isDebugMode } = this.props;\n const elements = Object.keys(description);\n\n return (\n <React.Fragment>\n <Sticky side={'top'} offset={40}>\n {(isSticky) => (\n <h2\n className={cx({\n [styles.heading()]: true,\n [styles.headingSticky()]: isSticky,\n })}\n >\n {this.props.name}\n </h2>\n )}\n </Sticky>\n <table className={styles.table()}>\n <thead>\n <tr>\n <th className={styles.headerCell()} style={{ width: 170 }}>\n ClassName\n </th>\n <th className={styles.headerCell()} style={{ width: 210 }}>\n Variable Name\n </th>\n <th className={styles.headerCell()} style={{ width: 250 }}>\n Default Value\n </th>\n <th className={styles.headerCell()} style={{ width: 250 }}>\n Flat Value\n </th>\n </tr>\n </thead>\n <tbody>\n {elements.map((el) => (\n <ComponentShowcaseRow\n key={`${name}_${el}`}\n element={el}\n row={description[el]}\n onVariableSelect={onVariableSelect}\n isDebugMode={isDebugMode}\n />\n ))}\n </tbody>\n </table>\n </React.Fragment>\n );\n }\n}\n\ninterface ComponentShowcaseRowProps {\n element: string;\n row: ComponentRowDescriptionType;\n isDebugMode?: boolean;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\n\nclass ComponentShowcaseRow extends React.Component<ComponentShowcaseRowProps> {\n public render() {\n const { element: el, row, isDebugMode } = this.props;\n const rowSpan = row.variables.length + 1;\n\n return (\n <React.Fragment>\n <tr className={styles.invisibleRow()}>\n <td className={cx(styles.cell(), styles.majorCell())} rowSpan={rowSpan}>\n <span className={styles.elementName()}>.{el}</span>\n </td>\n <td className={styles.invisibleCell()} />\n <td className={styles.invisibleCell()} />\n <td className={styles.invisibleCell()} />\n </tr>\n {row.variables.map((varName) => {\n const dependencies = row.dependencies[varName] || EMPTY_ARRAY;\n const variableDefault = defaultVariables[varName] as string;\n const variableFlat = flatVariables[varName] as string;\n const hasNoVariables = isDebugMode && !variableDefault && !variableFlat;\n\n return (\n <tr key={`${el}_${varName}`} className={cx(styles.row(), { [styles.suspiciousRow()]: hasNoVariables })}>\n <td className={styles.cell()}>\n <VariableName\n variableName={varName as string}\n dependencies={dependencies}\n onVariableSelect={this.props.onVariableSelect}\n />\n </td>\n <td className={styles.cell()}>\n <VariableValue value={variableDefault} />\n </td>\n <td className={styles.cell()}>\n <VariableValue value={variableFlat} />\n </td>\n </tr>\n );\n })}\n </React.Fragment>\n );\n }\n}\n\ninterface VariableNameProps {\n variableName: string;\n dependencies: Array<keyof Theme>;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\n\nclass VariableName extends React.Component<VariableNameProps> {\n public render() {\n return (\n <span>\n <span className={styles.variableName()} onClick={this.handleVariableSelect}>\n {this.props.variableName}\n </span>\n {this.props.dependencies.length > 0 && this.renderDependencies()}\n </span>\n );\n }\n\n private renderDependencies() {\n const { dependencies, onVariableSelect } = this.props;\n return (\n <React.Fragment>\n <br />\n <br />\n зависит от:\n {dependencies.map((dependency) => (\n <DependencyName\n key={`dependency_${dependency}`}\n dependencyName={dependency}\n onDependencySelect={onVariableSelect}\n />\n ))}\n </React.Fragment>\n );\n }\n\n private handleVariableSelect = () => {\n const { variableName, onVariableSelect } = this.props;\n if (onVariableSelect) {\n onVariableSelect({ value: variableName, label: variableName });\n }\n };\n}\n\ninterface DependencyNameProps {\n dependencyName: keyof Theme;\n onDependencySelect: (item: ComboBoxItem) => void;\n}\nclass DependencyName extends React.Component<DependencyNameProps> {\n public render() {\n return (\n <React.Fragment>\n <br />\n &ndash;{' '}\n <Tooltip trigger={'hover'} render={this.getValues} pos={'right middle'}>\n <span className={styles.variableName()} onClick={this.handleDependencySelect}>\n {this.props.dependencyName}\n </span>\n </Tooltip>\n </React.Fragment>\n );\n }\n\n private getValues = () => {\n const dependencyName = this.props.dependencyName;\n const dependencyDefault = defaultVariables[dependencyName] as string;\n const dependencyFlat = flatVariables[dependencyName] as string;\n return (\n <React.Fragment>\n <span>Default value: {<VariableValue value={dependencyDefault} />}</span>\n <br />\n <span>Flat value: {<VariableValue value={dependencyFlat} />}</span>\n </React.Fragment>\n );\n };\n\n private handleDependencySelect = () => {\n const { dependencyName, onDependencySelect } = this.props;\n if (onDependencySelect) {\n onDependencySelect({ value: dependencyName, label: dependencyName });\n }\n };\n}\n\nconst VariableValue = (props: { value: string }) => {\n const value = props.value;\n const valueIsColor = isColor(value);\n const valueIsGradient = isGradient(value);\n const hasExample = valueIsColor || valueIsGradient;\n let borderColor = 'transparent';\n if (hasExample) {\n borderColor = valueIsColor ? ColorFunctions.contrast(value) : '#000';\n }\n\n return (\n <span className={cx({ [styles.undefined()]: !value })}>\n {hasExample && <span className={styles.colorExample()} style={{ background: value, borderColor }} />}\n {value || 'undefined'}\n </span>\n );\n};\n\nconst ShowUnusedVariables = (props: { diff: string[] }) => {\n if (props.diff.length === 0) {\n return null;\n }\n\n return (\n <div className={styles.unusedVariablesWarning()}>\n Неиспользованные переменные ({props.diff.length}\n ):\n <ul>\n {props.diff.sort().map((v) => (\n <li key={v}>{v}</li>\n ))}\n </ul>\n </div>\n );\n};\n\nfunction isColor(input: string) {\n return !!input && (input.startsWith('#') || input.startsWith('rgb') || input.startsWith('hsl'));\n}\n\nfunction isGradient(input: string) {\n return !!input && input.startsWith('linear-gradient');\n}\n"]}
1
+ {"version":3,"sources":["ThemeShowcase.tsx"],"names":["EMPTY_ARRAY","ALL_VARIABLES","Object","keys","defaultVariables","ThemeShowcase","props","state","isUnmounting","variablesDiff","getItems","query","Promise","resolve","getValues","handleVariableChange","item","setState","selectedVariable","handleUnexpectedVariableInput","values","length","resetVariable","undefined","isDebugMode","forEach","variable","found","ALL_USED_VARIABLES","includes","push","render","IS_PROXY_SUPPORTED","descriptionsToRender","COMPONENT_DESCRIPTIONS_BY_VARIABLE","value","COMPONENT_DESCRIPTIONS","callsCount","CALLS_COUNT","executionTime","EXECUTION_TIME","toFixed","styles","searchBar","sort","map","componentName","componentWillUnmount","lowerCaseQuery","toLowerCase","trim","allItems","filter","usedVariable","startsWith","usedVariableName","label","React","Component","ComponentShowcase","name","description","onVariableSelect","elements","isSticky","heading","headingSticky","table","headerCell","width","el","ComponentShowcaseRow","element","row","rowSpan","variables","invisibleRow","cell","majorCell","elementName","invisibleCell","varName","dependencies","variableDefault","variableFlat","flatVariables","hasNoVariables","suspiciousRow","VariableName","handleVariableSelect","variableName","renderDependencies","dependency","DependencyName","dependencyName","dependencyDefault","dependencyFlat","handleDependencySelect","onDependencySelect","VariableValue","valueIsColor","isColor","valueIsGradient","isGradient","hasExample","borderColor","ColorFunctions","contrast","colorExample","background","ShowUnusedVariables","diff","unusedVariablesWarning","v","input"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { DEFAULT_THEME_OLD as defaultVariables } from '../../lib/theming/themes/DefaultThemeOld';\nimport { FLAT_THEME_OLD as flatVariables } from '../../lib/theming/themes/FlatThemeOld';\nimport { ComboBox, ComboBoxItem } from '../../components/ComboBox';\nimport { Gapped } from '../../components/Gapped';\nimport { Link } from '../../components/Link';\nimport { Sticky } from '../../components/Sticky';\nimport * as ColorFunctions from '../../lib/styles/ColorFunctions';\nimport { Tooltip } from '../../components/Tooltip';\nimport { IS_PROXY_SUPPORTED } from '../../lib/Supports';\nimport { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport {\n ALL_USED_VARIABLES,\n CALLS_COUNT,\n COMPONENT_DESCRIPTIONS,\n COMPONENT_DESCRIPTIONS_BY_VARIABLE,\n ComponentDescriptionType,\n ComponentRowDescriptionType,\n EXECUTION_TIME,\n} from './VariablesCollector';\nimport { styles } from './ThemeShowcase.styles';\n\nconst EMPTY_ARRAY: string[] = [];\n\nconst ALL_VARIABLES = Object.keys(defaultVariables) as Array<keyof Theme>;\n\ninterface ShowcaseProps {\n isDebugMode?: boolean;\n}\ninterface ShowcaseState {\n selectedVariable?: ComboBoxItem;\n}\n\nexport class ThemeShowcase extends React.Component<ShowcaseProps, ShowcaseState> {\n public state: ShowcaseState = {};\n\n private isUnmounting = false;\n private variablesDiff: string[] = [];\n\n constructor(props: ShowcaseProps) {\n super(props);\n if (props.isDebugMode) {\n ALL_VARIABLES.forEach((variable) => {\n const found = ALL_USED_VARIABLES.includes(variable);\n if (!found) {\n this.variablesDiff.push(variable);\n }\n });\n }\n }\n\n public render() {\n if (!IS_PROXY_SUPPORTED) {\n return (\n <div>\n Таблица использования переменных доступна только в{' '}\n <Link href={'https://caniuse.com/#feat=proxy'} target={'_blank'}>\n браузерах с поддержкой Proxy\n </Link>\n .\n </div>\n );\n }\n\n const selectedVariable = this.state.selectedVariable;\n const descriptionsToRender = selectedVariable\n ? COMPONENT_DESCRIPTIONS_BY_VARIABLE[selectedVariable.value] || {}\n : COMPONENT_DESCRIPTIONS;\n\n const isDebugMode = this.props.isDebugMode;\n const callsCount = isDebugMode ? `(${CALLS_COUNT} вызовов)` : '';\n const executionTime = isDebugMode ? `Сгенерировано за ${EXECUTION_TIME.toFixed(3)}ms` : '';\n\n return (\n <Gapped wrap gap={30} verticalAlign={'top'}>\n <div>\n <Sticky side={'top'}>\n <div className={styles.searchBar()} data-perf-info={`${executionTime} ${callsCount}`}>\n <Gapped gap={15}>\n <ComboBox\n getItems={this.getItems}\n value={selectedVariable}\n onValueChange={this.handleVariableChange}\n onUnexpectedInput={this.handleUnexpectedVariableInput}\n placeholder={'поиск по названию переменной'}\n />\n {!!selectedVariable && <Link onClick={this.resetVariable}>сбросить</Link>}\n </Gapped>\n </div>\n </Sticky>\n {Object.keys(descriptionsToRender)\n .sort()\n .map((componentName) => (\n <ComponentShowcase\n key={componentName}\n name={componentName}\n description={descriptionsToRender[componentName]}\n isDebugMode={isDebugMode}\n onVariableSelect={this.handleVariableChange}\n />\n ))}\n </div>\n <ShowUnusedVariables diff={this.variablesDiff} />\n </Gapped>\n );\n }\n public componentWillUnmount(): void {\n this.isUnmounting = true;\n }\n\n private getValues(query: string) {\n const lowerCaseQuery = query && query.toLowerCase().trim();\n let allItems = ALL_USED_VARIABLES;\n if (lowerCaseQuery) {\n allItems = ALL_USED_VARIABLES.filter((usedVariable) => usedVariable.toLowerCase().startsWith(lowerCaseQuery));\n }\n return allItems.map((usedVariableName) => ({\n value: usedVariableName,\n label: usedVariableName,\n }));\n }\n private getItems = (query: string) => {\n return Promise.resolve(this.getValues(query));\n };\n private handleVariableChange = (item: ComboBoxItem) => {\n if (!this.isUnmounting) {\n this.setState({ selectedVariable: item });\n }\n };\n private handleUnexpectedVariableInput = (query: string) => {\n const values = this.getValues(query);\n if (values.length > 0) {\n return values[0];\n } else {\n return this.resetVariable();\n }\n };\n private resetVariable = () => {\n if (!this.isUnmounting) {\n this.setState({ selectedVariable: undefined });\n }\n };\n}\n\ninterface ComponentShowcaseProps {\n name: string;\n description: ComponentDescriptionType;\n isDebugMode?: boolean;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\nclass ComponentShowcase extends React.Component<ComponentShowcaseProps, {}> {\n public render() {\n const { name, description, onVariableSelect, isDebugMode } = this.props;\n const elements = Object.keys(description);\n\n return (\n <React.Fragment>\n <Sticky side={'top'} offset={40}>\n {(isSticky) => (\n <h2\n className={cx({\n [styles.heading()]: true,\n [styles.headingSticky()]: isSticky,\n })}\n >\n {this.props.name}\n </h2>\n )}\n </Sticky>\n <table className={styles.table()}>\n <thead>\n <tr>\n <th className={styles.headerCell()} style={{ width: 170 }}>\n ClassName\n </th>\n <th className={styles.headerCell()} style={{ width: 210 }}>\n Variable Name\n </th>\n <th className={styles.headerCell()} style={{ width: 250 }}>\n Default Value\n </th>\n <th className={styles.headerCell()} style={{ width: 250 }}>\n Flat Value\n </th>\n </tr>\n </thead>\n <tbody>\n {elements.map((el) => (\n <ComponentShowcaseRow\n key={`${name}_${el}`}\n element={el}\n row={description[el]}\n onVariableSelect={onVariableSelect}\n isDebugMode={isDebugMode}\n />\n ))}\n </tbody>\n </table>\n </React.Fragment>\n );\n }\n}\n\ninterface ComponentShowcaseRowProps {\n element: string;\n row: ComponentRowDescriptionType;\n isDebugMode?: boolean;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\n\nclass ComponentShowcaseRow extends React.Component<ComponentShowcaseRowProps> {\n public render() {\n const { element: el, row, isDebugMode } = this.props;\n const rowSpan = row.variables.length + 1;\n\n return (\n <React.Fragment>\n <tr className={styles.invisibleRow()}>\n <td className={cx(styles.cell(), styles.majorCell())} rowSpan={rowSpan}>\n <span className={styles.elementName()}>.{el}</span>\n </td>\n <td className={styles.invisibleCell()} />\n <td className={styles.invisibleCell()} />\n <td className={styles.invisibleCell()} />\n </tr>\n {row.variables.map((varName) => {\n const dependencies = row.dependencies[varName] || EMPTY_ARRAY;\n const variableDefault = defaultVariables[varName] as string;\n const variableFlat = flatVariables[varName] as string;\n const hasNoVariables = isDebugMode && !variableDefault && !variableFlat;\n\n return (\n <tr key={`${el}_${varName}`} className={cx(styles.row(), { [styles.suspiciousRow()]: hasNoVariables })}>\n <td className={styles.cell()}>\n <VariableName\n variableName={varName as string}\n dependencies={dependencies}\n onVariableSelect={this.props.onVariableSelect}\n />\n </td>\n <td className={styles.cell()}>\n <VariableValue value={variableDefault} />\n </td>\n <td className={styles.cell()}>\n <VariableValue value={variableFlat} />\n </td>\n </tr>\n );\n })}\n </React.Fragment>\n );\n }\n}\n\ninterface VariableNameProps {\n variableName: string;\n dependencies: Array<keyof Theme>;\n onVariableSelect: (item: ComboBoxItem) => void;\n}\n\nclass VariableName extends React.Component<VariableNameProps> {\n public render() {\n return (\n <span>\n <span className={styles.variableName()} onClick={this.handleVariableSelect}>\n {this.props.variableName}\n </span>\n {this.props.dependencies.length > 0 && this.renderDependencies()}\n </span>\n );\n }\n\n private renderDependencies() {\n const { dependencies, onVariableSelect } = this.props;\n return (\n <React.Fragment>\n <br />\n <br />\n зависит от:\n {dependencies.map((dependency) => (\n <DependencyName\n key={`dependency_${dependency}`}\n dependencyName={dependency}\n onDependencySelect={onVariableSelect}\n />\n ))}\n </React.Fragment>\n );\n }\n\n private handleVariableSelect = () => {\n const { variableName, onVariableSelect } = this.props;\n if (onVariableSelect) {\n onVariableSelect({ value: variableName, label: variableName });\n }\n };\n}\n\ninterface DependencyNameProps {\n dependencyName: keyof Theme;\n onDependencySelect: (item: ComboBoxItem) => void;\n}\nclass DependencyName extends React.Component<DependencyNameProps> {\n public render() {\n return (\n <React.Fragment>\n <br />\n &ndash;{' '}\n <Tooltip trigger={'hover'} render={this.getValues} pos={'right middle'}>\n <span className={styles.variableName()} onClick={this.handleDependencySelect}>\n {this.props.dependencyName}\n </span>\n </Tooltip>\n </React.Fragment>\n );\n }\n\n private getValues = () => {\n const dependencyName = this.props.dependencyName;\n const dependencyDefault = defaultVariables[dependencyName] as string;\n const dependencyFlat = flatVariables[dependencyName] as string;\n return (\n <React.Fragment>\n <span>Default value: {<VariableValue value={dependencyDefault} />}</span>\n <br />\n <span>Flat value: {<VariableValue value={dependencyFlat} />}</span>\n </React.Fragment>\n );\n };\n\n private handleDependencySelect = () => {\n const { dependencyName, onDependencySelect } = this.props;\n if (onDependencySelect) {\n onDependencySelect({ value: dependencyName, label: dependencyName });\n }\n };\n}\n\nconst VariableValue = (props: { value: string }) => {\n const value = props.value;\n const valueIsColor = isColor(value);\n const valueIsGradient = isGradient(value);\n const hasExample = valueIsColor || valueIsGradient;\n let borderColor = 'transparent';\n if (hasExample) {\n borderColor = valueIsColor ? ColorFunctions.contrast(value) : '#000';\n }\n\n return (\n <span className={cx({ [styles.undefined()]: !value })}>\n {hasExample && <span className={styles.colorExample()} style={{ background: value, borderColor }} />}\n {value || 'undefined'}\n </span>\n );\n};\n\nconst ShowUnusedVariables = (props: { diff: string[] }) => {\n if (props.diff.length === 0) {\n return null;\n }\n\n return (\n <div className={styles.unusedVariablesWarning()}>\n Неиспользованные переменные ({props.diff.length}\n ):\n <ul>\n {props.diff.sort().map((v) => (\n <li key={v}>{v}</li>\n ))}\n </ul>\n </div>\n );\n};\n\nfunction isColor(input: string) {\n return !!input && (input.startsWith('#') || input.startsWith('rgb') || input.startsWith('hsl'));\n}\n\nfunction isGradient(input: string) {\n return !!input && input.startsWith('linear-gradient');\n}\n"]}
@@ -27,8 +27,10 @@ export declare class ZIndex extends React.Component<ZIndexProps> {
27
27
  delta(props: ZIndexProps): Error | undefined;
28
28
  };
29
29
  private zIndex;
30
+ private setRootNode;
30
31
  constructor(props: ZIndexProps);
31
32
  componentWillUnmount(): void;
32
33
  render(): JSX.Element;
34
+ private wrapperRef;
33
35
  private calcZIndex;
34
36
  }
@@ -1,8 +1,10 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.ZIndex = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
2
 
3
+ var _callChildRef = require("../../lib/callChildRef/callChildRef");
4
+ var _rootNode = require("../../lib/rootNode");
3
5
  var _client = require("../../lib/client");
4
6
 
5
- var _ZIndexStorage = require("./ZIndexStorage");
7
+ var _ZIndexStorage = require("./ZIndexStorage");var _class, _class2, _temp;
6
8
 
7
9
  var ZIndexContext = /*#__PURE__*/_react.default.createContext({ parentLayerZIndex: 0, maxZIndex: Infinity });
8
10
 
@@ -22,7 +24,10 @@ ZIndexContext.displayName = 'ZIndexContext';var
22
24
 
23
25
 
24
26
 
25
- ZIndex = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(ZIndex, _React$Component);
27
+
28
+ ZIndex = (0, _rootNode.rootNode)(_class = (_temp = _class2 = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(ZIndex, _React$Component);
29
+
30
+
26
31
 
27
32
 
28
33
 
@@ -48,15 +53,40 @@ ZIndex = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(
48
53
 
49
54
 
50
55
  function ZIndex(props) {var _this;
51
- _this = _React$Component.call(this, props) || this;_this.zIndex = 0;
52
- _this.zIndex = (0, _ZIndexStorage.incrementZIndex)(props.priority, props.delta);return _this;
53
- }var _proto = ZIndex.prototype;_proto.
56
+ _this = _React$Component.call(this, props) || this;_this.zIndex = 0;_this.setRootNode = void 0;_this.
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
54
88
 
55
- componentWillUnmount = function componentWillUnmount() {
56
- (0, _ZIndexStorage.removeZIndex)(this.zIndex);
57
- };_proto.
58
89
 
59
- render = function render() {var _this2 = this;var _this$props =
60
90
 
61
91
 
62
92
 
@@ -67,41 +97,22 @@ ZIndex = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(
67
97
 
68
98
 
69
99
 
70
- this.props,style = _this$props.style,children = _this$props.children,delta = _this$props.delta,priority = _this$props.priority,applyZIndex = _this$props.applyZIndex,coverChildren = _this$props.coverChildren,createStackingContext = _this$props.createStackingContext,wrapperRef = _this$props.wrapperRef,props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, ["style", "children", "delta", "priority", "applyZIndex", "coverChildren", "createStackingContext", "wrapperRef"]);
71
100
 
72
- var wrapperStyle = {};
73
101
 
74
- return /*#__PURE__*/(
75
- _react.default.createElement(ZIndexContext.Consumer, null,
76
- function (_ref) {var parentLayerZIndex = _ref.parentLayerZIndex,maxZIndex = _ref.maxZIndex;
77
- var zIndexContexValue = { parentLayerZIndex: parentLayerZIndex, maxZIndex: maxZIndex };
78
102
 
79
- if (applyZIndex) {
80
- var newZIndex = _this2.calcZIndex(parentLayerZIndex, maxZIndex);
81
- wrapperStyle.zIndex = newZIndex;
82
103
 
83
- zIndexContexValue = coverChildren ?
84
- { parentLayerZIndex: parentLayerZIndex, maxZIndex: newZIndex } :
85
- { parentLayerZIndex: newZIndex, maxZIndex: Number.isFinite(maxZIndex) ? newZIndex : Infinity };
86
104
 
87
- if (createStackingContext) {
88
- _client.isBrowser && 'isolation' in document.body.style ?
89
- wrapperStyle.isolation = 'isolate' :
90
- wrapperStyle.transform = 'rotate(0)';
91
- }
92
- }
93
105
 
94
- return /*#__PURE__*/(
95
- _react.default.createElement(ZIndexContext.Provider, { value: zIndexContexValue }, /*#__PURE__*/
96
- _react.default.createElement("div", (0, _extends2.default)({ style: (0, _extends2.default)({}, style, wrapperStyle), ref: wrapperRef }, props),
97
- children)));
98
106
 
99
107
 
100
108
 
101
- }));
102
109
 
103
110
 
104
- };_proto.
111
+ wrapperRef = function (element) {var
112
+ wrapperRef = _this.props.wrapperRef;
113
+ _this.setRootNode(element);
114
+ wrapperRef && (0, _callChildRef.callChildRef)(wrapperRef, element);
115
+ };_this.zIndex = (0, _ZIndexStorage.incrementZIndex)(props.priority, props.delta);return _this;}var _proto = ZIndex.prototype;_proto.componentWillUnmount = function componentWillUnmount() {(0, _ZIndexStorage.removeZIndex)(this.zIndex);};_proto.render = function render() {var _this2 = this;var _this$props = this.props,style = _this$props.style,children = _this$props.children,delta = _this$props.delta,priority = _this$props.priority,applyZIndex = _this$props.applyZIndex,coverChildren = _this$props.coverChildren,createStackingContext = _this$props.createStackingContext,wrapperRef = _this$props.wrapperRef,props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, ["style", "children", "delta", "priority", "applyZIndex", "coverChildren", "createStackingContext", "wrapperRef"]);var wrapperStyle = {};return /*#__PURE__*/_react.default.createElement(ZIndexContext.Consumer, null, function (_ref) {var parentLayerZIndex = _ref.parentLayerZIndex,maxZIndex = _ref.maxZIndex;var zIndexContexValue = { parentLayerZIndex: parentLayerZIndex, maxZIndex: maxZIndex };if (applyZIndex) {var newZIndex = _this2.calcZIndex(parentLayerZIndex, maxZIndex);wrapperStyle.zIndex = newZIndex;zIndexContexValue = coverChildren ? { parentLayerZIndex: parentLayerZIndex, maxZIndex: newZIndex } : { parentLayerZIndex: newZIndex, maxZIndex: Number.isFinite(maxZIndex) ? newZIndex : Infinity };if (createStackingContext) {_client.isBrowser && 'isolation' in document.body.style ? wrapperStyle.isolation = 'isolate' : wrapperStyle.transform = 'rotate(0)';}}return /*#__PURE__*/_react.default.createElement(ZIndexContext.Provider, { value: zIndexContexValue }, /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({ style: (0, _extends2.default)({}, style, wrapperStyle), ref: _this2.wrapperRef }, props), children));});};_proto.
105
116
 
106
117
  calcZIndex = function calcZIndex(parentLayerZIndex, maxZIndex) {
107
118
  var newZIndex = this.zIndex;
@@ -115,4 +126,4 @@ ZIndex = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(
115
126
  newZIndex += parentLayerZIndex;
116
127
 
117
128
  return newZIndex;
118
- };return ZIndex;}(_react.default.Component);exports.ZIndex = ZIndex;ZIndex.__KONTUR_REACT_UI__ = 'ZIndex';ZIndex.defaultProps = { delta: 10, priority: 0, style: {}, applyZIndex: true, coverChildren: false, createStackingContext: false };ZIndex.propTypes = { delta: function delta(props) {if (props.delta <= 0) {return new Error("[ZIndex]: Prop 'delta' must be greater than 0, received " + props.delta);}if (Math.trunc(props.delta) !== props.delta) {return new Error("[ZIndex]: Prop 'delta' must be integer, received " + props.delta);}} };
129
+ };return ZIndex;}(_react.default.Component), _class2.__KONTUR_REACT_UI__ = 'ZIndex', _class2.defaultProps = { delta: 10, priority: 0, style: {}, applyZIndex: true, coverChildren: false, createStackingContext: false }, _class2.propTypes = { delta: function delta(props) {if (props.delta <= 0) {return new Error("[ZIndex]: Prop 'delta' must be greater than 0, received " + props.delta);}if (Math.trunc(props.delta) !== props.delta) {return new Error("[ZIndex]: Prop 'delta' must be integer, received " + props.delta);}} }, _temp)) || _class;exports.ZIndex = ZIndex;