@skbkontur/react-ui 5.1.7 → 5.2.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 (466) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +2 -8
  3. package/cjs/components/CurrencyLabel/CurrencyLabel.js +19 -15
  4. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  5. package/cjs/components/DateInput/DateInput.d.ts +1 -0
  6. package/cjs/components/DateInput/DateInput.js +25 -5
  7. package/cjs/components/DateInput/DateInput.js.map +1 -1
  8. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  9. package/cjs/components/DateInput/helpers/InternalDateMediator.js +10 -1
  10. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  11. package/cjs/components/Dropdown/Dropdown.d.ts +2 -4
  12. package/cjs/components/FxInput/FxInput.d.ts +1 -1
  13. package/cjs/components/FxInput/FxInput.js.map +1 -1
  14. package/cjs/components/MenuFooter/MenuFooter.d.ts +1 -6
  15. package/cjs/components/MenuFooter/MenuFooter.js +47 -40
  16. package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
  17. package/cjs/components/MenuHeader/MenuHeader.d.ts +1 -6
  18. package/cjs/components/MenuHeader/MenuHeader.js +49 -41
  19. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  20. package/cjs/components/MenuItem/MenuItem.js +3 -0
  21. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  22. package/cjs/components/MenuItem/MenuItem.styles.d.ts +1 -0
  23. package/cjs/components/MenuItem/MenuItem.styles.js +18 -13
  24. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  25. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +1 -6
  26. package/cjs/components/MenuSeparator/MenuSeparator.js +24 -22
  27. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  28. package/cjs/components/MiniModal/MiniModal.js +3 -3
  29. package/cjs/components/MiniModal/MiniModal.js.map +1 -1
  30. package/cjs/components/Modal/Modal.d.ts +20 -4
  31. package/cjs/components/Modal/Modal.js +79 -5
  32. package/cjs/components/Modal/Modal.js.map +1 -1
  33. package/cjs/components/Modal/Modal.styles.d.ts +19 -0
  34. package/cjs/components/Modal/Modal.styles.js +172 -42
  35. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  36. package/cjs/components/Modal/ModalBody.js +8 -1
  37. package/cjs/components/Modal/ModalBody.js.map +1 -1
  38. package/cjs/components/Modal/ModalContext.d.ts +1 -0
  39. package/cjs/components/Modal/ModalContext.js +1 -0
  40. package/cjs/components/Modal/ModalContext.js.map +1 -1
  41. package/cjs/components/Modal/ModalFooter.js +17 -2
  42. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  43. package/cjs/components/Modal/ModalHeader.js +21 -1
  44. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  45. package/cjs/components/RadioGroup/RadioGroup.d.ts +1 -0
  46. package/cjs/components/RadioGroup/RadioGroup.js +18 -1
  47. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  48. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
  49. package/cjs/components/RadioGroup/RadioGroup.styles.js +10 -4
  50. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  51. package/cjs/components/SidePage/SidePage.d.ts +3 -1
  52. package/cjs/components/SidePage/SidePage.js +11 -5
  53. package/cjs/components/SidePage/SidePage.js.map +1 -1
  54. package/cjs/components/SidePage/SidePage.styles.d.ts +0 -1
  55. package/cjs/components/SidePage/SidePage.styles.js +51 -57
  56. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  57. package/cjs/components/Sticky/Sticky.js +1 -1
  58. package/cjs/components/Sticky/Sticky.js.map +1 -1
  59. package/cjs/components/Toast/Toast.d.ts +5 -5
  60. package/cjs/components/Toast/Toast.js +2 -2
  61. package/cjs/components/Toast/Toast.js.map +1 -1
  62. package/cjs/components/Toast/ToastStatic.d.ts +3 -2
  63. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  64. package/cjs/components/Toast/ToastView.d.ts +1 -1
  65. package/cjs/components/Toast/ToastView.js.map +1 -1
  66. package/cjs/internal/Popup/Popup.d.ts +1 -0
  67. package/cjs/internal/Popup/Popup.js +11 -1
  68. package/cjs/internal/Popup/Popup.js.map +1 -1
  69. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  70. package/cjs/internal/themes/BasicTheme.d.ts +4 -0
  71. package/cjs/internal/themes/BasicTheme.js +8 -2
  72. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  73. package/cjs/internal/themes/DarkTheme5_2.d.ts +1 -0
  74. package/cjs/internal/themes/DarkTheme5_2.js +29 -0
  75. package/cjs/internal/themes/DarkTheme5_2.js.map +1 -0
  76. package/cjs/internal/themes/LightTheme5_2.d.ts +1 -0
  77. package/cjs/internal/themes/LightTheme5_2.js +27 -0
  78. package/cjs/internal/themes/LightTheme5_2.js.map +1 -0
  79. package/cjs/lib/ModalStack.d.ts +7 -1
  80. package/cjs/lib/ModalStack.js.map +1 -1
  81. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  82. package/cjs/lib/date/InternalDateGetter.js +8 -1
  83. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  84. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +3 -0
  85. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +3 -0
  86. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +7 -1
  87. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  88. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  89. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  90. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
  91. package/cjs/lib/theming/themes/DarkTheme.js +4 -2
  92. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  93. package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
  94. package/cjs/lib/theming/themes/LightTheme.js +4 -2
  95. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  96. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +8 -6
  97. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  98. package/components/CurrencyLabel/CurrencyLabel.d.ts +2 -8
  99. package/components/DateInput/DateInput/DateInput.js +13 -7
  100. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  101. package/components/DateInput/DateInput.d.ts +1 -0
  102. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
  103. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  104. package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  105. package/components/Dropdown/Dropdown.d.ts +2 -4
  106. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  107. package/components/FxInput/FxInput.d.ts +1 -1
  108. package/components/MenuFooter/MenuFooter/MenuFooter.js +7 -4
  109. package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
  110. package/components/MenuFooter/MenuFooter.d.ts +1 -6
  111. package/components/MenuHeader/MenuHeader/MenuHeader.js +7 -4
  112. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  113. package/components/MenuHeader/MenuHeader.d.ts +1 -6
  114. package/components/MenuItem/MenuItem/MenuItem.js +3 -1
  115. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  116. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +16 -13
  117. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  118. package/components/MenuItem/MenuItem.styles.d.ts +1 -0
  119. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +4 -4
  120. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  121. package/components/MenuSeparator/MenuSeparator.d.ts +1 -6
  122. package/components/MiniModal/MiniModal/MiniModal.js +3 -1
  123. package/components/MiniModal/MiniModal/MiniModal.js.map +1 -1
  124. package/components/Modal/Modal/Modal.js +51 -11
  125. package/components/Modal/Modal/Modal.js.map +1 -1
  126. package/components/Modal/Modal.d.ts +20 -4
  127. package/components/Modal/Modal.styles/Modal.styles.js +98 -41
  128. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  129. package/components/Modal/Modal.styles.d.ts +19 -0
  130. package/components/Modal/ModalBody/ModalBody.js +5 -1
  131. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  132. package/components/Modal/ModalContext/ModalContext.js.map +1 -1
  133. package/components/Modal/ModalContext.d.ts +1 -0
  134. package/components/Modal/ModalFooter/ModalFooter.js +14 -2
  135. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  136. package/components/Modal/ModalHeader/ModalHeader.js +12 -2
  137. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  138. package/components/RadioGroup/RadioGroup/RadioGroup.js +23 -17
  139. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  140. package/components/RadioGroup/RadioGroup.d.ts +1 -0
  141. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +7 -4
  142. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  143. package/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
  144. package/components/SidePage/SidePage/SidePage.js +15 -8
  145. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  146. package/components/SidePage/SidePage.d.ts +3 -1
  147. package/components/SidePage/SidePage.styles/SidePage.styles.js +51 -54
  148. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  149. package/components/SidePage/SidePage.styles.d.ts +0 -1
  150. package/components/Sticky/Sticky/Sticky.js +1 -1
  151. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  152. package/components/Toast/Toast/Toast.js +2 -2
  153. package/components/Toast/Toast/Toast.js.map +1 -1
  154. package/components/Toast/Toast.d.ts +5 -5
  155. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  156. package/components/Toast/ToastStatic.d.ts +3 -2
  157. package/components/Toast/ToastView/ToastView.js.map +1 -1
  158. package/components/Toast/ToastView.d.ts +1 -1
  159. package/internal/Popup/Popup/Popup.js +12 -1
  160. package/internal/Popup/Popup/Popup.js.map +1 -1
  161. package/internal/Popup/Popup.d.ts +1 -0
  162. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  163. package/internal/themes/BasicTheme/BasicTheme.js +8 -0
  164. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  165. package/internal/themes/BasicTheme.d.ts +4 -0
  166. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +27 -0
  167. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -0
  168. package/internal/themes/DarkTheme5_2/package.json +6 -0
  169. package/internal/themes/DarkTheme5_2.d.ts +1 -0
  170. package/internal/themes/LightTheme5_2/LightTheme5_2.js +27 -0
  171. package/internal/themes/LightTheme5_2/LightTheme5_2.js.map +1 -0
  172. package/internal/themes/LightTheme5_2/package.json +6 -0
  173. package/internal/themes/LightTheme5_2.d.ts +1 -0
  174. package/lib/ModalStack/ModalStack.js.map +1 -1
  175. package/lib/ModalStack.d.ts +7 -1
  176. package/lib/date/InternalDateGetter/InternalDateGetter.js +4 -1
  177. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  178. package/lib/date/InternalDateGetter.d.ts +1 -1
  179. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +3 -0
  180. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +4 -1
  181. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  182. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +3 -0
  183. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  184. package/lib/theming/ThemeVersions.d.ts +1 -1
  185. package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
  186. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  187. package/lib/theming/themes/DarkTheme.d.ts +1 -0
  188. package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
  189. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  190. package/lib/theming/themes/LightTheme.d.ts +1 -0
  191. package/package.json +9 -9
  192. package/cjs/components/Autocomplete/__creevey__/Autocomplete.creevey.mts +0 -239
  193. package/cjs/components/Autocomplete/__docs__/Autocomplete.mdx +0 -26
  194. package/cjs/components/Button/__creevey__/Button.creevey.mts +0 -251
  195. package/cjs/components/Button/__docs__/Button.mdx +0 -27
  196. package/cjs/components/Calendar/__creevey__/Calendar.creevey.mts +0 -113
  197. package/cjs/components/Calendar/__docs__/Calendar.mdx +0 -27
  198. package/cjs/components/Calendar/__docs__/CalendarDay.mdx +0 -23
  199. package/cjs/components/Center/__docs__/Center.mdx +0 -23
  200. package/cjs/components/Checkbox/__creevey__/Checkbox.creevey.mts +0 -243
  201. package/cjs/components/Checkbox/__docs__/Checkbox.mdx +0 -27
  202. package/cjs/components/ComboBox/__creevey__/ComboBox.creevey.mts +0 -545
  203. package/cjs/components/ComboBox/__docs__/ComboBox.mdx +0 -27
  204. package/cjs/components/CurrencyInput/__creevey__/CurrencyInput.creevey.mts +0 -81
  205. package/cjs/components/CurrencyInput/__docs__/CurrencyInput.mdx +0 -27
  206. package/cjs/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +0 -23
  207. package/cjs/components/DateInput/__creevey__/DateInput.creevey.mts +0 -156
  208. package/cjs/components/DateInput/__docs__/DateInput.mdx +0 -23
  209. package/cjs/components/DatePicker/__creevey__/DatePicker.creevey.mts +0 -209
  210. package/cjs/components/DatePicker/__docs__/DatePicker.mdx +0 -27
  211. package/cjs/components/DateRangePicker/__creevey__/DateRangePicker.creevey.mts +0 -155
  212. package/cjs/components/DateRangePicker/__docs__/DateRangePicker.mdx +0 -123
  213. package/cjs/components/Dropdown/__creevey__/Dropdown.creevey.mts +0 -184
  214. package/cjs/components/Dropdown/__docs__/Dropdown.mdx +0 -27
  215. package/cjs/components/DropdownMenu/__creevey__/DropdownMenu.creevey.mts +0 -263
  216. package/cjs/components/DropdownMenu/__docs__/DropdownMenu.mdx +0 -27
  217. package/cjs/components/FileUploader/__docs__/FileUploader.mdx +0 -27
  218. package/cjs/components/FxInput/__creevey__/FxInput.creevey.mts +0 -21
  219. package/cjs/components/FxInput/__docs__/FxInput.mdx +0 -27
  220. package/cjs/components/Gapped/__docs__/Gapped.mdx +0 -23
  221. package/cjs/components/GlobalLoader/__docs__/GlobalLoader.mdx +0 -27
  222. package/cjs/components/Group/__creevey__/Group.creevey.mts +0 -19
  223. package/cjs/components/Group/__docs__/Group.mdx +0 -23
  224. package/cjs/components/Hint/__creevey__/Hint.creevey.mts +0 -68
  225. package/cjs/components/Hint/__docs__/Hint.mdx +0 -28
  226. package/cjs/components/Input/__creevey__/Input.creevey.mts +0 -239
  227. package/cjs/components/Input/__docs__/Input.mdx +0 -27
  228. package/cjs/components/Kebab/__creevey__/Kebab.creevey.mts +0 -147
  229. package/cjs/components/Kebab/__docs__/Kebab.mdx +0 -27
  230. package/cjs/components/Link/__creevey__/Link.creevey.mts +0 -162
  231. package/cjs/components/Link/__docs__/Link.mdx +0 -27
  232. package/cjs/components/Loader/__creevey__/Loader.creevey.mts +0 -35
  233. package/cjs/components/Loader/__docs__/Loader.mdx +0 -23
  234. package/cjs/components/MaskedInput/__creevey__/MaskedInput.creevey.mts +0 -221
  235. package/cjs/components/MaskedInput/__docs__/MaskedInput.mdx +0 -27
  236. package/cjs/components/MenuFooter/__docs__/MenuFooter.mdx +0 -23
  237. package/cjs/components/MenuHeader/__docs__/MenuHeader.mdx +0 -23
  238. package/cjs/components/MenuItem/__docs__/MenuItem.mdx +0 -23
  239. package/cjs/components/MenuSeparator/__docs__/MenuSeparator.mdx +0 -23
  240. package/cjs/components/MiniModal/__docs__/MiniModal.mdx +0 -27
  241. package/cjs/components/MiniModal/__docs__/MiniModalBody.mdx +0 -17
  242. package/cjs/components/MiniModal/__docs__/MiniModalFooter.mdx +0 -17
  243. package/cjs/components/MiniModal/__docs__/MiniModalHeader.mdx +0 -18
  244. package/cjs/components/MiniModal/__docs__/MiniModalIndent.mdx +0 -11
  245. package/cjs/components/Modal/__creevey__/Modal.creevey.mts +0 -295
  246. package/cjs/components/Modal/__docs__/Modal.mdx +0 -27
  247. package/cjs/components/Modal/__docs__/ModalBody.mdx +0 -15
  248. package/cjs/components/Modal/__docs__/ModalFooter.mdx +0 -15
  249. package/cjs/components/Modal/__docs__/ModalHeader.mdx +0 -15
  250. package/cjs/components/Modal/__docs__/ModalSeparator.mdx +0 -15
  251. package/cjs/components/Paging/__creevey__/Paging.creevey.mts +0 -97
  252. package/cjs/components/Paging/__docs__/Paging.mdx +0 -27
  253. package/cjs/components/PasswordInput/__creevey__/PasswordInput.creevey.mts +0 -46
  254. package/cjs/components/PasswordInput/__docs__/PasswordInput.mdx +0 -27
  255. package/cjs/components/Radio/__creevey__/Radio.creevey.mts +0 -28
  256. package/cjs/components/Radio/__docs__/Radio.mdx +0 -27
  257. package/cjs/components/RadioGroup/__creevey__/RadioGroup.creevey.mts +0 -86
  258. package/cjs/components/RadioGroup/__docs__/RadioGroup.mdx +0 -27
  259. package/cjs/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +0 -96
  260. package/cjs/components/ScrollContainer/__creevey__/ScrollContainer.creevey.mts +0 -247
  261. package/cjs/components/ScrollContainer/__docs__/ScrollContainer.mdx +0 -23
  262. package/cjs/components/Select/__creevey__/Select.creevey.mts +0 -293
  263. package/cjs/components/Select/__docs__/Select.mdx +0 -27
  264. package/cjs/components/SidePage/__creevey__/SidePage.creevey.mts +0 -421
  265. package/cjs/components/SidePage/__docs__/SidePage.mdx +0 -27
  266. package/cjs/components/SidePage/__docs__/SidePageBody.mdx +0 -16
  267. package/cjs/components/SidePage/__docs__/SidePageContainer.mdx +0 -15
  268. package/cjs/components/SidePage/__docs__/SidePageFooter.mdx +0 -15
  269. package/cjs/components/SidePage/__docs__/SidePageHeader.mdx +0 -15
  270. package/cjs/components/SingleToast/__docs__/SingleToast.mdx +0 -27
  271. package/cjs/components/Spinner/__docs__/Spinner.mdx +0 -27
  272. package/cjs/components/Sticky/__creevey__/Sticky.creevey.mts +0 -98
  273. package/cjs/components/Sticky/__docs__/Sticky.mdx +0 -23
  274. package/cjs/components/Switcher/__creevey__/Switcher.creevey.mts +0 -24
  275. package/cjs/components/Switcher/__docs__/Switcher.mdx +0 -27
  276. package/cjs/components/Tabs/__creevey__/Tabs.creevey.mts +0 -239
  277. package/cjs/components/Tabs/__docs__/Tab.mdx +0 -27
  278. package/cjs/components/Tabs/__docs__/Tabs.mdx +0 -27
  279. package/cjs/components/Textarea/__creevey__/Textarea.creevey.mts +0 -177
  280. package/cjs/components/Textarea/__docs__/Textarea.mdx +0 -27
  281. package/cjs/components/Toast/__creevey__/Toast.creevey.mts +0 -77
  282. package/cjs/components/Toast/__docs__/Toast.mdx +0 -27
  283. package/cjs/components/Toggle/__creevey__/Toggle.creevey.mts +0 -93
  284. package/cjs/components/Toggle/__docs__/Toggle.mdx +0 -27
  285. package/cjs/components/Token/__docs__/Token.mdx +0 -27
  286. package/cjs/components/TokenInput/__creevey__/TokenInput.creevey.mts +0 -442
  287. package/cjs/components/TokenInput/__docs__/TokenInput.mdx +0 -27
  288. package/cjs/components/Tooltip/__creevey__/Tooltip.creevey.mts +0 -533
  289. package/cjs/components/Tooltip/__docs__/Tooltip.mdx +0 -27
  290. package/cjs/components/TooltipMenu/__creevey__/TooltipMenu.creevey.mts +0 -131
  291. package/cjs/components/TooltipMenu/__docs__/TooltipMenu.mdx +0 -23
  292. package/cjs/internal/ClearCrossIcon/__creevey__/ClearCrossIcon.creevey.mts +0 -44
  293. package/cjs/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.mts +0 -48
  294. package/cjs/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.mts +0 -30
  295. package/cjs/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.mts +0 -25
  296. package/cjs/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.mts +0 -83
  297. package/cjs/internal/Menu/__creevey__/Menu.creevey.mts +0 -90
  298. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.d.ts +0 -7
  299. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js +0 -89
  300. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +0 -1
  301. package/cjs/internal/PopupMenu/__creevey__/PopupMenu.creevey.mts +0 -37
  302. package/cjs/internal/ThemePlayground/__creevey__/Theme5_0.creevey.mts +0 -36
  303. package/cjs/internal/ThemePlayground/__creevey__/Theme5_0.stories.d.ts +0 -4
  304. package/cjs/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.mts +0 -68
  305. package/cjs/internal/ZIndex/__creevey__/ZIndex.creevey.mts +0 -228
  306. package/components/Autocomplete/__creevey__/Autocomplete.creevey.d.mts +0 -1
  307. package/components/Autocomplete/__creevey__/Autocomplete.creevey.mts +0 -239
  308. package/components/Autocomplete/__docs__/Autocomplete.mdx +0 -26
  309. package/components/Button/__creevey__/Button.creevey.d.mts +0 -1
  310. package/components/Button/__creevey__/Button.creevey.mts +0 -251
  311. package/components/Button/__docs__/Button.mdx +0 -27
  312. package/components/Calendar/__creevey__/Calendar.creevey.d.mts +0 -1
  313. package/components/Calendar/__creevey__/Calendar.creevey.mts +0 -113
  314. package/components/Calendar/__docs__/Calendar.mdx +0 -27
  315. package/components/Calendar/__docs__/CalendarDay.mdx +0 -23
  316. package/components/Center/__docs__/Center.mdx +0 -23
  317. package/components/Checkbox/__creevey__/Checkbox.creevey.d.mts +0 -1
  318. package/components/Checkbox/__creevey__/Checkbox.creevey.mts +0 -243
  319. package/components/Checkbox/__docs__/Checkbox.mdx +0 -27
  320. package/components/ComboBox/__creevey__/ComboBox.creevey.d.mts +0 -1
  321. package/components/ComboBox/__creevey__/ComboBox.creevey.mts +0 -545
  322. package/components/ComboBox/__docs__/ComboBox.mdx +0 -27
  323. package/components/CurrencyInput/__creevey__/CurrencyInput.creevey.d.mts +0 -1
  324. package/components/CurrencyInput/__creevey__/CurrencyInput.creevey.mts +0 -81
  325. package/components/CurrencyInput/__docs__/CurrencyInput.mdx +0 -27
  326. package/components/CurrencyLabel/__docs__/CurrencyLabel.mdx +0 -23
  327. package/components/DateInput/__creevey__/DateInput.creevey.d.mts +0 -1
  328. package/components/DateInput/__creevey__/DateInput.creevey.mts +0 -156
  329. package/components/DateInput/__docs__/DateInput.mdx +0 -23
  330. package/components/DatePicker/__creevey__/DatePicker.creevey.d.mts +0 -1
  331. package/components/DatePicker/__creevey__/DatePicker.creevey.mts +0 -209
  332. package/components/DatePicker/__docs__/DatePicker.mdx +0 -27
  333. package/components/DateRangePicker/__creevey__/DateRangePicker.creevey.d.mts +0 -1
  334. package/components/DateRangePicker/__creevey__/DateRangePicker.creevey.mts +0 -155
  335. package/components/DateRangePicker/__docs__/DateRangePicker.mdx +0 -123
  336. package/components/Dropdown/__creevey__/Dropdown.creevey.d.mts +0 -1
  337. package/components/Dropdown/__creevey__/Dropdown.creevey.mts +0 -184
  338. package/components/Dropdown/__docs__/Dropdown.mdx +0 -27
  339. package/components/DropdownMenu/__creevey__/DropdownMenu.creevey.d.mts +0 -1
  340. package/components/DropdownMenu/__creevey__/DropdownMenu.creevey.mts +0 -263
  341. package/components/DropdownMenu/__docs__/DropdownMenu.mdx +0 -27
  342. package/components/FileUploader/__docs__/FileUploader.mdx +0 -27
  343. package/components/FxInput/__creevey__/FxInput.creevey.d.mts +0 -1
  344. package/components/FxInput/__creevey__/FxInput.creevey.mts +0 -21
  345. package/components/FxInput/__docs__/FxInput.mdx +0 -27
  346. package/components/Gapped/__docs__/Gapped.mdx +0 -23
  347. package/components/GlobalLoader/__docs__/GlobalLoader.mdx +0 -27
  348. package/components/Group/__creevey__/Group.creevey.d.mts +0 -1
  349. package/components/Group/__creevey__/Group.creevey.mts +0 -19
  350. package/components/Group/__docs__/Group.mdx +0 -23
  351. package/components/Hint/__creevey__/Hint.creevey.d.mts +0 -1
  352. package/components/Hint/__creevey__/Hint.creevey.mts +0 -68
  353. package/components/Hint/__docs__/Hint.mdx +0 -28
  354. package/components/Input/__creevey__/Input.creevey.d.mts +0 -1
  355. package/components/Input/__creevey__/Input.creevey.mts +0 -239
  356. package/components/Input/__docs__/Input.mdx +0 -27
  357. package/components/Kebab/__creevey__/Kebab.creevey.d.mts +0 -1
  358. package/components/Kebab/__creevey__/Kebab.creevey.mts +0 -147
  359. package/components/Kebab/__docs__/Kebab.mdx +0 -27
  360. package/components/Link/__creevey__/Link.creevey.d.mts +0 -1
  361. package/components/Link/__creevey__/Link.creevey.mts +0 -162
  362. package/components/Link/__docs__/Link.mdx +0 -27
  363. package/components/Loader/__creevey__/Loader.creevey.d.mts +0 -1
  364. package/components/Loader/__creevey__/Loader.creevey.mts +0 -35
  365. package/components/Loader/__docs__/Loader.mdx +0 -23
  366. package/components/MaskedInput/__creevey__/MaskedInput.creevey.d.mts +0 -1
  367. package/components/MaskedInput/__creevey__/MaskedInput.creevey.mts +0 -221
  368. package/components/MaskedInput/__docs__/MaskedInput.mdx +0 -27
  369. package/components/MenuFooter/__docs__/MenuFooter.mdx +0 -23
  370. package/components/MenuHeader/__docs__/MenuHeader.mdx +0 -23
  371. package/components/MenuItem/__docs__/MenuItem.mdx +0 -23
  372. package/components/MenuSeparator/__docs__/MenuSeparator.mdx +0 -23
  373. package/components/MiniModal/__docs__/MiniModal.mdx +0 -27
  374. package/components/MiniModal/__docs__/MiniModalBody.mdx +0 -17
  375. package/components/MiniModal/__docs__/MiniModalFooter.mdx +0 -17
  376. package/components/MiniModal/__docs__/MiniModalHeader.mdx +0 -18
  377. package/components/MiniModal/__docs__/MiniModalIndent.mdx +0 -11
  378. package/components/Modal/__creevey__/Modal.creevey.d.mts +0 -1
  379. package/components/Modal/__creevey__/Modal.creevey.mts +0 -295
  380. package/components/Modal/__docs__/Modal.mdx +0 -27
  381. package/components/Modal/__docs__/ModalBody.mdx +0 -15
  382. package/components/Modal/__docs__/ModalFooter.mdx +0 -15
  383. package/components/Modal/__docs__/ModalHeader.mdx +0 -15
  384. package/components/Modal/__docs__/ModalSeparator.mdx +0 -15
  385. package/components/Paging/__creevey__/Paging.creevey.d.mts +0 -1
  386. package/components/Paging/__creevey__/Paging.creevey.mts +0 -97
  387. package/components/Paging/__docs__/Paging.mdx +0 -27
  388. package/components/PasswordInput/__creevey__/PasswordInput.creevey.d.mts +0 -1
  389. package/components/PasswordInput/__creevey__/PasswordInput.creevey.mts +0 -46
  390. package/components/PasswordInput/__docs__/PasswordInput.mdx +0 -27
  391. package/components/Radio/__creevey__/Radio.creevey.d.mts +0 -1
  392. package/components/Radio/__creevey__/Radio.creevey.mts +0 -28
  393. package/components/Radio/__docs__/Radio.mdx +0 -27
  394. package/components/RadioGroup/__creevey__/RadioGroup.creevey.d.mts +0 -1
  395. package/components/RadioGroup/__creevey__/RadioGroup.creevey.mts +0 -86
  396. package/components/RadioGroup/__docs__/RadioGroup.mdx +0 -27
  397. package/components/ResponsiveLayout/__docs__/ResponsiveLayout.mdx +0 -96
  398. package/components/ScrollContainer/__creevey__/ScrollContainer.creevey.d.mts +0 -1
  399. package/components/ScrollContainer/__creevey__/ScrollContainer.creevey.mts +0 -247
  400. package/components/ScrollContainer/__docs__/ScrollContainer.mdx +0 -23
  401. package/components/Select/__creevey__/Select.creevey.d.mts +0 -1
  402. package/components/Select/__creevey__/Select.creevey.mts +0 -293
  403. package/components/Select/__docs__/Select.mdx +0 -27
  404. package/components/SidePage/__creevey__/SidePage.creevey.d.mts +0 -1
  405. package/components/SidePage/__creevey__/SidePage.creevey.mts +0 -421
  406. package/components/SidePage/__docs__/SidePage.mdx +0 -27
  407. package/components/SidePage/__docs__/SidePageBody.mdx +0 -16
  408. package/components/SidePage/__docs__/SidePageContainer.mdx +0 -15
  409. package/components/SidePage/__docs__/SidePageFooter.mdx +0 -15
  410. package/components/SidePage/__docs__/SidePageHeader.mdx +0 -15
  411. package/components/SingleToast/__docs__/SingleToast.mdx +0 -27
  412. package/components/Spinner/__docs__/Spinner.mdx +0 -27
  413. package/components/Sticky/__creevey__/Sticky.creevey.d.mts +0 -1
  414. package/components/Sticky/__creevey__/Sticky.creevey.mts +0 -98
  415. package/components/Sticky/__docs__/Sticky.mdx +0 -23
  416. package/components/Switcher/__creevey__/Switcher.creevey.d.mts +0 -1
  417. package/components/Switcher/__creevey__/Switcher.creevey.mts +0 -24
  418. package/components/Switcher/__docs__/Switcher.mdx +0 -27
  419. package/components/Tabs/__creevey__/Tabs.creevey.d.mts +0 -1
  420. package/components/Tabs/__creevey__/Tabs.creevey.mts +0 -239
  421. package/components/Tabs/__docs__/Tab.mdx +0 -27
  422. package/components/Tabs/__docs__/Tabs.mdx +0 -27
  423. package/components/Textarea/__creevey__/Textarea.creevey.d.mts +0 -1
  424. package/components/Textarea/__creevey__/Textarea.creevey.mts +0 -177
  425. package/components/Textarea/__docs__/Textarea.mdx +0 -27
  426. package/components/Toast/__creevey__/Toast.creevey.d.mts +0 -1
  427. package/components/Toast/__creevey__/Toast.creevey.mts +0 -77
  428. package/components/Toast/__docs__/Toast.mdx +0 -27
  429. package/components/Toggle/__creevey__/Toggle.creevey.d.mts +0 -1
  430. package/components/Toggle/__creevey__/Toggle.creevey.mts +0 -93
  431. package/components/Toggle/__docs__/Toggle.mdx +0 -27
  432. package/components/Token/__docs__/Token.mdx +0 -27
  433. package/components/TokenInput/__creevey__/TokenInput.creevey.d.mts +0 -1
  434. package/components/TokenInput/__creevey__/TokenInput.creevey.mts +0 -442
  435. package/components/TokenInput/__docs__/TokenInput.mdx +0 -27
  436. package/components/Tooltip/__creevey__/Tooltip.creevey.d.mts +0 -1
  437. package/components/Tooltip/__creevey__/Tooltip.creevey.mts +0 -533
  438. package/components/Tooltip/__docs__/Tooltip.mdx +0 -27
  439. package/components/TooltipMenu/__creevey__/TooltipMenu.creevey.d.mts +0 -1
  440. package/components/TooltipMenu/__creevey__/TooltipMenu.creevey.mts +0 -131
  441. package/components/TooltipMenu/__docs__/TooltipMenu.mdx +0 -23
  442. package/internal/ClearCrossIcon/__creevey__/ClearCrossIcon.creevey.d.mts +0 -1
  443. package/internal/ClearCrossIcon/__creevey__/ClearCrossIcon.creevey.mts +0 -44
  444. package/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.d.mts +0 -1
  445. package/internal/CloseButtonIcon/__creevey__/CloseButtonIcon.creevey.mts +0 -48
  446. package/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.d.mts +0 -1
  447. package/internal/CustomComboBox/__creevey__/ComboBoxView.creevey.mts +0 -30
  448. package/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.d.mts +0 -1
  449. package/internal/FileUploaderControl/__creevey__/FileUploaderFile.creevey.mts +0 -25
  450. package/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.d.mts +0 -1
  451. package/internal/HideBodyVerticalScroll/__creevey__/HideBodyVerticalScroll.creevey.mts +0 -83
  452. package/internal/Menu/__creevey__/Menu.creevey.d.mts +0 -1
  453. package/internal/Menu/__creevey__/Menu.creevey.mts +0 -90
  454. package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js +0 -106
  455. package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js.map +0 -1
  456. package/internal/PerformanceMetrics/PerformanceMetrics/package.json +0 -6
  457. package/internal/PerformanceMetrics/PerformanceMetrics.d.ts +0 -7
  458. package/internal/PopupMenu/__creevey__/PopupMenu.creevey.d.mts +0 -1
  459. package/internal/PopupMenu/__creevey__/PopupMenu.creevey.mts +0 -37
  460. package/internal/ThemePlayground/__creevey__/Theme5_0.creevey.d.mts +0 -1
  461. package/internal/ThemePlayground/__creevey__/Theme5_0.creevey.mts +0 -36
  462. package/internal/ThemePlayground/__creevey__/Theme5_0.stories.d.ts +0 -4
  463. package/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.d.mts +0 -1
  464. package/internal/ThemePlayground/__creevey__/ThemeProvider.creevey.mts +0 -68
  465. package/internal/ZIndex/__creevey__/ZIndex.creevey.d.mts +0 -1
  466. package/internal/ZIndex/__creevey__/ZIndex.creevey.mts +0 -228
@@ -1 +1 @@
1
- {"version":3,"names":["React","PropTypes","globalObject","isBrowser","scrollYCenterIntoNearestScrollable","isExternalLink","isFunction","isNonNullable","isReactUIComponent","ThemeContext","CommonWrapper","cx","rootNode","MenuContext","getVisualStateDataAttributes","styles","MenuItemDataTids","root","content","comment","MenuItem","_class","_MenuItem","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","iconOffsetTop","highlighted","mouseEntered","rootRef","contentRef","createRef","highlight","setState","unhighlight","select","event","handleClick","isEnabled","props","disabled","navigate","href","target","window","open","location","renderMain","_cx2","_cx3","_cx4","_this$props","link","icon","loose","size","_enableIconPadding","component","onMouseEnter","onMouseLeave","isMobile","scrollIntoView","_this$props$rel","rel","isNotSelectable","children","unusedClasses","className","style","dataTid","rest","_objectWithoutPropertiesLoose","_excluded","iconElement","_cx","createElement","top","getIconSizeClassName","theme","getRootSizeClassName","rootMobile","hover","isHover","selected","isSelected","getWithIconSizeClassName","Boolean","context","enableIconPadding","activeState","Component","getComponent","_extends","rootNodeRef","setRootNode","ref","setRootRef","onMouseOver","handleMouseEnterFix","handleMouseLeave","onClick","undefined","tabIndex","mobileContentWithIcon","commentHover","e","_this$context$navigat","navigation","_this$context$navigat2","onItemClick","element","_this$props2","hasIconAmongItems","_this$context$navigat3","items","some","item","_inheritsLoose","_proto","prototype","render","_this2","Consumer","componentDidMount","getComputedStyle","getPropertyValue","current","_this$context$navigat4","add","_this$context$setEnab","_this$context","setEnableIconPadding","componentWillUnmount","_this$context$navigat5","_this$context$setEnab2","_this$context2","remove","componentDidUpdate","prevProps","_this$context$setEnab3","_this$context3","_this$context$navigat6","_this$context$navigat7","rootLarge","rootMedium","rootSmall","iconLarge","iconMedium","iconSmall","withIconLarge","withIconMedium","withIconSmall","_createClass","key","get","__KONTUR_REACT_UI__","displayName","__MENU_ITEM__","propTypes","node","bool","string","func","contextType","isMenuItem"],"sources":["MenuItem.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport type { Nullable } from '../../typings/utility-types';\nimport { scrollYCenterIntoNearestScrollable } from '../../lib/dom/scrollYCenterIntoNearestScrollable';\nimport { isExternalLink, isFunction, isNonNullable, isReactUIComponent } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport type { SizeProp } from '../../lib/types/props';\nimport type { MenuContextType } from '../../internal/Menu/MenuContext';\nimport { MenuContext } from '../../internal/Menu/MenuContext';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './MenuItem.styles';\n\nexport type MenuItemState = null | 'hover' | 'selected' | void;\n\nexport interface MenuItemProps\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Omit<CommonProps, 'children'> {\n /** Добавляет отступ иконке.\n * @ignore */\n _enableIconPadding?: boolean;\n\n /** Добавляет описание для элемента меню. */\n comment?: React.ReactNode;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Добавляет иконку элементу меню. */\n icon?: React.ReactElement<any>;\n /**\n * Меняет цвет текста на синий.\n * @deprecated\n */\n link?: boolean;\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /** @ignore */\n loose?: boolean;\n\n /** @ignore */\n state?: MenuItemState;\n\n /** Задает функцию, которая вызывается при клике. */\n onClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). */\n onMouseEnter?: React.MouseEventHandler;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: React.MouseEventHandler;\n\n /** @ignore */\n children?: React.ReactNode | ((state: MenuItemState) => React.ReactNode);\n\n /** Задает HTML-атрибут `target`. */\n target?: React.AnchorHTMLAttributes<HTMLAnchorElement>['target'];\n\n /** Задает HTML-атрибут `title`. */\n title?: React.AnchorHTMLAttributes<HTMLAnchorElement>['title'];\n\n /** Задает HTML-атрибут `href` - адрес, на который следует перейти. */\n href?: React.AnchorHTMLAttributes<HTMLAnchorElement>['href'];\n\n /** Задает HTML-атрибут `rel`. Для внешних ссылок аттрибут rel по умолчанию равен \"noopener noreferrer\". */\n rel?: React.AnchorHTMLAttributes<HTMLAnchorElement>['rel'];\n\n /** Заменяет корневой элемент, на компонент переданный в проп.\n * По умолчанию корневой элемент рендерится как `button`. <br />Если передан `href`, то вместо `button` рендерится `a`. */\n component?: React.ComponentType<any>;\n\n /** Запрещает выделение и выбор данного пункта меню. */\n isNotSelectable?: boolean;\n\n /** Устанавливает стиль для отображения в мобильной версии. */\n isMobile?: boolean;\n /** @ignore */\n scrollIntoView?: boolean;\n}\n\nexport const MenuItemDataTids = {\n root: 'MenuItem__root',\n content: 'MenuItem__content',\n comment: 'MenuItem__comment',\n} as const;\n\n/**\n * `MenuItem` - это вложенный компонент, задающий базовые стили для элемента меню и позволяющий навигироваться по элементам меню с помощью клавиатуры.\n *\n * Сущности в которых может быть использован `MenuItem`: DropdownMenu, Kebab, TooltipMenu и Select.\n */\n@rootNode\nexport class MenuItem extends React.Component<MenuItemProps> {\n public static __KONTUR_REACT_UI__ = 'MenuItem';\n public static displayName = 'MenuItem';\n public static __MENU_ITEM__ = true;\n\n public static propTypes = {\n comment: PropTypes.node,\n\n disabled: PropTypes.bool,\n\n href: PropTypes.string,\n\n icon: PropTypes.node,\n\n loose: PropTypes.bool,\n\n state: PropTypes.string,\n\n target: PropTypes.string,\n\n onClick: PropTypes.func,\n\n size: PropTypes.string,\n };\n\n public state = {\n iconOffsetTop: 0,\n highlighted: false,\n };\n\n private theme!: Theme;\n private mouseEntered = false;\n private setRootNode!: TSetRootNode;\n private rootRef: Nullable<HTMLElement> = null;\n private contentRef = React.createRef<HTMLElement>();\n static contextType = MenuContext;\n\n public context!: MenuContextType;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public componentDidMount() {\n if (this.props.scrollIntoView && this.rootRef) {\n scrollYCenterIntoNearestScrollable(this.rootRef);\n }\n if (this.rootRef && isBrowser(globalObject)) {\n this.setState({ iconOffsetTop: globalObject.getComputedStyle(this.rootRef).getPropertyValue('padding-top') });\n }\n if (this.contentRef.current && !this.props.isNotSelectable) {\n this.context.navigation?.add(this.contentRef.current, this);\n }\n if (this.props.icon) {\n this.context.setEnableIconPadding?.(true);\n }\n }\n\n public componentWillUnmount() {\n if (this.contentRef.current) {\n !this.props.isNotSelectable && this.context.navigation?.remove(this.contentRef.current);\n this.context.setEnableIconPadding?.(this.hasIconAmongItems());\n }\n }\n\n public componentDidUpdate(prevProps: Readonly<MenuItemProps>) {\n if (prevProps.icon !== this.props.icon) {\n this.context.setEnableIconPadding?.(!!this.props.icon || this.hasIconAmongItems());\n }\n if (this.contentRef.current && prevProps.isNotSelectable !== this.props.isNotSelectable) {\n if (this.props.isNotSelectable) {\n this.unhighlight();\n this.context.navigation?.remove(this.contentRef.current);\n } else {\n this.context.navigation?.add(this.contentRef.current, this);\n }\n }\n }\n\n public highlight = () => {\n this.setState({ highlighted: true });\n };\n\n public unhighlight = () => {\n this.setState({ highlighted: false });\n };\n\n public select = (event: React.SyntheticEvent<HTMLElement>) => {\n this.handleClick(event as React.MouseEvent<HTMLElement>);\n };\n\n public isEnabled = () => {\n return !this.props.disabled;\n };\n\n public navigate = () => {\n if (!this.props.href) {\n return;\n }\n if (this.props.target) {\n window.open(this.props.href, this.props.target);\n } else {\n location.href = this.props.href;\n }\n };\n\n private getRootSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getIconSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.iconLarge(this.theme);\n case 'medium':\n return styles.iconMedium(this.theme);\n case 'small':\n default:\n return styles.iconSmall(this.theme);\n }\n }\n\n private getWithIconSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.withIconLarge(this.theme);\n case 'medium':\n return styles.withIconMedium(this.theme);\n case 'small':\n default:\n return styles.withIconSmall(this.theme);\n }\n }\n\n private renderMain = () => {\n const {\n link,\n comment,\n icon,\n loose,\n state,\n size,\n _enableIconPadding,\n component,\n onMouseEnter,\n onMouseLeave,\n isMobile,\n href,\n disabled,\n scrollIntoView,\n rel = href && isExternalLink(href) ? 'noopener noreferrer' : this.props.rel,\n isNotSelectable,\n children,\n className: unusedClasses,\n style,\n 'data-tid': dataTid,\n ...rest\n } = this.props;\n\n let iconElement = null;\n if (icon) {\n iconElement = (\n <div\n style={{ top: this.state.iconOffsetTop }}\n className={cx({\n [styles.icon()]: true,\n [this.getIconSizeClassName()]: true,\n })}\n >\n {icon}\n </div>\n );\n }\n\n const className = cx({\n [styles.root(this.theme)]: true,\n [this.getRootSizeClassName()]: true,\n [styles.rootMobile(this.theme)]: isMobile,\n [styles.loose()]: !!loose,\n [styles.hover(this.theme)]: this.isHover,\n [styles.selected(this.theme)]: this.isSelected,\n [styles.link(this.theme)]: !!link,\n [this.getWithIconSizeClassName()]: Boolean(iconElement) || !!_enableIconPadding || this.context.enableIconPadding,\n [styles.disabled(this.theme)]: !!disabled,\n });\n\n let content = children;\n if (isFunction(children)) {\n content = children(this.activeState);\n }\n\n const Component = this.getComponent();\n\n return (\n <CommonWrapper\n rootNodeRef={this.setRootNode}\n {...getVisualStateDataAttributes({\n hover: this.isHover,\n selected: this.isSelected,\n })}\n {...this.props}\n >\n <Component\n ref={this.setRootRef}\n data-tid={MenuItemDataTids.root}\n {...rest}\n disabled={disabled}\n state={this.activeState}\n onMouseOver={this.handleMouseEnterFix}\n onMouseLeave={this.handleMouseLeave}\n onClick={this.handleClick}\n className={className}\n href={href}\n rel={href ? rel : undefined}\n tabIndex={-1}\n >\n {iconElement}\n <span\n className={cx({\n [styles.mobileContentWithIcon()]: isMobile && isNonNullable(icon),\n })}\n ref={this.contentRef}\n data-tid={MenuItemDataTids.content}\n >\n {typeof content === 'function' ? content() : content}\n </span>\n {comment && (\n <div\n data-tid={MenuItemDataTids.comment}\n className={cx({\n [styles.comment(this.theme)]: true,\n [styles.commentHover(this.theme)]: this.isHover,\n })}\n >\n {comment}\n </div>\n )}\n </Component>\n </CommonWrapper>\n );\n };\n\n private get activeState() {\n return this.state.highlighted ? 'hover' : this.props.state;\n }\n\n private get isHover(): boolean {\n return (this.state.highlighted || this.props.state === 'hover') && !this.props.disabled;\n }\n\n private get isSelected(): boolean {\n return this.props.state === 'selected' && !this.state.highlighted;\n }\n\n // https://github.com/facebook/react/issues/10109\n // Mouseenter event not triggered when cursor moves from disabled button\n private handleMouseEnterFix = (e: React.MouseEvent<HTMLElement>) => {\n if (!this.mouseEntered) {\n this.mouseEntered = true;\n this.props.onMouseEnter?.(e);\n !this.props.isNotSelectable && this.context.navigation?.highlight(this);\n }\n };\n\n private handleMouseLeave = (e: React.MouseEvent<HTMLElement>) => {\n this.mouseEntered = false;\n this.props.onMouseLeave?.(e);\n !this.props.isNotSelectable && this.context.navigation?.unhighlight();\n };\n\n private handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (this.props.isNotSelectable) {\n return;\n }\n this.props.onClick?.(e);\n this.context.onItemClick?.(e);\n };\n\n private setRootRef = (element: HTMLElement) => {\n this.rootRef = element;\n };\n\n private getComponent = () => {\n const { disabled, component, href } = this.props;\n\n if (component) {\n return component;\n }\n\n if (disabled) {\n return 'button';\n }\n\n if (href) {\n return 'a';\n }\n\n return 'button';\n };\n\n private hasIconAmongItems = () => {\n return Boolean(this.context.navigation?.items.some((item) => item.props.icon));\n };\n}\n\nexport const isMenuItem = isReactUIComponent('MenuItem');\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","PropTypes","globalObject","isBrowser","isThemeGTE","scrollYCenterIntoNearestScrollable","isExternalLink","isFunction","isNonNullable","isReactUIComponent","ThemeContext","CommonWrapper","cx","rootNode","MenuContext","getVisualStateDataAttributes","styles","MenuItemDataTids","root","content","comment","MenuItem","_class","_MenuItem","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","iconOffsetTop","highlighted","mouseEntered","rootRef","contentRef","createRef","highlight","setState","unhighlight","select","event","handleClick","isEnabled","props","disabled","navigate","href","target","window","open","location","renderMain","_cx2","_cx3","_cx4","_this$props","link","icon","loose","size","_enableIconPadding","component","onMouseEnter","onMouseLeave","isMobile","scrollIntoView","_this$props$rel","rel","isNotSelectable","children","unusedClasses","className","style","dataTid","rest","_objectWithoutPropertiesLoose","_excluded","iconElement","_cx","createElement","top","getIconSizeClassName","isThemeGTE_5_2","theme","getRootSizeClassName","rootMobile","hover","isHover","selected","isSelected","getWithIconSizeClassName","Boolean","context","enableIconPadding","nonSelectable","activeState","Component","getComponent","_extends","rootNodeRef","setRootNode","ref","setRootRef","onMouseOver","handleMouseEnterFix","handleMouseLeave","onClick","undefined","tabIndex","mobileContentWithIcon","commentHover","e","_this$context$navigat","navigation","_this$context$navigat2","onItemClick","element","_this$props2","hasIconAmongItems","_this$context$navigat3","items","some","item","_inheritsLoose","_proto","prototype","render","_this2","Consumer","componentDidMount","getComputedStyle","getPropertyValue","current","_this$context$navigat4","add","_this$context$setEnab","_this$context","setEnableIconPadding","componentWillUnmount","_this$context$navigat5","_this$context$setEnab2","_this$context2","remove","componentDidUpdate","prevProps","_this$context$setEnab3","_this$context3","_this$context$navigat6","_this$context$navigat7","rootLarge","rootMedium","rootSmall","iconLarge","iconMedium","iconSmall","withIconLarge","withIconMedium","withIconSmall","_createClass","key","get","__KONTUR_REACT_UI__","displayName","__MENU_ITEM__","propTypes","node","bool","string","func","contextType","isMenuItem"],"sources":["MenuItem.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers';\nimport type { Nullable } from '../../typings/utility-types';\nimport { scrollYCenterIntoNearestScrollable } from '../../lib/dom/scrollYCenterIntoNearestScrollable';\nimport { isExternalLink, isFunction, isNonNullable, isReactUIComponent } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport type { SizeProp } from '../../lib/types/props';\nimport type { MenuContextType } from '../../internal/Menu/MenuContext';\nimport { MenuContext } from '../../internal/Menu/MenuContext';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './MenuItem.styles';\n\nexport type MenuItemState = null | 'hover' | 'selected' | void;\n\nexport interface MenuItemProps\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Omit<CommonProps, 'children'> {\n /** Добавляет отступ иконке.\n * @ignore */\n _enableIconPadding?: boolean;\n\n /** Добавляет описание для элемента меню. */\n comment?: React.ReactNode;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Добавляет иконку элементу меню. */\n icon?: React.ReactElement<any>;\n /**\n * Меняет цвет текста на синий.\n * @deprecated\n */\n link?: boolean;\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /** @ignore */\n loose?: boolean;\n\n /** @ignore */\n state?: MenuItemState;\n\n /** Задает функцию, которая вызывается при клике. */\n onClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). */\n onMouseEnter?: React.MouseEventHandler;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: React.MouseEventHandler;\n\n /** @ignore */\n children?: React.ReactNode | ((state: MenuItemState) => React.ReactNode);\n\n /** Задает HTML-атрибут `target`. */\n target?: React.AnchorHTMLAttributes<HTMLAnchorElement>['target'];\n\n /** Задает HTML-атрибут `title`. */\n title?: React.AnchorHTMLAttributes<HTMLAnchorElement>['title'];\n\n /** Задает HTML-атрибут `href` - адрес, на который следует перейти. */\n href?: React.AnchorHTMLAttributes<HTMLAnchorElement>['href'];\n\n /** Задает HTML-атрибут `rel`. Для внешних ссылок аттрибут rel по умолчанию равен \"noopener noreferrer\". */\n rel?: React.AnchorHTMLAttributes<HTMLAnchorElement>['rel'];\n\n /** Заменяет корневой элемент, на компонент переданный в проп.\n * По умолчанию корневой элемент рендерится как `button`. <br />Если передан `href`, то вместо `button` рендерится `a`. */\n component?: React.ComponentType<any>;\n\n /** Запрещает выделение и выбор данного пункта меню. */\n isNotSelectable?: boolean;\n\n /** Устанавливает стиль для отображения в мобильной версии. */\n isMobile?: boolean;\n /** @ignore */\n scrollIntoView?: boolean;\n}\n\nexport const MenuItemDataTids = {\n root: 'MenuItem__root',\n content: 'MenuItem__content',\n comment: 'MenuItem__comment',\n} as const;\n\n/**\n * `MenuItem` - это вложенный компонент, задающий базовые стили для элемента меню и позволяющий навигироваться по элементам меню с помощью клавиатуры.\n *\n * Сущности в которых может быть использован `MenuItem`: DropdownMenu, Kebab, TooltipMenu и Select.\n */\n@rootNode\nexport class MenuItem extends React.Component<MenuItemProps> {\n public static __KONTUR_REACT_UI__ = 'MenuItem';\n public static displayName = 'MenuItem';\n public static __MENU_ITEM__ = true;\n\n public static propTypes = {\n comment: PropTypes.node,\n\n disabled: PropTypes.bool,\n\n href: PropTypes.string,\n\n icon: PropTypes.node,\n\n loose: PropTypes.bool,\n\n state: PropTypes.string,\n\n target: PropTypes.string,\n\n onClick: PropTypes.func,\n\n size: PropTypes.string,\n };\n\n public state = {\n iconOffsetTop: 0,\n highlighted: false,\n };\n\n private theme!: Theme;\n private mouseEntered = false;\n private setRootNode!: TSetRootNode;\n private rootRef: Nullable<HTMLElement> = null;\n private contentRef = React.createRef<HTMLElement>();\n static contextType = MenuContext;\n\n public context!: MenuContextType;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public componentDidMount() {\n if (this.props.scrollIntoView && this.rootRef) {\n scrollYCenterIntoNearestScrollable(this.rootRef);\n }\n if (this.rootRef && isBrowser(globalObject)) {\n this.setState({ iconOffsetTop: globalObject.getComputedStyle(this.rootRef).getPropertyValue('padding-top') });\n }\n if (this.contentRef.current && !this.props.isNotSelectable) {\n this.context.navigation?.add(this.contentRef.current, this);\n }\n if (this.props.icon) {\n this.context.setEnableIconPadding?.(true);\n }\n }\n\n public componentWillUnmount() {\n if (this.contentRef.current) {\n !this.props.isNotSelectable && this.context.navigation?.remove(this.contentRef.current);\n this.context.setEnableIconPadding?.(this.hasIconAmongItems());\n }\n }\n\n public componentDidUpdate(prevProps: Readonly<MenuItemProps>) {\n if (prevProps.icon !== this.props.icon) {\n this.context.setEnableIconPadding?.(!!this.props.icon || this.hasIconAmongItems());\n }\n if (this.contentRef.current && prevProps.isNotSelectable !== this.props.isNotSelectable) {\n if (this.props.isNotSelectable) {\n this.unhighlight();\n this.context.navigation?.remove(this.contentRef.current);\n } else {\n this.context.navigation?.add(this.contentRef.current, this);\n }\n }\n }\n\n public highlight = () => {\n this.setState({ highlighted: true });\n };\n\n public unhighlight = () => {\n this.setState({ highlighted: false });\n };\n\n public select = (event: React.SyntheticEvent<HTMLElement>) => {\n this.handleClick(event as React.MouseEvent<HTMLElement>);\n };\n\n public isEnabled = () => {\n return !this.props.disabled;\n };\n\n public navigate = () => {\n if (!this.props.href) {\n return;\n }\n if (this.props.target) {\n window.open(this.props.href, this.props.target);\n } else {\n location.href = this.props.href;\n }\n };\n\n private getRootSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getIconSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.iconLarge(this.theme);\n case 'medium':\n return styles.iconMedium(this.theme);\n case 'small':\n default:\n return styles.iconSmall(this.theme);\n }\n }\n\n private getWithIconSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.withIconLarge(this.theme);\n case 'medium':\n return styles.withIconMedium(this.theme);\n case 'small':\n default:\n return styles.withIconSmall(this.theme);\n }\n }\n\n private renderMain = () => {\n const {\n link,\n comment,\n icon,\n loose,\n state,\n size,\n _enableIconPadding,\n component,\n onMouseEnter,\n onMouseLeave,\n isMobile,\n href,\n disabled,\n scrollIntoView,\n rel = href && isExternalLink(href) ? 'noopener noreferrer' : this.props.rel,\n isNotSelectable,\n children,\n className: unusedClasses,\n style,\n 'data-tid': dataTid,\n ...rest\n } = this.props;\n\n let iconElement = null;\n if (icon) {\n iconElement = (\n <div\n style={{ top: this.state.iconOffsetTop }}\n className={cx({\n [styles.icon()]: true,\n [this.getIconSizeClassName()]: true,\n })}\n >\n {icon}\n </div>\n );\n }\n const isThemeGTE_5_2 = isThemeGTE(this.theme, '5.2');\n\n const className = cx({\n [styles.root(this.theme)]: true,\n [this.getRootSizeClassName()]: true,\n [styles.rootMobile(this.theme)]: isMobile,\n [styles.loose()]: !!loose,\n [styles.hover(this.theme)]: this.isHover,\n [styles.selected(this.theme)]: this.isSelected,\n [styles.link(this.theme)]: !!link,\n [this.getWithIconSizeClassName()]: Boolean(iconElement) || !!_enableIconPadding || this.context.enableIconPadding,\n [styles.nonSelectable()]: isThemeGTE_5_2 && !!isNotSelectable,\n [styles.disabled(this.theme)]: !!disabled,\n });\n\n let content = children;\n if (isFunction(children)) {\n content = children(this.activeState);\n }\n\n const Component = this.getComponent();\n\n return (\n <CommonWrapper\n rootNodeRef={this.setRootNode}\n {...getVisualStateDataAttributes({\n hover: this.isHover,\n selected: this.isSelected,\n })}\n {...this.props}\n >\n <Component\n ref={this.setRootRef}\n data-tid={MenuItemDataTids.root}\n {...rest}\n disabled={disabled}\n state={this.activeState}\n onMouseOver={this.handleMouseEnterFix}\n onMouseLeave={this.handleMouseLeave}\n onClick={this.handleClick}\n className={className}\n href={href}\n rel={href ? rel : undefined}\n tabIndex={-1}\n >\n {iconElement}\n <span\n className={cx({\n [styles.mobileContentWithIcon()]: isMobile && isNonNullable(icon),\n })}\n ref={this.contentRef}\n data-tid={MenuItemDataTids.content}\n >\n {typeof content === 'function' ? content() : content}\n </span>\n {comment && (\n <div\n data-tid={MenuItemDataTids.comment}\n className={cx({\n [styles.comment(this.theme)]: true,\n [styles.commentHover(this.theme)]: this.isHover,\n })}\n >\n {comment}\n </div>\n )}\n </Component>\n </CommonWrapper>\n );\n };\n\n private get activeState() {\n return this.state.highlighted ? 'hover' : this.props.state;\n }\n\n private get isHover(): boolean {\n return (this.state.highlighted || this.props.state === 'hover') && !this.props.disabled;\n }\n\n private get isSelected(): boolean {\n return this.props.state === 'selected' && !this.state.highlighted;\n }\n\n // https://github.com/facebook/react/issues/10109\n // Mouseenter event not triggered when cursor moves from disabled button\n private handleMouseEnterFix = (e: React.MouseEvent<HTMLElement>) => {\n if (!this.mouseEntered) {\n this.mouseEntered = true;\n this.props.onMouseEnter?.(e);\n !this.props.isNotSelectable && this.context.navigation?.highlight(this);\n }\n };\n\n private handleMouseLeave = (e: React.MouseEvent<HTMLElement>) => {\n this.mouseEntered = false;\n this.props.onMouseLeave?.(e);\n !this.props.isNotSelectable && this.context.navigation?.unhighlight();\n };\n\n private handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (this.props.isNotSelectable) {\n return;\n }\n this.props.onClick?.(e);\n this.context.onItemClick?.(e);\n };\n\n private setRootRef = (element: HTMLElement) => {\n this.rootRef = element;\n };\n\n private getComponent = () => {\n const { disabled, component, href } = this.props;\n\n if (component) {\n return component;\n }\n\n if (disabled) {\n return 'button';\n }\n\n if (href) {\n return 'a';\n }\n\n return 'button';\n };\n\n private hasIconAmongItems = () => {\n return Boolean(this.context.navigation?.items.some((item) => item.props.icon));\n };\n}\n\nexport const isMenuItem = isReactUIComponent('MenuItem');\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
2
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20;
2
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21;
3
3
  import { css, memoizeStyle } from "../../../lib/theming/Emotion";
4
4
  import { resetButton } from "../../../lib/styles/Mixins";
5
5
  import { iconSizeMixin, menuItemSizeMixin, withIconSizeMixin } from "../MenuItem.mixins";
@@ -39,40 +39,43 @@ export var styles = memoizeStyle({
39
39
  disabled: function disabled(t) {
40
40
  return css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteralLoose(["\n background: ", ";\n color: ", ";\n cursor: default;\n "])), t.menuItemDisabledBg, t.menuItemDisabledColor);
41
41
  },
42
+ nonSelectable: function nonSelectable() {
43
+ return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n cursor: default;\n "])));
44
+ },
42
45
  link: function link(t) {
43
- return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n color: ", ";\n "])), t.menuItemLinkColor);
46
+ return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n color: ", ";\n "])), t.menuItemLinkColor);
44
47
  },
45
48
  loose: function loose() {
46
- return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n padding-left: 15px;\n "])));
49
+ return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n padding-left: 15px;\n "])));
47
50
  },
48
51
  withIconSmall: function withIconSmall(t) {
49
- return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n ", "\n "])), withIconSizeMixin(t.menuItemPaddingForIconSmall));
52
+ return css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteralLoose(["\n ", "\n "])), withIconSizeMixin(t.menuItemPaddingForIconSmall));
50
53
  },
51
54
  withIconMedium: function withIconMedium(t) {
52
- return css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteralLoose(["\n ", "\n "])), withIconSizeMixin(t.menuItemPaddingForIconMedium));
55
+ return css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteralLoose(["\n ", "\n "])), withIconSizeMixin(t.menuItemPaddingForIconMedium));
53
56
  },
54
57
  withIconLarge: function withIconLarge(t) {
55
- return css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteralLoose(["\n ", "\n "])), withIconSizeMixin(t.menuItemPaddingForIconLarge));
58
+ return css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteralLoose(["\n ", "\n "])), withIconSizeMixin(t.menuItemPaddingForIconLarge));
56
59
  },
57
60
  comment: function comment(t) {
58
- return css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteralLoose(["\n color: ", ";\n opacity: ", ";\n white-space: normal;\n padding-top: 4px;\n "])), t.menuItemCommentColor, t.menuItemCommentOpacity);
61
+ return css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["\n color: ", ";\n opacity: ", ";\n white-space: normal;\n padding-top: 4px;\n "])), t.menuItemCommentColor, t.menuItemCommentOpacity);
59
62
  },
60
63
  commentHover: function commentHover(t) {
61
- return css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["\n color: ", ";\n opacity: 0.6;\n "])), t.menuItemCommentColorHover);
64
+ return css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteralLoose(["\n color: ", ";\n opacity: 0.6;\n "])), t.menuItemCommentColorHover);
62
65
  },
63
66
  icon: function icon() {
64
- return css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteralLoose(["\n display: inline-block;\n position: absolute;\n transform: translateY(0px); // icon shifts one pixel up in firefox on medium size without this property\n "])));
67
+ return css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteralLoose(["\n display: inline-block;\n position: absolute;\n transform: translateY(0px); // icon shifts one pixel up in firefox on medium size without this property\n "])));
65
68
  },
66
69
  iconSmall: function iconSmall(t) {
67
- return css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), iconSizeMixin(t.menuItemIconWidthSmall, t.menuItemPaddingXSmall));
70
+ return css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), iconSizeMixin(t.menuItemIconWidthSmall, t.menuItemPaddingXSmall));
68
71
  },
69
72
  iconMedium: function iconMedium(t) {
70
- return css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), iconSizeMixin(t.menuItemIconWidthMedium, t.menuItemPaddingXMedium));
73
+ return css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), iconSizeMixin(t.menuItemIconWidthMedium, t.menuItemPaddingXMedium));
71
74
  },
72
75
  iconLarge: function iconLarge(t) {
73
- return css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), iconSizeMixin(t.menuItemIconWidthLarge, t.menuItemPaddingXLarge));
76
+ return css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), iconSizeMixin(t.menuItemIconWidthLarge, t.menuItemPaddingXLarge));
74
77
  },
75
78
  mobileContentWithIcon: function mobileContentWithIcon() {
76
- return css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteralLoose(["\n margin-left: 8px;\n "])));
79
+ return css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteralLoose(["\n margin-left: 8px;\n "])));
77
80
  }
78
81
  });
@@ -1 +1 @@
1
- {"version":3,"names":["css","memoizeStyle","resetButton","iconSizeMixin","menuItemSizeMixin","withIconSizeMixin","getMenuItemPaddings","_ref","menuItemPaddingX","menuItemPaddingY","paddingX","paddingY","styles","root","t","_templateObject","_taggedTemplateLiteralLoose","menuItemDisplay","menuItemTextColor","menuItemBorderRadius","menuItemGap","rootSmall","_templateObject2","menuItemPaddingXSmall","menuItemPaddingYSmall","menuItemLineHeightSmall","menuItemFontSizeSmall","rootMedium","_templateObject3","menuItemPaddingXMedium","menuItemPaddingYMedium","menuItemLineHeightMedium","menuItemFontSizeMedium","rootLarge","_templateObject4","menuItemPaddingXLarge","menuItemPaddingYLarge","menuItemLineHeightLarge","menuItemFontSizeLarge","rootMobile","_templateObject5","menuItemFontSizeMobile","menuItemLineHeightMobile","menuItemPaddingMobile","hover","_templateObject6","menuItemHoverBg","menuItemHoverColor","selected","_templateObject7","menuItemSelectedBg","disabled","_templateObject8","menuItemDisabledBg","menuItemDisabledColor","link","_templateObject9","menuItemLinkColor","loose","_templateObject10","withIconSmall","_templateObject11","menuItemPaddingForIconSmall","withIconMedium","_templateObject12","menuItemPaddingForIconMedium","withIconLarge","_templateObject13","menuItemPaddingForIconLarge","comment","_templateObject14","menuItemCommentColor","menuItemCommentOpacity","commentHover","_templateObject15","menuItemCommentColorHover","icon","_templateObject16","iconSmall","_templateObject17","menuItemIconWidthSmall","iconMedium","_templateObject18","menuItemIconWidthMedium","iconLarge","_templateObject19","menuItemIconWidthLarge","mobileContentWithIcon","_templateObject20"],"sources":["MenuItem.styles.ts"],"sourcesContent":["import type { Theme } from '../../lib/theming/Theme';\nimport { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { resetButton } from '../../lib/styles/Mixins';\n\nimport { iconSizeMixin, menuItemSizeMixin, withIconSizeMixin } from './MenuItem.mixins';\n\nexport const getMenuItemPaddings = ({\n menuItemPaddingX,\n menuItemPaddingY,\n}: Record<'menuItemPaddingX' | 'menuItemPaddingY', string>) => {\n const paddingX = menuItemPaddingX;\n const paddingY = menuItemPaddingY;\n\n return { paddingX, paddingY };\n};\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n ${resetButton()};\n\n cursor: pointer;\n display: ${t.menuItemDisplay};\n position: relative;\n text-decoration: none;\n color: ${t.menuItemTextColor};\n border-radius: ${t.menuItemBorderRadius};\n\n button& {\n min-width: 100%;\n }\n\n &:nth-last-of-type(n + 2) {\n margin-bottom: ${t.menuItemGap};\n }\n `;\n },\n\n rootSmall(t: Theme) {\n return css`\n ${menuItemSizeMixin(\n t.menuItemPaddingXSmall,\n t.menuItemPaddingYSmall,\n t.menuItemLineHeightSmall,\n t.menuItemFontSizeSmall,\n )};\n `;\n },\n rootMedium(t: Theme) {\n return css`\n ${menuItemSizeMixin(\n t.menuItemPaddingXMedium,\n t.menuItemPaddingYMedium,\n t.menuItemLineHeightMedium,\n t.menuItemFontSizeMedium,\n )};\n `;\n },\n rootLarge(t: Theme) {\n return css`\n ${menuItemSizeMixin(\n t.menuItemPaddingXLarge,\n t.menuItemPaddingYLarge,\n t.menuItemLineHeightLarge,\n t.menuItemFontSizeLarge,\n )};\n `;\n },\n\n rootMobile(t: Theme) {\n return css`\n font-size: ${t.menuItemFontSizeMobile};\n line-height: ${t.menuItemLineHeightMobile};\n padding: ${t.menuItemPaddingMobile};\n `;\n },\n\n hover(t: Theme) {\n // Color with !important in purpose to override `a:hover`\n return css`\n background: ${t.menuItemHoverBg} !important;\n color: ${t.menuItemHoverColor} !important;\n `;\n },\n selected(t: Theme) {\n return css`\n background: ${t.menuItemSelectedBg} !important;\n `;\n },\n disabled(t: Theme) {\n return css`\n background: ${t.menuItemDisabledBg};\n color: ${t.menuItemDisabledColor};\n cursor: default;\n `;\n },\n link(t: Theme) {\n return css`\n color: ${t.menuItemLinkColor};\n `;\n },\n loose() {\n return css`\n padding-left: 15px;\n `;\n },\n withIconSmall(t: Theme) {\n return css`\n ${withIconSizeMixin(t.menuItemPaddingForIconSmall)}\n `;\n },\n withIconMedium(t: Theme) {\n return css`\n ${withIconSizeMixin(t.menuItemPaddingForIconMedium)}\n `;\n },\n withIconLarge(t: Theme) {\n return css`\n ${withIconSizeMixin(t.menuItemPaddingForIconLarge)}\n `;\n },\n comment(t: Theme) {\n return css`\n color: ${t.menuItemCommentColor};\n opacity: ${t.menuItemCommentOpacity};\n white-space: normal;\n padding-top: 4px;\n `;\n },\n commentHover(t: Theme) {\n return css`\n color: ${t.menuItemCommentColorHover};\n opacity: 0.6;\n `;\n },\n icon() {\n return css`\n display: inline-block;\n position: absolute;\n transform: translateY(0px); // icon shifts one pixel up in firefox on medium size without this property\n `;\n },\n iconSmall(t: Theme) {\n return css`\n ${iconSizeMixin(t.menuItemIconWidthSmall, t.menuItemPaddingXSmall)};\n `;\n },\n iconMedium(t: Theme) {\n return css`\n ${iconSizeMixin(t.menuItemIconWidthMedium, t.menuItemPaddingXMedium)};\n `;\n },\n iconLarge(t: Theme) {\n return css`\n ${iconSizeMixin(t.menuItemIconWidthLarge, t.menuItemPaddingXLarge)};\n `;\n },\n mobileContentWithIcon() {\n return css`\n margin-left: 8px;\n `;\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["css","memoizeStyle","resetButton","iconSizeMixin","menuItemSizeMixin","withIconSizeMixin","getMenuItemPaddings","_ref","menuItemPaddingX","menuItemPaddingY","paddingX","paddingY","styles","root","t","_templateObject","_taggedTemplateLiteralLoose","menuItemDisplay","menuItemTextColor","menuItemBorderRadius","menuItemGap","rootSmall","_templateObject2","menuItemPaddingXSmall","menuItemPaddingYSmall","menuItemLineHeightSmall","menuItemFontSizeSmall","rootMedium","_templateObject3","menuItemPaddingXMedium","menuItemPaddingYMedium","menuItemLineHeightMedium","menuItemFontSizeMedium","rootLarge","_templateObject4","menuItemPaddingXLarge","menuItemPaddingYLarge","menuItemLineHeightLarge","menuItemFontSizeLarge","rootMobile","_templateObject5","menuItemFontSizeMobile","menuItemLineHeightMobile","menuItemPaddingMobile","hover","_templateObject6","menuItemHoverBg","menuItemHoverColor","selected","_templateObject7","menuItemSelectedBg","disabled","_templateObject8","menuItemDisabledBg","menuItemDisabledColor","nonSelectable","_templateObject9","link","_templateObject10","menuItemLinkColor","loose","_templateObject11","withIconSmall","_templateObject12","menuItemPaddingForIconSmall","withIconMedium","_templateObject13","menuItemPaddingForIconMedium","withIconLarge","_templateObject14","menuItemPaddingForIconLarge","comment","_templateObject15","menuItemCommentColor","menuItemCommentOpacity","commentHover","_templateObject16","menuItemCommentColorHover","icon","_templateObject17","iconSmall","_templateObject18","menuItemIconWidthSmall","iconMedium","_templateObject19","menuItemIconWidthMedium","iconLarge","_templateObject20","menuItemIconWidthLarge","mobileContentWithIcon","_templateObject21"],"sources":["MenuItem.styles.ts"],"sourcesContent":["import type { Theme } from '../../lib/theming/Theme';\nimport { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { resetButton } from '../../lib/styles/Mixins';\n\nimport { iconSizeMixin, menuItemSizeMixin, withIconSizeMixin } from './MenuItem.mixins';\n\nexport const getMenuItemPaddings = ({\n menuItemPaddingX,\n menuItemPaddingY,\n}: Record<'menuItemPaddingX' | 'menuItemPaddingY', string>) => {\n const paddingX = menuItemPaddingX;\n const paddingY = menuItemPaddingY;\n\n return { paddingX, paddingY };\n};\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n return css`\n ${resetButton()};\n\n cursor: pointer;\n display: ${t.menuItemDisplay};\n position: relative;\n text-decoration: none;\n color: ${t.menuItemTextColor};\n border-radius: ${t.menuItemBorderRadius};\n\n button& {\n min-width: 100%;\n }\n\n &:nth-last-of-type(n + 2) {\n margin-bottom: ${t.menuItemGap};\n }\n `;\n },\n\n rootSmall(t: Theme) {\n return css`\n ${menuItemSizeMixin(\n t.menuItemPaddingXSmall,\n t.menuItemPaddingYSmall,\n t.menuItemLineHeightSmall,\n t.menuItemFontSizeSmall,\n )};\n `;\n },\n rootMedium(t: Theme) {\n return css`\n ${menuItemSizeMixin(\n t.menuItemPaddingXMedium,\n t.menuItemPaddingYMedium,\n t.menuItemLineHeightMedium,\n t.menuItemFontSizeMedium,\n )};\n `;\n },\n rootLarge(t: Theme) {\n return css`\n ${menuItemSizeMixin(\n t.menuItemPaddingXLarge,\n t.menuItemPaddingYLarge,\n t.menuItemLineHeightLarge,\n t.menuItemFontSizeLarge,\n )};\n `;\n },\n\n rootMobile(t: Theme) {\n return css`\n font-size: ${t.menuItemFontSizeMobile};\n line-height: ${t.menuItemLineHeightMobile};\n padding: ${t.menuItemPaddingMobile};\n `;\n },\n\n hover(t: Theme) {\n // Color with !important in purpose to override `a:hover`\n return css`\n background: ${t.menuItemHoverBg} !important;\n color: ${t.menuItemHoverColor} !important;\n `;\n },\n selected(t: Theme) {\n return css`\n background: ${t.menuItemSelectedBg} !important;\n `;\n },\n disabled(t: Theme) {\n return css`\n background: ${t.menuItemDisabledBg};\n color: ${t.menuItemDisabledColor};\n cursor: default;\n `;\n },\n nonSelectable() {\n return css`\n cursor: default;\n `;\n },\n link(t: Theme) {\n return css`\n color: ${t.menuItemLinkColor};\n `;\n },\n loose() {\n return css`\n padding-left: 15px;\n `;\n },\n withIconSmall(t: Theme) {\n return css`\n ${withIconSizeMixin(t.menuItemPaddingForIconSmall)}\n `;\n },\n withIconMedium(t: Theme) {\n return css`\n ${withIconSizeMixin(t.menuItemPaddingForIconMedium)}\n `;\n },\n withIconLarge(t: Theme) {\n return css`\n ${withIconSizeMixin(t.menuItemPaddingForIconLarge)}\n `;\n },\n comment(t: Theme) {\n return css`\n color: ${t.menuItemCommentColor};\n opacity: ${t.menuItemCommentOpacity};\n white-space: normal;\n padding-top: 4px;\n `;\n },\n commentHover(t: Theme) {\n return css`\n color: ${t.menuItemCommentColorHover};\n opacity: 0.6;\n `;\n },\n icon() {\n return css`\n display: inline-block;\n position: absolute;\n transform: translateY(0px); // icon shifts one pixel up in firefox on medium size without this property\n `;\n },\n iconSmall(t: Theme) {\n return css`\n ${iconSizeMixin(t.menuItemIconWidthSmall, t.menuItemPaddingXSmall)};\n `;\n },\n iconMedium(t: Theme) {\n return css`\n ${iconSizeMixin(t.menuItemIconWidthMedium, t.menuItemPaddingXMedium)};\n `;\n },\n iconLarge(t: Theme) {\n return css`\n ${iconSizeMixin(t.menuItemIconWidthLarge, t.menuItemPaddingXLarge)};\n `;\n },\n mobileContentWithIcon() {\n return css`\n margin-left: 8px;\n `;\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -12,6 +12,7 @@ export declare const styles: {
12
12
  hover(t: Theme): string;
13
13
  selected(t: Theme): string;
14
14
  disabled(t: Theme): string;
15
+ nonSelectable(): string;
15
16
  link(t: Theme): string;
16
17
  loose(): string;
17
18
  withIconSmall(t: Theme): string;
@@ -3,6 +3,7 @@ import { cx } from "../../../lib/theming/Emotion";
3
3
  import { ThemeContext } from "../../../lib/theming/ThemeContext";
4
4
  import { CommonWrapper } from "../../../internal/CommonWrapper";
5
5
  import { ResponsiveLayout } from "../../ResponsiveLayout";
6
+ import { forwardRefAndName } from "../../../lib/forwardRefAndName";
6
7
  import { styles } from "../MenuSeparator.styles";
7
8
  export var MenuSeparatorDataTids = {
8
9
  root: 'MenuSeparator__root'
@@ -13,7 +14,7 @@ export var MenuSeparatorDataTids = {
13
14
  *
14
15
  * Сущности в которых может быть использован `MenuSeparator`: DropdownMenu, Kebab, TooltipMenu и Select.
15
16
  */
16
- function MenuSeparator(props) {
17
+ var MenuSeparator = forwardRefAndName('MenuSeparator', function MenuSeparator(props, ref) {
17
18
  var theme = useContext(ThemeContext);
18
19
  return /*#__PURE__*/(
19
20
  React.createElement(CommonWrapper, props, /*#__PURE__*/
@@ -22,13 +23,12 @@ function MenuSeparator(props) {
22
23
  var isMobile = _ref.isMobile;
23
24
  return /*#__PURE__*/(
24
25
  React.createElement("div", {
26
+ ref: ref,
25
27
  "data-tid": MenuSeparatorDataTids.root,
26
28
  className: cx((_cx = {}, _cx[styles.root(theme)] = true, _cx[styles.rootMobile(theme)] = isMobile, _cx))
27
29
  })
28
30
  );
29
31
  }))
30
32
  );
31
- }
32
- MenuSeparator.__KONTUR_REACT_UI__ = 'MenuSeparator';
33
- MenuSeparator.displayName = 'MenuSeparator';
33
+ });
34
34
  export { MenuSeparator };
@@ -1 +1 @@
1
- {"version":3,"names":["React","useContext","cx","ThemeContext","CommonWrapper","ResponsiveLayout","styles","MenuSeparatorDataTids","root","MenuSeparator","props","theme","createElement","_ref","_cx","isMobile","className","rootMobile","__KONTUR_REACT_UI__","displayName"],"sources":["MenuSeparator.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport { cx } from '../../lib/theming/Emotion';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { ResponsiveLayout } from '../ResponsiveLayout';\n\nimport { styles } from './MenuSeparator.styles';\n\nexport type MenuSeparatorProps = CommonProps;\n\nexport const MenuSeparatorDataTids = {\n root: 'MenuSeparator__root',\n} as const;\n\n/**\n * `MenuSeparator` добавляет разделительную линию между элементами меню.\n *\n * Сущности в которых может быть использован `MenuSeparator`: DropdownMenu, Kebab, TooltipMenu и Select.\n */\nfunction MenuSeparator(props: MenuSeparatorProps) {\n const theme = useContext(ThemeContext);\n\n return (\n <CommonWrapper {...props}>\n <ResponsiveLayout>\n {({ isMobile }) => {\n return (\n <div\n data-tid={MenuSeparatorDataTids.root}\n className={cx({ [styles.root(theme)]: true, [styles.rootMobile(theme)]: isMobile })}\n />\n );\n }}\n </ResponsiveLayout>\n </CommonWrapper>\n );\n}\n\nMenuSeparator.__KONTUR_REACT_UI__ = 'MenuSeparator';\nMenuSeparator.displayName = 'MenuSeparator';\n\nexport { MenuSeparator };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;;AAEzC,SAASC,EAAE,QAAQ,2BAA2B;AAC9C,SAASC,YAAY,QAAQ,gCAAgC;;AAE7D,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,gBAAgB,QAAQ,qBAAqB;;AAEtD,SAASC,MAAM,QAAQ,wBAAwB;;;;AAI/C,OAAO,IAAMC,qBAAqB,GAAG;EACnCC,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACA,SAASC,aAAaA,CAACC,KAAyB,EAAE;EAChD,IAAMC,KAAK,GAAGV,UAAU,CAACE,YAAY,CAAC;;EAEtC;IACEH,KAAA,CAAAY,aAAA,CAACR,aAAa,EAAKM,KAAK;IACtBV,KAAA,CAAAY,aAAA,CAACP,gBAAgB;IACd,UAAAQ,IAAA,EAAkB,KAAAC,GAAA,KAAfC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;MACV;QACEf,KAAA,CAAAY,aAAA;UACE,YAAUL,qBAAqB,CAACC,IAAK;UACrCQ,SAAS,EAAEd,EAAE,EAAAY,GAAA,OAAAA,GAAA,CAAIR,MAAM,CAACE,IAAI,CAACG,KAAK,CAAC,IAAG,IAAI,EAAAG,GAAA,CAAGR,MAAM,CAACW,UAAU,CAACN,KAAK,CAAC,IAAGI,QAAQ,EAAAD,GAAA,CAAE,CAAE;QACrF,CAAC;;IAEN;IACgB;IACL,CAAC;;AAEpB;;AAEAL,aAAa,CAACS,mBAAmB,GAAG,eAAe;AACnDT,aAAa,CAACU,WAAW,GAAG,eAAe;;AAE3C,SAASV,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["React","useContext","cx","ThemeContext","CommonWrapper","ResponsiveLayout","forwardRefAndName","styles","MenuSeparatorDataTids","root","MenuSeparator","props","ref","theme","createElement","_ref","_cx","isMobile","className","rootMobile"],"sources":["MenuSeparator.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport { cx } from '../../lib/theming/Emotion';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { ResponsiveLayout } from '../ResponsiveLayout';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\n\nimport { styles } from './MenuSeparator.styles';\n\nexport type MenuSeparatorProps = CommonProps;\n\nexport const MenuSeparatorDataTids = {\n root: 'MenuSeparator__root',\n} as const;\n\n/**\n * `MenuSeparator` добавляет разделительную линию между элементами меню.\n *\n * Сущности в которых может быть использован `MenuSeparator`: DropdownMenu, Kebab, TooltipMenu и Select.\n */\nconst MenuSeparator = forwardRefAndName(\n 'MenuSeparator',\n function MenuSeparator(props: MenuSeparatorProps, ref: React.Ref<HTMLDivElement>) {\n const theme = useContext(ThemeContext);\n\n return (\n <CommonWrapper {...props}>\n <ResponsiveLayout>\n {({ isMobile }) => {\n return (\n <div\n ref={ref}\n data-tid={MenuSeparatorDataTids.root}\n className={cx({ [styles.root(theme)]: true, [styles.rootMobile(theme)]: isMobile })}\n />\n );\n }}\n </ResponsiveLayout>\n </CommonWrapper>\n );\n },\n);\n\nexport { MenuSeparator };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;;AAEzC,SAASC,EAAE,QAAQ,2BAA2B;AAC9C,SAASC,YAAY,QAAQ,gCAAgC;;AAE7D,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,gBAAgB,QAAQ,qBAAqB;AACtD,SAASC,iBAAiB,QAAQ,6BAA6B;;AAE/D,SAASC,MAAM,QAAQ,wBAAwB;;;;AAI/C,OAAO,IAAMC,qBAAqB,GAAG;EACnCC,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACA,IAAMC,aAAa,GAAGJ,iBAAiB;EACrC,eAAe;EACf,SAASI,aAAaA,CAACC,KAAyB,EAAEC,GAA8B,EAAE;IAChF,IAAMC,KAAK,GAAGZ,UAAU,CAACE,YAAY,CAAC;;IAEtC;MACEH,KAAA,CAAAc,aAAA,CAACV,aAAa,EAAKO,KAAK;MACtBX,KAAA,CAAAc,aAAA,CAACT,gBAAgB;MACd,UAAAU,IAAA,EAAkB,KAAAC,GAAA,KAAfC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;QACV;UACEjB,KAAA,CAAAc,aAAA;YACEF,GAAG,EAAEA,GAAI;YACT,YAAUJ,qBAAqB,CAACC,IAAK;YACrCS,SAAS,EAAEhB,EAAE,EAAAc,GAAA,OAAAA,GAAA,CAAIT,MAAM,CAACE,IAAI,CAACI,KAAK,CAAC,IAAG,IAAI,EAAAG,GAAA,CAAGT,MAAM,CAACY,UAAU,CAACN,KAAK,CAAC,IAAGI,QAAQ,EAAAD,GAAA,CAAE,CAAE;UACrF,CAAC;;MAEN;MACgB;MACL,CAAC;;EAEpB;AACF,CAAC;;AAED,SAASN,aAAa","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- import React from 'react';
2
1
  import type { CommonProps } from '../../internal/CommonWrapper';
3
2
  export type MenuSeparatorProps = CommonProps;
4
3
  export declare const MenuSeparatorDataTids: {
@@ -9,9 +8,5 @@ export declare const MenuSeparatorDataTids: {
9
8
  *
10
9
  * Сущности в которых может быть использован `MenuSeparator`: DropdownMenu, Kebab, TooltipMenu и Select.
11
10
  */
12
- declare function MenuSeparator(props: MenuSeparatorProps): React.JSX.Element;
13
- declare namespace MenuSeparator {
14
- var __KONTUR_REACT_UI__: string;
15
- var displayName: string;
16
- }
11
+ declare const MenuSeparator: import("../../lib/forwardRefAndName").ReactUIComponentWithRef<HTMLDivElement, CommonProps> & Record<never, never>;
17
12
  export { MenuSeparator };
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- var _excluded = ["children", "theme"];
3
+ var _excluded = ["children", "theme", "mobileAppearance"];
4
4
  import React, { useContext } from 'react';
5
5
  import { Modal } from "../../Modal";
6
6
  import { ThemeContext } from "../../../lib/theming/ThemeContext";
@@ -27,6 +27,7 @@ export var MiniModalDataTids = {
27
27
  export var MiniModal = forwardRefAndName('MiniModal', function (_ref, ref) {
28
28
  var children = _ref.children,
29
29
  propsTheme = _ref.theme,
30
+ mobileAppearance = _ref.mobileAppearance,
30
31
  rest = _objectWithoutPropertiesLoose(_ref, _excluded);
31
32
  var contextTheme = useContext(ThemeContext);
32
33
  return /*#__PURE__*/(
@@ -35,6 +36,7 @@ export var MiniModal = forwardRefAndName('MiniModal', function (_ref, ref) {
35
36
  }, /*#__PURE__*/
36
37
  React.createElement(Modal, _extends({
37
38
  width: 400,
39
+ mobileAppearance: mobileAppearance != null ? mobileAppearance : 'center',
38
40
  noClose: true,
39
41
  ref: ref
40
42
  }, rest), children))
@@ -1 +1 @@
1
- {"version":3,"names":["React","useContext","Modal","ThemeContext","forwardRefAndName","getMiniModalTheme","MiniModalFooter","MiniModalHeader","MiniModalBody","MiniModalIndent","MiniModalDataTids","icon","title","description","actions","indent","MiniModal","_ref","ref","children","propsTheme","theme","rest","_objectWithoutPropertiesLoose","_excluded","contextTheme","createElement","Provider","value","_extends","width","noClose","Header","Footer","Indent","Body"],"sources":["MiniModal.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport type { ModalProps } from '../Modal';\nimport { Modal } from '../Modal';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\n\nimport { getMiniModalTheme } from './getMiniModalTheme';\nimport { MiniModalFooter } from './MiniModalFooter';\nimport { MiniModalHeader } from './MiniModalHeader';\nimport { MiniModalBody } from './MiniModalBody';\nimport { MiniModalIndent } from './MiniModalIndent';\n\nexport const MiniModalDataTids = {\n icon: 'MiniModal__icon',\n title: 'MiniModal__title',\n description: 'MiniModal__description',\n actions: 'MiniModal__actions',\n indent: 'MiniModal__indent',\n} as const;\n\n/**\n * `MiniModal` — модальное диалоговое окно, которое предполагает обязательный отклик пользователя по одному из доступных действий. Обёртка над Modal.\n * Закрытие окна по клику на фон или \"крестик\" не рекомендуется, т.к. у этих действий нет однозначного описания в отличие от кнопок с названиями, наподобие \"Сохранить\", \"Подтвердить\" и т.п.\n *\n * По макету предполагается, что все кнопки должны быть среднего размера `size = medium`.\n */\nexport const MiniModal = forwardRefAndName<\n Modal,\n ModalProps,\n {\n Header: typeof MiniModalHeader;\n Indent: typeof MiniModalIndent;\n Footer: typeof MiniModalFooter;\n Body: typeof MiniModalBody;\n }\n>('MiniModal', ({ children, theme: propsTheme, ...rest }, ref) => {\n const contextTheme = useContext(ThemeContext);\n\n return (\n <ThemeContext.Provider value={getMiniModalTheme(contextTheme, propsTheme)}>\n <Modal width={400} noClose ref={ref} {...rest}>\n {children}\n </Modal>\n </ThemeContext.Provider>\n );\n});\n\nMiniModal.Header = MiniModalHeader;\nMiniModal.Footer = MiniModalFooter;\nMiniModal.Indent = MiniModalIndent;\nMiniModal.Body = MiniModalBody;\n"],"mappings":"oMAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;;;AAGzC,SAASC,KAAK,QAAQ,UAAU;AAChC,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,SAASC,iBAAiB,QAAQ,6BAA6B;;AAE/D,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,eAAe,QAAQ,mBAAmB;;AAEnD,OAAO,IAAMC,iBAAiB,GAAG;EAC/BC,IAAI,EAAE,iBAAiB;EACvBC,KAAK,EAAE,kBAAkB;EACzBC,WAAW,EAAE,wBAAwB;EACrCC,OAAO,EAAE,oBAAoB;EAC7BC,MAAM,EAAE;AACV,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,SAAS,GAAGZ,iBAAiB;;;;;;;;;EASxC,WAAW,EAAE,UAAAa,IAAA,EAA2CC,GAAG,EAAK,KAAhDC,QAAQ,GAAAF,IAAA,CAARE,QAAQ,CAASC,UAAU,GAAAH,IAAA,CAAjBI,KAAK,CAAiBC,IAAI,GAAAC,6BAAA,CAAAN,IAAA,EAAAO,SAAA;IACpD,IAAMC,YAAY,GAAGxB,UAAU,CAACE,YAAY,CAAC;;IAE7C;MACEH,KAAA,CAAA0B,aAAA,CAACvB,YAAY,CAACwB,QAAQ,IAACC,KAAK,EAAEvB,iBAAiB,CAACoB,YAAY,EAAEL,UAAU,CAAE;MACxEpB,KAAA,CAAA0B,aAAA,CAACxB,KAAK,EAAA2B,QAAA,GAACC,KAAK,EAAE,GAAI,EAACC,OAAO,QAACb,GAAG,EAAEA,GAAI,IAAKI,IAAI;MAC1CH;MACI;MACc,CAAC;;EAE5B,CAAC,CAAC;;AAEFH,SAAS,CAACgB,MAAM,GAAGzB,eAAe;AAClCS,SAAS,CAACiB,MAAM,GAAG3B,eAAe;AAClCU,SAAS,CAACkB,MAAM,GAAGzB,eAAe;AAClCO,SAAS,CAACmB,IAAI,GAAG3B,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["React","useContext","Modal","ThemeContext","forwardRefAndName","getMiniModalTheme","MiniModalFooter","MiniModalHeader","MiniModalBody","MiniModalIndent","MiniModalDataTids","icon","title","description","actions","indent","MiniModal","_ref","ref","children","propsTheme","theme","mobileAppearance","rest","_objectWithoutPropertiesLoose","_excluded","contextTheme","createElement","Provider","value","_extends","width","noClose","Header","Footer","Indent","Body"],"sources":["MiniModal.tsx"],"sourcesContent":["import React, { useContext } from 'react';\n\nimport type { ModalProps } from '../Modal';\nimport { Modal } from '../Modal';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\n\nimport { getMiniModalTheme } from './getMiniModalTheme';\nimport { MiniModalFooter } from './MiniModalFooter';\nimport { MiniModalHeader } from './MiniModalHeader';\nimport { MiniModalBody } from './MiniModalBody';\nimport { MiniModalIndent } from './MiniModalIndent';\n\nexport const MiniModalDataTids = {\n icon: 'MiniModal__icon',\n title: 'MiniModal__title',\n description: 'MiniModal__description',\n actions: 'MiniModal__actions',\n indent: 'MiniModal__indent',\n} as const;\n\n/**\n * `MiniModal` — модальное диалоговое окно, которое предполагает обязательный отклик пользователя по одному из доступных действий. Обёртка над Modal.\n * Закрытие окна по клику на фон или \"крестик\" не рекомендуется, т.к. у этих действий нет однозначного описания в отличие от кнопок с названиями, наподобие \"Сохранить\", \"Подтвердить\" и т.п.\n *\n * По макету предполагается, что все кнопки должны быть среднего размера `size = medium`.\n */\nexport const MiniModal = forwardRefAndName<\n Modal,\n ModalProps,\n {\n Header: typeof MiniModalHeader;\n Indent: typeof MiniModalIndent;\n Footer: typeof MiniModalFooter;\n Body: typeof MiniModalBody;\n }\n>('MiniModal', ({ children, theme: propsTheme, mobileAppearance, ...rest }, ref) => {\n const contextTheme = useContext(ThemeContext);\n\n return (\n <ThemeContext.Provider value={getMiniModalTheme(contextTheme, propsTheme)}>\n <Modal width={400} mobileAppearance={mobileAppearance ?? 'center'} noClose ref={ref} {...rest}>\n {children}\n </Modal>\n </ThemeContext.Provider>\n );\n});\n\nMiniModal.Header = MiniModalHeader;\nMiniModal.Footer = MiniModalFooter;\nMiniModal.Indent = MiniModalIndent;\nMiniModal.Body = MiniModalBody;\n"],"mappings":"wNAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;;;AAGzC,SAASC,KAAK,QAAQ,UAAU;AAChC,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,SAASC,iBAAiB,QAAQ,6BAA6B;;AAE/D,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,eAAe,QAAQ,mBAAmB;;AAEnD,OAAO,IAAMC,iBAAiB,GAAG;EAC/BC,IAAI,EAAE,iBAAiB;EACvBC,KAAK,EAAE,kBAAkB;EACzBC,WAAW,EAAE,wBAAwB;EACrCC,OAAO,EAAE,oBAAoB;EAC7BC,MAAM,EAAE;AACV,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,SAAS,GAAGZ,iBAAiB;;;;;;;;;EASxC,WAAW,EAAE,UAAAa,IAAA,EAA6DC,GAAG,EAAK,KAAlEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ,CAASC,UAAU,GAAAH,IAAA,CAAjBI,KAAK,CAAcC,gBAAgB,GAAAL,IAAA,CAAhBK,gBAAgB,CAAKC,IAAI,GAAAC,6BAAA,CAAAP,IAAA,EAAAQ,SAAA;IACtE,IAAMC,YAAY,GAAGzB,UAAU,CAACE,YAAY,CAAC;;IAE7C;MACEH,KAAA,CAAA2B,aAAA,CAACxB,YAAY,CAACyB,QAAQ,IAACC,KAAK,EAAExB,iBAAiB,CAACqB,YAAY,EAAEN,UAAU,CAAE;MACxEpB,KAAA,CAAA2B,aAAA,CAACzB,KAAK,EAAA4B,QAAA,GAACC,KAAK,EAAE,GAAI,EAACT,gBAAgB,EAAEA,gBAAgB,WAAhBA,gBAAgB,GAAI,QAAS,EAACU,OAAO,QAACd,GAAG,EAAEA,GAAI,IAAKK,IAAI;MAC1FJ;MACI;MACc,CAAC;;EAE5B,CAAC,CAAC;;AAEFH,SAAS,CAACiB,MAAM,GAAG1B,eAAe;AAClCS,SAAS,CAACkB,MAAM,GAAG5B,eAAe;AAClCU,SAAS,CAACmB,MAAM,GAAG1B,eAAe;AAClCO,SAAS,CAACoB,IAAI,GAAG5B,aAAa","ignoreList":[]}
@@ -18,6 +18,8 @@ import { CommonWrapper } from "../../../internal/CommonWrapper";
18
18
  import { cx } from "../../../lib/theming/Emotion";
19
19
  import { createPropsGetter } from "../../../lib/createPropsGetter";
20
20
  import { ResponsiveLayout } from "../../ResponsiveLayout";
21
+ import { isThemeGTE } from "../../../lib/theming/ThemeHelpers";
22
+ import { catchUnreachableWarning } from "../../../lib/typeGuards";
21
23
  import { ModalContext } from "../ModalContext";
22
24
  import { ModalFooter } from "../ModalFooter";
23
25
  import { ModalHeader } from "../ModalHeader";
@@ -31,13 +33,17 @@ export var ModalDataTids = {
31
33
  content: 'modal-content',
32
34
  close: 'modal-close'
33
35
  };
36
+ export var ModalZIndexPriority = {
37
+ Cross: 2,
38
+ Content: 1
39
+ };
34
40
 
35
41
  /**
36
42
  * Модальное окно `Modal` — это эмуляция диалогового окна браузера, появляющегося поверх страницы в ответ на действия пользователя и блокирующего доступ к основному содержимому страницы.
37
43
  *
38
- * Содержит в себе три компонента: `Modal.Header`, `Modal.Body` и `Modal.Footer`.
44
+ * Состоит из 3-х компонентов: `Modal.Header`, `Modal.Body`, `Modal.Footer`.
39
45
  *
40
- * Для отображения серой плашки в футере в компонент `Footer` необходимо передать пропс `panel`.
46
+ * Для отображения серой плашки в футере в компонент `Footer` необходимо передать проп `panel`.
41
47
  *
42
48
  * Для отключения прилипания шапки и футера в соответствующий компонент нужно передать проп `sticky` со значением `false` (по-умолчанию прилипание включено).
43
49
  */
@@ -61,6 +67,28 @@ export var Modal = /*#__PURE__*/function (_React$Component) {
61
67
  _this.containerNode = null;
62
68
  _this.mouseDownTarget = null;
63
69
  _this.mouseUpTarget = null;
70
+ _this.getMobileContainerClassName = function () {
71
+ var mobileAppearance = _this.getProps().mobileAppearance;
72
+ switch (mobileAppearance) {
73
+ case 'fullscreen-spacing':
74
+ return;
75
+ case 'auto':
76
+ if (_this.state.hasFooter) {
77
+ return;
78
+ }
79
+ return [styles.mobileContainerSmall5_2()];
80
+ case 'fullscreen':
81
+ return [styles.mobileContainerFullscreen5_2()];
82
+ case 'center':
83
+ return [styles.mobileContainerSmall5_2()];
84
+ case 'bottom':
85
+ return [styles.mobileContainerSmall5_2(), styles.mobileContainerSmallBottom5_2()];
86
+ case 'top':
87
+ return [styles.mobileContainerSmall5_2(), styles.mobileContainerSmallTop5_2()];
88
+ default:
89
+ return catchUnreachableWarning(mobileAppearance, false);
90
+ }
91
+ };
64
92
  _this.requestClose = function () {
65
93
  if (_this.props.disableClose) {
66
94
  return;
@@ -183,6 +211,7 @@ export var Modal = /*#__PURE__*/function (_React$Component) {
183
211
  noClose = _this$props.noClose,
184
212
  disableClose = _this$props.disableClose,
185
213
  width = _this$props.width,
214
+ mobileAppearance = _this$props.mobileAppearance,
186
215
  alignTop = _this$props.alignTop,
187
216
  children = _this$props.children,
188
217
  ariaLabel = _this$props['aria-label'],
@@ -199,7 +228,8 @@ export var Modal = /*#__PURE__*/function (_React$Component) {
199
228
  horizontalScroll: this.state.horizontalScroll,
200
229
  setHasHeader: this.setHasHeader,
201
230
  setHasFooter: this.setHasFooter,
202
- setHasPanel: this.setHasPanel
231
+ setHasPanel: this.setHasPanel,
232
+ mobileOnFullScreen: this.props.mobileAppearance === 'fullscreen'
203
233
  };
204
234
  if (!noClose) {
205
235
  modalContextProps.close = {
@@ -210,6 +240,7 @@ export var Modal = /*#__PURE__*/function (_React$Component) {
210
240
  if (!hasFooter || hasPanel) {
211
241
  modalContextProps.additionalPadding = true;
212
242
  }
243
+ var versionGTE5_2 = isThemeGTE(this.theme, '5.2');
213
244
  var style = {};
214
245
  var containerStyle = {};
215
246
  if (width) {
@@ -217,6 +248,13 @@ export var Modal = /*#__PURE__*/function (_React$Component) {
217
248
  } else {
218
249
  containerStyle.width = 'auto';
219
250
  }
251
+ var getMobileCenterContainerClassNames = function getMobileCenterContainerClassNames() {
252
+ if (versionGTE5_2) {
253
+ var _cx;
254
+ return cx(styles.mobileCenterContainer5_2(_this3.theme), (_cx = {}, _cx[styles.mobileCenterContainerBig5_2(_this3.theme)] = mobileAppearance === 'fullscreen-spacing' || mobileAppearance === 'auto' && hasFooter, _cx[styles.mobileCenterContainerFullscreen5_2()] = mobileAppearance === 'fullscreen', _cx));
255
+ }
256
+ return cx(styles.mobileCenterContainer());
257
+ };
220
258
  return /*#__PURE__*/React.createElement(RenderContainer, null, /*#__PURE__*/React.createElement(CommonWrapper, this.props, /*#__PURE__*/React.createElement(ZIndex, {
221
259
  priority: 'Modal',
222
260
  className: styles.root()
@@ -226,12 +264,12 @@ export var Modal = /*#__PURE__*/function (_React$Component) {
226
264
  onClick: this.handleContainerClick,
227
265
  className: styles.bg(this.theme)
228
266
  }), /*#__PURE__*/React.createElement(ResponsiveLayout, null, function (_ref) {
229
- var _cx, _cx2, _cx3, _cx4, _cx5;
267
+ var _cx2, _cx3, _cx4, _cx5, _cx6;
230
268
  var isMobile = _ref.isMobile;
231
269
  return /*#__PURE__*/React.createElement("div", {
232
270
  "aria-labelledby": ariaLabelledby,
233
271
  ref: _this3.refContainer,
234
- className: cx(styles.container(), isMobile && styles.containerMobile(_this3.theme)),
272
+ className: cx(styles.container(), versionGTE5_2 && styles.container5_2(), (!versionGTE5_2 || !isMobile) && styles.containerDesktop(), !versionGTE5_2 && isMobile && styles.containerMobile(_this3.theme), versionGTE5_2 && isMobile && _this3.getMobileContainerClassName()),
235
273
  onMouseDown: _this3.handleContainerMouseDown,
236
274
  onMouseUp: _this3.handleContainerMouseUp,
237
275
  onClick: _this3.handleContainerClick,
@@ -240,11 +278,11 @@ export var Modal = /*#__PURE__*/function (_React$Component) {
240
278
  "aria-modal": true,
241
279
  "aria-label": ariaLabel,
242
280
  role: role,
243
- className: cx((_cx = {}, _cx[styles.centerContainer()] = true, _cx[styles.mobileCenterContainer()] = isMobile, _cx[styles.alignTop()] = Boolean(alignTop), _cx)),
281
+ className: cx((_cx2 = {}, _cx2[styles.centerContainer()] = true, _cx2[getMobileCenterContainerClassNames()] = isMobile, _cx2[styles.alignTop()] = Boolean(alignTop), _cx2)),
244
282
  style: isMobile ? undefined : containerStyle,
245
283
  "data-tid": ModalDataTids.content
246
284
  }, /*#__PURE__*/React.createElement("div", {
247
- className: cx((_cx2 = {}, _cx2[styles.window(_this3.theme)] = true, _cx2[styles.mobileWindow()] = isMobile, _cx2)),
285
+ className: cx((_cx3 = {}, _cx3[styles.window(_this3.theme)] = true, _cx3[styles.mobileWindow()] = isMobile, _cx3[styles.mobileWindowFullscreen5_2()] = versionGTE5_2 && isMobile && mobileAppearance === 'fullscreen', _cx3)),
248
286
  style: isMobile ? undefined : style
249
287
  }, /*#__PURE__*/React.createElement(ResizeDetector, {
250
288
  onResize: _this3.handleResize,
@@ -252,11 +290,12 @@ export var Modal = /*#__PURE__*/function (_React$Component) {
252
290
  }, /*#__PURE__*/React.createElement(FocusLock, {
253
291
  disabled: disableFocusLock,
254
292
  autoFocus: false,
255
- className: cx((_cx3 = {}, _cx3[styles.columnFlexContainer()] = isMobile, _cx3), 'focus-lock-container')
293
+ className: cx((_cx4 = {}, _cx4[styles.columnFlexContainer()] = isMobile, _cx4), 'focus-lock-container')
256
294
  }, !hasHeader && !noClose && /*#__PURE__*/React.createElement(ZIndex, {
257
- className: cx((_cx4 = {}, _cx4[styles.closeWrapper(_this3.theme)] = true, _cx4[styles.mobileCloseWrapper(_this3.theme)] = isMobile, _cx4))
295
+ priority: ModalZIndexPriority.Cross,
296
+ className: cx((_cx5 = {}, _cx5[styles.closeWrapper(_this3.theme)] = true, _cx5[styles.mobileCloseWrapper(_this3.theme)] = isMobile, _cx5[styles.mobileCloseWrapper5_2(_this3.theme)] = versionGTE5_2 && isMobile, _cx5))
258
297
  }, /*#__PURE__*/React.createElement(ModalClose, {
259
- className: cx((_cx5 = {}, _cx5[styles.mobileCloseWithoutHeader()] = isMobile && !_this3.state.hasHeader, _cx5)),
298
+ className: cx((_cx6 = {}, _cx6[styles.mobileCloseWithoutHeader()] = isMobile && !_this3.state.hasHeader, _cx6[styles.mobileCloseWithoutHeader5_2(_this3.theme)] = versionGTE5_2 && isMobile && !_this3.state.hasHeader, _cx6)),
260
299
  requestClose: _this3.requestClose,
261
300
  disableClose: disableClose
262
301
  })), /*#__PURE__*/React.createElement(ModalContext.Provider, {
@@ -274,5 +313,6 @@ Modal.Footer = ModalFooter;
274
313
  Modal.defaultProps = {
275
314
  // NOTE: в ie нормально не работает
276
315
  disableFocusLock: isIE11,
277
- role: 'dialog'
316
+ role: 'dialog',
317
+ mobileAppearance: 'auto'
278
318
  };