@skbkontur/react-ui 0.0.0-66a28a30fb → 0.0.0-68e286f9fe

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 (504) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/README.md +1 -1
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +0 -22
  4. package/cjs/components/Autocomplete/Autocomplete.js +2 -40
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.styles.js +2 -1
  7. package/cjs/components/Button/Button.styles.js.map +1 -1
  8. package/cjs/components/Calendar/CalendarDay.js +18 -2
  9. package/cjs/components/Calendar/CalendarDay.js.map +1 -1
  10. package/cjs/components/Calendar/DayCellView.js +7 -15
  11. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  12. package/cjs/components/Checkbox/Checkbox.d.ts +0 -12
  13. package/cjs/components/Checkbox/Checkbox.js +1 -14
  14. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  15. package/cjs/components/ComboBox/ComboBox.d.ts +7 -1
  16. package/cjs/components/ComboBox/ComboBox.js +8 -1
  17. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  18. package/cjs/components/ComboBox/ComboBox.md +2 -2
  19. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +1 -24
  20. package/cjs/components/CurrencyInput/CurrencyInput.js +2 -29
  21. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  22. package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -27
  23. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  24. package/cjs/components/DateInput/DateInput.d.ts +1 -0
  25. package/cjs/components/DateInput/DateInput.js +37 -14
  26. package/cjs/components/DateInput/DateInput.js.map +1 -1
  27. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  28. package/cjs/components/DateInput/helpers/InternalDateMediator.js +10 -1
  29. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  30. package/cjs/components/DatePicker/DatePicker.d.ts +4 -33
  31. package/cjs/components/DatePicker/DatePicker.js +5 -60
  32. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  33. package/cjs/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  34. package/cjs/components/DateRangePicker/DateRangePicker.js +61 -23
  35. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  36. package/cjs/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  37. package/cjs/components/DateRangePicker/DateRangePicker.styles.js +13 -18
  38. package/cjs/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
  39. package/cjs/components/DateRangePicker/DateRangePickerInput.js +4 -8
  40. package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  41. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +17 -17
  42. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
  43. package/cjs/components/Dropdown/Dropdown.d.ts +0 -47
  44. package/cjs/components/Dropdown/Dropdown.js +2 -83
  45. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  46. package/cjs/components/DropdownMenu/DropdownMenu.md +8 -8
  47. package/cjs/components/FileUploader/FileUploader.js +14 -2
  48. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  49. package/cjs/components/FxInput/FxInput.d.ts +1 -6
  50. package/cjs/components/FxInput/FxInput.js +1 -7
  51. package/cjs/components/FxInput/FxInput.js.map +1 -1
  52. package/cjs/components/Gapped/Gapped.d.ts +0 -15
  53. package/cjs/components/Gapped/Gapped.js +1 -25
  54. package/cjs/components/Gapped/Gapped.js.map +1 -1
  55. package/cjs/components/Group/Group.d.ts +3 -4
  56. package/cjs/components/Group/Group.js +90 -40
  57. package/cjs/components/Group/Group.js.map +1 -1
  58. package/cjs/components/Group/Group.md +4 -4
  59. package/cjs/components/Group/Group.styles.d.ts +1 -0
  60. package/cjs/components/Group/Group.styles.js +12 -6
  61. package/cjs/components/Group/Group.styles.js.map +1 -1
  62. package/cjs/components/Input/Input.md +4 -5
  63. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -0
  64. package/cjs/components/Input/InputLayout/InputLayout.js +4 -2
  65. package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
  66. package/cjs/components/Kebab/Kebab.d.ts +0 -1
  67. package/cjs/components/Kebab/Kebab.js +1 -26
  68. package/cjs/components/Kebab/Kebab.js.map +1 -1
  69. package/cjs/components/Kebab/Kebab.md +32 -32
  70. package/cjs/components/Link/Link.js +5 -0
  71. package/cjs/components/Link/Link.js.map +1 -1
  72. package/cjs/components/Link/Link.mixins.js +1 -2
  73. package/cjs/components/Link/Link.mixins.js.map +1 -1
  74. package/cjs/components/Link/Link.styles.js +3 -2
  75. package/cjs/components/Link/Link.styles.js.map +1 -1
  76. package/cjs/components/Loader/Loader.d.ts +4 -36
  77. package/cjs/components/Loader/Loader.js +3 -58
  78. package/cjs/components/Loader/Loader.js.map +1 -1
  79. package/cjs/components/MenuItem/MenuItem.d.ts +0 -12
  80. package/cjs/components/MenuItem/MenuItem.js +1 -22
  81. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  82. package/cjs/components/MenuItem/MenuItem.md +6 -6
  83. package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
  84. package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
  85. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
  86. package/cjs/components/MiniModal/MiniModalBody.js +17 -2
  87. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
  88. package/cjs/components/Modal/Modal.styles.d.ts +1 -1
  89. package/cjs/components/Modal/Modal.styles.js +6 -6
  90. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  91. package/cjs/components/Modal/ModalSeparator.js +1 -1
  92. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  93. package/cjs/components/Paging/Paging.d.ts +0 -1
  94. package/cjs/components/Paging/Paging.js +2 -28
  95. package/cjs/components/Paging/Paging.js.map +1 -1
  96. package/cjs/components/PasswordInput/PasswordInput.d.ts +0 -7
  97. package/cjs/components/PasswordInput/PasswordInput.js +1 -11
  98. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  99. package/cjs/components/RadioGroup/RadioGroup.d.ts +1 -0
  100. package/cjs/components/RadioGroup/RadioGroup.js +18 -1
  101. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  102. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
  103. package/cjs/components/RadioGroup/RadioGroup.styles.js +10 -4
  104. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  105. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +0 -9
  106. package/cjs/components/ScrollContainer/ScrollContainer.js +1 -11
  107. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  108. package/cjs/components/Select/Select.d.ts +3 -0
  109. package/cjs/components/Select/Select.js +4 -1
  110. package/cjs/components/Select/Select.js.map +1 -1
  111. package/cjs/components/Select/Select.md +3 -3
  112. package/cjs/components/SidePage/SidePage.js +1 -1
  113. package/cjs/components/SidePage/SidePage.js.map +1 -1
  114. package/cjs/components/SidePage/SidePageHeader.js +4 -1
  115. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  116. package/cjs/components/SingleToast/SingleToast.d.ts +3 -3
  117. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  118. package/cjs/components/Spinner/Spinner.d.ts +0 -18
  119. package/cjs/components/Spinner/Spinner.js +1 -32
  120. package/cjs/components/Spinner/Spinner.js.map +1 -1
  121. package/cjs/components/Sticky/Sticky.d.ts +3 -13
  122. package/cjs/components/Sticky/Sticky.js +12 -19
  123. package/cjs/components/Sticky/Sticky.js.map +1 -1
  124. package/cjs/components/Switcher/Switcher.d.ts +4 -21
  125. package/cjs/components/Switcher/Switcher.js +11 -21
  126. package/cjs/components/Switcher/Switcher.js.map +1 -1
  127. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
  128. package/cjs/components/Switcher/Switcher.styles.js +17 -9
  129. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  130. package/cjs/components/Textarea/Textarea.d.ts +6 -45
  131. package/cjs/components/Textarea/Textarea.js +16 -58
  132. package/cjs/components/Textarea/Textarea.js.map +1 -1
  133. package/cjs/components/Textarea/Textarea.styles.js +2 -1
  134. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  135. package/cjs/components/Textarea/TextareaCounter.js +2 -13
  136. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  137. package/cjs/components/Toast/Toast.d.ts +8 -6
  138. package/cjs/components/Toast/Toast.js +18 -4
  139. package/cjs/components/Toast/Toast.js.map +1 -1
  140. package/cjs/components/Toast/ToastStatic.d.ts +3 -2
  141. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  142. package/cjs/components/Toast/ToastView.d.ts +1 -15
  143. package/cjs/components/Toast/ToastView.js +3 -23
  144. package/cjs/components/Toast/ToastView.js.map +1 -1
  145. package/cjs/components/Toggle/Toggle.d.ts +0 -10
  146. package/cjs/components/Toggle/Toggle.js +1 -12
  147. package/cjs/components/Toggle/Toggle.js.map +1 -1
  148. package/cjs/components/Token/Token.md +0 -83
  149. package/cjs/components/TokenInput/TokenInput.d.ts +2 -2
  150. package/cjs/components/TokenInput/TokenInput.js +2 -1
  151. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  152. package/cjs/components/TokenInput/TokenInput.md +2 -33
  153. package/cjs/components/TokenInput/TokenInputMenu.d.ts +12 -3
  154. package/cjs/components/TokenInput/TokenInputMenu.js +23 -1
  155. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  156. package/cjs/components/Tooltip/Tooltip.d.ts +2 -3
  157. package/cjs/components/Tooltip/Tooltip.js +7 -9
  158. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  159. package/cjs/components/Tooltip/Tooltip.md +8 -8
  160. package/cjs/components/TooltipMenu/TooltipMenu.md +12 -12
  161. package/cjs/index.d.ts +1 -0
  162. package/cjs/index.js.map +1 -1
  163. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  164. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +16 -7
  165. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  166. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  167. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +27 -9
  168. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  169. package/cjs/internal/ComponentTable.js +2 -3
  170. package/cjs/internal/ComponentTable.js.map +1 -1
  171. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +6 -2
  172. package/cjs/internal/CustomComboBox/ComboBoxView.js +37 -2
  173. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  174. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
  175. package/cjs/internal/CustomComboBox/CustomComboBox.js +4 -1
  176. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  177. package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
  178. package/cjs/internal/DateSelect/DateSelect.js +12 -18
  179. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  180. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  181. package/cjs/internal/InputLikeText/InputLikeText.styles.js +12 -4
  182. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  183. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +36 -0
  184. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +233 -0
  185. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  186. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  187. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +10 -0
  188. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
  189. package/cjs/internal/Popup/Popup.d.ts +41 -60
  190. package/cjs/internal/Popup/Popup.js +27 -78
  191. package/cjs/internal/Popup/Popup.js.map +1 -1
  192. package/cjs/internal/Popup/PopupPin.d.ts +23 -33
  193. package/cjs/internal/Popup/PopupPin.js +2 -35
  194. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  195. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  196. package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
  197. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  198. package/cjs/internal/RenderLayer/RenderLayer.d.ts +0 -3
  199. package/cjs/internal/RenderLayer/RenderLayer.js +2 -12
  200. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  201. package/cjs/internal/ThemePlayground/Playground.js +16 -16
  202. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  203. package/cjs/internal/ThemePlayground/SizesGroup.js +4 -4
  204. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  205. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +1 -1
  206. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  207. package/cjs/internal/ThemePlayground/VariableValue.js +4 -4
  208. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  209. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  210. package/cjs/internal/ZIndex/ZIndex.d.ts +1 -3
  211. package/cjs/internal/ZIndex/ZIndex.js +5 -2
  212. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  213. package/cjs/internal/themes/BasicTheme.d.ts +4 -0
  214. package/cjs/internal/themes/BasicTheme.js +6 -2
  215. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  216. package/cjs/internal/themes/DarkTheme5_2.js +1 -1
  217. package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
  218. package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
  219. package/cjs/internal/themes/DarkTheme5_3.js +13 -0
  220. package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
  221. package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
  222. package/cjs/internal/themes/LightTheme5_3.js +13 -0
  223. package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
  224. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  225. package/cjs/lib/date/InternalDateGetter.js +8 -1
  226. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  227. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
  228. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
  229. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +11 -1
  230. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  231. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  232. package/cjs/lib/forwardRefAndName.js +0 -1
  233. package/cjs/lib/forwardRefAndName.js.map +1 -1
  234. package/cjs/lib/getMenuPositions.d.ts +21 -1
  235. package/cjs/lib/getMenuPositions.js +45 -8
  236. package/cjs/lib/getMenuPositions.js.map +1 -1
  237. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  238. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  239. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
  240. package/cjs/lib/theming/themes/DarkTheme.js +4 -2
  241. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  242. package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
  243. package/cjs/lib/theming/themes/LightTheme.js +4 -2
  244. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  245. package/cjs/lib/utils.d.ts +4 -0
  246. package/cjs/lib/utils.js +5 -1
  247. package/cjs/lib/utils.js.map +1 -1
  248. package/components/Autocomplete/Autocomplete/Autocomplete.js +3 -23
  249. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  250. package/components/Autocomplete/Autocomplete.d.ts +0 -22
  251. package/components/Button/Button.styles/Button.styles.js +1 -1
  252. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  253. package/components/Calendar/CalendarDay/CalendarDay.js +9 -2
  254. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
  255. package/components/Calendar/DayCellView/DayCellView.js +6 -10
  256. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  257. package/components/Checkbox/Checkbox/Checkbox.js +0 -11
  258. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  259. package/components/Checkbox/Checkbox.d.ts +0 -12
  260. package/components/ComboBox/ComboBox/ComboBox.js +2 -1
  261. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  262. package/components/ComboBox/ComboBox.d.ts +7 -1
  263. package/components/ComboBox/ComboBox.md +2 -2
  264. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +9 -36
  265. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  266. package/components/CurrencyInput/CurrencyInput.d.ts +1 -24
  267. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
  268. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  269. package/components/DateInput/DateInput/DateInput.js +25 -16
  270. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  271. package/components/DateInput/DateInput.d.ts +1 -0
  272. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
  273. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  274. package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  275. package/components/DatePicker/DatePicker/DatePicker.js +1 -32
  276. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  277. package/components/DatePicker/DatePicker.d.ts +4 -33
  278. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +41 -22
  279. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  280. package/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  281. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js +12 -15
  282. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js.map +1 -1
  283. package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  284. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +5 -8
  285. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
  286. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +16 -15
  287. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +1 -1
  288. package/components/Dropdown/Dropdown/Dropdown.js +1 -47
  289. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  290. package/components/Dropdown/Dropdown.d.ts +0 -47
  291. package/components/DropdownMenu/DropdownMenu.md +8 -8
  292. package/components/FileUploader/FileUploader/FileUploader.js +7 -2
  293. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  294. package/components/FxInput/FxInput/FxInput.js +1 -5
  295. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  296. package/components/FxInput/FxInput.d.ts +1 -6
  297. package/components/Gapped/Gapped/Gapped.js +1 -15
  298. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  299. package/components/Gapped/Gapped.d.ts +0 -15
  300. package/components/Group/Group/Group.js +64 -28
  301. package/components/Group/Group/Group.js.map +1 -1
  302. package/components/Group/Group.d.ts +3 -4
  303. package/components/Group/Group.md +4 -4
  304. package/components/Group/Group.styles/Group.styles.js +9 -6
  305. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  306. package/components/Group/Group.styles.d.ts +1 -0
  307. package/components/Input/Input.md +4 -5
  308. package/components/Input/InputLayout/InputLayout/InputLayout.js +5 -2
  309. package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
  310. package/components/Input/InputLayout/InputLayout.d.ts +1 -0
  311. package/components/Kebab/Kebab/Kebab.js +2 -20
  312. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  313. package/components/Kebab/Kebab.d.ts +0 -1
  314. package/components/Kebab/Kebab.md +32 -32
  315. package/components/Link/Link/Link.js +4 -0
  316. package/components/Link/Link/Link.js.map +1 -1
  317. package/components/Link/Link.mixins/Link.mixins.js +1 -1
  318. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  319. package/components/Link/Link.styles/Link.styles.js +1 -1
  320. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  321. package/components/Loader/Loader/Loader.js +0 -33
  322. package/components/Loader/Loader/Loader.js.map +1 -1
  323. package/components/Loader/Loader.d.ts +4 -36
  324. package/components/MenuItem/MenuItem/MenuItem.js +1 -12
  325. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  326. package/components/MenuItem/MenuItem.d.ts +0 -12
  327. package/components/MenuItem/MenuItem.md +6 -6
  328. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
  329. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
  330. package/components/MiniModal/MiniModal.styles.d.ts +1 -0
  331. package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
  332. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
  333. package/components/Modal/Modal.styles/Modal.styles.js +3 -3
  334. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  335. package/components/Modal/Modal.styles.d.ts +1 -1
  336. package/components/Modal/ModalSeparator/ModalSeparator.js +1 -1
  337. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  338. package/components/Paging/Paging/Paging.js +1 -22
  339. package/components/Paging/Paging/Paging.js.map +1 -1
  340. package/components/Paging/Paging.d.ts +0 -1
  341. package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -7
  342. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  343. package/components/PasswordInput/PasswordInput.d.ts +0 -7
  344. package/components/RadioGroup/RadioGroup/RadioGroup.js +23 -17
  345. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  346. package/components/RadioGroup/RadioGroup.d.ts +1 -0
  347. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +7 -4
  348. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  349. package/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
  350. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
  351. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  352. package/components/ScrollContainer/ScrollContainer.d.ts +0 -9
  353. package/components/Select/Select/Select.js +3 -2
  354. package/components/Select/Select/Select.js.map +1 -1
  355. package/components/Select/Select.d.ts +3 -0
  356. package/components/Select/Select.md +3 -3
  357. package/components/SidePage/SidePage/SidePage.js +1 -1
  358. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  359. package/components/SidePage/SidePageHeader/SidePageHeader.js +6 -1
  360. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  361. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  362. package/components/SingleToast/SingleToast.d.ts +3 -3
  363. package/components/Spinner/Spinner/Spinner.js +1 -18
  364. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  365. package/components/Spinner/Spinner.d.ts +0 -18
  366. package/components/Sticky/Sticky/Sticky.js +10 -14
  367. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  368. package/components/Sticky/Sticky.d.ts +3 -13
  369. package/components/Switcher/Switcher/Switcher.js +19 -16
  370. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  371. package/components/Switcher/Switcher.d.ts +4 -21
  372. package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
  373. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  374. package/components/Switcher/Switcher.styles.d.ts +1 -0
  375. package/components/Textarea/Textarea/Textarea.js +12 -46
  376. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  377. package/components/Textarea/Textarea.d.ts +6 -45
  378. package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
  379. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  380. package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
  381. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  382. package/components/Toast/Toast/Toast.js +8 -10
  383. package/components/Toast/Toast/Toast.js.map +1 -1
  384. package/components/Toast/Toast.d.ts +8 -6
  385. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  386. package/components/Toast/ToastStatic.d.ts +3 -2
  387. package/components/Toast/ToastView/ToastView.js +3 -17
  388. package/components/Toast/ToastView/ToastView.js.map +1 -1
  389. package/components/Toast/ToastView.d.ts +1 -15
  390. package/components/Toggle/Toggle/Toggle.js +1 -10
  391. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  392. package/components/Toggle/Toggle.d.ts +0 -10
  393. package/components/Token/Token.md +0 -83
  394. package/components/TokenInput/TokenInput/TokenInput.js +2 -1
  395. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  396. package/components/TokenInput/TokenInput.d.ts +2 -2
  397. package/components/TokenInput/TokenInput.md +2 -33
  398. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +16 -6
  399. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  400. package/components/TokenInput/TokenInputMenu.d.ts +12 -3
  401. package/components/Tooltip/Tooltip/Tooltip.js +8 -7
  402. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  403. package/components/Tooltip/Tooltip.d.ts +2 -3
  404. package/components/Tooltip/Tooltip.md +8 -8
  405. package/components/TooltipMenu/TooltipMenu.md +12 -12
  406. package/index.d.ts +1 -0
  407. package/index.js +1 -0
  408. package/index.js.map +1 -1
  409. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +21 -7
  410. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  411. package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  412. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +14 -5
  413. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
  414. package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  415. package/internal/ComponentTable/ComponentTable.js +0 -2
  416. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  417. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +59 -27
  418. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  419. package/internal/CustomComboBox/ComboBoxView.d.ts +6 -2
  420. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +2 -1
  421. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  422. package/internal/CustomComboBox/CustomComboBox.d.ts +4 -2
  423. package/internal/DateSelect/DateSelect/DateSelect.js +3 -10
  424. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  425. package/internal/DateSelect/DateSelect.d.ts +0 -10
  426. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +7 -4
  427. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  428. package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  429. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +244 -0
  430. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  431. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/package.json +6 -0
  432. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +36 -0
  433. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js +8 -0
  434. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js.map +1 -0
  435. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/package.json +6 -0
  436. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  437. package/internal/Popup/Popup/Popup.js +13 -66
  438. package/internal/Popup/Popup/Popup.js.map +1 -1
  439. package/internal/Popup/Popup.d.ts +41 -60
  440. package/internal/Popup/PopupPin/PopupPin.js +1 -34
  441. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  442. package/internal/Popup/PopupPin.d.ts +23 -33
  443. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
  444. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  445. package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  446. package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
  447. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  448. package/internal/RenderLayer/RenderLayer.d.ts +0 -3
  449. package/internal/ThemePlayground/Playground/Playground.js +13 -13
  450. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  451. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +4 -4
  452. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  453. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +2 -2
  454. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  455. package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -4
  456. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  457. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  458. package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
  459. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  460. package/internal/ZIndex/ZIndex.d.ts +1 -3
  461. package/internal/themes/BasicTheme/BasicTheme.js +4 -0
  462. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  463. package/internal/themes/BasicTheme.d.ts +4 -0
  464. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
  465. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
  466. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
  467. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
  468. package/internal/themes/DarkTheme5_3/package.json +6 -0
  469. package/internal/themes/DarkTheme5_3.d.ts +1 -0
  470. package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
  471. package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
  472. package/internal/themes/LightTheme5_3/package.json +6 -0
  473. package/internal/themes/LightTheme5_3.d.ts +1 -0
  474. package/lib/date/InternalDateGetter/InternalDateGetter.js +4 -1
  475. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  476. package/lib/date/InternalDateGetter.d.ts +1 -1
  477. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +5 -0
  478. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +6 -1
  479. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  480. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +5 -0
  481. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  482. package/lib/forwardRefAndName.d.ts +1 -1
  483. package/lib/getMenuPositions/getMenuPositions.js +33 -4
  484. package/lib/getMenuPositions/getMenuPositions.js.map +1 -1
  485. package/lib/getMenuPositions.d.ts +21 -1
  486. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  487. package/lib/theming/ThemeVersions.d.ts +1 -1
  488. package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
  489. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  490. package/lib/theming/themes/DarkTheme.d.ts +1 -0
  491. package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
  492. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  493. package/lib/theming/themes/LightTheme.d.ts +1 -0
  494. package/lib/utils/utils.js +2 -0
  495. package/lib/utils/utils.js.map +1 -1
  496. package/lib/utils.d.ts +4 -0
  497. package/package.json +7 -11
  498. package/cjs/lib/SSRSafe.d.ts +0 -2
  499. package/cjs/lib/SSRSafe.js +0 -5
  500. package/cjs/lib/SSRSafe.js.map +0 -1
  501. package/lib/SSRSafe/SSRSafe.js +0 -4
  502. package/lib/SSRSafe/SSRSafe.js.map +0 -1
  503. package/lib/SSRSafe/package.json +0 -6
  504. package/lib/SSRSafe.d.ts +0 -2
@@ -0,0 +1,233 @@
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.InternalTextareaWithLayout = 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
+
3
+
4
+ var _InputLayout = require("../../components/Input/InputLayout/InputLayout");
5
+ var _Textarea = require("../../components/Textarea");
6
+
7
+ var _Textarea2 = require("../../components/Textarea/Textarea.styles");
8
+ var _Emotion = require("../../lib/theming/Emotion");
9
+ var _ThemeContext = require("../../lib/theming/ThemeContext");
10
+ var _ThemeFactory = require("../../lib/theming/ThemeFactory");
11
+ var _rootNode = require("../../lib/rootNode");
12
+
13
+ var _Input = require("../../components/Input/Input.styles");
14
+ var _createPropsGetter = require("../../lib/createPropsGetter");
15
+ var _currentEnvironment = require("../../lib/currentEnvironment");
16
+ var _Input2 = require("../../components/Input");
17
+ var _ClearCrossIcon = require("../ClearCrossIcon/ClearCrossIcon");
18
+
19
+ var _InternalTextareaWithLayout2 = require("./InternalTextareaWithLayout.styles");var _excluded = ["leftIcon", "rightIcon", "borderless"];var _class, _InternalTextareaWithLayout;var
20
+
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+ InternalTextareaWithLayout = exports.InternalTextareaWithLayout = (0, _rootNode.rootNode)(_class = (_InternalTextareaWithLayout = /*#__PURE__*/function (_React$Component) {function InternalTextareaWithLayout() {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.
33
+
34
+
35
+
36
+
37
+ wrappedComponentRef = /*#__PURE__*/_react.default.createRef();_this.
38
+
39
+ getProps = (0, _createPropsGetter.createPropsGetter)(_Textarea.Textarea.defaultProps);_this.
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+ getClearCrossShowed = function (_ref) {var focused = _ref.focused,hovered = _ref.hovered;
49
+ if (_this.props.disabled) {
50
+ return false;
51
+ }
52
+ return (0, _Input2.calculateClearCrossShowedState)({
53
+ showClearIcon: _this.getProps().showClearIcon || 'never',
54
+ notEmptyValue: Boolean(_this.props.value),
55
+ focused: focused,
56
+ hovered: hovered
57
+ });
58
+ };_this.
59
+
60
+ state = {
61
+ focused: false,
62
+ hovered: false,
63
+ clearCrossShowed: _this.getClearCrossShowed({ focused: false })
64
+ };_this.
65
+
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+ handleClearInput = function () {
115
+ if (_this.wrappedComponentRef.current) {
116
+ _this.wrappedComponentRef.current.clear();
117
+
118
+ if (!_this.state.focused) {
119
+ _this.wrappedComponentRef.current.focus();
120
+ }
121
+ }
122
+
123
+ if (_this.props.onValueChange) {
124
+ _this.props.onValueChange('');
125
+ }
126
+ };_this.
127
+
128
+ getRightIcon = function () {
129
+ var _this$props = _this.props,size = _this$props.size,rightIcon = _this$props.rightIcon;
130
+
131
+ return _this.state.clearCrossShowed ? /*#__PURE__*/
132
+ _react.default.createElement(_ClearCrossIcon.ClearCrossIcon, { "data-tid": _Input2.InputDataTids.clearCross, size: size, onClick: _this.handleClearInput }) :
133
+
134
+ rightIcon;
135
+
136
+ };_this.
137
+
138
+ handleMouseEnter = function () {
139
+ _this.setState({ clearCrossShowed: _this.getClearCrossShowed({ focused: _this.state.focused, hovered: true }) });
140
+ };_this.
141
+
142
+ handleMouseOut = function () {
143
+ _this.setState({ clearCrossShowed: _this.getClearCrossShowed({ focused: _this.state.focused, hovered: false }) });
144
+ };_this.
145
+
146
+ renderLayout = function () {var _cx;
147
+ var labelProps = {
148
+ className: (0, _Emotion.cx)(
149
+ _InternalTextareaWithLayout2.styles.contentWrapper(),
150
+ _Textarea2.styles.textarea(_this.theme),
151
+ _this.getTextareaSizeClassName(),
152
+ _this.getRootSizeClassName(), (_cx = {}, _cx[
153
+
154
+ _Input.styles.focus(_this.theme)] = _this.state.focused && !_this.props.warning && !_this.props.error, _cx[
155
+ _Input.styles.borderless()] = _this.props.borderless && !_this.state.focused, _cx[
156
+ _Textarea2.styles.disabled(_this.theme)] = _this.props.disabled, _cx[
157
+ _Textarea2.styles.warning(_this.theme)] = _this.props.warning, _cx[
158
+ _Textarea2.styles.error(_this.theme)] = _this.props.error, _cx)
159
+
160
+ ),
161
+ style: { width: _this.props.width || _Textarea.DEFAULT_WIDTH, minWidth: '0', position: 'relative' },
162
+ onMouseEnter: _this.handleMouseEnter,
163
+ onMouseLeave: _this.handleMouseOut,
164
+ onClick: _this.handleLayoutClick
165
+ };
166
+ return /*#__PURE__*/(
167
+ _react.default.createElement(_InputLayout.InputLayout, {
168
+ leftIcon: _this.props.leftIcon,
169
+ rightIcon: _this.getRightIcon(),
170
+ labelProps: labelProps,
171
+ context: { disabled: _this.props.disabled, focused: _this.state.focused, size: _this.getProps().size },
172
+ tag: "span" },
173
+
174
+ _this.renderTextarea()
175
+ ));
176
+
177
+ };_this.
178
+
179
+ renderTextarea = function () {
180
+ var _this$props2 = _this.props,leftIcon = _this$props2.leftIcon,rightIcon = _this$props2.rightIcon,borderless = _this$props2.borderless,textareaProps = (0, _objectWithoutPropertiesLoose2.default)(_this$props2, _excluded);
181
+ return /*#__PURE__*/(
182
+ _react.default.createElement(_ThemeContext.ThemeContext.Provider, {
183
+ value: _ThemeFactory.ThemeFactory.create(
184
+ {
185
+ textareaWidth: 'auto',
186
+ textareaBorderWidth: '0px',
187
+ textareaPaddingXSmall: '0px',
188
+ textareaPaddingXMedium: '0px',
189
+ textareaPaddingXLarge: '0px',
190
+ textareaPaddingYSmall: '0px',
191
+ textareaPaddingYMedium: '0px',
192
+ textareaPaddingYLarge: '0px',
193
+ textareaOutlineWidth: '0px',
194
+ textareaShadow: 'none',
195
+ textareaDisabledBg: 'transparent',
196
+ textareaBg: 'transparent'
197
+ },
198
+ _this.theme
199
+ ) }, /*#__PURE__*/
200
+
201
+ _react.default.createElement(_Textarea.Textarea, (0, _extends2.default)({},
202
+ _currentEnvironment.isTestEnv ? { spellCheck: false } : {},
203
+ textareaProps, {
204
+ width: '100%',
205
+ ref: _this.wrappedComponentRef,
206
+ onFocus: _this.handleFocus,
207
+ onBlur: _this.handleBlur })
208
+ )
209
+ ));
210
+
211
+ };_this.
212
+
213
+ handleLayoutClick = function () {var _this$wrappedComponen;
214
+ (_this$wrappedComponen = _this.wrappedComponentRef.current) == null || _this$wrappedComponen.focus();
215
+ };_this.
216
+ handleBlur = function (event) {var _getRootNode;
217
+ if ((_getRootNode = (0, _rootNode.getRootNode)(_this)) != null && _getRootNode.contains(event.relatedTarget)) {
218
+ _this.setState({ focused: false });
219
+ } else {
220
+ _this.setState({
221
+ focused: false,
222
+ clearCrossShowed: _this.getClearCrossShowed({ focused: false, hovered: _this.state.hovered })
223
+ });
224
+ _this.props.onBlur == null || _this.props.onBlur(event);
225
+ }
226
+ };_this.
227
+ handleFocus = function (event) {
228
+ _this.setState({
229
+ focused: true,
230
+ clearCrossShowed: _this.getClearCrossShowed({ focused: true, hovered: _this.state.hovered })
231
+ });
232
+ _this.props.onFocus == null || _this.props.onFocus(event);
233
+ };return _this;}(0, _inheritsLoose2.default)(InternalTextareaWithLayout, _React$Component);var _proto = InternalTextareaWithLayout.prototype;_proto.componentDidUpdate = function componentDidUpdate(prevProps) {var _this$state = this.state,focused = _this$state.focused,hovered = _this$state.hovered;if (Boolean(prevProps.value) !== Boolean(this.props.value)) {this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused: focused, hovered: hovered }) });}};_proto.focus = function focus() {var _this$wrappedComponen2;(_this$wrappedComponen2 = this.wrappedComponentRef.current) == null || _this$wrappedComponen2.focus();};_proto.blur = function blur() {var _this$wrappedComponen3;(_this$wrappedComponen3 = this.wrappedComponentRef.current) == null || _this$wrappedComponen3.blur();};_proto.setSelectionRange = function setSelectionRange(start, end) {var _this$wrappedComponen4;(_this$wrappedComponen4 = this.wrappedComponentRef.current) == null || _this$wrappedComponen4.setSelectionRange(start, end);};_proto.selectAll = function selectAll() {var _this$wrappedComponen5;(_this$wrappedComponen5 = this.wrappedComponentRef.current) == null || _this$wrappedComponen5.selectAll();};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement("span", { "data-tid": 'InternalTextareaWithLayout' }, _this2.renderLayout());});};_proto.getTextareaSizeClassName = function getTextareaSizeClassName() {switch (this.getProps().size) {case 'large':return _Textarea2.styles.textareaLarge(this.theme);case 'medium':return _Textarea2.styles.textareaMedium(this.theme);case 'small':default:return _Textarea2.styles.textareaSmall(this.theme);}};_proto.getRootSizeClassName = function getRootSizeClassName() {switch (this.getProps().size) {case 'large':return _Textarea2.styles.rootLarge(this.theme);case 'medium':return _Textarea2.styles.rootMedium(this.theme);case 'small':default:return _Textarea2.styles.rootSmall(this.theme);}};return InternalTextareaWithLayout;}(_react.default.Component), _InternalTextareaWithLayout.__KONTUR_REACT_UI__ = 'InternalTextareaWithLayout', _InternalTextareaWithLayout)) || _class;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_InputLayout","_Textarea","_Textarea2","_Emotion","_ThemeContext","_ThemeFactory","_rootNode","_Input","_createPropsGetter","_currentEnvironment","_Input2","_ClearCrossIcon","_InternalTextareaWithLayout2","_excluded","_class","_InternalTextareaWithLayout","InternalTextareaWithLayout","exports","rootNode","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","wrappedComponentRef","React","createRef","getProps","createPropsGetter","Textarea","defaultProps","getClearCrossShowed","_ref","focused","hovered","props","disabled","calculateClearCrossShowedState","showClearIcon","notEmptyValue","Boolean","value","state","clearCrossShowed","handleClearInput","current","clear","focus","onValueChange","getRightIcon","_this$props","size","rightIcon","default","createElement","ClearCrossIcon","InputDataTids","clearCross","onClick","handleMouseEnter","setState","handleMouseOut","renderLayout","_cx","labelProps","className","cx","styles","contentWrapper","textareaStyles","textarea","theme","getTextareaSizeClassName","getRootSizeClassName","inputStyles","warning","error","borderless","style","width","DEFAULT_WIDTH","minWidth","position","onMouseEnter","onMouseLeave","handleLayoutClick","InputLayout","leftIcon","context","tag","renderTextarea","_this$props2","textareaProps","_objectWithoutPropertiesLoose2","ThemeContext","Provider","ThemeFactory","create","textareaWidth","textareaBorderWidth","textareaPaddingXSmall","textareaPaddingXMedium","textareaPaddingXLarge","textareaPaddingYSmall","textareaPaddingYMedium","textareaPaddingYLarge","textareaOutlineWidth","textareaShadow","textareaDisabledBg","textareaBg","_extends2","isTestEnv","spellCheck","ref","onFocus","handleFocus","onBlur","handleBlur","_this$wrappedComponen","event","_getRootNode","getRootNode","contains","relatedTarget","_inheritsLoose2","_proto","prototype","componentDidUpdate","prevProps","_this$state","_this$wrappedComponen2","blur","_this$wrappedComponen3","setSelectionRange","start","end","_this$wrappedComponen4","selectAll","_this$wrappedComponen5","render","_this2","Consumer","textareaLarge","textareaMedium","textareaSmall","rootLarge","rootMedium","rootSmall","Component","__KONTUR_REACT_UI__"],"sources":["InternalTextareaWithLayout.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { InputProps } from '../../components/Input';\nimport { InputLayout } from '../../components/Input/InputLayout/InputLayout';\nimport { DEFAULT_WIDTH, Textarea } from '../../components/Textarea';\nimport type { TextareaProps } from '../../components/Textarea';\nimport { styles as textareaStyles } from '../../components/Textarea/Textarea.styles';\nimport { cx } from '../../lib/theming/Emotion';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { styles as inputStyles } from '../../components/Input/Input.styles';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { calculateClearCrossShowedState, InputDataTids } from '../../components/Input';\nimport { ClearCrossIcon } from '../ClearCrossIcon/ClearCrossIcon';\n\nimport { styles } from './InternalTextareaWithLayout.styles';\n\ninterface InternalTextareaWithLayoutProps\n extends TextareaProps,\n Pick<InputProps, 'leftIcon' | 'rightIcon' | 'align' | 'borderless' | 'showClearIcon'> {}\n\ninterface InternalTextareaWithLayoutState {\n focused: boolean;\n hovered: boolean;\n clearCrossShowed: boolean;\n}\n\n@rootNode\nexport class InternalTextareaWithLayout extends React.Component<\n InternalTextareaWithLayoutProps,\n InternalTextareaWithLayoutState\n> {\n public static __KONTUR_REACT_UI__ = 'InternalTextareaWithLayout';\n private wrappedComponentRef = React.createRef<Textarea>();\n private theme!: Theme;\n private getProps = createPropsGetter(Textarea.defaultProps);\n\n public componentDidUpdate(prevProps: Readonly<InternalTextareaWithLayoutProps>) {\n const { focused, hovered } = this.state;\n if (Boolean(prevProps.value) !== Boolean(this.props.value)) {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused, hovered }) });\n }\n }\n\n private getClearCrossShowed = ({ focused, hovered }: { focused?: boolean; hovered?: boolean }): boolean => {\n if (this.props.disabled) {\n return false;\n }\n return calculateClearCrossShowedState({\n showClearIcon: this.getProps().showClearIcon || 'never',\n notEmptyValue: Boolean(this.props.value),\n focused,\n hovered,\n });\n };\n\n public state: InternalTextareaWithLayoutState = {\n focused: false,\n hovered: false,\n clearCrossShowed: this.getClearCrossShowed({ focused: false }),\n };\n\n public focus() {\n this.wrappedComponentRef.current?.focus();\n }\n public blur() {\n this.wrappedComponentRef.current?.blur();\n }\n public setSelectionRange(start: number, end: number) {\n this.wrappedComponentRef.current?.setSelectionRange(start, end);\n }\n public selectAll() {\n this.wrappedComponentRef.current?.selectAll();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <span data-tid={'InternalTextareaWithLayout'}>{this.renderLayout()}</span>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getTextareaSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return textareaStyles.textareaLarge(this.theme);\n case 'medium':\n return textareaStyles.textareaMedium(this.theme);\n case 'small':\n default:\n return textareaStyles.textareaSmall(this.theme);\n }\n }\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return textareaStyles.rootLarge(this.theme);\n case 'medium':\n return textareaStyles.rootMedium(this.theme);\n case 'small':\n default:\n return textareaStyles.rootSmall(this.theme);\n }\n }\n\n private handleClearInput = () => {\n if (this.wrappedComponentRef.current) {\n this.wrappedComponentRef.current.clear();\n\n if (!this.state.focused) {\n this.wrappedComponentRef.current.focus();\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange('');\n }\n };\n\n private getRightIcon = () => {\n const { size, rightIcon } = this.props;\n\n return this.state.clearCrossShowed ? (\n <ClearCrossIcon data-tid={InputDataTids.clearCross} size={size} onClick={this.handleClearInput} />\n ) : (\n rightIcon\n );\n };\n\n private handleMouseEnter = () => {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: true }) });\n };\n\n private handleMouseOut = () => {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: false }) });\n };\n\n private renderLayout = () => {\n const labelProps = {\n className: cx(\n styles.contentWrapper(),\n textareaStyles.textarea(this.theme),\n this.getTextareaSizeClassName(),\n this.getRootSizeClassName(),\n {\n [inputStyles.focus(this.theme)]: this.state.focused && !this.props.warning && !this.props.error,\n [inputStyles.borderless()]: this.props.borderless && !this.state.focused,\n [textareaStyles.disabled(this.theme)]: this.props.disabled,\n [textareaStyles.warning(this.theme)]: this.props.warning,\n [textareaStyles.error(this.theme)]: this.props.error,\n },\n ),\n style: { width: this.props.width || DEFAULT_WIDTH, minWidth: '0', position: 'relative' as const },\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseOut,\n onClick: this.handleLayoutClick,\n };\n return (\n <InputLayout\n leftIcon={this.props.leftIcon}\n rightIcon={this.getRightIcon()}\n labelProps={labelProps}\n context={{ disabled: this.props.disabled, focused: this.state.focused, size: this.getProps().size }}\n tag=\"span\"\n >\n {this.renderTextarea()}\n </InputLayout>\n );\n };\n\n private renderTextarea = () => {\n const { leftIcon, rightIcon, borderless, ...textareaProps } = this.props;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n textareaWidth: 'auto',\n textareaBorderWidth: '0px',\n textareaPaddingXSmall: '0px',\n textareaPaddingXMedium: '0px',\n textareaPaddingXLarge: '0px',\n textareaPaddingYSmall: '0px',\n textareaPaddingYMedium: '0px',\n textareaPaddingYLarge: '0px',\n textareaOutlineWidth: '0px',\n textareaShadow: 'none',\n textareaDisabledBg: 'transparent',\n textareaBg: 'transparent',\n },\n this.theme,\n )}\n >\n <Textarea\n {...(isTestEnv ? { spellCheck: false } : {})}\n {...textareaProps}\n width={'100%'}\n ref={this.wrappedComponentRef}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n </ThemeContext.Provider>\n );\n };\n\n private handleLayoutClick = () => {\n this.wrappedComponentRef.current?.focus();\n };\n private handleBlur = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n if (getRootNode(this)?.contains(event.relatedTarget)) {\n this.setState({ focused: false });\n } else {\n this.setState({\n focused: false,\n clearCrossShowed: this.getClearCrossShowed({ focused: false, hovered: this.state.hovered }),\n });\n this.props.onBlur?.(event);\n }\n };\n private handleFocus = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n this.setState({\n focused: true,\n clearCrossShowed: this.getClearCrossShowed({ focused: true, hovered: this.state.hovered }),\n });\n this.props.onFocus?.(event);\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export declare const styles: {
2
+ contentWrapper(): string;
3
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.styles = void 0;var _taggedTemplateLiteralLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _Emotion = require("../../lib/theming/Emotion");var _templateObject;
2
+
3
+ var styles = exports.styles = (0, _Emotion.memoizeStyle)({
4
+ contentWrapper: function contentWrapper() {
5
+ return (0, _Emotion.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteralLoose2.default)(["\n display: inline-flex;\n align-items: flex-start;\n "])));
6
+
7
+
8
+
9
+ }
10
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_Emotion","require","_templateObject","styles","exports","memoizeStyle","contentWrapper","css","_taggedTemplateLiteralLoose2","default"],"sources":["InternalTextareaWithLayout.styles.ts"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nexport const styles = memoizeStyle({\n contentWrapper() {\n return css`\n display: inline-flex;\n align-items: flex-start;\n `;\n },\n});\n"],"mappings":"oRAAA,IAAAA,QAAA,GAAAC,OAAA,8BAA8D,IAAAC,eAAA;;AAEvD,IAAMC,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG,IAAAE,qBAAY,EAAC;EACjCC,cAAc,WAAAA,eAAA,EAAG;IACf,WAAOC,YAAG,EAAAL,eAAA,KAAAA,eAAA,OAAAM,4BAAA,CAAAC,OAAA;;;;EAIZ;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,6 +1,5 @@
1
1
  import type { HTMLAttributes } from 'react';
2
2
  import React from 'react';
3
- import PropTypes from 'prop-types';
4
3
  import type { Nullable } from '../../typings/utility-types';
5
4
  import type { Priority } from '../ZIndex';
6
5
  import type { FocusEventType, MouseEventType } from '../../typings/event-types';
@@ -24,21 +23,57 @@ export interface PopupHandlerProps {
24
23
  onClose?: () => void;
25
24
  }
26
25
  export interface PopupProps extends Omit<CommonProps, 'children'>, PopupHandlerProps, Pick<HTMLAttributes<HTMLDivElement>, 'id'> {
26
+ /**
27
+ * Ссылка (ref) на элемент или React компонент, для которого рисуется попап
28
+ */
27
29
  anchorElement: React.ReactNode | Element;
30
+ /**
31
+ * Фон попапа и пина
32
+ */
28
33
  backgroundColor?: React.CSSProperties['backgroundColor'];
29
34
  borderColor?: React.CSSProperties['borderColor'];
30
35
  children: React.ReactNode | (() => React.ReactNode);
36
+ /**
37
+ * Показывать ли пин
38
+ */
31
39
  hasPin?: boolean;
40
+ /**
41
+ * Применять ли box-shadow на попапе. При false отключает границу на пине
42
+ */
32
43
  hasShadow?: boolean;
33
44
  disableAnimations?: boolean;
45
+ /**
46
+ * Отступ попапа от элемента
47
+ */
34
48
  margin?: number;
35
49
  maxWidth?: number | string;
50
+ /**
51
+ * Показан или скрыт попап
52
+ */
36
53
  opened: boolean;
54
+ /**
55
+ * Смещение пина от края попапа. Край задаётся в пропе position вторым словом
56
+ */
37
57
  pinOffset?: number;
58
+ /**
59
+ * Сторона пина без учёта границы.
60
+ * Пин представляет собой равносторонний треугольник, высота от попапа
61
+ * до "носика" пина будет соответствовать формуле (size* √3)/2
62
+ */
38
63
  pinSize?: number;
64
+ /**
65
+ * смещение попапа относительно родительского элемента
66
+ */
39
67
  popupOffset?: number;
40
68
  priority?: Priority;
69
+ /**
70
+ * С какой стороны показывать попап и край попапа,
71
+ * на котором будет отображаться пин
72
+ */
41
73
  positions?: Readonly<PopupPositionsType[]>;
74
+ /**
75
+ * Приоритетная позиция попапа
76
+ */
42
77
  pos?: PopupPositionsType | ShortPopupPositionsType;
43
78
  /**
44
79
  * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.
@@ -46,6 +81,9 @@ export interface PopupProps extends Omit<CommonProps, 'children'>, PopupHandlerP
46
81
  * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.
47
82
  */
48
83
  useWrapper?: boolean;
84
+ /**
85
+ * Игнорировать ли события hover/click
86
+ */
49
87
  ignoreHover?: boolean;
50
88
  width?: React.CSSProperties['width'];
51
89
  minWidth?: React.CSSProperties['minWidth'];
@@ -64,7 +102,7 @@ export interface PopupProps extends Omit<CommonProps, 'children'>, PopupHandlerP
64
102
  /**
65
103
  * Возвращает текущую позицию попапа
66
104
  */
67
- onPositionChange?: (pos: PopupPositionsType) => void;
105
+ onPositionChange?: (pos: PopupPositionsType, isFullyVisible: boolean) => void;
68
106
  }
69
107
  interface PopupLocation {
70
108
  coordinates: {
@@ -72,6 +110,7 @@ interface PopupLocation {
72
110
  top: number;
73
111
  };
74
112
  position: PopupPositionsType;
113
+ isFullyVisible: boolean;
75
114
  }
76
115
  export interface PopupState {
77
116
  location: Nullable<PopupLocation>;
@@ -89,64 +128,6 @@ type DefaultProps = Required<Pick<PopupProps, 'popupOffset' | 'hasPin' | 'hasSha
89
128
  export declare class Popup extends React.Component<PopupProps, PopupState> {
90
129
  static __KONTUR_REACT_UI__: string;
91
130
  static displayName: string;
92
- static propTypes: {
93
- /**
94
- * Ссылка (ref) на элемент или React компонент, для которого рисуется попап
95
- */
96
- anchorElement: PropTypes.Validator<NonNullable<NonNullable<HTMLElement | PropTypes.ReactNodeLike>>>;
97
- /**
98
- * Фон попапа и пина
99
- */
100
- backgroundColor: PropTypes.Requireable<string>;
101
- children: PropTypes.Requireable<NonNullable<((...args: any[]) => any) | PropTypes.ReactNodeLike>>;
102
- /**
103
- * Показывать ли пин
104
- */
105
- hasPin: PropTypes.Requireable<boolean>;
106
- /**
107
- * Применять ли box-shadow на попапе. При false отключает границу на пине
108
- */
109
- hasShadow: PropTypes.Requireable<boolean>;
110
- /**
111
- * Отступ попапа от элемента
112
- */
113
- margin: PropTypes.Requireable<number>;
114
- /**
115
- * Показан или скрыт попап
116
- */
117
- opened: PropTypes.Requireable<boolean>;
118
- /**
119
- * Смещение пина от края попапа. Край задаётся в пропе position вторым словом
120
- */
121
- pinOffset: PropTypes.Requireable<number>;
122
- /**
123
- * Сторона пина без учёта границы.
124
- * Пин представляет собой равносторонний треугольник, высота от попапа
125
- * до "носика" пина будет соответствовать формуле (size* √3)/2
126
- */
127
- pinSize: PropTypes.Requireable<number>;
128
- /**
129
- * смещение попапа относительно родительского элемента
130
- */
131
- popupOffset: PropTypes.Requireable<number>;
132
- /**
133
- * С какой стороны показывать попап и край попапа,
134
- * на котором будет отображаться пин
135
- */
136
- positions: PropTypes.Requireable<any[]>;
137
- /**
138
- * Приоритетная позиция попапа
139
- */
140
- pos: PropTypes.Requireable<string>;
141
- /**
142
- * Отключает использование портала
143
- */
144
- disablePortal: PropTypes.Requireable<boolean>;
145
- /**
146
- * Игнорировать ли события hover/click
147
- */
148
- ignoreHover: PropTypes.Requireable<boolean>;
149
- };
150
131
  static defaultProps: DefaultProps;
151
132
  private getProps;
152
133
  static readonly defaultRootNode: null;
@@ -1,6 +1,5 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;exports.__esModule = true;exports.PopupPositions = exports.PopupPinnablePositions = exports.PopupNonPinnablePositions = exports.PopupIds = exports.PopupDataTids = exports.Popup = exports.DefaultPosition = exports.DUMMY_LOCATION = void 0;var _createForOfIteratorHelperLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/createForOfIteratorHelperLoose"));var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
2
2
  var _react = _interopRequireDefault(require("react"));
3
- var _propTypes = _interopRequireDefault(require("prop-types"));
4
3
  var _reactTransitionGroup = require("react-transition-group");
5
4
  var _warning = _interopRequireDefault(require("warning"));
6
5
  var _globalObject = require("@skbkontur/global-object");
@@ -16,7 +15,6 @@ var _utils = require("../../lib/utils");
16
15
  var _client = require("../../lib/client");
17
16
  var _ThemeContext = require("../../lib/theming/ThemeContext");
18
17
 
19
- var _SSRSafe = require("../../lib/SSRSafe");
20
18
  var _currentEnvironment = require("../../lib/currentEnvironment");
21
19
 
22
20
  var _CommonWrapper = require("../CommonWrapper");
@@ -71,7 +69,8 @@ var DUMMY_LOCATION = exports.DUMMY_LOCATION = {
71
69
  coordinates: {
72
70
  top: -9999,
73
71
  left: -9999
74
- }
72
+ },
73
+ isFullyVisible: false
75
74
  };
76
75
 
77
76
 
@@ -143,48 +142,6 @@ var DUMMY_LOCATION = exports.DUMMY_LOCATION = {
143
142
 
144
143
 
145
144
 
146
- var PopupDataTids = exports.PopupDataTids = {
147
- root: 'Popup__root',
148
- content: 'PopupContent',
149
- contentInner: 'PopupContentInner',
150
- popupPin: 'PopupPin__root'
151
- };
152
-
153
- var PopupIds = exports.PopupIds = {
154
- root: PopupDataTids.root
155
- };var
156
-
157
-
158
-
159
-
160
-
161
-
162
-
163
-
164
-
165
-
166
-
167
-
168
-
169
-
170
-
171
-
172
-
173
-
174
- Popup = exports.Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNode)(_class = (_Popup = /*#__PURE__*/function (_React$Component) {function Popup() {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.
175
-
176
-
177
-
178
-
179
-
180
-
181
-
182
-
183
-
184
-
185
-
186
-
187
-
188
145
 
189
146
 
190
147
 
@@ -225,7 +182,16 @@ Popup = exports.Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.
225
182
 
226
183
 
227
184
 
185
+ var PopupDataTids = exports.PopupDataTids = {
186
+ root: 'Popup__root',
187
+ content: 'PopupContent',
188
+ contentInner: 'PopupContentInner',
189
+ popupPin: 'PopupPin__root'
190
+ };
228
191
 
192
+ var PopupIds = exports.PopupIds = {
193
+ root: PopupDataTids.root
194
+ };var
229
195
 
230
196
 
231
197
 
@@ -244,6 +210,7 @@ Popup = exports.Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.
244
210
 
245
211
 
246
212
 
213
+ Popup = exports.Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.rootNode)(_class = (_Popup = /*#__PURE__*/function (_React$Component) {function Popup() {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.
247
214
 
248
215
 
249
216
 
@@ -667,7 +634,7 @@ Popup = exports.Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.
667
634
 
668
635
  var location = _this.getLocation(popupContentElement, _this.state.location);
669
636
  if (location) {
670
- _this.props.onPositionChange == null || _this.props.onPositionChange(location == null ? void 0 : location.position);
637
+ _this.props.onPositionChange == null || _this.props.onPositionChange(location.position, location.isFullyVisible);
671
638
  }
672
639
 
673
640
  if (!_this.locationEquals(_this.state.location, location)) {
@@ -784,6 +751,7 @@ Popup = exports.Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.
784
751
 
785
752
 
786
753
 
754
+
787
755
 
788
756
 
789
757
  getRelativeShift = function () {
@@ -822,7 +790,7 @@ Popup = exports.Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.
822
790
  tryPreserveFirstRenderedPosition && (isFullyVisible || canBecomeVisible) || // если Попап целиком во вьюпорте и в самой приоритетной позиции
823
791
  // (иначе нужно попытаться позицию сменить)
824
792
  isFullyVisible && position === positions[0]) {// сохраняем текущую позицию
825
- return { coordinates: coordinates, position: position };}}for (var _iterator = (0, _createForOfIteratorHelperLoose2.default)(positions), _step; !(_step = _iterator()).done;) {position = _step.value;coordinates = this.getCoordinates(anchorRect, popupRect, position);if (_PopupHelper.PopupHelper.isFullyVisible(coordinates, popupRect)) {return { coordinates: coordinates, position: position };}}position = positions[0];coordinates = this.getCoordinates(anchorRect, popupRect, position);return { coordinates: coordinates, position: position };};_proto.getPinnedPopupOffset = function getPinnedPopupOffset(anchorRect, position) {if (!this.getProps().hasPin || /center|middle/.test(position.align)) {return 0;}var anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;var pinSize = this.props.pinSize;return Math.max(0, this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2);};_proto.getCoordinates = function getCoordinates(anchorRect, popupRect, positionName) {var marginFromProps = this.props.margin;var margin = (0, _utils.isNonNullable)(marginFromProps) && !isNaN(marginFromProps) ? marginFromProps : parseInt(this.theme.popupMargin) || 0;var position = _PopupHelper.PopupHelper.getPositionObject(positionName);var popupOffset = this.getProps().popupOffset + this.getPinnedPopupOffset(anchorRect, position);switch (position.direction) {case 'top':return { top: anchorRect.top - popupRect.height - margin, left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset) };case 'middle':return { top: anchorRect.top + anchorRect.height / 2 - popupRect.height / 2, left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset)
793
+ return { coordinates: coordinates, position: position, isFullyVisible: true };}}for (var _iterator = (0, _createForOfIteratorHelperLoose2.default)(positions), _step; !(_step = _iterator()).done;) {position = _step.value;coordinates = this.getCoordinates(anchorRect, popupRect, position);if (_PopupHelper.PopupHelper.isFullyVisible(coordinates, popupRect)) {return { coordinates: coordinates, position: position, isFullyVisible: true };}}position = positions[0];coordinates = this.getCoordinates(anchorRect, popupRect, position);return { coordinates: coordinates, position: position, isFullyVisible: false };};_proto.getPinnedPopupOffset = function getPinnedPopupOffset(anchorRect, position) {if (!this.getProps().hasPin || /center|middle/.test(position.align)) {return 0;}var anchorSize = /top|bottom/.test(position.direction) ? anchorRect.width : anchorRect.height;var pinSize = this.props.pinSize;return Math.max(0, this.getPinOffset(position.align) + (pinSize || parseInt(this.theme.popupPinSize)) - anchorSize / 2);};_proto.getCoordinates = function getCoordinates(anchorRect, popupRect, positionName) {var marginFromProps = this.props.margin;var margin = (0, _utils.isNonNullable)(marginFromProps) && !isNaN(marginFromProps) ? marginFromProps : parseInt(this.theme.popupMargin) || 0;var position = _PopupHelper.PopupHelper.getPositionObject(positionName);var popupOffset = this.getProps().popupOffset + this.getPinnedPopupOffset(anchorRect, position);switch (position.direction) {case 'top':return { top: anchorRect.top - popupRect.height - margin, left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset) };case 'middle':return { top: anchorRect.top + anchorRect.height / 2 - popupRect.height / 2, left: this.getHorizontalPosition(anchorRect, popupRect, position.align, popupOffset)
826
794
  };
827
795
  case 'bottom':
828
796
  return {
@@ -886,34 +854,15 @@ Popup = exports.Popup = (0, _decorator.responsiveLayout)(_class = (0, _rootNode.
886
854
  default:
887
855
  throw new Error("Unexpected align '" + align + "'");
888
856
  }
889
- };return Popup;}(_react.default.Component), _Popup.__KONTUR_REACT_UI__ = 'Popup', _Popup.displayName = 'Popup', _Popup.propTypes = { /**
890
- * Ссылка (ref) на элемент или React компонент, для которого рисуется попап
891
- */anchorElement: _propTypes.default.oneOfType([(0, _SSRSafe.safePropTypesInstanceOf)(_globalObject.globalObject.HTMLElement), _propTypes.default.node]).isRequired, /**
892
- * Фон попапа и пина
893
- */backgroundColor: _propTypes.default.string, children: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]), /**
894
- * Показывать ли пин
895
- */hasPin: _propTypes.default.bool, /**
896
- * Применять ли box-shadow на попапе. При false отключает границу на пине
897
- */hasShadow: _propTypes.default.bool, /**
898
- * Отступ попапа от элемента
899
- */margin: _propTypes.default.number, /**
900
- * Показан или скрыт попап
901
- */opened: _propTypes.default.bool, /**
902
- * Смещение пина от края попапа. Край задаётся в пропе position вторым словом
903
- */pinOffset: _propTypes.default.number, /**
904
- * Сторона пина без учёта границы.
905
- * Пин представляет собой равносторонний треугольник, высота от попапа
906
- * до "носика" пина будет соответствовать формуле (size* √3)/2
907
- */pinSize: _propTypes.default.number, /**
908
- * смещение попапа относительно родительского элемента
909
- */popupOffset: _propTypes.default.number, /**
910
- * С какой стороны показывать попап и край попапа,
911
- * на котором будет отображаться пин
912
- */positions: _propTypes.default.array, /**
913
- * Приоритетная позиция попапа
914
- */pos: _propTypes.default.string, /**
915
- * Отключает использование портала
916
- */disablePortal: _propTypes.default.bool, /**
917
- * Игнорировать ли события hover/click
918
- */ignoreHover: _propTypes.default.bool }, _Popup.defaultProps = { popupOffset: 0, hasPin: false, hasShadow: false, disableAnimations: _currentEnvironment.isTestEnv, useWrapper: false, ignoreHover: false, disablePortal: false, width: 'auto', priority: _ZIndex.ZIndex.priorities.Popup }, _Popup.defaultRootNode = null, _Popup)) || _class) || _class; // Нужно, чтобы получать по рефу dom-элемент, в который зарендерится anchor
919
- var EmptyWrapper = /*#__PURE__*/function (_React$Component2) {function EmptyWrapper() {return _React$Component2.apply(this, arguments) || this;}(0, _inheritsLoose2.default)(EmptyWrapper, _React$Component2);var _proto2 = EmptyWrapper.prototype;_proto2.render = function render() {return this.props.children;};return EmptyWrapper;}(_react.default.Component);
857
+ };return Popup;}(_react.default.Component), _Popup.__KONTUR_REACT_UI__ = 'Popup', _Popup.displayName = 'Popup', _Popup.defaultProps = { popupOffset: 0, hasPin: false, hasShadow: false, disableAnimations: _currentEnvironment.isTestEnv, useWrapper: false, ignoreHover: false, disablePortal: false, width: 'auto', priority: _ZIndex.ZIndex.priorities.Popup }, _Popup.defaultRootNode = null, _Popup)) || _class) || _class;
858
+
859
+
860
+ // Нужно, чтобы получать по рефу dom-элемент, в который зарендерится anchor
861
+ var
862
+
863
+
864
+
865
+ EmptyWrapper = /*#__PURE__*/function (_React$Component2) {function EmptyWrapper() {return _React$Component2.apply(this, arguments) || this;}(0, _inheritsLoose2.default)(EmptyWrapper, _React$Component2);var _proto2 = EmptyWrapper.prototype;_proto2.
866
+ render = function render() {
867
+ return this.props.children;
868
+ };return EmptyWrapper;}(_react.default.Component);