@skbkontur/react-ui 0.0.0-6dd088a035 → 0.0.0-70dd810c5c

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 (708) hide show
  1. package/CHANGELOG.md +129 -0
  2. package/README.md +7 -7
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +6 -23
  4. package/cjs/components/Autocomplete/Autocomplete.js +49 -46
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +2 -0
  7. package/cjs/components/Button/Button.js +32 -4
  8. package/cjs/components/Button/Button.js.map +1 -1
  9. package/cjs/components/Button/Button.styles.d.ts +6 -0
  10. package/cjs/components/Button/Button.styles.js +109 -76
  11. package/cjs/components/Button/Button.styles.js.map +1 -1
  12. package/cjs/components/Calendar/Calendar.d.ts +2 -0
  13. package/cjs/components/Calendar/Calendar.js +1 -0
  14. package/cjs/components/Calendar/Calendar.js.map +1 -1
  15. package/cjs/components/Calendar/CalendarDay.js +18 -2
  16. package/cjs/components/Calendar/CalendarDay.js.map +1 -1
  17. package/cjs/components/Calendar/DayCellView.js +7 -15
  18. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  19. package/cjs/components/Center/Center.d.ts +2 -0
  20. package/cjs/components/Center/Center.js +1 -0
  21. package/cjs/components/Center/Center.js.map +1 -1
  22. package/cjs/components/Checkbox/Checkbox.d.ts +2 -12
  23. package/cjs/components/Checkbox/Checkbox.js +2 -14
  24. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  25. package/cjs/components/ComboBox/ComboBox.d.ts +2 -0
  26. package/cjs/components/ComboBox/ComboBox.js +1 -0
  27. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  28. package/cjs/components/ComboBox/ComboBox.md +2 -2
  29. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  30. package/cjs/components/CurrencyInput/CurrencyInput.js +5 -28
  31. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  32. package/cjs/components/CurrencyInput/constants.js +1 -2
  33. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  34. package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -28
  35. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  36. package/cjs/components/DateInput/DateInput.d.ts +2 -0
  37. package/cjs/components/DateInput/DateInput.js +20 -11
  38. package/cjs/components/DateInput/DateInput.js.map +1 -1
  39. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  40. package/cjs/components/DateInput/helpers/InternalDateMediator.js +10 -1
  41. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  42. package/cjs/components/DatePicker/DatePicker.d.ts +6 -33
  43. package/cjs/components/DatePicker/DatePicker.js +6 -60
  44. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  45. package/cjs/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  46. package/cjs/components/DateRangePicker/DateRangePicker.js +61 -23
  47. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  48. package/cjs/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  49. package/cjs/components/DateRangePicker/DateRangePicker.styles.js +13 -18
  50. package/cjs/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
  51. package/cjs/components/DateRangePicker/DateRangePickerInput.js +4 -8
  52. package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  53. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +17 -17
  54. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
  55. package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
  56. package/cjs/components/Dropdown/Dropdown.js +2 -82
  57. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  58. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  59. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -0
  60. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  61. package/cjs/components/DropdownMenu/DropdownMenu.md +8 -8
  62. package/cjs/components/FileUploader/FileUploader.js +26 -10
  63. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  64. package/cjs/components/FxInput/FxInput.d.ts +3 -6
  65. package/cjs/components/FxInput/FxInput.js +2 -7
  66. package/cjs/components/FxInput/FxInput.js.map +1 -1
  67. package/cjs/components/Gapped/Gapped.d.ts +2 -15
  68. package/cjs/components/Gapped/Gapped.js +1 -24
  69. package/cjs/components/Gapped/Gapped.js.map +1 -1
  70. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  71. package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
  72. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  73. package/cjs/components/Group/Group.d.ts +5 -4
  74. package/cjs/components/Group/Group.js +91 -40
  75. package/cjs/components/Group/Group.js.map +1 -1
  76. package/cjs/components/Group/Group.md +4 -4
  77. package/cjs/components/Group/Group.styles.d.ts +1 -0
  78. package/cjs/components/Group/Group.styles.js +12 -6
  79. package/cjs/components/Group/Group.styles.js.map +1 -1
  80. package/cjs/components/Hint/Hint.d.ts +2 -0
  81. package/cjs/components/Hint/Hint.js +5 -4
  82. package/cjs/components/Hint/Hint.js.map +1 -1
  83. package/cjs/components/Input/Input.d.ts +2 -0
  84. package/cjs/components/Input/Input.js +1 -0
  85. package/cjs/components/Input/Input.js.map +1 -1
  86. package/cjs/components/Input/Input.md +4 -5
  87. package/cjs/components/Kebab/Kebab.d.ts +2 -1
  88. package/cjs/components/Kebab/Kebab.js +2 -26
  89. package/cjs/components/Kebab/Kebab.js.map +1 -1
  90. package/cjs/components/Kebab/Kebab.md +32 -32
  91. package/cjs/components/Link/Link.d.ts +2 -0
  92. package/cjs/components/Link/Link.js +6 -0
  93. package/cjs/components/Link/Link.js.map +1 -1
  94. package/cjs/components/Link/Link.mixins.js +1 -2
  95. package/cjs/components/Link/Link.mixins.js.map +1 -1
  96. package/cjs/components/Link/Link.styles.js +3 -2
  97. package/cjs/components/Link/Link.styles.js.map +1 -1
  98. package/cjs/components/Loader/Loader.d.ts +6 -36
  99. package/cjs/components/Loader/Loader.js +3 -57
  100. package/cjs/components/Loader/Loader.js.map +1 -1
  101. package/cjs/components/MaskedInput/MaskedInput.d.ts +1 -0
  102. package/cjs/components/MaskedInput/MaskedInput.js +17 -1
  103. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  104. package/cjs/components/MenuItem/MenuItem.d.ts +2 -12
  105. package/cjs/components/MenuItem/MenuItem.js +2 -22
  106. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  107. package/cjs/components/MenuItem/MenuItem.md +6 -6
  108. package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
  109. package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
  110. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
  111. package/cjs/components/MiniModal/MiniModalBody.js +17 -2
  112. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
  113. package/cjs/components/Modal/Modal.js +4 -2
  114. package/cjs/components/Modal/Modal.js.map +1 -1
  115. package/cjs/components/Modal/Modal.styles.d.ts +2 -1
  116. package/cjs/components/Modal/Modal.styles.js +40 -32
  117. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  118. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  119. package/cjs/components/Modal/ModalBody.js +1 -0
  120. package/cjs/components/Modal/ModalBody.js.map +1 -1
  121. package/cjs/components/Modal/ModalHeader.d.ts +5 -0
  122. package/cjs/components/Modal/ModalHeader.js +8 -1
  123. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  124. package/cjs/components/Modal/ModalSeparator.js +1 -1
  125. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  126. package/cjs/components/Paging/DotsIcon.d.ts +3 -0
  127. package/cjs/components/Paging/DotsIcon.js +13 -0
  128. package/cjs/components/Paging/DotsIcon.js.map +1 -0
  129. package/cjs/components/Paging/ForwardIcon.d.ts +3 -0
  130. package/cjs/components/Paging/ForwardIcon.js +13 -1
  131. package/cjs/components/Paging/ForwardIcon.js.map +1 -1
  132. package/cjs/components/Paging/NavigationHelper.d.ts +3 -2
  133. package/cjs/components/Paging/NavigationHelper.js +8 -6
  134. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  135. package/cjs/components/Paging/Paging.d.ts +13 -2
  136. package/cjs/components/Paging/Paging.js +120 -50
  137. package/cjs/components/Paging/Paging.js.map +1 -1
  138. package/cjs/components/Paging/Paging.styles.d.ts +24 -1
  139. package/cjs/components/Paging/Paging.styles.js +151 -22
  140. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  141. package/cjs/components/Paging/PagingHelper.d.ts +1 -1
  142. package/cjs/components/Paging/PagingHelper.js +18 -11
  143. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  144. package/cjs/components/PasswordInput/PasswordInput.d.ts +2 -7
  145. package/cjs/components/PasswordInput/PasswordInput.js +2 -11
  146. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  147. package/cjs/components/Radio/Radio.d.ts +2 -0
  148. package/cjs/components/Radio/Radio.js +1 -0
  149. package/cjs/components/Radio/Radio.js.map +1 -1
  150. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -0
  151. package/cjs/components/RadioGroup/RadioGroup.js +2 -1
  152. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  153. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -1
  154. package/cjs/components/RadioGroup/RadioGroup.styles.js +1 -1
  155. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  156. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  157. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -11
  158. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  159. package/cjs/components/Select/Select.d.ts +5 -0
  160. package/cjs/components/Select/Select.js +5 -1
  161. package/cjs/components/Select/Select.js.map +1 -1
  162. package/cjs/components/Select/Select.md +3 -3
  163. package/cjs/components/SidePage/SidePage.js +1 -1
  164. package/cjs/components/SidePage/SidePage.js.map +1 -1
  165. package/cjs/components/SidePage/SidePage.styles.d.ts +3 -1
  166. package/cjs/components/SidePage/SidePage.styles.js +52 -38
  167. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  168. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  169. package/cjs/components/SidePage/SidePageBody.js +1 -0
  170. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  171. package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
  172. package/cjs/components/SidePage/SidePageContainer.js +1 -0
  173. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  174. package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
  175. package/cjs/components/SidePage/SidePageFooter.js +1 -0
  176. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  177. package/cjs/components/SidePage/SidePageHeader.d.ts +12 -2
  178. package/cjs/components/SidePage/SidePageHeader.js +63 -19
  179. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  180. package/cjs/components/SingleToast/SingleToast.d.ts +3 -3
  181. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  182. package/cjs/components/Spinner/Spinner.d.ts +2 -18
  183. package/cjs/components/Spinner/Spinner.js +2 -32
  184. package/cjs/components/Spinner/Spinner.js.map +1 -1
  185. package/cjs/components/Sticky/Sticky.d.ts +5 -13
  186. package/cjs/components/Sticky/Sticky.js +12 -18
  187. package/cjs/components/Sticky/Sticky.js.map +1 -1
  188. package/cjs/components/Switcher/Switcher.d.ts +6 -21
  189. package/cjs/components/Switcher/Switcher.js +11 -20
  190. package/cjs/components/Switcher/Switcher.js.map +1 -1
  191. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
  192. package/cjs/components/Switcher/Switcher.styles.js +17 -9
  193. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  194. package/cjs/components/Tabs/Indicator.d.ts +2 -0
  195. package/cjs/components/Tabs/Indicator.js +1 -0
  196. package/cjs/components/Tabs/Indicator.js.map +1 -1
  197. package/cjs/components/Tabs/Tab.d.ts +2 -0
  198. package/cjs/components/Tabs/Tab.js +1 -0
  199. package/cjs/components/Tabs/Tab.js.map +1 -1
  200. package/cjs/components/Tabs/Tabs.d.ts +2 -0
  201. package/cjs/components/Tabs/Tabs.js +1 -0
  202. package/cjs/components/Tabs/Tabs.js.map +1 -1
  203. package/cjs/components/Textarea/Textarea.d.ts +2 -44
  204. package/cjs/components/Textarea/Textarea.js +16 -68
  205. package/cjs/components/Textarea/Textarea.js.map +1 -1
  206. package/cjs/components/Textarea/TextareaCounter.js +2 -13
  207. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  208. package/cjs/components/Toast/Toast.d.ts +6 -2
  209. package/cjs/components/Toast/Toast.js +12 -2
  210. package/cjs/components/Toast/Toast.js.map +1 -1
  211. package/cjs/components/Toast/ToastView.d.ts +2 -14
  212. package/cjs/components/Toast/ToastView.js +3 -22
  213. package/cjs/components/Toast/ToastView.js.map +1 -1
  214. package/cjs/components/Toggle/Toggle.d.ts +3 -10
  215. package/cjs/components/Toggle/Toggle.js +6 -13
  216. package/cjs/components/Toggle/Toggle.js.map +1 -1
  217. package/cjs/components/Token/Token.d.ts +2 -0
  218. package/cjs/components/Token/Token.js +1 -0
  219. package/cjs/components/Token/Token.js.map +1 -1
  220. package/cjs/components/Token/Token.md +0 -83
  221. package/cjs/components/TokenInput/TokenInput.d.ts +4 -2
  222. package/cjs/components/TokenInput/TokenInput.js +3 -1
  223. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  224. package/cjs/components/TokenInput/TokenInput.md +2 -33
  225. package/cjs/components/TokenInput/TokenInputMenu.d.ts +12 -3
  226. package/cjs/components/TokenInput/TokenInputMenu.js +23 -1
  227. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  228. package/cjs/components/Tooltip/Tooltip.d.ts +14 -9
  229. package/cjs/components/Tooltip/Tooltip.js +95 -13
  230. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  231. package/cjs/components/Tooltip/Tooltip.md +8 -8
  232. package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
  233. package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
  234. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  235. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  236. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -0
  237. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  238. package/cjs/components/TooltipMenu/TooltipMenu.md +12 -12
  239. package/cjs/components/__stories__/iframe.creevey.mts +124 -0
  240. package/cjs/components/__stories__/iframeStoriesImplementation.js +73 -0
  241. package/cjs/components/__stories__/iframeStoriesImplementation.js.map +1 -0
  242. package/cjs/index.d.ts +1 -0
  243. package/cjs/index.js.map +1 -1
  244. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  245. package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
  246. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  247. package/cjs/internal/ComponentTable.js +2 -3
  248. package/cjs/internal/ComponentTable.js.map +1 -1
  249. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +2 -0
  250. package/cjs/internal/CustomComboBox/ComboBoxView.js +3 -1
  251. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  252. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +2 -0
  253. package/cjs/internal/CustomComboBox/CustomComboBox.js +1 -0
  254. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  255. package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
  256. package/cjs/internal/DateSelect/DateSelect.js +12 -18
  257. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  258. package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
  259. package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
  260. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  261. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +7 -3
  262. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +36 -13
  263. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  264. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
  265. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  266. package/cjs/internal/InputLikeText/InputLikeText.d.ts +2 -0
  267. package/cjs/internal/InputLikeText/InputLikeText.js +1 -0
  268. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  269. package/cjs/internal/Menu/Menu.d.ts +2 -0
  270. package/cjs/internal/Menu/Menu.js +1 -0
  271. package/cjs/internal/Menu/Menu.js.map +1 -1
  272. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
  273. package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
  274. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  275. package/cjs/internal/Popup/Popup.d.ts +43 -60
  276. package/cjs/internal/Popup/Popup.js +41 -81
  277. package/cjs/internal/Popup/Popup.js.map +1 -1
  278. package/cjs/internal/Popup/PopupPin.d.ts +23 -33
  279. package/cjs/internal/Popup/PopupPin.js +2 -35
  280. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  281. package/cjs/internal/Popup/PopupPinNew.d.ts +31 -0
  282. package/cjs/internal/Popup/PopupPinNew.js +180 -0
  283. package/cjs/internal/Popup/PopupPinNew.js.map +1 -0
  284. package/cjs/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  285. package/cjs/internal/Popup/PopupPinNew.styles.js +33 -0
  286. package/cjs/internal/Popup/PopupPinNew.styles.js.map +1 -0
  287. package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
  288. package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
  289. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  290. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  291. package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
  292. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  293. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
  294. package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
  295. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  296. package/cjs/internal/ThemePlayground/Playground.js +16 -16
  297. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  298. package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
  299. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  300. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
  301. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  302. package/cjs/internal/ThemePlayground/SizesGroup.js +4 -4
  303. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  304. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +1 -1
  305. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  306. package/cjs/internal/ThemePlayground/VariableValue.js +4 -4
  307. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  308. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  309. package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
  310. package/cjs/internal/ZIndex/ZIndex.js +5 -1
  311. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  312. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  313. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
  314. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
  315. package/cjs/internal/themes/BasicTheme.d.ts +114 -20
  316. package/cjs/internal/themes/BasicTheme.js +152 -19
  317. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  318. package/cjs/internal/themes/DarkTheme5_2.js +1 -1
  319. package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
  320. package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
  321. package/cjs/internal/themes/DarkTheme5_3.js +13 -0
  322. package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
  323. package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
  324. package/cjs/internal/themes/LightTheme5_3.js +13 -0
  325. package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
  326. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  327. package/cjs/lib/date/InternalDateGetter.js +8 -1
  328. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  329. package/cjs/lib/delay.mts +3 -0
  330. package/cjs/lib/events/keyListener.d.ts +7 -0
  331. package/cjs/lib/events/keyListener.js +21 -2
  332. package/cjs/lib/events/keyListener.js.map +1 -1
  333. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +9 -2
  334. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +9 -2
  335. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +16 -2
  336. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  337. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  338. package/cjs/lib/forwardRefAndName.js +0 -1
  339. package/cjs/lib/forwardRefAndName.js.map +1 -1
  340. package/cjs/lib/getMenuPositions.d.ts +21 -1
  341. package/cjs/lib/getMenuPositions.js +45 -8
  342. package/cjs/lib/getMenuPositions.js.map +1 -1
  343. package/cjs/lib/globalObject.d.ts +18 -0
  344. package/cjs/lib/globalObject.js +45 -0
  345. package/cjs/lib/globalObject.js.map +1 -0
  346. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  347. package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
  348. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  349. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  350. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  351. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -0
  352. package/cjs/lib/theming/themes/DarkTheme.js +4 -2
  353. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  354. package/cjs/lib/theming/themes/LightTheme.d.ts +1 -0
  355. package/cjs/lib/theming/themes/LightTheme.js +4 -2
  356. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  357. package/cjs/lib/utils.d.ts +4 -0
  358. package/cjs/lib/utils.js +5 -1
  359. package/cjs/lib/utils.js.map +1 -1
  360. package/components/Autocomplete/Autocomplete/Autocomplete.js +49 -45
  361. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  362. package/components/Autocomplete/Autocomplete.d.ts +6 -23
  363. package/components/Button/Button/Button.js +29 -7
  364. package/components/Button/Button/Button.js.map +1 -1
  365. package/components/Button/Button.d.ts +2 -0
  366. package/components/Button/Button.styles/Button.styles.js +79 -61
  367. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  368. package/components/Button/Button.styles.d.ts +6 -0
  369. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  370. package/components/Calendar/Calendar.d.ts +2 -0
  371. package/components/Calendar/CalendarDay/CalendarDay.js +9 -2
  372. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
  373. package/components/Calendar/DayCellView/DayCellView.js +6 -10
  374. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  375. package/components/Center/Center/Center.js.map +1 -1
  376. package/components/Center/Center.d.ts +2 -0
  377. package/components/Checkbox/Checkbox/Checkbox.js +0 -11
  378. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  379. package/components/Checkbox/Checkbox.d.ts +2 -12
  380. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  381. package/components/ComboBox/ComboBox.d.ts +2 -0
  382. package/components/ComboBox/ComboBox.md +2 -2
  383. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +12 -36
  384. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  385. package/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  386. package/components/CurrencyInput/constants/constants.js +0 -1
  387. package/components/CurrencyInput/constants/constants.js.map +1 -1
  388. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
  389. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  390. package/components/DateInput/DateInput/DateInput.js +14 -11
  391. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  392. package/components/DateInput/DateInput.d.ts +2 -0
  393. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
  394. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  395. package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  396. package/components/DatePicker/DatePicker/DatePicker.js +1 -32
  397. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  398. package/components/DatePicker/DatePicker.d.ts +6 -33
  399. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +41 -22
  400. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  401. package/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  402. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js +12 -15
  403. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js.map +1 -1
  404. package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  405. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +5 -8
  406. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
  407. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +16 -15
  408. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +1 -1
  409. package/components/Dropdown/Dropdown/Dropdown.js +1 -47
  410. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  411. package/components/Dropdown/Dropdown.d.ts +2 -47
  412. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  413. package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  414. package/components/DropdownMenu/DropdownMenu.md +8 -8
  415. package/components/FileUploader/FileUploader/FileUploader.js +19 -8
  416. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  417. package/components/FxInput/FxInput/FxInput.js +1 -5
  418. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  419. package/components/FxInput/FxInput.d.ts +3 -6
  420. package/components/Gapped/Gapped/Gapped.js +1 -15
  421. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  422. package/components/Gapped/Gapped.d.ts +2 -15
  423. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  424. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  425. package/components/Group/Group/Group.js +64 -28
  426. package/components/Group/Group/Group.js.map +1 -1
  427. package/components/Group/Group.d.ts +5 -4
  428. package/components/Group/Group.md +4 -4
  429. package/components/Group/Group.styles/Group.styles.js +9 -6
  430. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  431. package/components/Group/Group.styles.d.ts +1 -0
  432. package/components/Hint/Hint/Hint.js +5 -5
  433. package/components/Hint/Hint/Hint.js.map +1 -1
  434. package/components/Hint/Hint.d.ts +2 -0
  435. package/components/Input/Input/Input.js.map +1 -1
  436. package/components/Input/Input.d.ts +2 -0
  437. package/components/Input/Input.md +4 -5
  438. package/components/Kebab/Kebab/Kebab.js +2 -20
  439. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  440. package/components/Kebab/Kebab.d.ts +2 -1
  441. package/components/Kebab/Kebab.md +32 -32
  442. package/components/Link/Link/Link.js +4 -0
  443. package/components/Link/Link/Link.js.map +1 -1
  444. package/components/Link/Link.d.ts +2 -0
  445. package/components/Link/Link.mixins/Link.mixins.js +1 -1
  446. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  447. package/components/Link/Link.styles/Link.styles.js +1 -1
  448. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  449. package/components/Loader/Loader/Loader.js +0 -33
  450. package/components/Loader/Loader/Loader.js.map +1 -1
  451. package/components/Loader/Loader.d.ts +6 -36
  452. package/components/MaskedInput/MaskedInput/MaskedInput.js +14 -0
  453. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  454. package/components/MaskedInput/MaskedInput.d.ts +1 -0
  455. package/components/MenuItem/MenuItem/MenuItem.js +1 -12
  456. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  457. package/components/MenuItem/MenuItem.d.ts +2 -12
  458. package/components/MenuItem/MenuItem.md +6 -6
  459. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
  460. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
  461. package/components/MiniModal/MiniModal.styles.d.ts +1 -0
  462. package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
  463. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
  464. package/components/Modal/Modal/Modal.js +3 -1
  465. package/components/Modal/Modal/Modal.js.map +1 -1
  466. package/components/Modal/Modal.styles/Modal.styles.js +32 -29
  467. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  468. package/components/Modal/Modal.styles.d.ts +2 -1
  469. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  470. package/components/Modal/ModalBody.d.ts +2 -0
  471. package/components/Modal/ModalHeader/ModalHeader.js +3 -1
  472. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  473. package/components/Modal/ModalHeader.d.ts +5 -0
  474. package/components/Modal/ModalSeparator/ModalSeparator.js +1 -1
  475. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  476. package/components/Paging/DotsIcon/DotsIcon.js +14 -0
  477. package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
  478. package/components/Paging/DotsIcon/package.json +6 -0
  479. package/components/Paging/DotsIcon.d.ts +3 -0
  480. package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
  481. package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
  482. package/components/Paging/ForwardIcon.d.ts +3 -0
  483. package/components/Paging/NavigationHelper/NavigationHelper.js +9 -8
  484. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  485. package/components/Paging/NavigationHelper.d.ts +3 -2
  486. package/components/Paging/Paging/Paging.js +96 -47
  487. package/components/Paging/Paging/Paging.js.map +1 -1
  488. package/components/Paging/Paging.d.ts +13 -2
  489. package/components/Paging/Paging.styles/Paging.styles.js +77 -16
  490. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  491. package/components/Paging/Paging.styles.d.ts +24 -1
  492. package/components/Paging/PagingHelper/PagingHelper.js +16 -8
  493. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  494. package/components/Paging/PagingHelper.d.ts +1 -1
  495. package/components/PasswordInput/PasswordInput/PasswordInput.js +1 -7
  496. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  497. package/components/PasswordInput/PasswordInput.d.ts +2 -7
  498. package/components/Radio/Radio/Radio.js.map +1 -1
  499. package/components/Radio/Radio.d.ts +2 -0
  500. package/components/RadioGroup/RadioGroup/RadioGroup.js +1 -1
  501. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  502. package/components/RadioGroup/RadioGroup.d.ts +2 -0
  503. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +1 -1
  504. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  505. package/components/RadioGroup/RadioGroup.styles.d.ts +1 -1
  506. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
  507. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  508. package/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  509. package/components/Select/Select/Select.js +3 -2
  510. package/components/Select/Select/Select.js.map +1 -1
  511. package/components/Select/Select.d.ts +5 -0
  512. package/components/Select/Select.md +3 -3
  513. package/components/SidePage/SidePage/SidePage.js +1 -1
  514. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  515. package/components/SidePage/SidePage.styles/SidePage.styles.js +41 -35
  516. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  517. package/components/SidePage/SidePage.styles.d.ts +3 -1
  518. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  519. package/components/SidePage/SidePageBody.d.ts +2 -0
  520. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  521. package/components/SidePage/SidePageContainer.d.ts +2 -0
  522. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  523. package/components/SidePage/SidePageFooter.d.ts +2 -0
  524. package/components/SidePage/SidePageHeader/SidePageHeader.js +62 -35
  525. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  526. package/components/SidePage/SidePageHeader.d.ts +12 -2
  527. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  528. package/components/SingleToast/SingleToast.d.ts +3 -3
  529. package/components/Spinner/Spinner/Spinner.js +1 -18
  530. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  531. package/components/Spinner/Spinner.d.ts +2 -18
  532. package/components/Sticky/Sticky/Sticky.js +10 -14
  533. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  534. package/components/Sticky/Sticky.d.ts +5 -13
  535. package/components/Switcher/Switcher/Switcher.js +19 -16
  536. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  537. package/components/Switcher/Switcher.d.ts +6 -21
  538. package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
  539. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  540. package/components/Switcher/Switcher.styles.d.ts +1 -0
  541. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  542. package/components/Tabs/Indicator.d.ts +2 -0
  543. package/components/Tabs/Tab/Tab.js.map +1 -1
  544. package/components/Tabs/Tab.d.ts +2 -0
  545. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  546. package/components/Tabs/Tabs.d.ts +2 -0
  547. package/components/Textarea/Textarea/Textarea.js +10 -51
  548. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  549. package/components/Textarea/Textarea.d.ts +2 -44
  550. package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
  551. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  552. package/components/Toast/Toast/Toast.js +6 -8
  553. package/components/Toast/Toast/Toast.js.map +1 -1
  554. package/components/Toast/Toast.d.ts +6 -2
  555. package/components/Toast/ToastView/ToastView.js +3 -17
  556. package/components/Toast/ToastView/ToastView.js.map +1 -1
  557. package/components/Toast/ToastView.d.ts +2 -14
  558. package/components/Toggle/Toggle/Toggle.js +7 -14
  559. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  560. package/components/Toggle/Toggle.d.ts +3 -10
  561. package/components/Token/Token/Token.js.map +1 -1
  562. package/components/Token/Token.d.ts +2 -0
  563. package/components/Token/Token.md +0 -83
  564. package/components/TokenInput/TokenInput/TokenInput.js +2 -1
  565. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  566. package/components/TokenInput/TokenInput.d.ts +4 -2
  567. package/components/TokenInput/TokenInput.md +2 -33
  568. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +16 -6
  569. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  570. package/components/TokenInput/TokenInputMenu.d.ts +12 -3
  571. package/components/Tooltip/Tooltip/Tooltip.js +67 -20
  572. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  573. package/components/Tooltip/Tooltip.d.ts +14 -9
  574. package/components/Tooltip/Tooltip.md +8 -8
  575. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
  576. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  577. package/components/Tooltip/Tooltip.styles.d.ts +7 -1
  578. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  579. package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  580. package/components/TooltipMenu/TooltipMenu.md +12 -12
  581. package/components/__stories__/iframe.creevey.mts +124 -0
  582. package/components/__stories__/iframeStoriesImplementation/iframeStoriesImplementation.js +90 -0
  583. package/components/__stories__/iframeStoriesImplementation/iframeStoriesImplementation.js.map +1 -0
  584. package/components/__stories__/iframeStoriesImplementation/package.json +6 -0
  585. package/index.d.ts +1 -0
  586. package/index.js +1 -0
  587. package/index.js.map +1 -1
  588. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  589. package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  590. package/internal/ComponentTable/ComponentTable.js +0 -2
  591. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  592. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +2 -0
  593. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  594. package/internal/CustomComboBox/ComboBoxView.d.ts +2 -0
  595. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  596. package/internal/CustomComboBox/CustomComboBox.d.ts +2 -0
  597. package/internal/DateSelect/DateSelect/DateSelect.js +3 -10
  598. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  599. package/internal/DateSelect/DateSelect.d.ts +0 -10
  600. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  601. package/internal/FocusTrap/FocusTrap.d.ts +2 -0
  602. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +46 -17
  603. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  604. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +7 -3
  605. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  606. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  607. package/internal/InputLikeText/InputLikeText.d.ts +2 -0
  608. package/internal/Menu/Menu/Menu.js.map +1 -1
  609. package/internal/Menu/Menu.d.ts +2 -0
  610. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  611. package/internal/MobilePopup/MobilePopup.d.ts +2 -0
  612. package/internal/Popup/Popup/Popup.js +23 -69
  613. package/internal/Popup/Popup/Popup.js.map +1 -1
  614. package/internal/Popup/Popup.d.ts +43 -60
  615. package/internal/Popup/PopupPin/PopupPin.js +1 -34
  616. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  617. package/internal/Popup/PopupPin.d.ts +23 -33
  618. package/internal/Popup/PopupPinNew/PopupPinNew.js +146 -0
  619. package/internal/Popup/PopupPinNew/PopupPinNew.js.map +1 -0
  620. package/internal/Popup/PopupPinNew/package.json +6 -0
  621. package/internal/Popup/PopupPinNew.d.ts +31 -0
  622. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js +20 -0
  623. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js.map +1 -0
  624. package/internal/Popup/PopupPinNew.styles/package.json +6 -0
  625. package/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  626. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  627. package/internal/PopupMenu/PopupMenu.d.ts +2 -0
  628. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
  629. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  630. package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  631. package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
  632. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  633. package/internal/RenderLayer/RenderLayer.d.ts +2 -3
  634. package/internal/ThemePlayground/Playground/Playground.js +17 -16
  635. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  636. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
  637. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  638. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
  639. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  640. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +4 -4
  641. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  642. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +2 -2
  643. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  644. package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -4
  645. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  646. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  647. package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
  648. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  649. package/internal/ZIndex/ZIndex.d.ts +3 -3
  650. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
  651. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
  652. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
  653. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  654. package/internal/themes/BasicTheme/BasicTheme.js +172 -26
  655. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  656. package/internal/themes/BasicTheme.d.ts +114 -20
  657. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
  658. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
  659. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
  660. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
  661. package/internal/themes/DarkTheme5_3/package.json +6 -0
  662. package/internal/themes/DarkTheme5_3.d.ts +1 -0
  663. package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
  664. package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
  665. package/internal/themes/LightTheme5_3/package.json +6 -0
  666. package/internal/themes/LightTheme5_3.d.ts +1 -0
  667. package/lib/date/InternalDateGetter/InternalDateGetter.js +4 -1
  668. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  669. package/lib/date/InternalDateGetter.d.ts +1 -1
  670. package/lib/delay.d.mts +1 -0
  671. package/lib/delay.mts +3 -0
  672. package/lib/events/keyListener/keyListener.js +17 -1
  673. package/lib/events/keyListener/keyListener.js.map +1 -1
  674. package/lib/events/keyListener.d.ts +7 -0
  675. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +9 -2
  676. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +9 -2
  677. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  678. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +9 -2
  679. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  680. package/lib/forwardRefAndName.d.ts +1 -1
  681. package/lib/getMenuPositions/getMenuPositions.js +33 -4
  682. package/lib/getMenuPositions/getMenuPositions.js.map +1 -1
  683. package/lib/getMenuPositions.d.ts +21 -1
  684. package/lib/globalObject/globalObject.js +20 -0
  685. package/lib/globalObject/globalObject.js.map +1 -0
  686. package/lib/globalObject/package.json +6 -0
  687. package/lib/globalObject.d.ts +18 -0
  688. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  689. package/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  690. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  691. package/lib/theming/ThemeVersions.d.ts +1 -1
  692. package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -1
  693. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  694. package/lib/theming/themes/DarkTheme.d.ts +1 -0
  695. package/lib/theming/themes/LightTheme/LightTheme.js +3 -1
  696. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  697. package/lib/theming/themes/LightTheme.d.ts +1 -0
  698. package/lib/utils/utils.js +2 -0
  699. package/lib/utils/utils.js.map +1 -1
  700. package/lib/utils.d.ts +4 -0
  701. package/package.json +16 -18
  702. package/cjs/lib/SSRSafe.d.ts +0 -2
  703. package/cjs/lib/SSRSafe.js +0 -5
  704. package/cjs/lib/SSRSafe.js.map +0 -1
  705. package/lib/SSRSafe/SSRSafe.js +0 -4
  706. package/lib/SSRSafe/SSRSafe.js.map +0 -1
  707. package/lib/SSRSafe/package.json +0 -6
  708. package/lib/SSRSafe.d.ts +0 -2
@@ -1,5 +1,4 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;exports.__esModule = true;exports.LoaderDataTids = exports.Loader = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _react = _interopRequireDefault(require("react"));
2
- var _propTypes = _interopRequireDefault(require("prop-types"));
3
2
  var _lodash = _interopRequireDefault(require("lodash.debounce"));
4
3
  var _globalObject = require("@skbkontur/global-object");
5
4
 
@@ -59,6 +58,8 @@ var types = ['mini', 'normal', 'big'];
59
58
 
60
59
 
61
60
 
61
+
62
+
62
63
 
63
64
 
64
65
 
@@ -98,43 +99,6 @@ Loader = exports.Loader = (0, _rootNode.rootNode)(_class = (_Loader = /*#__PURE_
98
99
 
99
100
 
100
101
 
101
-
102
-
103
-
104
-
105
-
106
-
107
-
108
-
109
-
110
-
111
-
112
-
113
-
114
-
115
-
116
-
117
-
118
-
119
-
120
-
121
-
122
-
123
-
124
-
125
-
126
-
127
-
128
-
129
-
130
-
131
-
132
-
133
-
134
-
135
-
136
-
137
-
138
102
 
139
103
 
140
104
  function Loader(props) {var _this;
@@ -413,22 +377,4 @@ Loader = exports.Loader = (0, _rootNode.rootNode)(_class = (_Loader = /*#__PURE_
413
377
  makeUnobservable = function () {var _this$childrenObserve;
414
378
  (_this$childrenObserve = _this.childrenObserver) == null || _this$childrenObserve.disconnect();
415
379
  _this.childrenObserver = null;
416
- };_this.spinnerContainerNode = null;_this.childrenContainerNode = null;_this.childrenObserver = null;_this.spinnerNode = null;_this.state = { isStickySpinner: false, isSpinnerVisible: false, isLoaderActive: false };_this.spinnerTask = new _taskWithDelayAndMinimalDuration.TaskWithDelayAndMinimalDuration({ delayBeforeTaskStart: _this.getProps().delayBeforeSpinnerShow, durationOfTask: _this.getProps().minimalDelayBeforeSpinnerHide, taskStartCallback: function taskStartCallback() {return _this.setState({ isSpinnerVisible: true });}, taskStopCallback: function taskStopCallback() {return _this.setState({ isSpinnerVisible: false });} });return _this;}(0, _inheritsLoose2.default)(Loader, _React$Component);var _proto = Loader.prototype;_proto.componentDidMount = function componentDidMount() {var active = this.getProps().active;this.checkSpinnerPosition();active && this.spinnerTask.start();this.layoutEvents = LayoutEvents.addListener((0, _lodash.default)(this.checkSpinnerPosition, 10));if (active) {this.disableChildrenFocus();}};_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {var component = this.props.component;var _this$getProps = this.getProps(),active = _this$getProps.active,delayBeforeSpinnerShow = _this$getProps.delayBeforeSpinnerShow,minimalDelayBeforeSpinnerHide = _this$getProps.minimalDelayBeforeSpinnerHide;var isLoaderActive = this.state.isLoaderActive;if (active && !prevProps.active || prevProps.component !== component) {this.checkSpinnerPosition();}if (delayBeforeSpinnerShow !== prevProps.delayBeforeSpinnerShow || minimalDelayBeforeSpinnerHide !== prevProps.minimalDelayBeforeSpinnerHide) {this.spinnerTask.update({ delayBeforeTaskStart: delayBeforeSpinnerShow, durationOfTask: minimalDelayBeforeSpinnerHide });}if (active !== prevProps.active) {active ? this.spinnerTask.start() : this.spinnerTask.stop();}if (isLoaderActive !== prevState.isLoaderActive) {if (isLoaderActive) {this.disableChildrenFocus();} else {this.enableChildrenFocus();}}};_proto.componentWillUnmount = function componentWillUnmount() {this.makeUnobservable();if (this.layoutEvents) {this.layoutEvents.remove();}this.spinnerTask.clearTask();};Loader.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {if (props.active && !state.isLoaderActive) {return { isLoaderActive: true };}if (state.isLoaderActive && !(props.active || state.isSpinnerVisible)) {return { isLoaderActive: false };}return state;};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _cx;var _this$props = this.props,caption = _this$props.caption,component = _this$props.component;var type = this.getProps().type;var isLoaderActive = this.state.isLoaderActive;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("div", { className: _Loader2.styles.loader(), "data-tid": isLoaderActive ? LoaderDataTids.veil : '' }, /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { applyZIndex: isLoaderActive, coverChildren: isLoaderActive, style: { height: '100%' }, wrapperRef: this.childrenRef }, this.props.children), isLoaderActive && /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { wrapperRef: this.spinnerRef, className: (0, _Emotion.cx)((_cx = {}, _cx[_Loader2.styles.active(this.theme)] = isLoaderActive, _cx)) }, this.state.isSpinnerVisible && this.renderSpinner(type, caption, component))));};_proto.renderSpinner = function renderSpinner(type, caption, component) {var _cx2,_this3 = this;return /*#__PURE__*/_react.default.createElement("span", { "data-tid": LoaderDataTids.spinner, className: (0, _Emotion.cx)(_Loader2.styles.spinnerContainer(), (_cx2 = {}, _cx2[_Loader2.styles.spinnerContainerSticky()] = this.state.isStickySpinner, _cx2)), style: this.state.spinnerStyle }, /*#__PURE__*/_react.default.createElement("div", { className: _Loader2.styles.spinnerComponentWrapper(), ref: function ref(element) {_this3.spinnerNode = element;} }, component !== undefined ? component : /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, { type: type, caption: caption })));};return Loader;}(_react.default.Component), _Loader.__KONTUR_REACT_UI__ = 'Loader', _Loader.displayName = 'Loader', _Loader.defaultProps = { type: 'normal', active: false, delayBeforeSpinnerShow: _currentEnvironment.isTestEnv ? 0 : 300, minimalDelayBeforeSpinnerHide: _currentEnvironment.isTestEnv ? 0 : 1000 }, _Loader.propTypes = { /**
417
- * показываем лоадер или нет
418
- */active: _propTypes.default.bool, /**
419
- * Текст рядом с лоадером.
420
- *
421
- * @default "Загрузка"
422
- */caption: _Spinner.Spinner.propTypes.caption, component: _propTypes.default.node, /**
423
- * Класс для обертки
424
- */className: _propTypes.default.string, /**
425
- * Тип спиннера: mini, normal, big
426
- *
427
- * @default normal
428
- */type: _propTypes.default.oneOf(types), /**
429
- * Время в миллисекундах для показа вуали без спиннера.
430
- * @default 300
431
- */delayBeforeSpinnerShow: _propTypes.default.number, /**
432
- * Минимальное время в миллисекундах для показа спиннера
433
- * @default 1000
434
- */minimalDelayBeforeSpinnerHide: _propTypes.default.number }, _Loader)) || _class;
380
+ };_this.spinnerContainerNode = null;_this.childrenContainerNode = null;_this.childrenObserver = null;_this.spinnerNode = null;_this.state = { isStickySpinner: false, isSpinnerVisible: false, isLoaderActive: false };_this.spinnerTask = new _taskWithDelayAndMinimalDuration.TaskWithDelayAndMinimalDuration({ delayBeforeTaskStart: _this.getProps().delayBeforeSpinnerShow, durationOfTask: _this.getProps().minimalDelayBeforeSpinnerHide, taskStartCallback: function taskStartCallback() {return _this.setState({ isSpinnerVisible: true });}, taskStopCallback: function taskStopCallback() {return _this.setState({ isSpinnerVisible: false });} });return _this;}(0, _inheritsLoose2.default)(Loader, _React$Component);var _proto = Loader.prototype;_proto.componentDidMount = function componentDidMount() {var active = this.getProps().active;this.checkSpinnerPosition();active && this.spinnerTask.start();this.layoutEvents = LayoutEvents.addListener((0, _lodash.default)(this.checkSpinnerPosition, 10));if (active) {this.disableChildrenFocus();}};_proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {var component = this.props.component;var _this$getProps = this.getProps(),active = _this$getProps.active,delayBeforeSpinnerShow = _this$getProps.delayBeforeSpinnerShow,minimalDelayBeforeSpinnerHide = _this$getProps.minimalDelayBeforeSpinnerHide;var isLoaderActive = this.state.isLoaderActive;if (active && !prevProps.active || prevProps.component !== component) {this.checkSpinnerPosition();}if (delayBeforeSpinnerShow !== prevProps.delayBeforeSpinnerShow || minimalDelayBeforeSpinnerHide !== prevProps.minimalDelayBeforeSpinnerHide) {this.spinnerTask.update({ delayBeforeTaskStart: delayBeforeSpinnerShow, durationOfTask: minimalDelayBeforeSpinnerHide });}if (active !== prevProps.active) {active ? this.spinnerTask.start() : this.spinnerTask.stop();}if (isLoaderActive !== prevState.isLoaderActive) {if (isLoaderActive) {this.disableChildrenFocus();} else {this.enableChildrenFocus();}}};_proto.componentWillUnmount = function componentWillUnmount() {this.makeUnobservable();if (this.layoutEvents) {this.layoutEvents.remove();}this.spinnerTask.clearTask();};Loader.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {if (props.active && !state.isLoaderActive) {return { isLoaderActive: true };}if (state.isLoaderActive && !(props.active || state.isSpinnerVisible)) {return { isLoaderActive: false };}return state;};_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.renderMain = function renderMain() {var _cx;var _this$props = this.props,caption = _this$props.caption,component = _this$props.component;var type = this.getProps().type;var isLoaderActive = this.state.isLoaderActive;return /*#__PURE__*/_react.default.createElement(_CommonWrapper.CommonWrapper, (0, _extends2.default)({ rootNodeRef: this.setRootNode }, this.props), /*#__PURE__*/_react.default.createElement("div", { className: _Loader2.styles.loader(), "data-tid": isLoaderActive ? LoaderDataTids.veil : '' }, /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { applyZIndex: isLoaderActive, coverChildren: isLoaderActive, style: { height: '100%' }, wrapperRef: this.childrenRef }, this.props.children), isLoaderActive && /*#__PURE__*/_react.default.createElement(_ZIndex.ZIndex, { wrapperRef: this.spinnerRef, className: (0, _Emotion.cx)((_cx = {}, _cx[_Loader2.styles.active(this.theme)] = isLoaderActive, _cx)) }, this.state.isSpinnerVisible && this.renderSpinner(type, caption, component))));};_proto.renderSpinner = function renderSpinner(type, caption, component) {var _cx2,_this3 = this;return /*#__PURE__*/_react.default.createElement("span", { "data-tid": LoaderDataTids.spinner, className: (0, _Emotion.cx)(_Loader2.styles.spinnerContainer(), (_cx2 = {}, _cx2[_Loader2.styles.spinnerContainerSticky()] = this.state.isStickySpinner, _cx2)), style: this.state.spinnerStyle }, /*#__PURE__*/_react.default.createElement("div", { className: _Loader2.styles.spinnerComponentWrapper(), ref: function ref(element) {_this3.spinnerNode = element;} }, component !== undefined ? component : /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, { type: type, caption: caption })));};return Loader;}(_react.default.Component), _Loader.__KONTUR_REACT_UI__ = 'Loader', _Loader.displayName = 'Loader', _Loader.defaultProps = { type: 'normal', active: false, delayBeforeSpinnerShow: _currentEnvironment.isTestEnv ? 0 : 300, minimalDelayBeforeSpinnerHide: _currentEnvironment.isTestEnv ? 0 : 1000 }, _Loader)) || _class;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_propTypes","_lodash","_globalObject","LayoutEvents","_interopRequireWildcard","_Spinner","_ThemeContext","_ZIndex","_CommonWrapper","_Emotion","_currentEnvironment","_taskWithDelayAndMinimalDuration","_tabbableHelpers","_rootNode","_getDOMRect2","_createPropsGetter","_Loader2","_class","_Loader","types","LoaderDataTids","exports","veil","spinner","Loader","rootNode","_React$Component","props","_this","call","getProps","createPropsGetter","defaultProps","childrenRef","element","childrenContainerNode","spinnerRef","spinnerContainerNode","checkSpinnerPosition","isBrowser","globalObject","_getDOMRect","getDOMRect","containerTop","top","containerRight","right","containerBottom","bottom","containerLeft","left","containerHeight","height","containerWidth","width","windowHeight","innerHeight","windowWidth","innerWidth","setState","isStickySpinner","spinnerStyle","Math","abs","spinnerHeight","spinnerNode","disableChildrenFocus","childrenObserver","makeObservable","tabbableElements","getTabbableElements","forEach","el","hasAttribute","setAttribute","tabIndex","toString","enableChildrenFocus","_globalObject$documen","_globalObject$documen2","makeUnobservable","Array","from","document","querySelectorAll","_el$getAttribute","getAttribute","removeAttribute","target","MutationObserver","config","childList","subtree","observer","observe","_this$childrenObserve","disconnect","state","isSpinnerVisible","isLoaderActive","spinnerTask","TaskWithDelayAndMinimalDuration","delayBeforeTaskStart","delayBeforeSpinnerShow","durationOfTask","minimalDelayBeforeSpinnerHide","taskStartCallback","taskStopCallback","_inheritsLoose2","default","_proto","prototype","componentDidMount","active","start","layoutEvents","addListener","debounce","componentDidUpdate","prevProps","prevState","component","_this$getProps","update","stop","componentWillUnmount","remove","clearTask","getDerivedStateFromProps","render","_this2","createElement","ThemeContext","Consumer","theme","renderMain","_cx","_this$props","caption","type","CommonWrapper","_extends2","rootNodeRef","setRootNode","className","styles","loader","ZIndex","applyZIndex","coverChildren","style","wrapperRef","children","cx","renderSpinner","_cx2","_this3","spinnerContainer","spinnerContainerSticky","spinnerComponentWrapper","ref","undefined","Spinner","React","Component","__KONTUR_REACT_UI__","displayName","isTestEnv","propTypes","PropTypes","bool","node","string","oneOf","number"],"sources":["Loader.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport type { AnyObject } from '../../lib/utils';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { SpinnerProps } from '../Spinner';\nimport { Spinner } from '../Spinner';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ZIndex } from '../../internal/ZIndex';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { TaskWithDelayAndMinimalDuration } from '../../lib/taskWithDelayAndMinimalDuration';\nimport { getTabbableElements } from '../../lib/dom/tabbableHelpers';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Loader.styles';\n\nconst types = ['mini', 'normal', 'big'] as const;\n\nexport type LoaderType = (typeof types)[number];\n\nexport interface LoaderProps extends CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает состояние лоадера.\n * @default false */\n active?: boolean;\n\n /** Задает подпись под спиннером. */\n caption?: SpinnerProps['caption'];\n\n /** Задает компонент, заменяющий спиннер. */\n component?: React.ReactNode;\n\n /** Задает размер спиннера и текста.\n * @default normal. */\n type?: LoaderType;\n\n /** Устанавливает время в миллисекундах для показа вуали без спиннера.\n * @default 30.0 */\n delayBeforeSpinnerShow?: number;\n\n /** Устанавливает минимальное время в миллисекундах для показа спиннера.\n * @default 1000. */\n minimalDelayBeforeSpinnerHide?: number;\n}\n\nexport interface LoaderState {\n isStickySpinner: boolean;\n isSpinnerVisible: boolean;\n isLoaderActive: boolean;\n spinnerStyle?: AnyObject;\n}\n\nexport const LoaderDataTids = {\n veil: 'Loader__Veil',\n spinner: 'Loader__Spinner',\n} as const;\n\ntype DefaultProps = Required<\n Pick<LoaderProps, 'type' | 'active' | 'delayBeforeSpinnerShow' | 'minimalDelayBeforeSpinnerHide'>\n>;\n\n/**\n * Компонент `Loader` принимает внутрь себя контент, поверх которого в активном состоянии `Loader`'а будет отрисован спиннер.\n *\n * Если вам нужен только сам спиннер без дополнительного функционала - используйте компонент Spinner.\n */\n@rootNode\nexport class Loader extends React.Component<LoaderProps, LoaderState> {\n public static __KONTUR_REACT_UI__ = 'Loader';\n public static displayName = 'Loader';\n\n public static defaultProps: DefaultProps = {\n type: 'normal',\n active: false,\n delayBeforeSpinnerShow: isTestEnv ? 0 : 300,\n minimalDelayBeforeSpinnerHide: isTestEnv ? 0 : 1000,\n };\n\n private getProps = createPropsGetter(Loader.defaultProps);\n\n public static propTypes = {\n /**\n * показываем лоадер или нет\n */\n active: PropTypes.bool,\n\n /**\n * Текст рядом с лоадером.\n *\n * @default \"Загрузка\"\n */\n caption: Spinner.propTypes.caption,\n\n component: PropTypes.node,\n\n /**\n * Класс для обертки\n */\n className: PropTypes.string,\n\n /**\n * Тип спиннера: mini, normal, big\n *\n * @default normal\n */\n type: PropTypes.oneOf(types),\n /**\n * Время в миллисекундах для показа вуали без спиннера.\n * @default 300\n */\n delayBeforeSpinnerShow: PropTypes.number,\n /**\n * Минимальное время в миллисекундах для показа спиннера\n * @default 1000\n */\n minimalDelayBeforeSpinnerHide: PropTypes.number,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n private spinnerContainerNode: Nullable<HTMLDivElement>;\n private childrenContainerNode: Nullable<HTMLDivElement>;\n private spinnerNode: Nullable<HTMLDivElement>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private spinnerTask: TaskWithDelayAndMinimalDuration;\n private childrenObserver: Nullable<MutationObserver>;\n\n constructor(props: LoaderProps) {\n super(props);\n\n this.spinnerContainerNode = null;\n this.childrenContainerNode = null;\n this.childrenObserver = null;\n this.spinnerNode = null;\n\n this.state = {\n isStickySpinner: false,\n isSpinnerVisible: false,\n isLoaderActive: false,\n };\n\n this.spinnerTask = new TaskWithDelayAndMinimalDuration({\n delayBeforeTaskStart: this.getProps().delayBeforeSpinnerShow,\n durationOfTask: this.getProps().minimalDelayBeforeSpinnerHide,\n taskStartCallback: () => this.setState({ isSpinnerVisible: true }),\n taskStopCallback: () => this.setState({ isSpinnerVisible: false }),\n });\n }\n\n public componentDidMount() {\n const active = this.getProps().active;\n this.checkSpinnerPosition();\n active && this.spinnerTask.start();\n this.layoutEvents = LayoutEvents.addListener(debounce(this.checkSpinnerPosition, 10));\n\n if (active) {\n this.disableChildrenFocus();\n }\n }\n\n public componentDidUpdate(prevProps: Readonly<LoaderProps>, prevState: Readonly<LoaderState>) {\n const { component } = this.props;\n const { active, delayBeforeSpinnerShow, minimalDelayBeforeSpinnerHide } = this.getProps();\n const { isLoaderActive } = this.state;\n\n if ((active && !prevProps.active) || prevProps.component !== component) {\n this.checkSpinnerPosition();\n }\n\n if (\n delayBeforeSpinnerShow !== prevProps.delayBeforeSpinnerShow ||\n minimalDelayBeforeSpinnerHide !== prevProps.minimalDelayBeforeSpinnerHide\n ) {\n this.spinnerTask.update({\n delayBeforeTaskStart: delayBeforeSpinnerShow,\n durationOfTask: minimalDelayBeforeSpinnerHide,\n });\n }\n\n if (active !== prevProps.active) {\n active ? this.spinnerTask.start() : this.spinnerTask.stop();\n }\n\n if (isLoaderActive !== prevState.isLoaderActive) {\n if (isLoaderActive) {\n this.disableChildrenFocus();\n } else {\n this.enableChildrenFocus();\n }\n }\n }\n\n public componentWillUnmount() {\n this.makeUnobservable();\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n this.spinnerTask.clearTask();\n }\n\n public static getDerivedStateFromProps(props: LoaderProps, state: LoaderState): Partial<LoaderState> {\n if (props.active && !state.isLoaderActive) {\n return {\n isLoaderActive: true,\n };\n }\n if (state.isLoaderActive && !(props.active || state.isSpinnerVisible)) {\n return {\n isLoaderActive: false,\n };\n }\n\n return state;\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { caption, component } = this.props;\n const type = this.getProps().type;\n const { isLoaderActive } = this.state;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div className={styles.loader()} data-tid={isLoaderActive ? LoaderDataTids.veil : ''}>\n <ZIndex\n applyZIndex={isLoaderActive}\n coverChildren={isLoaderActive}\n style={{ height: '100%' }}\n wrapperRef={this.childrenRef}\n >\n {this.props.children}\n </ZIndex>\n {isLoaderActive && (\n <ZIndex\n wrapperRef={this.spinnerRef}\n className={cx({\n [styles.active(this.theme)]: isLoaderActive,\n })}\n >\n {this.state.isSpinnerVisible && this.renderSpinner(type, caption, component)}\n </ZIndex>\n )}\n </div>\n </CommonWrapper>\n );\n }\n\n private childrenRef = (element: HTMLDivElement | null) => {\n this.childrenContainerNode = element;\n };\n\n private spinnerRef = (element: HTMLDivElement | null) => {\n this.spinnerContainerNode = element;\n };\n\n private renderSpinner(type?: LoaderType, caption?: React.ReactNode, component?: React.ReactNode) {\n return (\n <span\n data-tid={LoaderDataTids.spinner}\n className={cx(styles.spinnerContainer(), { [styles.spinnerContainerSticky()]: this.state.isStickySpinner })}\n style={this.state.spinnerStyle}\n >\n <div\n className={styles.spinnerComponentWrapper()}\n ref={(element) => {\n this.spinnerNode = element;\n }}\n >\n {component !== undefined ? component : <Spinner type={type} caption={caption} />}\n </div>\n </span>\n );\n }\n\n private checkSpinnerPosition = () => {\n if (!this.spinnerContainerNode || !isBrowser(globalObject)) {\n return;\n }\n\n const {\n top: containerTop,\n right: containerRight,\n bottom: containerBottom,\n left: containerLeft,\n height: containerHeight,\n width: containerWidth,\n } = getDOMRect(this.spinnerContainerNode);\n\n const windowHeight = globalObject.innerHeight;\n const windowWidth = globalObject.innerWidth;\n\n // Если контейнер не больше высоты и не шире окна,\n // то просто выравниваем по центру\n if (windowHeight >= containerHeight && windowWidth >= containerWidth) {\n this.setState({\n isStickySpinner: false,\n spinnerStyle: {},\n });\n return;\n }\n\n const spinnerStyle: {\n top?: number;\n right: number;\n bottom: number;\n left: number;\n } = {\n top: 30,\n right: 0,\n bottom: 30,\n left: 0,\n };\n\n // ПО ВЕРТИКАЛИ\n // Если верхний край контейнера ниже верхнего края окна,\n // то сдвигаем и лоадер\n if (containerTop > 0) {\n spinnerStyle.top = containerTop + 30;\n }\n\n // Если нижний край контейнера выше нижнего края окна,\n // то сдвигаем и лоадер\n if (containerBottom < windowHeight) {\n spinnerStyle.bottom = Math.abs(windowHeight - containerBottom) + 30;\n }\n\n // Если знаем высоту спиннера и нижний край контейнера поднимается\n // выше отступа на высоту спиннера, то убираем верхнюю позицию лоадера\n\n const spinnerHeight = getDOMRect(this.spinnerNode).height;\n\n if (spinnerHeight && spinnerStyle.bottom >= windowHeight - spinnerHeight) {\n delete spinnerStyle.top;\n }\n\n // ПО ГОРИЗОНТАЛИ\n // Если левый край контейнера правее левого края окна,\n // то сдвигаем и лоадер\n if (containerLeft > 0) {\n spinnerStyle.left = containerLeft;\n }\n\n // Если правый край контейнера левее правого края окна,\n // то сдвигаем и лоадер\n if (containerRight < windowWidth) {\n spinnerStyle.right = windowWidth - containerRight;\n }\n\n this.setState({\n isStickySpinner: true,\n spinnerStyle,\n });\n };\n\n private disableChildrenFocus = () => {\n if (!this.childrenObserver) {\n this.makeObservable();\n }\n const tabbableElements = getTabbableElements(this.childrenContainerNode);\n tabbableElements.forEach((el) => {\n if (!el.hasAttribute('origin-tabindex')) {\n el.setAttribute('origin-tabindex', el.tabIndex.toString());\n }\n el.tabIndex = -1;\n });\n };\n\n private enableChildrenFocus = () => {\n this.makeUnobservable();\n // NOTE: NodeList doesn't support 'forEach' method in IE11 and other older browsers\n Array.from(globalObject.document?.querySelectorAll('[origin-tabindex]') ?? []).forEach((el) => {\n el.setAttribute('tabindex', el.getAttribute('origin-tabindex') ?? '0');\n el.removeAttribute('origin-tabindex');\n });\n };\n\n private makeObservable = () => {\n const target = this.childrenContainerNode;\n if (!target || !globalObject.MutationObserver) {\n return;\n }\n const config = {\n childList: true,\n subtree: true,\n };\n const observer = new globalObject.MutationObserver(this.disableChildrenFocus);\n observer.observe(target, config);\n this.childrenObserver = observer;\n };\n\n private makeUnobservable = () => {\n this.childrenObserver?.disconnect();\n this.childrenObserver = null;\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_lodash","_globalObject","LayoutEvents","_interopRequireWildcard","_Spinner","_ThemeContext","_ZIndex","_CommonWrapper","_Emotion","_currentEnvironment","_taskWithDelayAndMinimalDuration","_tabbableHelpers","_rootNode","_getDOMRect2","_createPropsGetter","_Loader2","_class","_Loader","types","LoaderDataTids","exports","veil","spinner","Loader","rootNode","_React$Component","props","_this","call","getProps","createPropsGetter","defaultProps","childrenRef","element","childrenContainerNode","spinnerRef","spinnerContainerNode","checkSpinnerPosition","isBrowser","globalObject","_getDOMRect","getDOMRect","containerTop","top","containerRight","right","containerBottom","bottom","containerLeft","left","containerHeight","height","containerWidth","width","windowHeight","innerHeight","windowWidth","innerWidth","setState","isStickySpinner","spinnerStyle","Math","abs","spinnerHeight","spinnerNode","disableChildrenFocus","childrenObserver","makeObservable","tabbableElements","getTabbableElements","forEach","el","hasAttribute","setAttribute","tabIndex","toString","enableChildrenFocus","_globalObject$documen","_globalObject$documen2","makeUnobservable","Array","from","document","querySelectorAll","_el$getAttribute","getAttribute","removeAttribute","target","MutationObserver","config","childList","subtree","observer","observe","_this$childrenObserve","disconnect","state","isSpinnerVisible","isLoaderActive","spinnerTask","TaskWithDelayAndMinimalDuration","delayBeforeTaskStart","delayBeforeSpinnerShow","durationOfTask","minimalDelayBeforeSpinnerHide","taskStartCallback","taskStopCallback","_inheritsLoose2","default","_proto","prototype","componentDidMount","active","start","layoutEvents","addListener","debounce","componentDidUpdate","prevProps","prevState","component","_this$getProps","update","stop","componentWillUnmount","remove","clearTask","getDerivedStateFromProps","render","_this2","createElement","ThemeContext","Consumer","theme","renderMain","_cx","_this$props","caption","type","CommonWrapper","_extends2","rootNodeRef","setRootNode","className","styles","loader","ZIndex","applyZIndex","coverChildren","style","wrapperRef","children","cx","renderSpinner","_cx2","_this3","spinnerContainer","spinnerContainerSticky","spinnerComponentWrapper","ref","undefined","Spinner","React","Component","__KONTUR_REACT_UI__","displayName","isTestEnv"],"sources":["Loader.tsx"],"sourcesContent":["import React from 'react';\nimport debounce from 'lodash.debounce';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport type { AnyObject } from '../../lib/utils';\nimport * as LayoutEvents from '../../lib/LayoutEvents';\nimport type { SpinnerProps } from '../Spinner';\nimport { Spinner } from '../Spinner';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ZIndex } from '../../internal/ZIndex';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { TaskWithDelayAndMinimalDuration } from '../../lib/taskWithDelayAndMinimalDuration';\nimport { getTabbableElements } from '../../lib/dom/tabbableHelpers';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Loader.styles';\n\nconst types = ['mini', 'normal', 'big'] as const;\n\nexport type LoaderType = (typeof types)[number];\n\nexport interface LoaderProps extends CommonProps {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Задает состояние лоадера.\n * @default false */\n active?: boolean;\n\n /** Задает подпись под спиннером.\n * @default \"Загрузка\"\n */\n caption?: SpinnerProps['caption'];\n\n /** Задает компонент, заменяющий спиннер. */\n component?: React.ReactNode;\n\n /** Задает размер спиннера и текста.\n * @default normal. */\n type?: LoaderType;\n\n /** Устанавливает время в миллисекундах для показа вуали без спиннера.\n * @default 300 */\n delayBeforeSpinnerShow?: number;\n\n /** Устанавливает минимальное время в миллисекундах для показа спиннера.\n * @default 1000. */\n minimalDelayBeforeSpinnerHide?: number;\n}\n\nexport interface LoaderState {\n isStickySpinner: boolean;\n isSpinnerVisible: boolean;\n isLoaderActive: boolean;\n spinnerStyle?: AnyObject;\n}\n\nexport const LoaderDataTids = {\n veil: 'Loader__Veil',\n spinner: 'Loader__Spinner',\n} as const;\n\ntype DefaultProps = Required<\n Pick<LoaderProps, 'type' | 'active' | 'delayBeforeSpinnerShow' | 'minimalDelayBeforeSpinnerHide'>\n>;\n\n/**\n * Компонент `Loader` принимает внутрь себя контент, поверх которого в активном состоянии `Loader`'а будет отрисован спиннер.\n *\n * Если вам нужен только сам спиннер без дополнительного функционала - используйте компонент Spinner.\n */\n@rootNode\nexport class Loader extends React.Component<LoaderProps, LoaderState> {\n public static __KONTUR_REACT_UI__ = 'Loader';\n public static displayName = 'Loader';\n\n public static defaultProps: DefaultProps = {\n type: 'normal',\n active: false,\n delayBeforeSpinnerShow: isTestEnv ? 0 : 300,\n minimalDelayBeforeSpinnerHide: isTestEnv ? 0 : 1000,\n };\n\n private getProps = createPropsGetter(Loader.defaultProps);\n\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private spinnerContainerNode: Nullable<HTMLDivElement>;\n private childrenContainerNode: Nullable<HTMLDivElement>;\n private spinnerNode: Nullable<HTMLDivElement>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private spinnerTask: TaskWithDelayAndMinimalDuration;\n private childrenObserver: Nullable<MutationObserver>;\n\n constructor(props: LoaderProps) {\n super(props);\n\n this.spinnerContainerNode = null;\n this.childrenContainerNode = null;\n this.childrenObserver = null;\n this.spinnerNode = null;\n\n this.state = {\n isStickySpinner: false,\n isSpinnerVisible: false,\n isLoaderActive: false,\n };\n\n this.spinnerTask = new TaskWithDelayAndMinimalDuration({\n delayBeforeTaskStart: this.getProps().delayBeforeSpinnerShow,\n durationOfTask: this.getProps().minimalDelayBeforeSpinnerHide,\n taskStartCallback: () => this.setState({ isSpinnerVisible: true }),\n taskStopCallback: () => this.setState({ isSpinnerVisible: false }),\n });\n }\n\n public componentDidMount() {\n const active = this.getProps().active;\n this.checkSpinnerPosition();\n active && this.spinnerTask.start();\n this.layoutEvents = LayoutEvents.addListener(debounce(this.checkSpinnerPosition, 10));\n\n if (active) {\n this.disableChildrenFocus();\n }\n }\n\n public componentDidUpdate(prevProps: Readonly<LoaderProps>, prevState: Readonly<LoaderState>) {\n const { component } = this.props;\n const { active, delayBeforeSpinnerShow, minimalDelayBeforeSpinnerHide } = this.getProps();\n const { isLoaderActive } = this.state;\n\n if ((active && !prevProps.active) || prevProps.component !== component) {\n this.checkSpinnerPosition();\n }\n\n if (\n delayBeforeSpinnerShow !== prevProps.delayBeforeSpinnerShow ||\n minimalDelayBeforeSpinnerHide !== prevProps.minimalDelayBeforeSpinnerHide\n ) {\n this.spinnerTask.update({\n delayBeforeTaskStart: delayBeforeSpinnerShow,\n durationOfTask: minimalDelayBeforeSpinnerHide,\n });\n }\n\n if (active !== prevProps.active) {\n active ? this.spinnerTask.start() : this.spinnerTask.stop();\n }\n\n if (isLoaderActive !== prevState.isLoaderActive) {\n if (isLoaderActive) {\n this.disableChildrenFocus();\n } else {\n this.enableChildrenFocus();\n }\n }\n }\n\n public componentWillUnmount() {\n this.makeUnobservable();\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n this.spinnerTask.clearTask();\n }\n\n public static getDerivedStateFromProps(props: LoaderProps, state: LoaderState): Partial<LoaderState> {\n if (props.active && !state.isLoaderActive) {\n return {\n isLoaderActive: true,\n };\n }\n if (state.isLoaderActive && !(props.active || state.isSpinnerVisible)) {\n return {\n isLoaderActive: false,\n };\n }\n\n return state;\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain() {\n const { caption, component } = this.props;\n const type = this.getProps().type;\n const { isLoaderActive } = this.state;\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div className={styles.loader()} data-tid={isLoaderActive ? LoaderDataTids.veil : ''}>\n <ZIndex\n applyZIndex={isLoaderActive}\n coverChildren={isLoaderActive}\n style={{ height: '100%' }}\n wrapperRef={this.childrenRef}\n >\n {this.props.children}\n </ZIndex>\n {isLoaderActive && (\n <ZIndex\n wrapperRef={this.spinnerRef}\n className={cx({\n [styles.active(this.theme)]: isLoaderActive,\n })}\n >\n {this.state.isSpinnerVisible && this.renderSpinner(type, caption, component)}\n </ZIndex>\n )}\n </div>\n </CommonWrapper>\n );\n }\n\n private childrenRef = (element: HTMLDivElement | null) => {\n this.childrenContainerNode = element;\n };\n\n private spinnerRef = (element: HTMLDivElement | null) => {\n this.spinnerContainerNode = element;\n };\n\n private renderSpinner(type?: LoaderType, caption?: React.ReactNode, component?: React.ReactNode) {\n return (\n <span\n data-tid={LoaderDataTids.spinner}\n className={cx(styles.spinnerContainer(), { [styles.spinnerContainerSticky()]: this.state.isStickySpinner })}\n style={this.state.spinnerStyle}\n >\n <div\n className={styles.spinnerComponentWrapper()}\n ref={(element) => {\n this.spinnerNode = element;\n }}\n >\n {component !== undefined ? component : <Spinner type={type} caption={caption} />}\n </div>\n </span>\n );\n }\n\n private checkSpinnerPosition = () => {\n if (!this.spinnerContainerNode || !isBrowser(globalObject)) {\n return;\n }\n\n const {\n top: containerTop,\n right: containerRight,\n bottom: containerBottom,\n left: containerLeft,\n height: containerHeight,\n width: containerWidth,\n } = getDOMRect(this.spinnerContainerNode);\n\n const windowHeight = globalObject.innerHeight;\n const windowWidth = globalObject.innerWidth;\n\n // Если контейнер не больше высоты и не шире окна,\n // то просто выравниваем по центру\n if (windowHeight >= containerHeight && windowWidth >= containerWidth) {\n this.setState({\n isStickySpinner: false,\n spinnerStyle: {},\n });\n return;\n }\n\n const spinnerStyle: {\n top?: number;\n right: number;\n bottom: number;\n left: number;\n } = {\n top: 30,\n right: 0,\n bottom: 30,\n left: 0,\n };\n\n // ПО ВЕРТИКАЛИ\n // Если верхний край контейнера ниже верхнего края окна,\n // то сдвигаем и лоадер\n if (containerTop > 0) {\n spinnerStyle.top = containerTop + 30;\n }\n\n // Если нижний край контейнера выше нижнего края окна,\n // то сдвигаем и лоадер\n if (containerBottom < windowHeight) {\n spinnerStyle.bottom = Math.abs(windowHeight - containerBottom) + 30;\n }\n\n // Если знаем высоту спиннера и нижний край контейнера поднимается\n // выше отступа на высоту спиннера, то убираем верхнюю позицию лоадера\n\n const spinnerHeight = getDOMRect(this.spinnerNode).height;\n\n if (spinnerHeight && spinnerStyle.bottom >= windowHeight - spinnerHeight) {\n delete spinnerStyle.top;\n }\n\n // ПО ГОРИЗОНТАЛИ\n // Если левый край контейнера правее левого края окна,\n // то сдвигаем и лоадер\n if (containerLeft > 0) {\n spinnerStyle.left = containerLeft;\n }\n\n // Если правый край контейнера левее правого края окна,\n // то сдвигаем и лоадер\n if (containerRight < windowWidth) {\n spinnerStyle.right = windowWidth - containerRight;\n }\n\n this.setState({\n isStickySpinner: true,\n spinnerStyle,\n });\n };\n\n private disableChildrenFocus = () => {\n if (!this.childrenObserver) {\n this.makeObservable();\n }\n const tabbableElements = getTabbableElements(this.childrenContainerNode);\n tabbableElements.forEach((el) => {\n if (!el.hasAttribute('origin-tabindex')) {\n el.setAttribute('origin-tabindex', el.tabIndex.toString());\n }\n el.tabIndex = -1;\n });\n };\n\n private enableChildrenFocus = () => {\n this.makeUnobservable();\n // NOTE: NodeList doesn't support 'forEach' method in IE11 and other older browsers\n Array.from(globalObject.document?.querySelectorAll('[origin-tabindex]') ?? []).forEach((el) => {\n el.setAttribute('tabindex', el.getAttribute('origin-tabindex') ?? '0');\n el.removeAttribute('origin-tabindex');\n });\n };\n\n private makeObservable = () => {\n const target = this.childrenContainerNode;\n if (!target || !globalObject.MutationObserver) {\n return;\n }\n const config = {\n childList: true,\n subtree: true,\n };\n const observer = new globalObject.MutationObserver(this.disableChildrenFocus);\n observer.observe(target, config);\n this.childrenObserver = observer;\n };\n\n private makeUnobservable = () => {\n this.childrenObserver?.disconnect();\n this.childrenObserver = null;\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -33,6 +33,7 @@ export interface MaskedProps {
33
33
  imaskProps?: IMaskInputProps<HTMLInputElement>;
34
34
  }
35
35
  export type MaskInputType = Exclude<InputType, 'number' | 'date' | 'time' | 'password'>;
36
+ export declare const getSafeMaskInputType: (type?: InputType) => MaskInputType | undefined;
36
37
  export interface MaskedInputProps extends MaskedProps, Omit<InputProps, 'showClearIcon' | 'mask' | 'maxLength' | 'type' | 'alwaysShowMask' | 'onUnexpectedInput' | 'maskChar'> {
37
38
  type?: MaskInputType;
38
39
  }
@@ -1,4 +1,4 @@
1
- "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;exports.__esModule = true;exports.MaskedInput = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));var _react = _interopRequireWildcard(require("react"));
1
+ "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;exports.__esModule = true;exports.getSafeMaskInputType = exports.MaskedInput = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));var _react = _interopRequireWildcard(require("react"));
2
2
 
3
3
 
4
4
 
@@ -54,6 +54,22 @@ var _FixedIMaskInput = require("./FixedIMaskInput");var _excluded = ["mask", "ma
54
54
 
55
55
 
56
56
 
57
+
58
+ var getSafeMaskInputType = exports.getSafeMaskInputType = function getSafeMaskInputType(type) {
59
+ if (!type) {
60
+ return type;
61
+ }
62
+
63
+ switch (type) {
64
+ case 'number':
65
+ case 'date':
66
+ case 'time':
67
+ case 'password':
68
+ return 'text';
69
+ default:
70
+ return type;
71
+ }
72
+ };
57
73
 
58
74
 
59
75
 
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_forwardRefAndName","_Emotion","_Input","_identifiers","_ThemeContext","_MaskedInput","_MaskedInput2","_ColorableInputElement","_FixedIMaskInput","_excluded","MaskedInput","exports","forwardRefAndName","props","ref","mask","maskChar","formatChars","_props$alwaysShowMask","alwaysShowMask","_props$colored","colored","_props$imaskProps","imaskProps","customIMaskProps","_props$unmask","unmask","onValueChange","onUnexpectedInput","onChange","element","className","inputProps","_objectWithoutPropertiesLoose2","default","theme","useContext","ThemeContext","inputRef","useRef","_useState","useState","focused","setFocused","prevValue","value","String","defaultValue","prevSelectionStart","useImperativeHandle","current","Object","assign","selectAll","_inputRef$current","_inputRef$current2","focus","delaySelectAll","useEffect","_inputRef$current3","input","selectionStart","getCompatibleIMaskProps","uiFontGlobalClassesRoot","createElement","Input","_extends2","onFocus","handleFocus","onBlur","handleBlur","onInput","handleInput","onKeyDown","handleKeyDown","cx","globalClasses","root","styles","ColorableInputElement","showOnFocus","FixedIMaskInput","onAccept","handleAccept","replace","placeholderChar","getMaskChar","definitions","getDefinitions","eager","overwrite","lazy","disabled","_len","arguments","length","args","Array","_key","e","_e$currentTarget","currentTarget","handleUnexpectedInput","_inputRef$current4","selectAllOnFocus","_inputRef$current5","blink","bind","undefined","_e$currentTarget2","selectionEnd","isKeyBackspace","isKeyDelete"],"sources":["MaskedInput.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState, useEffect, useContext } from 'react';\nimport type { IMaskInputProps } from '@skbkontur/react-imask';\nimport type { Ref } from 'react';\n\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { InputProps, InputType } from '../Input';\nimport { Input } from '../Input';\nimport { isKeyBackspace, isKeyDelete } from '../../lib/events/keyboard/identifiers';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { globalClasses, styles } from './MaskedInput.styles';\nimport { getDefinitions, getMaskChar } from './MaskedInput.helpers';\nimport { ColorableInputElement } from './ColorableInputElement';\nimport { FixedIMaskInput } from './FixedIMaskInput';\n\nexport interface MaskedProps {\n /** Паттерн маски */\n mask: string;\n\n /** Устанавливает символ маски\n * @default _ */\n maskChar?: string;\n\n /** Задает словарь символов-регулярок для задания маски.\n * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' } */\n formatChars?: Record<string, string>;\n\n /** Включает показ символов маски.\n * @default false */\n alwaysShowMask?: boolean;\n\n /** Задает обработчик неправильного ввода.\n * Вторым агрументом будет передан метод вспыхивания акцентным цветом.\n *\n * Если обработчик не задан, то инпут вспыхивает по-умолчанию.\n * @param value значение инпута.\n * @param blink вспыхнуть акцентным цвтетом.\n */\n onUnexpectedInput?: (value: string, blink: () => void) => void;\n\n /** Убирает из value символы, не введённые пользователем\n * @default false */\n unmask?: boolean;\n\n /** Раскрашивает символы маски.\n * @default true\n * @ignore */\n colored?: boolean;\n\n /** Задает пропы для компонента `IMaskInput`. Необходимы для юнит-тестов\n * @ignore */\n imaskProps?: IMaskInputProps<HTMLInputElement>;\n}\n\nexport type MaskInputType = Exclude<InputType, 'number' | 'date' | 'time' | 'password'>;\n\nexport interface MaskedInputProps\n extends MaskedProps,\n Omit<\n InputProps,\n 'showClearIcon' | 'mask' | 'maxLength' | 'type' | 'alwaysShowMask' | 'onUnexpectedInput' | 'maskChar'\n > {\n type?: MaskInputType;\n}\n\n/**\n * Интерфейс пропсов наследуется от `Input`.\n * Из пропсов `Input` исключены некоторые не применимые к полю с маской пропсы и сокращен список возможных значений в type.\n */\nexport const MaskedInput = forwardRefAndName(\n 'MaskedInput',\n function MaskedInput(props: MaskedInputProps, ref: Ref<Input | null>) {\n const {\n mask,\n maskChar,\n formatChars,\n alwaysShowMask = false,\n colored = true,\n imaskProps: customIMaskProps = {},\n unmask = false,\n onValueChange,\n onUnexpectedInput,\n onChange,\n element,\n className,\n ...inputProps\n } = props;\n const theme = useContext(ThemeContext);\n\n const inputRef = useRef<Input>(null);\n\n const [focused, setFocused] = useState(false);\n const prevValue = useRef<string>(props.value || String(props.defaultValue) || '');\n const prevSelectionStart = useRef<number | null>(null);\n\n useImperativeHandle(\n ref,\n () =>\n inputRef.current &&\n Object.assign(inputRef.current, {\n selectAll: () => {\n inputRef.current?.focus();\n inputRef.current?.delaySelectAll();\n },\n }),\n [],\n );\n\n useEffect(() => {\n // Для корректной работы onUnexpectedInput надо знать предыдущий value,\n // но imask при монтировании не вызывает onAccept, если value невалиден или laze=false.\n // Поэтому актуальный value при монтировании надо получать вручную\n if (inputRef.current?.input) {\n prevValue.current = inputRef.current.input.value;\n prevSelectionStart.current = inputRef.current.input.selectionStart;\n }\n }, []);\n\n const imaskProps = getCompatibleIMaskProps();\n\n // TODO: Удалить в следующем мажоре\n // Селекторы могут ожидать определённый порядок классов\n const uiFontGlobalClassesRoot = 'react-ui-ui-font-root';\n\n return (\n <Input\n ref={inputRef}\n {...inputProps}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onInput={handleInput}\n onKeyDown={handleKeyDown}\n className={cx(globalClasses.root, uiFontGlobalClassesRoot, className, styles.root(theme))}\n element={\n colored ? (\n <ColorableInputElement showOnFocus={false}>\n <FixedIMaskInput {...imaskProps} onAccept={handleAccept} />\n </ColorableInputElement>\n ) : (\n <FixedIMaskInput {...imaskProps} onAccept={handleAccept} />\n )\n }\n />\n );\n\n function getCompatibleIMaskProps(): IMaskInputProps<HTMLInputElement> {\n return {\n mask: mask.replace(/0/g, '{\\\\0}') as any,\n placeholderChar: getMaskChar(maskChar),\n definitions: getDefinitions(formatChars),\n // FIXME: Должно быть eager=true, но в imask ломается удаление по delete\n eager: 'append',\n overwrite: 'shift',\n lazy: !alwaysShowMask && (props.disabled || !focused),\n unmask,\n ...customIMaskProps,\n } as IMaskInputProps<HTMLInputElement>;\n }\n\n function handleAccept(...args: Parameters<Required<IMaskInputProps<HTMLInputElement>>['onAccept']>) {\n const [value, , e] = args;\n\n // Метод onAccept может вызываться при монтировании, если не задан проп defaultValue.\n // Но нативный input никогда не вызывает onChange при монтировании.\n // Наше событие onValueChange в Input вывается в тех же случаях, что и нативный onChange,\n // поэтому чтобы сохранить консинстентность будем ориентироваться на наличие аргумента e.\n // Он содержит нативное событие, вызвавшее изменение.\n e && onValueChange?.(value);\n !e && (prevValue.current = value);\n }\n\n /**\n * Отслеживаем неожиданные нажатия\n * handleAccept не вызывается когда значение с маской не меняется\n * Сначала вызывается handleAccept, затем handleInput\n */\n function handleInput(e: React.ChangeEvent<HTMLInputElement>) {\n const { value, selectionStart } = e.currentTarget;\n\n // При вводе неожиданных символов или удалении каретка может перепрыгивать фиксированные символы.\n // Такие случаи не расцениваем как неожиданный ввод, т.к. пользователь может намеренно их вводить.\n if (prevValue.current === value && selectionStart === prevSelectionStart.current) {\n handleUnexpectedInput(value);\n }\n prevValue.current = value;\n prevSelectionStart.current = selectionStart;\n\n props.onInput?.(e);\n }\n\n function handleFocus(e: React.FocusEvent<HTMLInputElement>) {\n setFocused(true);\n props.onFocus?.(e);\n\n // Если value из пропов отличается от value, которое получит input после обработки,\n // то imask будет ставить каретку за последним валидным символом.\n props.selectAllOnFocus && inputRef.current?.delaySelectAll();\n }\n\n function handleUnexpectedInput(value: string) {\n const blink = inputRef.current?.blink.bind(inputRef.current) || (() => undefined);\n onUnexpectedInput ? onUnexpectedInput(value, blink) : blink();\n }\n\n function handleBlur(e: React.FocusEvent<HTMLInputElement>) {\n setFocused(false);\n props.onBlur?.(e);\n }\n\n function handleKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\n const { value, selectionStart, selectionEnd } = e.currentTarget;\n\n if (\n (isKeyBackspace(e) && selectionStart === 0 && selectionEnd === 0) ||\n (isKeyDelete(e) && prevSelectionStart.current === value.length)\n ) {\n // Случаи, когда нажатие клавиш не тригерит `onInput`\n handleUnexpectedInput(value);\n prevValue.current = e.currentTarget.value;\n }\n prevSelectionStart.current = selectionStart;\n\n props.onKeyDown?.(e);\n }\n },\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_forwardRefAndName","_Emotion","_Input","_identifiers","_ThemeContext","_MaskedInput","_MaskedInput2","_ColorableInputElement","_FixedIMaskInput","_excluded","getSafeMaskInputType","exports","type","MaskedInput","forwardRefAndName","props","ref","mask","maskChar","formatChars","_props$alwaysShowMask","alwaysShowMask","_props$colored","colored","_props$imaskProps","imaskProps","customIMaskProps","_props$unmask","unmask","onValueChange","onUnexpectedInput","onChange","element","className","inputProps","_objectWithoutPropertiesLoose2","default","theme","useContext","ThemeContext","inputRef","useRef","_useState","useState","focused","setFocused","prevValue","value","String","defaultValue","prevSelectionStart","useImperativeHandle","current","Object","assign","selectAll","_inputRef$current","_inputRef$current2","focus","delaySelectAll","useEffect","_inputRef$current3","input","selectionStart","getCompatibleIMaskProps","uiFontGlobalClassesRoot","createElement","Input","_extends2","onFocus","handleFocus","onBlur","handleBlur","onInput","handleInput","onKeyDown","handleKeyDown","cx","globalClasses","root","styles","ColorableInputElement","showOnFocus","FixedIMaskInput","onAccept","handleAccept","replace","placeholderChar","getMaskChar","definitions","getDefinitions","eager","overwrite","lazy","disabled","_len","arguments","length","args","Array","_key","e","_e$currentTarget","currentTarget","handleUnexpectedInput","_inputRef$current4","selectAllOnFocus","_inputRef$current5","blink","bind","undefined","_e$currentTarget2","selectionEnd","isKeyBackspace","isKeyDelete"],"sources":["MaskedInput.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState, useEffect, useContext } from 'react';\nimport type { IMaskInputProps } from '@skbkontur/react-imask';\nimport type { Ref } from 'react';\n\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { InputProps, InputType } from '../Input';\nimport { Input } from '../Input';\nimport { isKeyBackspace, isKeyDelete } from '../../lib/events/keyboard/identifiers';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { globalClasses, styles } from './MaskedInput.styles';\nimport { getDefinitions, getMaskChar } from './MaskedInput.helpers';\nimport { ColorableInputElement } from './ColorableInputElement';\nimport { FixedIMaskInput } from './FixedIMaskInput';\n\nexport interface MaskedProps {\n /** Паттерн маски */\n mask: string;\n\n /** Устанавливает символ маски\n * @default _ */\n maskChar?: string;\n\n /** Задает словарь символов-регулярок для задания маски.\n * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' } */\n formatChars?: Record<string, string>;\n\n /** Включает показ символов маски.\n * @default false */\n alwaysShowMask?: boolean;\n\n /** Задает обработчик неправильного ввода.\n * Вторым агрументом будет передан метод вспыхивания акцентным цветом.\n *\n * Если обработчик не задан, то инпут вспыхивает по-умолчанию.\n * @param value значение инпута.\n * @param blink вспыхнуть акцентным цвтетом.\n */\n onUnexpectedInput?: (value: string, blink: () => void) => void;\n\n /** Убирает из value символы, не введённые пользователем\n * @default false */\n unmask?: boolean;\n\n /** Раскрашивает символы маски.\n * @default true\n * @ignore */\n colored?: boolean;\n\n /** Задает пропы для компонента `IMaskInput`. Необходимы для юнит-тестов\n * @ignore */\n imaskProps?: IMaskInputProps<HTMLInputElement>;\n}\n\nexport type MaskInputType = Exclude<InputType, 'number' | 'date' | 'time' | 'password'>;\n\nexport const getSafeMaskInputType = (type?: InputType): MaskInputType | undefined => {\n if (!type) {\n return type;\n }\n\n switch (type) {\n case 'number':\n case 'date':\n case 'time':\n case 'password':\n return 'text';\n default:\n return type;\n }\n};\n\nexport interface MaskedInputProps\n extends MaskedProps,\n Omit<\n InputProps,\n 'showClearIcon' | 'mask' | 'maxLength' | 'type' | 'alwaysShowMask' | 'onUnexpectedInput' | 'maskChar'\n > {\n type?: MaskInputType;\n}\n\n/**\n * Интерфейс пропсов наследуется от `Input`.\n * Из пропсов `Input` исключены некоторые не применимые к полю с маской пропсы и сокращен список возможных значений в type.\n */\nexport const MaskedInput = forwardRefAndName(\n 'MaskedInput',\n function MaskedInput(props: MaskedInputProps, ref: Ref<Input | null>) {\n const {\n mask,\n maskChar,\n formatChars,\n alwaysShowMask = false,\n colored = true,\n imaskProps: customIMaskProps = {},\n unmask = false,\n onValueChange,\n onUnexpectedInput,\n onChange,\n element,\n className,\n ...inputProps\n } = props;\n const theme = useContext(ThemeContext);\n\n const inputRef = useRef<Input>(null);\n\n const [focused, setFocused] = useState(false);\n const prevValue = useRef<string>(props.value || String(props.defaultValue) || '');\n const prevSelectionStart = useRef<number | null>(null);\n\n useImperativeHandle(\n ref,\n () =>\n inputRef.current &&\n Object.assign(inputRef.current, {\n selectAll: () => {\n inputRef.current?.focus();\n inputRef.current?.delaySelectAll();\n },\n }),\n [],\n );\n\n useEffect(() => {\n // Для корректной работы onUnexpectedInput надо знать предыдущий value,\n // но imask при монтировании не вызывает onAccept, если value невалиден или laze=false.\n // Поэтому актуальный value при монтировании надо получать вручную\n if (inputRef.current?.input) {\n prevValue.current = inputRef.current.input.value;\n prevSelectionStart.current = inputRef.current.input.selectionStart;\n }\n }, []);\n\n const imaskProps = getCompatibleIMaskProps();\n\n // TODO: Удалить в следующем мажоре\n // Селекторы могут ожидать определённый порядок классов\n const uiFontGlobalClassesRoot = 'react-ui-ui-font-root';\n\n return (\n <Input\n ref={inputRef}\n {...inputProps}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onInput={handleInput}\n onKeyDown={handleKeyDown}\n className={cx(globalClasses.root, uiFontGlobalClassesRoot, className, styles.root(theme))}\n element={\n colored ? (\n <ColorableInputElement showOnFocus={false}>\n <FixedIMaskInput {...imaskProps} onAccept={handleAccept} />\n </ColorableInputElement>\n ) : (\n <FixedIMaskInput {...imaskProps} onAccept={handleAccept} />\n )\n }\n />\n );\n\n function getCompatibleIMaskProps(): IMaskInputProps<HTMLInputElement> {\n return {\n mask: mask.replace(/0/g, '{\\\\0}') as any,\n placeholderChar: getMaskChar(maskChar),\n definitions: getDefinitions(formatChars),\n // FIXME: Должно быть eager=true, но в imask ломается удаление по delete\n eager: 'append',\n overwrite: 'shift',\n lazy: !alwaysShowMask && (props.disabled || !focused),\n unmask,\n ...customIMaskProps,\n } as IMaskInputProps<HTMLInputElement>;\n }\n\n function handleAccept(...args: Parameters<Required<IMaskInputProps<HTMLInputElement>>['onAccept']>) {\n const [value, , e] = args;\n\n // Метод onAccept может вызываться при монтировании, если не задан проп defaultValue.\n // Но нативный input никогда не вызывает onChange при монтировании.\n // Наше событие onValueChange в Input вывается в тех же случаях, что и нативный onChange,\n // поэтому чтобы сохранить консинстентность будем ориентироваться на наличие аргумента e.\n // Он содержит нативное событие, вызвавшее изменение.\n e && onValueChange?.(value);\n !e && (prevValue.current = value);\n }\n\n /**\n * Отслеживаем неожиданные нажатия\n * handleAccept не вызывается когда значение с маской не меняется\n * Сначала вызывается handleAccept, затем handleInput\n */\n function handleInput(e: React.ChangeEvent<HTMLInputElement>) {\n const { value, selectionStart } = e.currentTarget;\n\n // При вводе неожиданных символов или удалении каретка может перепрыгивать фиксированные символы.\n // Такие случаи не расцениваем как неожиданный ввод, т.к. пользователь может намеренно их вводить.\n if (prevValue.current === value && selectionStart === prevSelectionStart.current) {\n handleUnexpectedInput(value);\n }\n prevValue.current = value;\n prevSelectionStart.current = selectionStart;\n\n props.onInput?.(e);\n }\n\n function handleFocus(e: React.FocusEvent<HTMLInputElement>) {\n setFocused(true);\n props.onFocus?.(e);\n\n // Если value из пропов отличается от value, которое получит input после обработки,\n // то imask будет ставить каретку за последним валидным символом.\n props.selectAllOnFocus && inputRef.current?.delaySelectAll();\n }\n\n function handleUnexpectedInput(value: string) {\n const blink = inputRef.current?.blink.bind(inputRef.current) || (() => undefined);\n onUnexpectedInput ? onUnexpectedInput(value, blink) : blink();\n }\n\n function handleBlur(e: React.FocusEvent<HTMLInputElement>) {\n setFocused(false);\n props.onBlur?.(e);\n }\n\n function handleKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\n const { value, selectionStart, selectionEnd } = e.currentTarget;\n\n if (\n (isKeyBackspace(e) && selectionStart === 0 && selectionEnd === 0) ||\n (isKeyDelete(e) && prevSelectionStart.current === value.length)\n ) {\n // Случаи, когда нажатие клавиш не тригерит `onInput`\n handleUnexpectedInput(value);\n prevValue.current = e.currentTarget.value;\n }\n prevSelectionStart.current = selectionStart;\n\n props.onKeyDown?.(e);\n }\n },\n);\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import type { AriaAttributes, HTMLAttributes } from 'react';
2
2
  import React from 'react';
3
- import PropTypes from 'prop-types';
4
3
  import type { CommonProps } from '../../internal/CommonWrapper';
4
+ import type { TGetRootNode } from '../../lib/rootNode';
5
5
  import type { SizeProp } from '../../lib/types/props';
6
6
  import type { MenuContextType } from '../../internal/Menu/MenuContext';
7
7
  export type MenuItemState = null | 'hover' | 'selected' | void;
@@ -66,23 +66,13 @@ export declare class MenuItem extends React.Component<MenuItemProps> {
66
66
  static __KONTUR_REACT_UI__: string;
67
67
  static displayName: string;
68
68
  static __MENU_ITEM__: boolean;
69
- static propTypes: {
70
- comment: PropTypes.Requireable<PropTypes.ReactNodeLike>;
71
- disabled: PropTypes.Requireable<boolean>;
72
- href: PropTypes.Requireable<string>;
73
- icon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
74
- loose: PropTypes.Requireable<boolean>;
75
- state: PropTypes.Requireable<string>;
76
- target: PropTypes.Requireable<string>;
77
- onClick: PropTypes.Requireable<(...args: any[]) => any>;
78
- size: PropTypes.Requireable<string>;
79
- };
80
69
  state: {
81
70
  iconOffsetTop: number;
82
71
  highlighted: boolean;
83
72
  };
84
73
  private theme;
85
74
  private mouseEntered;
75
+ getRootNode: TGetRootNode;
86
76
  private setRootNode;
87
77
  private rootRef;
88
78
  private contentRef;
@@ -1,6 +1,5 @@
1
1
  "use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;exports.__esModule = true;exports.isMenuItem = exports.MenuItemDataTids = exports.MenuItem = void 0;var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
2
2
  var _react = _interopRequireDefault(require("react"));
3
- var _propTypes = _interopRequireDefault(require("prop-types"));
4
3
  var _globalObject = require("@skbkontur/global-object");
5
4
 
6
5
  var _ThemeHelpers = require("../../lib/theming/ThemeHelpers");
@@ -107,26 +106,6 @@ MenuItem = exports.MenuItem = (0, _rootNode.rootNode)(_class = (_MenuItem = /*#_
107
106
 
108
107
 
109
108
 
110
-
111
-
112
-
113
-
114
-
115
-
116
-
117
-
118
-
119
-
120
-
121
-
122
-
123
-
124
-
125
-
126
-
127
-
128
-
129
-
130
109
 
131
110
  state = {
132
111
  iconOffsetTop: 0,
@@ -136,6 +115,7 @@ MenuItem = exports.MenuItem = (0, _rootNode.rootNode)(_class = (_MenuItem = /*#_
136
115
 
137
116
  mouseEntered = false;_this.
138
117
 
118
+
139
119
  rootRef = null;_this.
140
120
  contentRef = /*#__PURE__*/_react.default.createRef();_this.
141
121
 
@@ -422,7 +402,7 @@ MenuItem = exports.MenuItem = (0, _rootNode.rootNode)(_class = (_MenuItem = /*#_
422
402
 
423
403
  hasIconAmongItems = function () {var _this$context$navigat3;
424
404
  return Boolean((_this$context$navigat3 = _this.context.navigation) == null ? void 0 : _this$context$navigat3.items.some(function (item) {return item.props.icon;}));
425
- };return _this;}(0, _inheritsLoose2.default)(MenuItem, _React$Component);var _proto = MenuItem.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.componentDidMount = function componentDidMount() {if (this.props.scrollIntoView && this.rootRef) {(0, _scrollYCenterIntoNearestScrollable.scrollYCenterIntoNearestScrollable)(this.rootRef);}if (this.rootRef && (0, _globalObject.isBrowser)(_globalObject.globalObject)) {this.setState({ iconOffsetTop: _globalObject.globalObject.getComputedStyle(this.rootRef).getPropertyValue('padding-top') });}if (this.contentRef.current && !this.props.isNotSelectable) {var _this$context$navigat4;(_this$context$navigat4 = this.context.navigation) == null || _this$context$navigat4.add(this.contentRef.current, this);}if (this.props.icon) {var _this$context$setEnab, _this$context;(_this$context$setEnab = (_this$context = this.context).setEnableIconPadding) == null || _this$context$setEnab.call(_this$context, true);}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.contentRef.current) {var _this$context$navigat5, _this$context$setEnab2, _this$context2;!this.props.isNotSelectable && ((_this$context$navigat5 = this.context.navigation) == null ? void 0 : _this$context$navigat5.remove(this.contentRef.current));(_this$context$setEnab2 = (_this$context2 = this.context).setEnableIconPadding) == null || _this$context$setEnab2.call(_this$context2, this.hasIconAmongItems());}};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (prevProps.icon !== this.props.icon) {var _this$context$setEnab3, _this$context3;(_this$context$setEnab3 = (_this$context3 = this.context).setEnableIconPadding) == null || _this$context$setEnab3.call(_this$context3, !!this.props.icon || this.hasIconAmongItems());}if (this.contentRef.current && prevProps.isNotSelectable !== this.props.isNotSelectable) {if (this.props.isNotSelectable) {var _this$context$navigat6;this.unhighlight();(_this$context$navigat6 = this.context.navigation) == null || _this$context$navigat6.remove(this.contentRef.current);} else {var _this$context$navigat7;(_this$context$navigat7 = this.context.navigation) == null || _this$context$navigat7.add(this.contentRef.current, this);}}};_proto.getRootSizeClassName = function getRootSizeClassName() {switch (this.props.size) {case 'large':return _MenuItem2.styles.rootLarge(this.theme);case 'medium':return _MenuItem2.styles.rootMedium(this.theme);case 'small':default:return _MenuItem2.styles.rootSmall(this.theme);}};_proto.getIconSizeClassName = function getIconSizeClassName() {switch (this.props.size) {case 'large':return _MenuItem2.styles.iconLarge(this.theme);case 'medium':return _MenuItem2.styles.iconMedium(this.theme);case 'small':default:return _MenuItem2.styles.iconSmall(this.theme);}};_proto.getWithIconSizeClassName = function getWithIconSizeClassName() {switch (this.props.size) {case 'large':return _MenuItem2.styles.withIconLarge(this.theme);case 'medium':return _MenuItem2.styles.withIconMedium(this.theme);case 'small':default:return _MenuItem2.styles.withIconSmall(this.theme);}};return (0, _createClass2.default)(MenuItem, [{ key: "activeState", get: function get() {return this.state.highlighted ? 'hover' : this.props.state;} }, { key: "isHover", get: function get() {return (this.state.highlighted || this.props.state === 'hover') && !this.props.disabled;} }, { key: "isSelected", get: function get() {return this.props.state === 'selected' && !this.state.highlighted;} }]);}(_react.default.Component), _MenuItem.__KONTUR_REACT_UI__ = 'MenuItem', _MenuItem.displayName = 'MenuItem', _MenuItem.__MENU_ITEM__ = true, _MenuItem.propTypes = { comment: _propTypes.default.node, disabled: _propTypes.default.bool, href: _propTypes.default.string, icon: _propTypes.default.node, loose: _propTypes.default.bool, state: _propTypes.default.string, target: _propTypes.default.string, onClick: _propTypes.default.func, size: _propTypes.default.string }, _MenuItem.contextType = _MenuContext.MenuContext, _MenuItem)) || _class;
405
+ };return _this;}(0, _inheritsLoose2.default)(MenuItem, _React$Component);var _proto = MenuItem.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return _this2.renderMain();});};_proto.componentDidMount = function componentDidMount() {if (this.props.scrollIntoView && this.rootRef) {(0, _scrollYCenterIntoNearestScrollable.scrollYCenterIntoNearestScrollable)(this.rootRef);}if (this.rootRef && (0, _globalObject.isBrowser)(_globalObject.globalObject)) {this.setState({ iconOffsetTop: _globalObject.globalObject.getComputedStyle(this.rootRef).getPropertyValue('padding-top') });}if (this.contentRef.current && !this.props.isNotSelectable) {var _this$context$navigat4;(_this$context$navigat4 = this.context.navigation) == null || _this$context$navigat4.add(this.contentRef.current, this);}if (this.props.icon) {var _this$context$setEnab, _this$context;(_this$context$setEnab = (_this$context = this.context).setEnableIconPadding) == null || _this$context$setEnab.call(_this$context, true);}};_proto.componentWillUnmount = function componentWillUnmount() {if (this.contentRef.current) {var _this$context$navigat5, _this$context$setEnab2, _this$context2;!this.props.isNotSelectable && ((_this$context$navigat5 = this.context.navigation) == null ? void 0 : _this$context$navigat5.remove(this.contentRef.current));(_this$context$setEnab2 = (_this$context2 = this.context).setEnableIconPadding) == null || _this$context$setEnab2.call(_this$context2, this.hasIconAmongItems());}};_proto.componentDidUpdate = function componentDidUpdate(prevProps) {if (prevProps.icon !== this.props.icon) {var _this$context$setEnab3, _this$context3;(_this$context$setEnab3 = (_this$context3 = this.context).setEnableIconPadding) == null || _this$context$setEnab3.call(_this$context3, !!this.props.icon || this.hasIconAmongItems());}if (this.contentRef.current && prevProps.isNotSelectable !== this.props.isNotSelectable) {if (this.props.isNotSelectable) {var _this$context$navigat6;this.unhighlight();(_this$context$navigat6 = this.context.navigation) == null || _this$context$navigat6.remove(this.contentRef.current);} else {var _this$context$navigat7;(_this$context$navigat7 = this.context.navigation) == null || _this$context$navigat7.add(this.contentRef.current, this);}}};_proto.getRootSizeClassName = function getRootSizeClassName() {switch (this.props.size) {case 'large':return _MenuItem2.styles.rootLarge(this.theme);case 'medium':return _MenuItem2.styles.rootMedium(this.theme);case 'small':default:return _MenuItem2.styles.rootSmall(this.theme);}};_proto.getIconSizeClassName = function getIconSizeClassName() {switch (this.props.size) {case 'large':return _MenuItem2.styles.iconLarge(this.theme);case 'medium':return _MenuItem2.styles.iconMedium(this.theme);case 'small':default:return _MenuItem2.styles.iconSmall(this.theme);}};_proto.getWithIconSizeClassName = function getWithIconSizeClassName() {switch (this.props.size) {case 'large':return _MenuItem2.styles.withIconLarge(this.theme);case 'medium':return _MenuItem2.styles.withIconMedium(this.theme);case 'small':default:return _MenuItem2.styles.withIconSmall(this.theme);}};return (0, _createClass2.default)(MenuItem, [{ key: "activeState", get: function get() {return this.state.highlighted ? 'hover' : this.props.state;} }, { key: "isHover", get: function get() {return (this.state.highlighted || this.props.state === 'hover') && !this.props.disabled;} }, { key: "isSelected", get: function get() {return this.props.state === 'selected' && !this.state.highlighted;} }]);}(_react.default.Component), _MenuItem.__KONTUR_REACT_UI__ = 'MenuItem', _MenuItem.displayName = 'MenuItem', _MenuItem.__MENU_ITEM__ = true, _MenuItem.contextType = _MenuContext.MenuContext, _MenuItem)) || _class;
426
406
 
427
407
 
428
408
  var isMenuItem = exports.isMenuItem = (0, _utils.isReactUIComponent)('MenuItem');