@skbkontur/react-ui 0.0.0-dad43298ae → 0.0.0-db9f11da2a

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 (952) hide show
  1. package/CHANGELOG.md +280 -0
  2. package/README.md +7 -7
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +18 -26
  4. package/cjs/components/Autocomplete/Autocomplete.js +64 -46
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/Button.d.ts +4 -1
  7. package/cjs/components/Button/Button.js +47 -17
  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/Button/ButtonArrow.js +13 -14
  13. package/cjs/components/Button/ButtonArrow.js.map +1 -1
  14. package/cjs/components/Calendar/Calendar.d.ts +2 -0
  15. package/cjs/components/Calendar/Calendar.js +1 -0
  16. package/cjs/components/Calendar/Calendar.js.map +1 -1
  17. package/cjs/components/Calendar/CalendarDay.js +18 -2
  18. package/cjs/components/Calendar/CalendarDay.js.map +1 -1
  19. package/cjs/components/Calendar/DayCellView.js +7 -15
  20. package/cjs/components/Calendar/DayCellView.js.map +1 -1
  21. package/cjs/components/Center/Center.d.ts +2 -0
  22. package/cjs/components/Center/Center.js +1 -0
  23. package/cjs/components/Center/Center.js.map +1 -1
  24. package/cjs/components/Checkbox/Checkbox.d.ts +4 -16
  25. package/cjs/components/Checkbox/Checkbox.js +16 -32
  26. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  27. package/cjs/components/ComboBox/ComboBox.d.ts +22 -3
  28. package/cjs/components/ComboBox/ComboBox.js +26 -1
  29. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  30. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  31. package/cjs/components/CurrencyInput/CurrencyInput.js +6 -25
  32. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  33. package/cjs/components/CurrencyInput/constants.js +1 -2
  34. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  35. package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -28
  36. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  37. package/cjs/components/DateInput/DateInput.d.ts +6 -1
  38. package/cjs/components/DateInput/DateInput.js +45 -17
  39. package/cjs/components/DateInput/DateInput.js.map +1 -1
  40. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  41. package/cjs/components/DateInput/helpers/InternalDateMediator.js +10 -1
  42. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  43. package/cjs/components/DatePicker/DatePicker.d.ts +6 -33
  44. package/cjs/components/DatePicker/DatePicker.js +6 -60
  45. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  46. package/cjs/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  47. package/cjs/components/DateRangePicker/DateRangePicker.js +61 -23
  48. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  49. package/cjs/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  50. package/cjs/components/DateRangePicker/DateRangePicker.styles.js +13 -18
  51. package/cjs/components/DateRangePicker/DateRangePicker.styles.js.map +1 -1
  52. package/cjs/components/DateRangePicker/DateRangePickerInput.js +4 -8
  53. package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  54. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js +17 -17
  55. package/cjs/components/DateRangePicker/helpers/validateDateRangePicker.js.map +1 -1
  56. package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
  57. package/cjs/components/Dropdown/Dropdown.js +2 -82
  58. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  59. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  60. package/cjs/components/DropdownMenu/DropdownMenu.js +1 -0
  61. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  62. package/cjs/components/FileUploader/FileUploader.js +15 -2
  63. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  64. package/cjs/components/FxInput/FxInput.d.ts +13 -8
  65. package/cjs/components/FxInput/FxInput.js +137 -60
  66. package/cjs/components/FxInput/FxInput.js.map +1 -1
  67. package/cjs/components/FxInput/FxInputRestoreBtn.js +2 -3
  68. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  69. package/cjs/components/Gapped/Gapped.d.ts +2 -15
  70. package/cjs/components/Gapped/Gapped.js +1 -24
  71. package/cjs/components/Gapped/Gapped.js.map +1 -1
  72. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  73. package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
  74. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  75. package/cjs/components/Group/Group.d.ts +5 -4
  76. package/cjs/components/Group/Group.js +91 -40
  77. package/cjs/components/Group/Group.js.map +1 -1
  78. package/cjs/components/Group/Group.styles.d.ts +1 -0
  79. package/cjs/components/Group/Group.styles.js +12 -6
  80. package/cjs/components/Group/Group.styles.js.map +1 -1
  81. package/cjs/components/Hint/Hint.d.ts +2 -0
  82. package/cjs/components/Hint/Hint.js +1 -0
  83. package/cjs/components/Hint/Hint.js.map +1 -1
  84. package/cjs/components/Input/Input.d.ts +6 -5
  85. package/cjs/components/Input/Input.js +17 -47
  86. package/cjs/components/Input/Input.js.map +1 -1
  87. package/cjs/components/Input/Input.styles.d.ts +0 -1
  88. package/cjs/components/Input/Input.styles.js +8 -19
  89. package/cjs/components/Input/Input.styles.js.map +1 -1
  90. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -0
  91. package/cjs/components/Input/InputLayout/InputLayout.js +4 -2
  92. package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
  93. package/cjs/components/Kebab/Kebab.d.ts +4 -2
  94. package/cjs/components/Kebab/Kebab.js +9 -29
  95. package/cjs/components/Kebab/Kebab.js.map +1 -1
  96. package/cjs/components/Link/Link.d.ts +2 -0
  97. package/cjs/components/Link/Link.js +15 -1
  98. package/cjs/components/Link/Link.js.map +1 -1
  99. package/cjs/components/Link/Link.mixins.js +1 -2
  100. package/cjs/components/Link/Link.mixins.js.map +1 -1
  101. package/cjs/components/Link/Link.styles.js +3 -2
  102. package/cjs/components/Link/Link.styles.js.map +1 -1
  103. package/cjs/components/Loader/Loader.d.ts +7 -36
  104. package/cjs/components/Loader/Loader.js +6 -56
  105. package/cjs/components/Loader/Loader.js.map +1 -1
  106. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  107. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +107 -78
  108. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  109. package/cjs/components/MaskedInput/FixedIMaskInput.js +3 -2
  110. package/cjs/components/MaskedInput/FixedIMaskInput.js.map +1 -1
  111. package/cjs/components/MaskedInput/MaskedInput.d.ts +9 -0
  112. package/cjs/components/MaskedInput/MaskedInput.js +43 -4
  113. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  114. package/cjs/components/MenuItem/MenuItem.d.ts +2 -12
  115. package/cjs/components/MenuItem/MenuItem.js +2 -22
  116. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  117. package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -0
  118. package/cjs/components/MiniModal/MiniModal.styles.js +14 -7
  119. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
  120. package/cjs/components/MiniModal/MiniModalBody.js +17 -2
  121. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
  122. package/cjs/components/Modal/Modal.styles.d.ts +2 -1
  123. package/cjs/components/Modal/Modal.styles.js +40 -32
  124. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  125. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  126. package/cjs/components/Modal/ModalBody.js +1 -0
  127. package/cjs/components/Modal/ModalBody.js.map +1 -1
  128. package/cjs/components/Modal/ModalHeader.d.ts +5 -0
  129. package/cjs/components/Modal/ModalHeader.js +8 -1
  130. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  131. package/cjs/components/Modal/ModalSeparator.js +1 -1
  132. package/cjs/components/Modal/ModalSeparator.js.map +1 -1
  133. package/cjs/components/Paging/DotsIcon.d.ts +3 -0
  134. package/cjs/components/Paging/DotsIcon.js +13 -0
  135. package/cjs/components/Paging/DotsIcon.js.map +1 -0
  136. package/cjs/components/Paging/ForwardIcon.d.ts +3 -0
  137. package/cjs/components/Paging/ForwardIcon.js +13 -1
  138. package/cjs/components/Paging/ForwardIcon.js.map +1 -1
  139. package/cjs/components/Paging/NavigationHelper.d.ts +3 -2
  140. package/cjs/components/Paging/NavigationHelper.js +8 -6
  141. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  142. package/cjs/components/Paging/Paging.d.ts +13 -2
  143. package/cjs/components/Paging/Paging.js +120 -50
  144. package/cjs/components/Paging/Paging.js.map +1 -1
  145. package/cjs/components/Paging/Paging.styles.d.ts +24 -1
  146. package/cjs/components/Paging/Paging.styles.js +151 -22
  147. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  148. package/cjs/components/Paging/PagingHelper.d.ts +1 -1
  149. package/cjs/components/Paging/PagingHelper.js +18 -11
  150. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  151. package/cjs/components/PasswordInput/PasswordInput.d.ts +5 -12
  152. package/cjs/components/PasswordInput/PasswordInput.js +21 -32
  153. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  154. package/cjs/components/Radio/Radio.d.ts +4 -1
  155. package/cjs/components/Radio/Radio.js +7 -4
  156. package/cjs/components/Radio/Radio.js.map +1 -1
  157. package/cjs/components/RadioGroup/RadioGroup.d.ts +3 -0
  158. package/cjs/components/RadioGroup/RadioGroup.js +19 -1
  159. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  160. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
  161. package/cjs/components/RadioGroup/RadioGroup.styles.js +10 -4
  162. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  163. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  164. package/cjs/components/ScrollContainer/ScrollContainer.js +2 -11
  165. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  166. package/cjs/components/Select/Select.d.ts +7 -1
  167. package/cjs/components/Select/Select.js +13 -6
  168. package/cjs/components/Select/Select.js.map +1 -1
  169. package/cjs/components/SidePage/SidePage.js +4 -2
  170. package/cjs/components/SidePage/SidePage.js.map +1 -1
  171. package/cjs/components/SidePage/SidePage.styles.d.ts +3 -1
  172. package/cjs/components/SidePage/SidePage.styles.js +52 -38
  173. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  174. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  175. package/cjs/components/SidePage/SidePageBody.js +1 -0
  176. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  177. package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
  178. package/cjs/components/SidePage/SidePageContainer.js +1 -0
  179. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  180. package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
  181. package/cjs/components/SidePage/SidePageFooter.js +1 -0
  182. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  183. package/cjs/components/SidePage/SidePageHeader.d.ts +12 -2
  184. package/cjs/components/SidePage/SidePageHeader.js +63 -19
  185. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  186. package/cjs/components/SingleToast/SingleToast.d.ts +33 -3
  187. package/cjs/components/SingleToast/SingleToast.js +58 -3
  188. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  189. package/cjs/components/Spinner/Spinner.d.ts +2 -18
  190. package/cjs/components/Spinner/Spinner.js +2 -32
  191. package/cjs/components/Spinner/Spinner.js.map +1 -1
  192. package/cjs/components/Sticky/Sticky.d.ts +5 -13
  193. package/cjs/components/Sticky/Sticky.js +12 -18
  194. package/cjs/components/Sticky/Sticky.js.map +1 -1
  195. package/cjs/components/Switcher/Switcher.d.ts +6 -21
  196. package/cjs/components/Switcher/Switcher.js +11 -20
  197. package/cjs/components/Switcher/Switcher.js.map +1 -1
  198. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -0
  199. package/cjs/components/Switcher/Switcher.styles.js +17 -9
  200. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  201. package/cjs/components/Tabs/Indicator.d.ts +2 -0
  202. package/cjs/components/Tabs/Indicator.js +1 -0
  203. package/cjs/components/Tabs/Indicator.js.map +1 -1
  204. package/cjs/components/Tabs/Tab.d.ts +2 -0
  205. package/cjs/components/Tabs/Tab.js +1 -0
  206. package/cjs/components/Tabs/Tab.js.map +1 -1
  207. package/cjs/components/Tabs/Tabs.d.ts +2 -0
  208. package/cjs/components/Tabs/Tabs.js +1 -0
  209. package/cjs/components/Tabs/Tabs.js.map +1 -1
  210. package/cjs/components/Textarea/Textarea.d.ts +10 -46
  211. package/cjs/components/Textarea/Textarea.js +23 -60
  212. package/cjs/components/Textarea/Textarea.js.map +1 -1
  213. package/cjs/components/Textarea/Textarea.styles.js +3 -2
  214. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  215. package/cjs/components/Textarea/TextareaCounter.js +2 -13
  216. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  217. package/cjs/components/Toast/Toast.d.ts +62 -13
  218. package/cjs/components/Toast/Toast.js +119 -12
  219. package/cjs/components/Toast/Toast.js.map +1 -1
  220. package/cjs/components/Toast/ToastStatic.d.ts +3 -2
  221. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  222. package/cjs/components/Toast/ToastView.d.ts +8 -16
  223. package/cjs/components/Toast/ToastView.js +19 -22
  224. package/cjs/components/Toast/ToastView.js.map +1 -1
  225. package/cjs/components/Toast/ToastView.styles.d.ts +4 -0
  226. package/cjs/components/Toast/ToastView.styles.js +43 -9
  227. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  228. package/cjs/components/Toggle/Toggle.d.ts +4 -11
  229. package/cjs/components/Toggle/Toggle.js +4 -14
  230. package/cjs/components/Toggle/Toggle.js.map +1 -1
  231. package/cjs/components/Token/Token.d.ts +2 -0
  232. package/cjs/components/Token/Token.js +1 -0
  233. package/cjs/components/Token/Token.js.map +1 -1
  234. package/cjs/components/TokenInput/TokenInput.d.ts +8 -3
  235. package/cjs/components/TokenInput/TokenInput.js +44 -30
  236. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  237. package/cjs/components/TokenInput/TokenInputMenu.d.ts +12 -3
  238. package/cjs/components/TokenInput/TokenInputMenu.js +23 -1
  239. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  240. package/cjs/components/Tooltip/Tooltip.d.ts +14 -8
  241. package/cjs/components/Tooltip/Tooltip.js +102 -17
  242. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  243. package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
  244. package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
  245. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  246. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  247. package/cjs/components/TooltipMenu/TooltipMenu.js +1 -0
  248. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  249. package/cjs/index.d.ts +2 -0
  250. package/cjs/index.js +1 -0
  251. package/cjs/index.js.map +1 -1
  252. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  253. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +16 -7
  254. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  255. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  256. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +27 -9
  257. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  258. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  259. package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
  260. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  261. package/cjs/internal/ComponentTable.js +2 -3
  262. package/cjs/internal/ComponentTable.js.map +1 -1
  263. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
  264. package/cjs/internal/CustomComboBox/ComboBoxView.js +50 -7
  265. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  266. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +11 -4
  267. package/cjs/internal/CustomComboBox/CustomComboBox.js +20 -5
  268. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  269. package/cjs/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
  270. package/cjs/internal/CustomComboBox/getComboBoxTheme.js +10 -7
  271. package/cjs/internal/CustomComboBox/getComboBoxTheme.js.map +1 -1
  272. package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
  273. package/cjs/internal/DateSelect/DateSelect.js +13 -19
  274. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  275. package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
  276. package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
  277. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  278. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
  279. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  280. package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -3
  281. package/cjs/internal/InputLikeText/InputLikeText.js +13 -14
  282. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  283. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  284. package/cjs/internal/InputLikeText/InputLikeText.styles.js +12 -4
  285. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  286. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
  287. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +235 -0
  288. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  289. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  290. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +10 -0
  291. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
  292. package/cjs/internal/Menu/Menu.d.ts +2 -0
  293. package/cjs/internal/Menu/Menu.js +1 -0
  294. package/cjs/internal/Menu/Menu.js.map +1 -1
  295. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
  296. package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
  297. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  298. package/cjs/internal/Popup/Popup.d.ts +43 -60
  299. package/cjs/internal/Popup/Popup.js +41 -81
  300. package/cjs/internal/Popup/Popup.js.map +1 -1
  301. package/cjs/internal/Popup/PopupPin.d.ts +23 -33
  302. package/cjs/internal/Popup/PopupPin.js +2 -35
  303. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  304. package/cjs/internal/Popup/PopupPinNew.d.ts +31 -0
  305. package/cjs/internal/Popup/PopupPinNew.js +180 -0
  306. package/cjs/internal/Popup/PopupPinNew.js.map +1 -0
  307. package/cjs/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  308. package/cjs/internal/Popup/PopupPinNew.styles.js +33 -0
  309. package/cjs/internal/Popup/PopupPinNew.styles.js.map +1 -0
  310. package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
  311. package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
  312. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  313. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  314. package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
  315. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  316. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
  317. package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
  318. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  319. package/cjs/internal/ThemePlayground/Playground.js +20 -16
  320. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  321. package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
  322. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  323. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
  324. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  325. package/cjs/internal/ThemePlayground/SizesGroup.js +4 -4
  326. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  327. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +1 -1
  328. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  329. package/cjs/internal/ThemePlayground/VariableValue.js +4 -4
  330. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  331. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  332. package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
  333. package/cjs/internal/ZIndex/ZIndex.js +5 -1
  334. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  335. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  336. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
  337. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
  338. package/cjs/internal/themes/BasicTheme.d.ts +125 -20
  339. package/cjs/internal/themes/BasicTheme.js +172 -25
  340. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  341. package/cjs/internal/themes/DarkTheme5_2.js +1 -1
  342. package/cjs/internal/themes/DarkTheme5_2.js.map +1 -1
  343. package/cjs/internal/themes/DarkTheme5_3.d.ts +1 -0
  344. package/cjs/internal/themes/DarkTheme5_3.js +13 -0
  345. package/cjs/internal/themes/DarkTheme5_3.js.map +1 -0
  346. package/cjs/internal/themes/DarkTheme5_4.d.ts +1 -0
  347. package/cjs/internal/themes/DarkTheme5_4.js +18 -0
  348. package/cjs/internal/themes/DarkTheme5_4.js.map +1 -0
  349. package/cjs/internal/themes/LightTheme5_3.d.ts +1 -0
  350. package/cjs/internal/themes/LightTheme5_3.js +13 -0
  351. package/cjs/internal/themes/LightTheme5_3.js.map +1 -0
  352. package/cjs/internal/themes/LightTheme5_4.d.ts +1 -0
  353. package/cjs/internal/themes/LightTheme5_4.js +18 -0
  354. package/cjs/internal/themes/LightTheme5_4.js.map +1 -0
  355. package/cjs/internal/themes/consts.d.ts +8 -0
  356. package/cjs/internal/themes/consts.js +8 -0
  357. package/cjs/internal/themes/consts.js.map +1 -0
  358. package/cjs/lib/__stories__/Blink.creevey.mts +90 -0
  359. package/cjs/lib/blink.d.ts +15 -0
  360. package/cjs/lib/blink.js +65 -0
  361. package/cjs/lib/blink.js.map +1 -0
  362. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  363. package/cjs/lib/date/InternalDateGetter.js +8 -1
  364. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  365. package/cjs/lib/delay.mts +3 -0
  366. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +11 -0
  367. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +11 -0
  368. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +23 -1
  369. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  370. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  371. package/cjs/lib/forwardRefAndName.js +0 -1
  372. package/cjs/lib/forwardRefAndName.js.map +1 -1
  373. package/cjs/lib/getMenuPositions.d.ts +21 -1
  374. package/cjs/lib/getMenuPositions.js +45 -8
  375. package/cjs/lib/getMenuPositions.js.map +1 -1
  376. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  377. package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
  378. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  379. package/cjs/lib/size/SizeControlContext.d.ts +6 -0
  380. package/cjs/lib/size/SizeControlContext.js +16 -0
  381. package/cjs/lib/size/SizeControlContext.js.map +1 -0
  382. package/cjs/lib/size/SizeDecorator.d.ts +33 -0
  383. package/cjs/lib/size/SizeDecorator.js +41 -0
  384. package/cjs/lib/size/SizeDecorator.js.map +1 -0
  385. package/cjs/lib/size/constants.d.ts +2 -0
  386. package/cjs/lib/size/constants.js +3 -0
  387. package/cjs/lib/size/constants.js.map +1 -0
  388. package/cjs/lib/size/index.d.ts +1 -0
  389. package/cjs/lib/size/index.js +1 -0
  390. package/cjs/lib/size/index.js.map +1 -0
  391. package/cjs/lib/size/useSizeControl.d.ts +2 -0
  392. package/cjs/lib/size/useSizeControl.js +10 -0
  393. package/cjs/lib/size/useSizeControl.js.map +1 -0
  394. package/cjs/lib/theming/ThemeHelpers.d.ts +1 -1
  395. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  396. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  397. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  398. package/cjs/lib/theming/themes/DarkTheme.d.ts +2 -0
  399. package/cjs/lib/theming/themes/DarkTheme.js +6 -2
  400. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  401. package/cjs/lib/theming/themes/LightTheme.d.ts +2 -0
  402. package/cjs/lib/theming/themes/LightTheme.js +6 -2
  403. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  404. package/cjs/lib/utils.d.ts +18 -1
  405. package/cjs/lib/utils.js +40 -4
  406. package/cjs/lib/utils.js.map +1 -1
  407. package/cjs/test-setup.d.ts +1 -0
  408. package/cjs/vitest.config.d.ts +2 -0
  409. package/components/Autocomplete/Autocomplete/Autocomplete.js +63 -51
  410. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  411. package/components/Autocomplete/Autocomplete.d.ts +18 -26
  412. package/components/Button/Button/Button.js +45 -24
  413. package/components/Button/Button/Button.js.map +1 -1
  414. package/components/Button/Button.d.ts +4 -1
  415. package/components/Button/Button.styles/Button.styles.js +79 -61
  416. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  417. package/components/Button/Button.styles.d.ts +6 -0
  418. package/components/Button/ButtonArrow/ButtonArrow.js +1 -3
  419. package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
  420. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  421. package/components/Calendar/Calendar.d.ts +2 -0
  422. package/components/Calendar/CalendarDay/CalendarDay.js +9 -2
  423. package/components/Calendar/CalendarDay/CalendarDay.js.map +1 -1
  424. package/components/Calendar/DayCellView/DayCellView.js +6 -10
  425. package/components/Calendar/DayCellView/DayCellView.js.map +1 -1
  426. package/components/Center/Center/Center.js.map +1 -1
  427. package/components/Center/Center.d.ts +2 -0
  428. package/components/Checkbox/Checkbox/Checkbox.js +12 -24
  429. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  430. package/components/Checkbox/Checkbox.d.ts +4 -16
  431. package/components/ComboBox/ComboBox/ComboBox.js +2 -1
  432. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  433. package/components/ComboBox/ComboBox.d.ts +22 -3
  434. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +13 -36
  435. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  436. package/components/CurrencyInput/CurrencyInput.d.ts +6 -24
  437. package/components/CurrencyInput/constants/constants.js +0 -1
  438. package/components/CurrencyInput/constants/constants.js.map +1 -1
  439. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
  440. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  441. package/components/DateInput/DateInput/DateInput.js +34 -24
  442. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  443. package/components/DateInput/DateInput.d.ts +6 -1
  444. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
  445. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  446. package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  447. package/components/DatePicker/DatePicker/DatePicker.js +1 -32
  448. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  449. package/components/DatePicker/DatePicker.d.ts +6 -33
  450. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +41 -22
  451. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  452. package/components/DateRangePicker/DateRangePicker.d.ts +3 -1
  453. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js +12 -15
  454. package/components/DateRangePicker/DateRangePicker.styles/DateRangePicker.styles.js.map +1 -1
  455. package/components/DateRangePicker/DateRangePicker.styles.d.ts +0 -1
  456. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +5 -8
  457. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
  458. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js +16 -15
  459. package/components/DateRangePicker/helpers/validateDateRangePicker/validateDateRangePicker.js.map +1 -1
  460. package/components/Dropdown/Dropdown/Dropdown.js +1 -47
  461. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  462. package/components/Dropdown/Dropdown.d.ts +2 -47
  463. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  464. package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  465. package/components/FileUploader/FileUploader/FileUploader.js +8 -2
  466. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  467. package/components/FxInput/FxInput/FxInput.js +122 -70
  468. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  469. package/components/FxInput/FxInput.d.ts +13 -8
  470. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js +2 -2
  471. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
  472. package/components/Gapped/Gapped/Gapped.js +1 -15
  473. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  474. package/components/Gapped/Gapped.d.ts +2 -15
  475. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  476. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  477. package/components/Group/Group/Group.js +64 -28
  478. package/components/Group/Group/Group.js.map +1 -1
  479. package/components/Group/Group.d.ts +5 -4
  480. package/components/Group/Group.styles/Group.styles.js +9 -6
  481. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  482. package/components/Group/Group.styles.d.ts +1 -0
  483. package/components/Hint/Hint/Hint.js.map +1 -1
  484. package/components/Hint/Hint.d.ts +2 -0
  485. package/components/Input/Input/Input.js +23 -52
  486. package/components/Input/Input/Input.js.map +1 -1
  487. package/components/Input/Input.d.ts +6 -5
  488. package/components/Input/Input.styles/Input.styles.js +9 -13
  489. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  490. package/components/Input/Input.styles.d.ts +0 -1
  491. package/components/Input/InputLayout/InputLayout/InputLayout.js +5 -2
  492. package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
  493. package/components/Input/InputLayout/InputLayout.d.ts +1 -0
  494. package/components/Kebab/Kebab/Kebab.js +8 -26
  495. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  496. package/components/Kebab/Kebab.d.ts +4 -2
  497. package/components/Link/Link/Link.js +8 -1
  498. package/components/Link/Link/Link.js.map +1 -1
  499. package/components/Link/Link.d.ts +2 -0
  500. package/components/Link/Link.mixins/Link.mixins.js +1 -1
  501. package/components/Link/Link.mixins/Link.mixins.js.map +1 -1
  502. package/components/Link/Link.styles/Link.styles.js +1 -1
  503. package/components/Link/Link.styles/Link.styles.js.map +1 -1
  504. package/components/Loader/Loader/Loader.js +2 -34
  505. package/components/Loader/Loader/Loader.js.map +1 -1
  506. package/components/Loader/Loader.d.ts +7 -36
  507. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js +81 -66
  508. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js.map +1 -1
  509. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  510. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js +3 -2
  511. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js.map +1 -1
  512. package/components/MaskedInput/MaskedInput/MaskedInput.js +28 -2
  513. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  514. package/components/MaskedInput/MaskedInput.d.ts +9 -0
  515. package/components/MenuItem/MenuItem/MenuItem.js +1 -12
  516. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  517. package/components/MenuItem/MenuItem.d.ts +2 -12
  518. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +10 -7
  519. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
  520. package/components/MiniModal/MiniModal.styles.d.ts +1 -0
  521. package/components/MiniModal/MiniModalBody/MiniModalBody.js +13 -5
  522. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
  523. package/components/Modal/Modal.styles/Modal.styles.js +32 -29
  524. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  525. package/components/Modal/Modal.styles.d.ts +2 -1
  526. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  527. package/components/Modal/ModalBody.d.ts +2 -0
  528. package/components/Modal/ModalHeader/ModalHeader.js +3 -1
  529. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  530. package/components/Modal/ModalHeader.d.ts +5 -0
  531. package/components/Modal/ModalSeparator/ModalSeparator.js +1 -1
  532. package/components/Modal/ModalSeparator/ModalSeparator.js.map +1 -1
  533. package/components/Paging/DotsIcon/DotsIcon.js +14 -0
  534. package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
  535. package/components/Paging/DotsIcon/package.json +6 -0
  536. package/components/Paging/DotsIcon.d.ts +3 -0
  537. package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
  538. package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
  539. package/components/Paging/ForwardIcon.d.ts +3 -0
  540. package/components/Paging/NavigationHelper/NavigationHelper.js +9 -8
  541. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  542. package/components/Paging/NavigationHelper.d.ts +3 -2
  543. package/components/Paging/Paging/Paging.js +96 -47
  544. package/components/Paging/Paging/Paging.js.map +1 -1
  545. package/components/Paging/Paging.d.ts +13 -2
  546. package/components/Paging/Paging.styles/Paging.styles.js +77 -16
  547. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  548. package/components/Paging/Paging.styles.d.ts +24 -1
  549. package/components/Paging/PagingHelper/PagingHelper.js +16 -8
  550. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  551. package/components/Paging/PagingHelper.d.ts +1 -1
  552. package/components/PasswordInput/PasswordInput/PasswordInput.js +13 -25
  553. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  554. package/components/PasswordInput/PasswordInput.d.ts +5 -12
  555. package/components/Radio/Radio/Radio.js +7 -7
  556. package/components/Radio/Radio/Radio.js.map +1 -1
  557. package/components/Radio/Radio.d.ts +4 -1
  558. package/components/RadioGroup/RadioGroup/RadioGroup.js +23 -17
  559. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  560. package/components/RadioGroup/RadioGroup.d.ts +3 -0
  561. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +7 -4
  562. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  563. package/components/RadioGroup/RadioGroup.styles.d.ts +1 -0
  564. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -9
  565. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  566. package/components/ScrollContainer/ScrollContainer.d.ts +2 -9
  567. package/components/Select/Select/Select.js +17 -15
  568. package/components/Select/Select/Select.js.map +1 -1
  569. package/components/Select/Select.d.ts +7 -1
  570. package/components/SidePage/SidePage/SidePage.js +3 -3
  571. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  572. package/components/SidePage/SidePage.styles/SidePage.styles.js +41 -35
  573. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  574. package/components/SidePage/SidePage.styles.d.ts +3 -1
  575. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  576. package/components/SidePage/SidePageBody.d.ts +2 -0
  577. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  578. package/components/SidePage/SidePageContainer.d.ts +2 -0
  579. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  580. package/components/SidePage/SidePageFooter.d.ts +2 -0
  581. package/components/SidePage/SidePageHeader/SidePageHeader.js +62 -35
  582. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  583. package/components/SidePage/SidePageHeader.d.ts +12 -2
  584. package/components/SingleToast/SingleToast/SingleToast.js +37 -12
  585. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  586. package/components/SingleToast/SingleToast.d.ts +33 -3
  587. package/components/Spinner/Spinner/Spinner.js +1 -18
  588. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  589. package/components/Spinner/Spinner.d.ts +2 -18
  590. package/components/Sticky/Sticky/Sticky.js +10 -14
  591. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  592. package/components/Sticky/Sticky.d.ts +5 -13
  593. package/components/Switcher/Switcher/Switcher.js +19 -16
  594. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  595. package/components/Switcher/Switcher.d.ts +6 -21
  596. package/components/Switcher/Switcher.styles/Switcher.styles.js +12 -9
  597. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  598. package/components/Switcher/Switcher.styles.d.ts +1 -0
  599. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  600. package/components/Tabs/Indicator.d.ts +2 -0
  601. package/components/Tabs/Tab/Tab.js.map +1 -1
  602. package/components/Tabs/Tab.d.ts +2 -0
  603. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  604. package/components/Tabs/Tabs.d.ts +2 -0
  605. package/components/Textarea/Textarea/Textarea.js +19 -52
  606. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  607. package/components/Textarea/Textarea.d.ts +10 -46
  608. package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
  609. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  610. package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
  611. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  612. package/components/Toast/Toast/Toast.js +93 -32
  613. package/components/Toast/Toast/Toast.js.map +1 -1
  614. package/components/Toast/Toast.d.ts +62 -13
  615. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  616. package/components/Toast/ToastStatic.d.ts +3 -2
  617. package/components/Toast/ToastView/ToastView.js +20 -22
  618. package/components/Toast/ToastView/ToastView.js.map +1 -1
  619. package/components/Toast/ToastView.d.ts +8 -16
  620. package/components/Toast/ToastView.styles/ToastView.styles.js +17 -5
  621. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  622. package/components/Toast/ToastView.styles.d.ts +4 -0
  623. package/components/Toggle/Toggle/Toggle.js +11 -20
  624. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  625. package/components/Toggle/Toggle.d.ts +4 -11
  626. package/components/Token/Token/Token.js.map +1 -1
  627. package/components/Token/Token.d.ts +2 -0
  628. package/components/TokenInput/TokenInput/TokenInput.js +49 -43
  629. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  630. package/components/TokenInput/TokenInput.d.ts +8 -3
  631. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +16 -6
  632. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  633. package/components/TokenInput/TokenInputMenu.d.ts +12 -3
  634. package/components/Tooltip/Tooltip/Tooltip.js +77 -26
  635. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  636. package/components/Tooltip/Tooltip.d.ts +14 -8
  637. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
  638. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  639. package/components/Tooltip/Tooltip.styles.d.ts +7 -1
  640. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  641. package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  642. package/index.d.ts +2 -0
  643. package/index.js +2 -0
  644. package/index.js.map +1 -1
  645. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +21 -7
  646. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  647. package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  648. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +14 -5
  649. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
  650. package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  651. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  652. package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  653. package/internal/ComponentTable/ComponentTable.js +0 -2
  654. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  655. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +72 -41
  656. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  657. package/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
  658. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +13 -7
  659. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  660. package/internal/CustomComboBox/CustomComboBox.d.ts +11 -4
  661. package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js +5 -3
  662. package/internal/CustomComboBox/getComboBoxTheme/getComboBoxTheme.js.map +1 -1
  663. package/internal/CustomComboBox/getComboBoxTheme.d.ts +2 -1
  664. package/internal/DateSelect/DateSelect/DateSelect.js +4 -11
  665. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  666. package/internal/DateSelect/DateSelect.d.ts +0 -10
  667. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  668. package/internal/FocusTrap/FocusTrap.d.ts +2 -0
  669. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  670. package/internal/InputLikeText/InputLikeText/InputLikeText.js +17 -28
  671. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  672. package/internal/InputLikeText/InputLikeText.d.ts +4 -3
  673. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +7 -4
  674. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  675. package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  676. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +249 -0
  677. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  678. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/package.json +6 -0
  679. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
  680. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js +8 -0
  681. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js.map +1 -0
  682. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/package.json +6 -0
  683. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  684. package/internal/Menu/Menu/Menu.js.map +1 -1
  685. package/internal/Menu/Menu.d.ts +2 -0
  686. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  687. package/internal/MobilePopup/MobilePopup.d.ts +2 -0
  688. package/internal/Popup/Popup/Popup.js +23 -69
  689. package/internal/Popup/Popup/Popup.js.map +1 -1
  690. package/internal/Popup/Popup.d.ts +43 -60
  691. package/internal/Popup/PopupPin/PopupPin.js +1 -34
  692. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  693. package/internal/Popup/PopupPin.d.ts +23 -33
  694. package/internal/Popup/PopupPinNew/PopupPinNew.js +146 -0
  695. package/internal/Popup/PopupPinNew/PopupPinNew.js.map +1 -0
  696. package/internal/Popup/PopupPinNew/package.json +6 -0
  697. package/internal/Popup/PopupPinNew.d.ts +31 -0
  698. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js +20 -0
  699. package/internal/Popup/PopupPinNew.styles/PopupPinNew.styles.js.map +1 -0
  700. package/internal/Popup/PopupPinNew.styles/package.json +6 -0
  701. package/internal/Popup/PopupPinNew.styles.d.ts +7 -0
  702. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  703. package/internal/PopupMenu/PopupMenu.d.ts +2 -0
  704. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
  705. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  706. package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  707. package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
  708. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  709. package/internal/RenderLayer/RenderLayer.d.ts +2 -3
  710. package/internal/ThemePlayground/Playground/Playground.js +21 -18
  711. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  712. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
  713. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  714. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
  715. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  716. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +4 -4
  717. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  718. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +2 -2
  719. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  720. package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -4
  721. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  722. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  723. package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
  724. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  725. package/internal/ZIndex/ZIndex.d.ts +3 -3
  726. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
  727. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
  728. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
  729. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  730. package/internal/themes/BasicTheme/BasicTheme.js +185 -30
  731. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  732. package/internal/themes/BasicTheme.d.ts +125 -20
  733. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +3 -3
  734. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +1 -1
  735. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js +16 -0
  736. package/internal/themes/DarkTheme5_3/DarkTheme5_3.js.map +1 -0
  737. package/internal/themes/DarkTheme5_3/package.json +6 -0
  738. package/internal/themes/DarkTheme5_3.d.ts +1 -0
  739. package/internal/themes/DarkTheme5_4/DarkTheme5_4.js +17 -0
  740. package/internal/themes/DarkTheme5_4/DarkTheme5_4.js.map +1 -0
  741. package/internal/themes/DarkTheme5_4/package.json +6 -0
  742. package/internal/themes/DarkTheme5_4.d.ts +1 -0
  743. package/internal/themes/LightTheme5_3/LightTheme5_3.js +16 -0
  744. package/internal/themes/LightTheme5_3/LightTheme5_3.js.map +1 -0
  745. package/internal/themes/LightTheme5_3/package.json +6 -0
  746. package/internal/themes/LightTheme5_3.d.ts +1 -0
  747. package/internal/themes/LightTheme5_4/LightTheme5_4.js +17 -0
  748. package/internal/themes/LightTheme5_4/LightTheme5_4.js.map +1 -0
  749. package/internal/themes/LightTheme5_4/package.json +6 -0
  750. package/internal/themes/LightTheme5_4.d.ts +1 -0
  751. package/internal/themes/consts/consts.js +9 -0
  752. package/internal/themes/consts/consts.js.map +1 -0
  753. package/internal/themes/consts/package.json +6 -0
  754. package/internal/themes/consts.d.ts +8 -0
  755. package/lib/__stories__/Blink.creevey.mts +90 -0
  756. package/lib/blink/blink.js +63 -0
  757. package/lib/blink/blink.js.map +1 -0
  758. package/lib/blink/package.json +6 -0
  759. package/lib/blink.d.ts +15 -0
  760. package/lib/date/InternalDateGetter/InternalDateGetter.js +4 -1
  761. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  762. package/lib/date/InternalDateGetter.d.ts +1 -1
  763. package/lib/delay.d.mts +1 -0
  764. package/lib/delay.mts +3 -0
  765. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +11 -0
  766. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +12 -1
  767. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  768. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +11 -0
  769. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  770. package/lib/forwardRefAndName.d.ts +1 -1
  771. package/lib/getMenuPositions/getMenuPositions.js +33 -4
  772. package/lib/getMenuPositions/getMenuPositions.js.map +1 -1
  773. package/lib/getMenuPositions.d.ts +21 -1
  774. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  775. package/lib/rootNode/rootNodeDecorator.d.ts +2 -1
  776. package/lib/size/SizeControlContext/SizeControlContext.js +7 -0
  777. package/lib/size/SizeControlContext/SizeControlContext.js.map +1 -0
  778. package/lib/size/SizeControlContext/package.json +6 -0
  779. package/lib/size/SizeControlContext.d.ts +6 -0
  780. package/lib/size/SizeDecorator/SizeDecorator.js +41 -0
  781. package/lib/size/SizeDecorator/SizeDecorator.js.map +1 -0
  782. package/lib/size/SizeDecorator/package.json +6 -0
  783. package/lib/size/SizeDecorator.d.ts +33 -0
  784. package/lib/size/constants/constants.js +1 -0
  785. package/lib/size/constants/constants.js.map +1 -0
  786. package/lib/size/constants/package.json +6 -0
  787. package/lib/size/constants.d.ts +2 -0
  788. package/lib/size/index/index.js +1 -0
  789. package/lib/size/index/index.js.map +1 -0
  790. package/lib/size/index/package.json +6 -0
  791. package/lib/size/index.d.ts +1 -0
  792. package/lib/size/package.json +6 -0
  793. package/lib/size/useSizeControl/package.json +6 -0
  794. package/lib/size/useSizeControl/useSizeControl.js +7 -0
  795. package/lib/size/useSizeControl/useSizeControl.js.map +1 -0
  796. package/lib/size/useSizeControl.d.ts +2 -0
  797. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  798. package/lib/theming/ThemeHelpers.d.ts +1 -1
  799. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  800. package/lib/theming/ThemeVersions.d.ts +1 -1
  801. package/lib/theming/themes/DarkTheme/DarkTheme.js +5 -1
  802. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  803. package/lib/theming/themes/DarkTheme.d.ts +2 -0
  804. package/lib/theming/themes/LightTheme/LightTheme.js +5 -1
  805. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  806. package/lib/theming/themes/LightTheme.d.ts +2 -0
  807. package/lib/utils/utils.js +33 -2
  808. package/lib/utils/utils.js.map +1 -1
  809. package/lib/utils.d.ts +18 -1
  810. package/package.json +19 -36
  811. package/test-setup.d.ts +1 -0
  812. package/vitest.config.d.ts +2 -0
  813. package/cjs/components/Autocomplete/Autocomplete.md +0 -113
  814. package/cjs/components/Button/Button.md +0 -261
  815. package/cjs/components/Calendar/Calendar.md +0 -276
  816. package/cjs/components/Calendar/CalendarDay.md +0 -70
  817. package/cjs/components/Center/Center.md +0 -26
  818. package/cjs/components/Checkbox/Checkbox.md +0 -171
  819. package/cjs/components/ComboBox/ComboBox.md +0 -574
  820. package/cjs/components/CurrencyInput/CurrencyInput.md +0 -39
  821. package/cjs/components/CurrencyLabel/CurrencyLabel.md +0 -29
  822. package/cjs/components/DateInput/DateInput.md +0 -111
  823. package/cjs/components/DatePicker/DatePicker.md +0 -368
  824. package/cjs/components/Dropdown/Dropdown.md +0 -45
  825. package/cjs/components/DropdownMenu/DropdownMenu.md +0 -290
  826. package/cjs/components/FileUploader/FileUploader.md +0 -131
  827. package/cjs/components/FxInput/FxInput.md +0 -31
  828. package/cjs/components/Gapped/Gapped.md +0 -44
  829. package/cjs/components/GlobalLoader/GlobalLoader.md +0 -97
  830. package/cjs/components/Group/Group.md +0 -19
  831. package/cjs/components/Hint/Hint.md +0 -86
  832. package/cjs/components/Input/Input.md +0 -87
  833. package/cjs/components/Kebab/Kebab.md +0 -306
  834. package/cjs/components/Link/Link.md +0 -182
  835. package/cjs/components/Loader/Loader.md +0 -33
  836. package/cjs/components/MaskedInput/MaskedInput.md +0 -114
  837. package/cjs/components/MenuFooter/MenuFooter.md +0 -27
  838. package/cjs/components/MenuHeader/MenuHeader.md +0 -35
  839. package/cjs/components/MenuItem/MenuItem.md +0 -139
  840. package/cjs/components/MenuSeparator/MenuSeparator.md +0 -14
  841. package/cjs/components/MiniModal/MiniModal.md +0 -231
  842. package/cjs/components/Modal/Modal.md +0 -56
  843. package/cjs/components/Paging/Paging.md +0 -57
  844. package/cjs/components/PasswordInput/PasswordInput.md +0 -29
  845. package/cjs/components/Radio/Radio.md +0 -57
  846. package/cjs/components/RadioGroup/RadioGroup.md +0 -44
  847. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  848. package/cjs/components/ScrollContainer/ScrollContainer.md +0 -224
  849. package/cjs/components/Select/Select.md +0 -113
  850. package/cjs/components/SidePage/SidePage.md +0 -65
  851. package/cjs/components/SingleToast/SingleToast.md +0 -36
  852. package/cjs/components/Spinner/Spinner.md +0 -36
  853. package/cjs/components/Sticky/Sticky.md +0 -28
  854. package/cjs/components/Switcher/Switcher.md +0 -111
  855. package/cjs/components/Tabs/Tab.md +0 -73
  856. package/cjs/components/Tabs/Tabs.md +0 -54
  857. package/cjs/components/Textarea/Textarea.md +0 -58
  858. package/cjs/components/Toast/Toast.md +0 -69
  859. package/cjs/components/Toggle/Toggle.md +0 -110
  860. package/cjs/components/Token/Token.md +0 -131
  861. package/cjs/components/TokenInput/TokenInput.md +0 -308
  862. package/cjs/components/Tooltip/Tooltip.md +0 -322
  863. package/cjs/components/TooltipMenu/TooltipMenu.md +0 -241
  864. package/cjs/internal/DataTids/DATATIDS.md +0 -12
  865. package/cjs/internal/DataTids/DataTids.d.ts +0 -12
  866. package/cjs/internal/DataTids/DataTids.js +0 -50
  867. package/cjs/internal/DataTids/DataTids.js.map +0 -1
  868. package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
  869. package/cjs/internal/DataTids/DataTids.styles.js +0 -42
  870. package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
  871. package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
  872. package/cjs/internal/DataTids/componentsDataTids.js +0 -15
  873. package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
  874. package/cjs/internal/ThemePlayground/Playground.md +0 -7
  875. package/cjs/lib/SSRSafe.d.ts +0 -2
  876. package/cjs/lib/SSRSafe.js +0 -5
  877. package/cjs/lib/SSRSafe.js.map +0 -1
  878. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  879. package/cjs/lib/locale/LOCALECONTEXT.md +0 -222
  880. package/cjs/lib/theming/ThemeContext.md +0 -265
  881. package/components/Autocomplete/Autocomplete.md +0 -113
  882. package/components/Button/Button.md +0 -261
  883. package/components/Calendar/Calendar.md +0 -276
  884. package/components/Calendar/CalendarDay.md +0 -70
  885. package/components/Center/Center.md +0 -26
  886. package/components/Checkbox/Checkbox.md +0 -171
  887. package/components/ComboBox/ComboBox.md +0 -574
  888. package/components/CurrencyInput/CurrencyInput.md +0 -39
  889. package/components/CurrencyLabel/CurrencyLabel.md +0 -29
  890. package/components/DateInput/DateInput.md +0 -111
  891. package/components/DatePicker/DatePicker.md +0 -368
  892. package/components/Dropdown/Dropdown.md +0 -45
  893. package/components/DropdownMenu/DropdownMenu.md +0 -290
  894. package/components/FileUploader/FileUploader.md +0 -131
  895. package/components/FxInput/FxInput.md +0 -31
  896. package/components/Gapped/Gapped.md +0 -44
  897. package/components/GlobalLoader/GlobalLoader.md +0 -97
  898. package/components/Group/Group.md +0 -19
  899. package/components/Hint/Hint.md +0 -86
  900. package/components/Input/Input.md +0 -87
  901. package/components/Kebab/Kebab.md +0 -306
  902. package/components/Link/Link.md +0 -182
  903. package/components/Loader/Loader.md +0 -33
  904. package/components/MaskedInput/MaskedInput.md +0 -114
  905. package/components/MenuFooter/MenuFooter.md +0 -27
  906. package/components/MenuHeader/MenuHeader.md +0 -35
  907. package/components/MenuItem/MenuItem.md +0 -139
  908. package/components/MenuSeparator/MenuSeparator.md +0 -14
  909. package/components/MiniModal/MiniModal.md +0 -231
  910. package/components/Modal/Modal.md +0 -56
  911. package/components/Paging/Paging.md +0 -57
  912. package/components/PasswordInput/PasswordInput.md +0 -29
  913. package/components/Radio/Radio.md +0 -57
  914. package/components/RadioGroup/RadioGroup.md +0 -44
  915. package/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  916. package/components/ScrollContainer/ScrollContainer.md +0 -224
  917. package/components/Select/Select.md +0 -113
  918. package/components/SidePage/SidePage.md +0 -65
  919. package/components/SingleToast/SingleToast.md +0 -36
  920. package/components/Spinner/Spinner.md +0 -36
  921. package/components/Sticky/Sticky.md +0 -28
  922. package/components/Switcher/Switcher.md +0 -111
  923. package/components/Tabs/Tab.md +0 -73
  924. package/components/Tabs/Tabs.md +0 -54
  925. package/components/Textarea/Textarea.md +0 -58
  926. package/components/Toast/Toast.md +0 -69
  927. package/components/Toggle/Toggle.md +0 -110
  928. package/components/Token/Token.md +0 -131
  929. package/components/TokenInput/TokenInput.md +0 -308
  930. package/components/Tooltip/Tooltip.md +0 -322
  931. package/components/TooltipMenu/TooltipMenu.md +0 -241
  932. package/internal/DataTids/DATATIDS.md +0 -12
  933. package/internal/DataTids/DataTids/DataTids.js +0 -69
  934. package/internal/DataTids/DataTids/DataTids.js.map +0 -1
  935. package/internal/DataTids/DataTids/package.json +0 -6
  936. package/internal/DataTids/DataTids.d.ts +0 -12
  937. package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -20
  938. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
  939. package/internal/DataTids/DataTids.styles/package.json +0 -6
  940. package/internal/DataTids/DataTids.styles.d.ts +0 -7
  941. package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -12
  942. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
  943. package/internal/DataTids/componentsDataTids/package.json +0 -6
  944. package/internal/DataTids/componentsDataTids.d.ts +0 -5
  945. package/internal/ThemePlayground/Playground.md +0 -7
  946. package/lib/SSRSafe/SSRSafe.js +0 -4
  947. package/lib/SSRSafe/SSRSafe.js.map +0 -1
  948. package/lib/SSRSafe/package.json +0 -6
  949. package/lib/SSRSafe.d.ts +0 -2
  950. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  951. package/lib/locale/LOCALECONTEXT.md +0 -222
  952. package/lib/theming/ThemeContext.md +0 -265
@@ -0,0 +1,249 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
4
+ import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
5
+ var _excluded = ["leftIcon", "rightIcon", "borderless"];
6
+ var _class, _InternalTextareaWithLayout;
7
+ import React from 'react';
8
+ import { InputLayout } from "../../../components/Input/InputLayout/InputLayout";
9
+ import { DEFAULT_WIDTH, Textarea } from "../../../components/Textarea";
10
+ import { styles as textareaStyles } from "../../../components/Textarea/Textarea.styles";
11
+ import { cx } from "../../../lib/theming/Emotion";
12
+ import { ThemeContext } from "../../../lib/theming/ThemeContext";
13
+ import { ThemeFactory } from "../../../lib/theming/ThemeFactory";
14
+ import { getRootNode, rootNode } from "../../../lib/rootNode";
15
+ import { styles as inputStyles } from "../../../components/Input/Input.styles";
16
+ import { createPropsGetter } from "../../../lib/createPropsGetter";
17
+ import { isTestEnv } from "../../../lib/currentEnvironment";
18
+ import { calculateClearCrossShowedState, InputDataTids } from "../../../components/Input";
19
+ import { ClearCrossIcon } from "../../ClearCrossIcon/ClearCrossIcon";
20
+ import { styles } from "../InternalTextareaWithLayout.styles";
21
+ export var InternalTextareaWithLayout = rootNode(_class = (_InternalTextareaWithLayout = /*#__PURE__*/function (_React$Component) {
22
+ function InternalTextareaWithLayout() {
23
+ var _this;
24
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
25
+ args[_key] = arguments[_key];
26
+ }
27
+ _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
28
+ _this.wrappedComponentRef = /*#__PURE__*/React.createRef();
29
+ _this.getProps = createPropsGetter(Textarea.defaultProps);
30
+ _this.getClearCrossShowed = function (_ref) {
31
+ var focused = _ref.focused,
32
+ hovered = _ref.hovered;
33
+ if (_this.props.disabled) {
34
+ return false;
35
+ }
36
+ return calculateClearCrossShowedState({
37
+ showClearIcon: _this.getProps().showClearIcon || 'never',
38
+ notEmptyValue: Boolean(_this.props.value),
39
+ focused: focused,
40
+ hovered: hovered
41
+ });
42
+ };
43
+ _this.state = {
44
+ focused: false,
45
+ hovered: false,
46
+ clearCrossShowed: _this.getClearCrossShowed({
47
+ focused: false
48
+ })
49
+ };
50
+ _this.handleClearInput = function () {
51
+ if (_this.wrappedComponentRef.current) {
52
+ _this.wrappedComponentRef.current.clear();
53
+ if (!_this.state.focused) {
54
+ _this.wrappedComponentRef.current.focus();
55
+ }
56
+ }
57
+ if (_this.props.onValueChange) {
58
+ _this.props.onValueChange('');
59
+ }
60
+ };
61
+ _this.getRightIcon = function () {
62
+ var _this$props = _this.props,
63
+ size = _this$props.size,
64
+ rightIcon = _this$props.rightIcon;
65
+ return _this.state.clearCrossShowed ? /*#__PURE__*/
66
+ React.createElement(ClearCrossIcon, {
67
+ "data-tid": InputDataTids.clearCross,
68
+ size: size,
69
+ onClick: _this.handleClearInput
70
+ }) : rightIcon;
71
+ };
72
+ _this.handleMouseEnter = function () {
73
+ _this.setState({
74
+ clearCrossShowed: _this.getClearCrossShowed({
75
+ focused: _this.state.focused,
76
+ hovered: true
77
+ })
78
+ });
79
+ };
80
+ _this.handleMouseOut = function () {
81
+ _this.setState({
82
+ clearCrossShowed: _this.getClearCrossShowed({
83
+ focused: _this.state.focused,
84
+ hovered: false
85
+ })
86
+ });
87
+ };
88
+ _this.renderLayout = function () {
89
+ var _cx;
90
+ var labelProps = {
91
+ className: cx(styles.contentWrapper(), textareaStyles.textarea(_this.theme), _this.getTextareaSizeClassName(), _this.getRootSizeClassName(), (_cx = {}, _cx[inputStyles.focus(_this.theme)] = _this.state.focused && !_this.props.warning && !_this.props.error, _cx[inputStyles.borderless()] = _this.props.borderless && !_this.state.focused, _cx[textareaStyles.disabled(_this.theme)] = _this.props.disabled, _cx[textareaStyles.warning(_this.theme)] = _this.props.warning, _cx[textareaStyles.error(_this.theme)] = _this.props.error, _cx)),
92
+ style: {
93
+ width: _this.props.width || DEFAULT_WIDTH,
94
+ minWidth: '0',
95
+ position: 'relative'
96
+ },
97
+ onMouseEnter: _this.handleMouseEnter,
98
+ onMouseLeave: _this.handleMouseOut,
99
+ onClick: _this.handleLayoutClick
100
+ };
101
+ return /*#__PURE__*/(
102
+ React.createElement(InputLayout, {
103
+ leftIcon: _this.props.leftIcon,
104
+ rightIcon: _this.getRightIcon(),
105
+ labelProps: labelProps,
106
+ context: {
107
+ disabled: _this.props.disabled,
108
+ focused: _this.state.focused,
109
+ size: _this.getProps().size
110
+ },
111
+ tag: "span"
112
+ }, _this.renderTextarea())
113
+ );
114
+ };
115
+ _this.renderTextarea = function () {
116
+ var _this$props2 = _this.props,
117
+ leftIcon = _this$props2.leftIcon,
118
+ rightIcon = _this$props2.rightIcon,
119
+ borderless = _this$props2.borderless,
120
+ textareaProps = _objectWithoutPropertiesLoose(_this$props2, _excluded);
121
+ return /*#__PURE__*/(
122
+ React.createElement(ThemeContext.Provider, {
123
+ value: _this.preparedTheme
124
+ }, /*#__PURE__*/
125
+ React.createElement(Textarea, _extends({}, isTestEnv ? {
126
+ spellCheck: false
127
+ } : {}, textareaProps, {
128
+ width: '100%',
129
+ ref: _this.wrappedComponentRef,
130
+ onFocus: _this.handleFocus,
131
+ onBlur: _this.handleBlur
132
+ })))
133
+ );
134
+ };
135
+ _this.handleLayoutClick = function () {
136
+ var _this$wrappedComponen;
137
+ (_this$wrappedComponen = _this.wrappedComponentRef.current) == null || _this$wrappedComponen.focus();
138
+ };
139
+ _this.handleBlur = function (event) {
140
+ var _getRootNode;
141
+ if ((_getRootNode = getRootNode(_this)) != null && _getRootNode.contains(event.relatedTarget)) {
142
+ _this.setState({
143
+ focused: false
144
+ });
145
+ } else {
146
+ _this.setState({
147
+ focused: false,
148
+ clearCrossShowed: _this.getClearCrossShowed({
149
+ focused: false,
150
+ hovered: _this.state.hovered
151
+ })
152
+ });
153
+ _this.props.onBlur == null || _this.props.onBlur(event);
154
+ }
155
+ };
156
+ _this.handleFocus = function (event) {
157
+ _this.setState({
158
+ focused: true,
159
+ clearCrossShowed: _this.getClearCrossShowed({
160
+ focused: true,
161
+ hovered: _this.state.hovered
162
+ })
163
+ });
164
+ _this.props.onFocus == null || _this.props.onFocus(event);
165
+ };
166
+ return _this;
167
+ }
168
+ _inheritsLoose(InternalTextareaWithLayout, _React$Component);
169
+ var _proto = InternalTextareaWithLayout.prototype;
170
+ _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
171
+ var _this$state = this.state,
172
+ focused = _this$state.focused,
173
+ hovered = _this$state.hovered;
174
+ if (Boolean(prevProps.value) !== Boolean(this.props.value)) {
175
+ this.setState({
176
+ clearCrossShowed: this.getClearCrossShowed({
177
+ focused: focused,
178
+ hovered: hovered
179
+ })
180
+ });
181
+ }
182
+ };
183
+ _proto.focus = function focus() {
184
+ var _this$wrappedComponen2;
185
+ (_this$wrappedComponen2 = this.wrappedComponentRef.current) == null || _this$wrappedComponen2.focus();
186
+ };
187
+ _proto.blur = function blur() {
188
+ var _this$wrappedComponen3;
189
+ (_this$wrappedComponen3 = this.wrappedComponentRef.current) == null || _this$wrappedComponen3.blur();
190
+ };
191
+ _proto.setSelectionRange = function setSelectionRange(start, end) {
192
+ var _this$wrappedComponen4;
193
+ (_this$wrappedComponen4 = this.wrappedComponentRef.current) == null || _this$wrappedComponen4.setSelectionRange(start, end);
194
+ };
195
+ _proto.selectAll = function selectAll() {
196
+ var _this$wrappedComponen5;
197
+ (_this$wrappedComponen5 = this.wrappedComponentRef.current) == null || _this$wrappedComponen5.selectAll();
198
+ };
199
+ _proto.render = function render() {
200
+ var _this2 = this;
201
+ return /*#__PURE__*/React.createElement(ThemeContext.Consumer, null, function (theme) {
202
+ _this2.theme = theme;
203
+ return /*#__PURE__*/React.createElement("span", {
204
+ "data-tid": 'InternalTextareaWithLayout'
205
+ }, _this2.renderLayout());
206
+ });
207
+ };
208
+ _proto.getTextareaSizeClassName = function getTextareaSizeClassName() {
209
+ switch (this.getProps().size) {
210
+ case 'large':
211
+ return textareaStyles.textareaLarge(this.theme);
212
+ case 'medium':
213
+ return textareaStyles.textareaMedium(this.theme);
214
+ case 'small':
215
+ default:
216
+ return textareaStyles.textareaSmall(this.theme);
217
+ }
218
+ };
219
+ _proto.getRootSizeClassName = function getRootSizeClassName() {
220
+ switch (this.getProps().size) {
221
+ case 'large':
222
+ return textareaStyles.rootLarge(this.theme);
223
+ case 'medium':
224
+ return textareaStyles.rootMedium(this.theme);
225
+ case 'small':
226
+ default:
227
+ return textareaStyles.rootSmall(this.theme);
228
+ }
229
+ };
230
+ return _createClass(InternalTextareaWithLayout, [{
231
+ key: "preparedTheme",
232
+ get: function get() {
233
+ return ThemeFactory.create({
234
+ textareaWidth: 'auto',
235
+ textareaBorderWidth: '0px',
236
+ textareaPaddingXSmall: '0px',
237
+ textareaPaddingXMedium: '0px',
238
+ textareaPaddingXLarge: '0px',
239
+ textareaPaddingYSmall: '0px',
240
+ textareaPaddingYMedium: '0px',
241
+ textareaPaddingYLarge: '0px',
242
+ textareaOutlineWidth: '0px',
243
+ textareaShadow: 'none',
244
+ textareaDisabledBg: 'transparent',
245
+ textareaBg: 'transparent'
246
+ }, this.theme);
247
+ }
248
+ }]);
249
+ }(React.Component), _InternalTextareaWithLayout.__KONTUR_REACT_UI__ = 'InternalTextareaWithLayout', _InternalTextareaWithLayout)) || _class;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","InputLayout","DEFAULT_WIDTH","Textarea","styles","textareaStyles","cx","ThemeContext","ThemeFactory","getRootNode","rootNode","inputStyles","createPropsGetter","isTestEnv","calculateClearCrossShowedState","InputDataTids","ClearCrossIcon","InternalTextareaWithLayout","_class","_InternalTextareaWithLayout","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","wrappedComponentRef","createRef","getProps","defaultProps","getClearCrossShowed","_ref","focused","hovered","props","disabled","showClearIcon","notEmptyValue","Boolean","value","state","clearCrossShowed","handleClearInput","current","clear","focus","onValueChange","getRightIcon","_this$props","size","rightIcon","createElement","clearCross","onClick","handleMouseEnter","setState","handleMouseOut","renderLayout","_cx","labelProps","className","contentWrapper","textarea","theme","getTextareaSizeClassName","getRootSizeClassName","warning","error","borderless","style","width","minWidth","position","onMouseEnter","onMouseLeave","handleLayoutClick","leftIcon","context","tag","renderTextarea","_this$props2","textareaProps","_objectWithoutPropertiesLoose","_excluded","Provider","preparedTheme","_extends","spellCheck","ref","onFocus","handleFocus","onBlur","handleBlur","_this$wrappedComponen","event","_getRootNode","contains","relatedTarget","_inheritsLoose","_proto","prototype","componentDidUpdate","prevProps","_this$state","_this$wrappedComponen2","blur","_this$wrappedComponen3","setSelectionRange","start","end","_this$wrappedComponen4","selectAll","_this$wrappedComponen5","render","_this2","Consumer","textareaLarge","textareaMedium","textareaSmall","rootLarge","rootMedium","rootSmall","_createClass","key","get","create","textareaWidth","textareaBorderWidth","textareaPaddingXSmall","textareaPaddingXMedium","textareaPaddingXLarge","textareaPaddingYSmall","textareaPaddingYMedium","textareaPaddingYLarge","textareaOutlineWidth","textareaShadow","textareaDisabledBg","textareaBg","Component","__KONTUR_REACT_UI__"],"sources":["InternalTextareaWithLayout.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { InputProps } from '../../components/Input';\nimport { InputLayout } from '../../components/Input/InputLayout/InputLayout';\nimport { DEFAULT_WIDTH, Textarea } from '../../components/Textarea';\nimport type { TextareaProps } from '../../components/Textarea';\nimport { styles as textareaStyles } from '../../components/Textarea/Textarea.styles';\nimport { cx } from '../../lib/theming/Emotion';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { styles as inputStyles } from '../../components/Input/Input.styles';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { calculateClearCrossShowedState, InputDataTids } from '../../components/Input';\nimport { ClearCrossIcon } from '../ClearCrossIcon/ClearCrossIcon';\n\nimport { styles } from './InternalTextareaWithLayout.styles';\n\ninterface InternalTextareaWithLayoutProps\n extends TextareaProps,\n Pick<InputProps, 'leftIcon' | 'rightIcon' | 'align' | 'borderless' | 'showClearIcon'> {}\n\ninterface InternalTextareaWithLayoutState {\n focused: boolean;\n hovered: boolean;\n clearCrossShowed: boolean;\n}\n\n@rootNode\nexport class InternalTextareaWithLayout extends React.Component<\n InternalTextareaWithLayoutProps,\n InternalTextareaWithLayoutState\n> {\n public static __KONTUR_REACT_UI__ = 'InternalTextareaWithLayout';\n private wrappedComponentRef = React.createRef<Textarea>();\n private theme!: Theme;\n private getProps = createPropsGetter(Textarea.defaultProps);\n\n public componentDidUpdate(prevProps: Readonly<InternalTextareaWithLayoutProps>) {\n const { focused, hovered } = this.state;\n if (Boolean(prevProps.value) !== Boolean(this.props.value)) {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused, hovered }) });\n }\n }\n\n private getClearCrossShowed = ({ focused, hovered }: { focused?: boolean; hovered?: boolean }): boolean => {\n if (this.props.disabled) {\n return false;\n }\n return calculateClearCrossShowedState({\n showClearIcon: this.getProps().showClearIcon || 'never',\n notEmptyValue: Boolean(this.props.value),\n focused,\n hovered,\n });\n };\n\n public state: InternalTextareaWithLayoutState = {\n focused: false,\n hovered: false,\n clearCrossShowed: this.getClearCrossShowed({ focused: false }),\n };\n\n public focus() {\n this.wrappedComponentRef.current?.focus();\n }\n public blur() {\n this.wrappedComponentRef.current?.blur();\n }\n public setSelectionRange(start: number, end: number) {\n this.wrappedComponentRef.current?.setSelectionRange(start, end);\n }\n public selectAll() {\n this.wrappedComponentRef.current?.selectAll();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <span data-tid={'InternalTextareaWithLayout'}>{this.renderLayout()}</span>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private getTextareaSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return textareaStyles.textareaLarge(this.theme);\n case 'medium':\n return textareaStyles.textareaMedium(this.theme);\n case 'small':\n default:\n return textareaStyles.textareaSmall(this.theme);\n }\n }\n\n private getRootSizeClassName() {\n switch (this.getProps().size) {\n case 'large':\n return textareaStyles.rootLarge(this.theme);\n case 'medium':\n return textareaStyles.rootMedium(this.theme);\n case 'small':\n default:\n return textareaStyles.rootSmall(this.theme);\n }\n }\n\n private handleClearInput = () => {\n if (this.wrappedComponentRef.current) {\n this.wrappedComponentRef.current.clear();\n\n if (!this.state.focused) {\n this.wrappedComponentRef.current.focus();\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange('');\n }\n };\n\n private getRightIcon = () => {\n const { size, rightIcon } = this.props;\n\n return this.state.clearCrossShowed ? (\n <ClearCrossIcon data-tid={InputDataTids.clearCross} size={size} onClick={this.handleClearInput} />\n ) : (\n rightIcon\n );\n };\n\n private handleMouseEnter = () => {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: true }) });\n };\n\n private handleMouseOut = () => {\n this.setState({ clearCrossShowed: this.getClearCrossShowed({ focused: this.state.focused, hovered: false }) });\n };\n\n private renderLayout = () => {\n const labelProps = {\n className: cx(\n styles.contentWrapper(),\n textareaStyles.textarea(this.theme),\n this.getTextareaSizeClassName(),\n this.getRootSizeClassName(),\n {\n [inputStyles.focus(this.theme)]: this.state.focused && !this.props.warning && !this.props.error,\n [inputStyles.borderless()]: this.props.borderless && !this.state.focused,\n [textareaStyles.disabled(this.theme)]: this.props.disabled,\n [textareaStyles.warning(this.theme)]: this.props.warning,\n [textareaStyles.error(this.theme)]: this.props.error,\n },\n ),\n style: { width: this.props.width || DEFAULT_WIDTH, minWidth: '0', position: 'relative' as const },\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseOut,\n onClick: this.handleLayoutClick,\n };\n return (\n <InputLayout\n leftIcon={this.props.leftIcon}\n rightIcon={this.getRightIcon()}\n labelProps={labelProps}\n context={{ disabled: this.props.disabled, focused: this.state.focused, size: this.getProps().size }}\n tag=\"span\"\n >\n {this.renderTextarea()}\n </InputLayout>\n );\n };\n\n private get preparedTheme(): Theme {\n return ThemeFactory.create(\n {\n textareaWidth: 'auto',\n textareaBorderWidth: '0px',\n textareaPaddingXSmall: '0px',\n textareaPaddingXMedium: '0px',\n textareaPaddingXLarge: '0px',\n textareaPaddingYSmall: '0px',\n textareaPaddingYMedium: '0px',\n textareaPaddingYLarge: '0px',\n textareaOutlineWidth: '0px',\n textareaShadow: 'none',\n textareaDisabledBg: 'transparent',\n textareaBg: 'transparent',\n },\n this.theme,\n );\n }\n\n private renderTextarea = () => {\n const { leftIcon, rightIcon, borderless, ...textareaProps } = this.props;\n return (\n <ThemeContext.Provider value={this.preparedTheme}>\n <Textarea\n {...(isTestEnv ? { spellCheck: false } : {})}\n {...textareaProps}\n width={'100%'}\n ref={this.wrappedComponentRef}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n </ThemeContext.Provider>\n );\n };\n\n private handleLayoutClick = () => {\n this.wrappedComponentRef.current?.focus();\n };\n private handleBlur = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n if (getRootNode(this)?.contains(event.relatedTarget)) {\n this.setState({ focused: false });\n } else {\n this.setState({\n focused: false,\n clearCrossShowed: this.getClearCrossShowed({ focused: false, hovered: this.state.hovered }),\n });\n this.props.onBlur?.(event);\n }\n };\n private handleFocus = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n this.setState({\n focused: true,\n clearCrossShowed: this.getClearCrossShowed({ focused: true, hovered: this.state.hovered }),\n });\n this.props.onFocus?.(event);\n };\n}\n"],"mappings":"sYAAA,OAAOA,KAAK,MAAM,OAAO;;;AAGzB,SAASC,WAAW,QAAQ,gDAAgD;AAC5E,SAASC,aAAa,EAAEC,QAAQ,QAAQ,2BAA2B;;AAEnE,SAASC,MAAM,IAAIC,cAAc,QAAQ,2CAA2C;AACpF,SAASC,EAAE,QAAQ,2BAA2B;AAC9C,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,SAASC,WAAW,EAAEC,QAAQ,QAAQ,oBAAoB;;AAE1D,SAASN,MAAM,IAAIO,WAAW,QAAQ,qCAAqC;AAC3E,SAASC,iBAAiB,QAAQ,6BAA6B;AAC/D,SAASC,SAAS,QAAQ,8BAA8B;AACxD,SAASC,8BAA8B,EAAEC,aAAa,QAAQ,wBAAwB;AACtF,SAASC,cAAc,QAAQ,kCAAkC;;AAEjE,SAASZ,MAAM,QAAQ,qCAAqC;;;;;;;;;;;;AAY5D;AACaa,0BAA0B,GADtCP,QAAQ,CAAAQ,MAAA,IAAAC,2BAAA,0BAAAC,gBAAA,YAAAH,2BAAA,OAAAI,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;IAMCU,mBAAmB,gBAAG/B,KAAK,CAACgC,SAAS,CAAW,CAAC,CAAAX,KAAA;;IAEjDY,QAAQ,GAAGrB,iBAAiB,CAACT,QAAQ,CAAC+B,YAAY,CAAC,CAAAb,KAAA;;;;;;;;;IASnDc,mBAAmB,GAAG,UAAAC,IAAA,EAA6E,KAA1EC,OAAO,GAAAD,IAAA,CAAPC,OAAO,CAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;MAC/C,IAAIjB,KAAA,CAAKkB,KAAK,CAACC,QAAQ,EAAE;QACvB,OAAO,KAAK;MACd;MACA,OAAO1B,8BAA8B,CAAC;QACpC2B,aAAa,EAAEpB,KAAA,CAAKY,QAAQ,CAAC,CAAC,CAACQ,aAAa,IAAI,OAAO;QACvDC,aAAa,EAAEC,OAAO,CAACtB,KAAA,CAAKkB,KAAK,CAACK,KAAK,CAAC;QACxCP,OAAO,EAAPA,OAAO;QACPC,OAAO,EAAPA;MACF,CAAC,CAAC;IACJ,CAAC,CAAAjB,KAAA;;IAEMwB,KAAK,GAAoC;MAC9CR,OAAO,EAAE,KAAK;MACdC,OAAO,EAAE,KAAK;MACdQ,gBAAgB,EAAEzB,KAAA,CAAKc,mBAAmB,CAAC,EAAEE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC,CAAAhB,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkDO0B,gBAAgB,GAAG,YAAM;MAC/B,IAAI1B,KAAA,CAAKU,mBAAmB,CAACiB,OAAO,EAAE;QACpC3B,KAAA,CAAKU,mBAAmB,CAACiB,OAAO,CAACC,KAAK,CAAC,CAAC;;QAExC,IAAI,CAAC5B,KAAA,CAAKwB,KAAK,CAACR,OAAO,EAAE;UACvBhB,KAAA,CAAKU,mBAAmB,CAACiB,OAAO,CAACE,KAAK,CAAC,CAAC;QAC1C;MACF;;MAEA,IAAI7B,KAAA,CAAKkB,KAAK,CAACY,aAAa,EAAE;QAC5B9B,KAAA,CAAKkB,KAAK,CAACY,aAAa,CAAC,EAAE,CAAC;MAC9B;IACF,CAAC,CAAA9B,KAAA;;IAEO+B,YAAY,GAAG,YAAM;MAC3B,IAAAC,WAAA,GAA4BhC,KAAA,CAAKkB,KAAK,CAA9Be,IAAI,GAAAD,WAAA,CAAJC,IAAI,CAAEC,SAAS,GAAAF,WAAA,CAATE,SAAS;;MAEvB,OAAOlC,KAAA,CAAKwB,KAAK,CAACC,gBAAgB;MAChC9C,KAAA,CAAAwD,aAAA,CAACxC,cAAc,IAAC,YAAUD,aAAa,CAAC0C,UAAW,EAACH,IAAI,EAAEA,IAAK,EAACI,OAAO,EAAErC,KAAA,CAAK0B,gBAAiB,EAAE,CAAC;;MAElGQ,SACD;;IACH,CAAC,CAAAlC,KAAA;;IAEOsC,gBAAgB,GAAG,YAAM;MAC/BtC,KAAA,CAAKuC,QAAQ,CAAC,EAAEd,gBAAgB,EAAEzB,KAAA,CAAKc,mBAAmB,CAAC,EAAEE,OAAO,EAAEhB,KAAA,CAAKwB,KAAK,CAACR,OAAO,EAAEC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/G,CAAC,CAAAjB,KAAA;;IAEOwC,cAAc,GAAG,YAAM;MAC7BxC,KAAA,CAAKuC,QAAQ,CAAC,EAAEd,gBAAgB,EAAEzB,KAAA,CAAKc,mBAAmB,CAAC,EAAEE,OAAO,EAAEhB,KAAA,CAAKwB,KAAK,CAACR,OAAO,EAAEC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChH,CAAC,CAAAjB,KAAA;;IAEOyC,YAAY,GAAG,YAAM,KAAAC,GAAA;MAC3B,IAAMC,UAAU,GAAG;QACjBC,SAAS,EAAE3D,EAAE;UACXF,MAAM,CAAC8D,cAAc,CAAC,CAAC;UACvB7D,cAAc,CAAC8D,QAAQ,CAAC9C,KAAA,CAAK+C,KAAK,CAAC;UACnC/C,KAAA,CAAKgD,wBAAwB,CAAC,CAAC;UAC/BhD,KAAA,CAAKiD,oBAAoB,CAAC,CAAC,GAAAP,GAAA,OAAAA,GAAA;;UAExBpD,WAAW,CAACuC,KAAK,CAAC7B,KAAA,CAAK+C,KAAK,CAAC,IAAG/C,KAAA,CAAKwB,KAAK,CAACR,OAAO,IAAI,CAAChB,KAAA,CAAKkB,KAAK,CAACgC,OAAO,IAAI,CAAClD,KAAA,CAAKkB,KAAK,CAACiC,KAAK,EAAAT,GAAA;UAC9FpD,WAAW,CAAC8D,UAAU,CAAC,CAAC,IAAGpD,KAAA,CAAKkB,KAAK,CAACkC,UAAU,IAAI,CAACpD,KAAA,CAAKwB,KAAK,CAACR,OAAO,EAAA0B,GAAA;UACvE1D,cAAc,CAACmC,QAAQ,CAACnB,KAAA,CAAK+C,KAAK,CAAC,IAAG/C,KAAA,CAAKkB,KAAK,CAACC,QAAQ,EAAAuB,GAAA;UACzD1D,cAAc,CAACkE,OAAO,CAAClD,KAAA,CAAK+C,KAAK,CAAC,IAAG/C,KAAA,CAAKkB,KAAK,CAACgC,OAAO,EAAAR,GAAA;UACvD1D,cAAc,CAACmE,KAAK,CAACnD,KAAA,CAAK+C,KAAK,CAAC,IAAG/C,KAAA,CAAKkB,KAAK,CAACiC,KAAK,EAAAT,GAAA;;QAExD,CAAC;QACDW,KAAK,EAAE,EAAEC,KAAK,EAAEtD,KAAA,CAAKkB,KAAK,CAACoC,KAAK,IAAIzE,aAAa,EAAE0E,QAAQ,EAAE,GAAG,EAAEC,QAAQ,EAAE,UAAmB,CAAC,CAAC;QACjGC,YAAY,EAAEzD,KAAA,CAAKsC,gBAAgB;QACnCoB,YAAY,EAAE1D,KAAA,CAAKwC,cAAc;QACjCH,OAAO,EAAErC,KAAA,CAAK2D;MAChB,CAAC;MACD;QACEhF,KAAA,CAAAwD,aAAA,CAACvD,WAAW;UACVgF,QAAQ,EAAE5D,KAAA,CAAKkB,KAAK,CAAC0C,QAAS;UAC9B1B,SAAS,EAAElC,KAAA,CAAK+B,YAAY,CAAC,CAAE;UAC/BY,UAAU,EAAEA,UAAW;UACvBkB,OAAO,EAAE,EAAE1C,QAAQ,EAAEnB,KAAA,CAAKkB,KAAK,CAACC,QAAQ,EAAEH,OAAO,EAAEhB,KAAA,CAAKwB,KAAK,CAACR,OAAO,EAAEiB,IAAI,EAAEjC,KAAA,CAAKY,QAAQ,CAAC,CAAC,CAACqB,IAAI,CAAC,CAAE;UACpG6B,GAAG,EAAC,MAAM;;QAET9D,KAAA,CAAK+D,cAAc,CAAC;QACV,CAAC;;IAElB,CAAC,CAAA/D,KAAA;;;;;;;;;;;;;;;;;;;;;;IAsBO+D,cAAc,GAAG,YAAM;MAC7B,IAAAC,YAAA,GAA8DhE,KAAA,CAAKkB,KAAK,CAAhE0C,QAAQ,GAAAI,YAAA,CAARJ,QAAQ,CAAE1B,SAAS,GAAA8B,YAAA,CAAT9B,SAAS,CAAEkB,UAAU,GAAAY,YAAA,CAAVZ,UAAU,CAAKa,aAAa,GAAAC,6BAAA,CAAAF,YAAA,EAAAG,SAAA;MACzD;QACExF,KAAA,CAAAwD,aAAA,CAACjD,YAAY,CAACkF,QAAQ,IAAC7C,KAAK,EAAEvB,KAAA,CAAKqE,aAAc;QAC/C1F,KAAA,CAAAwD,aAAA,CAACrD,QAAQ,EAAAwF,QAAA;QACF9E,SAAS,GAAG,EAAE+E,UAAU,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;QACvCN,aAAa;UACjBX,KAAK,EAAE,MAAO;UACdkB,GAAG,EAAExE,KAAA,CAAKU,mBAAoB;UAC9B+D,OAAO,EAAEzE,KAAA,CAAK0E,WAAY;UAC1BC,MAAM,EAAE3E,KAAA,CAAK4E,UAAW;QACzB;QACoB,CAAC;;IAE5B,CAAC,CAAA5E,KAAA;;IAEO2D,iBAAiB,GAAG,YAAM,KAAAkB,qBAAA;MAChC,CAAAA,qBAAA,GAAA7E,KAAA,CAAKU,mBAAmB,CAACiB,OAAO,aAAhCkD,qBAAA,CAAkChD,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAA7B,KAAA;IACO4E,UAAU,GAAG,UAACE,KAA4C,EAAK,KAAAC,YAAA;MACrE,KAAAA,YAAA,GAAI3F,WAAW,CAAAY,KAAK,CAAC,aAAjB+E,YAAA,CAAmBC,QAAQ,CAACF,KAAK,CAACG,aAAa,CAAC,EAAE;QACpDjF,KAAA,CAAKuC,QAAQ,CAAC,EAAEvB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;MACnC,CAAC,MAAM;QACLhB,KAAA,CAAKuC,QAAQ,CAAC;UACZvB,OAAO,EAAE,KAAK;UACdS,gBAAgB,EAAEzB,KAAA,CAAKc,mBAAmB,CAAC,EAAEE,OAAO,EAAE,KAAK,EAAEC,OAAO,EAAEjB,KAAA,CAAKwB,KAAK,CAACP,OAAO,CAAC,CAAC;QAC5F,CAAC,CAAC;QACFjB,KAAA,CAAKkB,KAAK,CAACyD,MAAM,YAAjB3E,KAAA,CAAKkB,KAAK,CAACyD,MAAM,CAAGG,KAAK,CAAC;MAC5B;IACF,CAAC,CAAA9E,KAAA;IACO0E,WAAW,GAAG,UAACI,KAA4C,EAAK;MACtE9E,KAAA,CAAKuC,QAAQ,CAAC;QACZvB,OAAO,EAAE,IAAI;QACbS,gBAAgB,EAAEzB,KAAA,CAAKc,mBAAmB,CAAC,EAAEE,OAAO,EAAE,IAAI,EAAEC,OAAO,EAAEjB,KAAA,CAAKwB,KAAK,CAACP,OAAO,CAAC,CAAC;MAC3F,CAAC,CAAC;MACFjB,KAAA,CAAKkB,KAAK,CAACuD,OAAO,YAAlBzE,KAAA,CAAKkB,KAAK,CAACuD,OAAO,CAAGK,KAAK,CAAC;IAC7B,CAAC,QAAA9E,KAAA,EAAAkF,cAAA,CAAAtF,0BAAA,EAAAG,gBAAA,MAAAoF,MAAA,GAAAvF,0BAAA,CAAAwF,SAAA,CAAAD,MAAA,CAlMME,kBAAkB,GAAzB,SAAAA,mBAA0BC,SAAoD,EAAE,CAC9E,IAAAC,WAAA,GAA6B,IAAI,CAAC/D,KAAK,CAA/BR,OAAO,GAAAuE,WAAA,CAAPvE,OAAO,CAAEC,OAAO,GAAAsE,WAAA,CAAPtE,OAAO,CACxB,IAAIK,OAAO,CAACgE,SAAS,CAAC/D,KAAK,CAAC,KAAKD,OAAO,CAAC,IAAI,CAACJ,KAAK,CAACK,KAAK,CAAC,EAAE,CAC1D,IAAI,CAACgB,QAAQ,CAAC,EAAEd,gBAAgB,EAAE,IAAI,CAACX,mBAAmB,CAAC,EAAEE,OAAO,EAAPA,OAAO,EAAEC,OAAO,EAAPA,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACrF,CACF,CAAC,CAAAkE,MAAA,CAoBMtD,KAAK,GAAZ,SAAAA,MAAA,EAAe,KAAA2D,sBAAA,CACb,CAAAA,sBAAA,OAAI,CAAC9E,mBAAmB,CAACiB,OAAO,aAAhC6D,sBAAA,CAAkC3D,KAAK,CAAC,CAAC,CAC3C,CAAC,CAAAsD,MAAA,CACMM,IAAI,GAAX,SAAAA,KAAA,EAAc,KAAAC,sBAAA,CACZ,CAAAA,sBAAA,OAAI,CAAChF,mBAAmB,CAACiB,OAAO,aAAhC+D,sBAAA,CAAkCD,IAAI,CAAC,CAAC,CAC1C,CAAC,CAAAN,MAAA,CACMQ,iBAAiB,GAAxB,SAAAA,kBAAyBC,KAAa,EAAEC,GAAW,EAAE,KAAAC,sBAAA,CACnD,CAAAA,sBAAA,OAAI,CAACpF,mBAAmB,CAACiB,OAAO,aAAhCmE,sBAAA,CAAkCH,iBAAiB,CAACC,KAAK,EAAEC,GAAG,CAAC,CACjE,CAAC,CAAAV,MAAA,CACMY,SAAS,GAAhB,SAAAA,UAAA,EAAmB,KAAAC,sBAAA,CACjB,CAAAA,sBAAA,OAAI,CAACtF,mBAAmB,CAACiB,OAAO,aAAhCqE,sBAAA,CAAkCD,SAAS,CAAC,CAAC,CAC/C,CAAC,CAAAZ,MAAA,CAEMc,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACEvH,KAAA,CAAAwD,aAAA,CAACjD,YAAY,CAACiH,QAAQ,QACnB,UAACpD,KAAK,EAAK,CACVmD,MAAI,CAACnD,KAAK,GAAGA,KAAK,CAClB,oBAAOpE,KAAA,CAAAwD,aAAA,WAAM,YAAU,4BAA6B,IAAE+D,MAAI,CAACzD,YAAY,CAAC,CAAQ,CAAC,CACnF,CACqB,CAAC,CAE5B,CAAC,CAAA0C,MAAA,CAEOnC,wBAAwB,GAAhC,SAAAA,yBAAA,EAAmC,CACjC,QAAQ,IAAI,CAACpC,QAAQ,CAAC,CAAC,CAACqB,IAAI,GAC1B,KAAK,OAAO,CACV,OAAOjD,cAAc,CAACoH,aAAa,CAAC,IAAI,CAACrD,KAAK,CAAC,CACjD,KAAK,QAAQ,CACX,OAAO/D,cAAc,CAACqH,cAAc,CAAC,IAAI,CAACtD,KAAK,CAAC,CAClD,KAAK,OAAO,CACZ,QACE,OAAO/D,cAAc,CAACsH,aAAa,CAAC,IAAI,CAACvD,KAAK,CAAC,CACnD,CACF,CAAC,CAAAoC,MAAA,CAEOlC,oBAAoB,GAA5B,SAAAA,qBAAA,EAA+B,CAC7B,QAAQ,IAAI,CAACrC,QAAQ,CAAC,CAAC,CAACqB,IAAI,GAC1B,KAAK,OAAO,CACV,OAAOjD,cAAc,CAACuH,SAAS,CAAC,IAAI,CAACxD,KAAK,CAAC,CAC7C,KAAK,QAAQ,CACX,OAAO/D,cAAc,CAACwH,UAAU,CAAC,IAAI,CAACzD,KAAK,CAAC,CAC9C,KAAK,OAAO,CACZ,QACE,OAAO/D,cAAc,CAACyH,SAAS,CAAC,IAAI,CAAC1D,KAAK,CAAC,CAC/C,CACF,CAAC,QAAA2D,YAAA,CAAA9G,0BAAA,KAAA+G,GAAA,mBAAAC,GAAA,EAmED,SAAAA,IAAA,EAAmC,CACjC,OAAOzH,YAAY,CAAC0H,MAAM,CACxB,EACEC,aAAa,EAAE,MAAM,EACrBC,mBAAmB,EAAE,KAAK,EAC1BC,qBAAqB,EAAE,KAAK,EAC5BC,sBAAsB,EAAE,KAAK,EAC7BC,qBAAqB,EAAE,KAAK,EAC5BC,qBAAqB,EAAE,KAAK,EAC5BC,sBAAsB,EAAE,KAAK,EAC7BC,qBAAqB,EAAE,KAAK,EAC5BC,oBAAoB,EAAE,KAAK,EAC3BC,cAAc,EAAE,MAAM,EACtBC,kBAAkB,EAAE,aAAa,EACjCC,UAAU,EAAE,aAAa,CAC3B,CAAC,EACD,IAAI,CAAC1E,KACP,CAAC,CACH,CAAC,OArK6CpE,KAAK,CAAC+I,SAAS,GAAA5H,2BAAA,CAI/C6H,mBAAmB,GAAG,4BAA4B,EAAA7H,2BAAA,MAAAD,MAAA","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js",
3
+ "module": "InternalTextareaWithLayout",
4
+ "types": "../InternalTextareaWithLayout.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ import type { InputProps } from '../../components/Input';
3
+ import type { TextareaProps } from '../../components/Textarea';
4
+ interface InternalTextareaWithLayoutProps extends TextareaProps, Pick<InputProps, 'leftIcon' | 'rightIcon' | 'align' | 'borderless' | 'showClearIcon'> {
5
+ }
6
+ interface InternalTextareaWithLayoutState {
7
+ focused: boolean;
8
+ hovered: boolean;
9
+ clearCrossShowed: boolean;
10
+ }
11
+ export declare class InternalTextareaWithLayout extends React.Component<InternalTextareaWithLayoutProps, InternalTextareaWithLayoutState> {
12
+ static __KONTUR_REACT_UI__: string;
13
+ private wrappedComponentRef;
14
+ private theme;
15
+ private getProps;
16
+ componentDidUpdate(prevProps: Readonly<InternalTextareaWithLayoutProps>): void;
17
+ private getClearCrossShowed;
18
+ state: InternalTextareaWithLayoutState;
19
+ focus(): void;
20
+ blur(): void;
21
+ setSelectionRange(start: number, end: number): void;
22
+ selectAll(): void;
23
+ render(): React.JSX.Element;
24
+ private getTextareaSizeClassName;
25
+ private getRootSizeClassName;
26
+ private handleClearInput;
27
+ private getRightIcon;
28
+ private handleMouseEnter;
29
+ private handleMouseOut;
30
+ private renderLayout;
31
+ private get preparedTheme();
32
+ private renderTextarea;
33
+ private handleLayoutClick;
34
+ private handleBlur;
35
+ private handleFocus;
36
+ }
37
+ export {};
@@ -0,0 +1,8 @@
1
+ import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
2
+ var _templateObject;
3
+ import { css, memoizeStyle } from "../../../lib/theming/Emotion";
4
+ export var styles = memoizeStyle({
5
+ contentWrapper: function contentWrapper() {
6
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n align-items: flex-start;\n "])));
7
+ }
8
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"names":["css","memoizeStyle","styles","contentWrapper","_templateObject","_taggedTemplateLiteralLoose"],"sources":["InternalTextareaWithLayout.styles.ts"],"sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\n\nexport const styles = memoizeStyle({\n contentWrapper() {\n return css`\n display: inline-flex;\n align-items: flex-start;\n `;\n },\n});\n"],"mappings":"oHAAA,SAASA,GAAG,EAAEC,YAAY,QAAQ,2BAA2B;;AAE7D,OAAO,IAAMC,MAAM,GAAGD,YAAY,CAAC;EACjCE,cAAc,WAAAA,eAAA,EAAG;IACf,OAAOH,GAAG,CAAAI,eAAA,KAAAA,eAAA,GAAAC,2BAAA;;;;EAIZ;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js",
3
+ "module": "InternalTextareaWithLayout.styles",
4
+ "types": "../InternalTextareaWithLayout.styles.d.ts",
5
+ "sideEffects": false
6
+ }
@@ -0,0 +1,3 @@
1
+ export declare const styles: {
2
+ contentWrapper(): string;
3
+ };
@@ -1 +1 @@
1
- {"version":3,"names":["React","globalObject","isBrowser","isKeyArrowDown","isKeyArrowUp","isKeyEnter","MenuSeparator","ThemeFactory","getDOMRect","responsiveLayout","isNonNullable","ScrollContainer","MenuItemDataTids","ThemeContext","cx","getRootNode","rootNode","isIE11","createPropsGetter","isInstanceOf","CommonWrapper","styles","MenuNavigation","MenuContext","MenuDataTids","root","Menu","_class","_Menu","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","highlightedIndex","maxHeight","scrollState","enableIconPadding","unmounted","contentRef","createRef","menuNavigation","content","focusOnRootElement","HTMLElement","focus","renderHeader","_cx","createElement","className","wrapper","headerWrapper","ref","el","header","contentWrapper","props","menuSeparatorWrapper","theme","renderMenuSeparatorWithNoMargin","renderFooter","_cx2","footerWrapper","footer","Provider","value","create","menuSeparatorMarginY","setInitialSelection","i","initialSelectedItemIndex","down","shouldRecalculateMaxHeight","prevProps","_this$props","children","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","Children","count","calculateMaxHeight","parsedMaxHeight","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","height","setState","refScrollContainer","scrollContainer","scrollToSelected","highlightedItem","scrollTo","scrollToTop","scrollToBottom","scroll","nextIndex","items","handleKeyDown","event","onKeyDown","defaultPrevented","preventDefault","up","select","getStyle","align","maxWidth","width","minWidth","handleScrollStateChange","setEnableIconPadding","isIconPaddingEnabled","preventIconsOffset","_inheritsLoose","_proto","prototype","componentWillUnmount","componentDidMount","componentDidUpdate","render","_this2","Consumer","renderMain","move","enter","_this$menuNavigation$","navigate","reset","hasHighlightedItem","highlightItem","index","highlightByIndex","_cx3","_cx4","isEmpty","_this$getProps","hasMargin","preventWindowScroll","offsetY","top","scrollContainerScrollBarOffsetY","right","bottom","isMobile","isMobileLayout","_extends","rootNodeRef","setRootNode","getAlignRightClass","mobileRoot","shadow","style","id","tabIndex","onScrollStateChange","disabled","disableScrollContainer","scrollContainerMobile","navigation","onItemClick","step","cyclicSelection","childrenToArray","filter","PureComponent","__KONTUR_REACT_UI__","displayName","ret","forEach","child","push","_cx5","alignRight","alignRightIE11","alignRightIE11FixAutoWidth"],"sources":["Menu.tsx"],"sourcesContent":["import type { CSSProperties, HTMLAttributes } from 'react';\nimport React from 'react';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { isNonNullable } from '../../lib/utils';\nimport type { ScrollContainerScrollState } from '../../components/ScrollContainer';\nimport { ScrollContainer } from '../../components/ScrollContainer';\nimport type { MenuItem } from '../../components/MenuItem';\nimport { MenuItemDataTids } from '../../components/MenuItem';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { isIE11 } from '../../lib/client';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport type { CommonProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\n\nimport { styles } from './Menu.styles';\nimport { MenuNavigation } from './MenuNavigation';\nimport { MenuContext } from './MenuContext';\n\nexport interface MenuProps extends CommonProps, Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n children: React.ReactNode;\n hasMargin?: boolean;\n /**\n * Максимальная высота применяется только для скролл контейнера\n *\n * Высота `header` и `footer` в нее не включены\n */\n maxHeight?: number | string;\n onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n /**\n * Отключение кастомного скролла контейнера\n */\n disableScrollContainer?: boolean;\n align?: 'left' | 'right';\n /**\n * Предотвращает выравнивание текста всех пунктов меню относительно друг друга.\n * Так, если хотя бы у одного пункта меню есть иконка, текст в остальных пунктах меню будет выровнен относительно пункта меню с иконкой\n */\n preventIconsOffset?: boolean;\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n /**\n * Циклический перебор айтемов меню (по-дефолтну включен)\n */\n cyclicSelection?: boolean;\n initialSelectedItemIndex?: number;\n}\n\nexport interface MenuState {\n highlightedIndex: number; // TODO unused variable, remove in next major release\n maxHeight: number | string;\n scrollState: ScrollContainerScrollState;\n enableIconPadding: boolean;\n}\n\nexport const MenuDataTids = {\n root: 'Menu__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n MenuProps,\n | 'align'\n | 'width'\n | 'hasMargin'\n | 'maxHeight'\n | 'preventWindowScroll'\n | 'cyclicSelection'\n | 'initialSelectedItemIndex'\n >\n>;\n\n@responsiveLayout\n@rootNode\nexport class Menu extends React.PureComponent<MenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'Menu';\n public static displayName = 'Menu';\n\n public static defaultProps: DefaultProps = {\n align: 'left',\n width: 'auto',\n maxHeight: 300,\n hasMargin: true,\n preventWindowScroll: true,\n cyclicSelection: true,\n initialSelectedItemIndex: -1,\n };\n\n private getProps = createPropsGetter(Menu.defaultProps);\n\n public state: MenuState = {\n highlightedIndex: -1,\n maxHeight: this.getProps().maxHeight || 'none',\n scrollState: 'top',\n enableIconPadding: false,\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private isMobileLayout!: boolean;\n private unmounted = false;\n private setRootNode!: TSetRootNode;\n private header: Nullable<HTMLDivElement>;\n private footer: Nullable<HTMLDivElement>;\n private contentRef = React.createRef<HTMLDivElement>();\n private menuNavigation: MenuNavigation<MenuItem> = new MenuNavigation(this.contentRef, MenuItemDataTids.content);\n\n public componentWillUnmount() {\n this.unmounted = true;\n }\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\n this.unmounted = false;\n }\n\n public componentDidUpdate(prevProps: MenuProps) {\n if (this.shouldRecalculateMaxHeight(prevProps)) {\n this.calculateMaxHeight();\n }\n\n if (prevProps.maxHeight !== this.getProps().maxHeight) {\n this.setState({\n maxHeight: this.props.maxHeight || 'none',\n });\n }\n }\n\n public focus() {\n this.focusOnRootElement();\n }\n\n private focusOnRootElement = (): void => {\n const rootNode = getRootNode(this);\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n rootNode?.focus();\n }\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 /**\n * @public\n */\n public up() {\n this.move(-1);\n }\n\n /**\n * @public\n */\n public down() {\n this.move(1);\n }\n\n /**\n * @public\n */\n public enter(event: React.SyntheticEvent<HTMLElement>) {\n this.menuNavigation.highlightedItem?.navigate();\n return this.menuNavigation.select(event);\n }\n\n /**\n * @public\n */\n public reset() {\n this.menuNavigation.reset();\n }\n\n /**\n * @public\n */\n public hasHighlightedItem() {\n return !!this.menuNavigation.highlightedItem;\n }\n\n public highlightItem(index: number) {\n this.menuNavigation.highlightByIndex(index);\n }\n\n private renderMain() {\n if (this.isEmpty()) {\n return null;\n }\n const { hasMargin, maxHeight, preventWindowScroll } = this.getProps();\n\n const offsetY = {\n top: `${this.theme.scrollContainerScrollBarOffsetY}`,\n right: 0,\n bottom: `${this.theme.scrollContainerScrollBarOffsetY}`,\n };\n\n const isMobile = this.isMobileLayout;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={MenuDataTids.root}\n className={cx(getAlignRightClass(this.props), {\n [styles.root(this.theme)]: true,\n [styles.hasMargin(this.theme)]: hasMargin,\n [styles.mobileRoot(this.theme)]: isMobile,\n [styles.shadow(this.theme)]: !isMobile,\n })}\n style={this.getStyle(this.props)}\n id={this.props.id}\n onKeyDown={this.handleKeyDown}\n tabIndex={0}\n >\n {this.props.header && this.renderHeader()}\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={maxHeight}\n preventWindowScroll={preventWindowScroll}\n onScrollStateChange={this.handleScrollStateChange}\n disabled={this.props.disableScrollContainer}\n offsetY={offsetY}\n >\n <div\n className={cx({\n [styles.scrollContainer(this.theme)]: true,\n [styles.scrollContainerMobile(this.theme)]: isMobile,\n })}\n ref={this.contentRef}\n >\n <MenuContext.Provider\n value={{\n navigation: this.menuNavigation,\n onItemClick: this.props.onItemClick,\n enableIconPadding: this.state.enableIconPadding,\n setEnableIconPadding: this.setEnableIconPadding,\n }}\n >\n {this.props.children}\n </MenuContext.Provider>\n </div>\n </ScrollContainer>\n {this.props.footer && this.renderFooter()}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderHeader = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.headerWrapper()]: true,\n })}\n ref={(el) => (this.header = el)}\n >\n <div className={styles.contentWrapper()}>{this.props.header}</div>\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'top' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n </div>\n );\n };\n\n private renderFooter = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.footerWrapper()]: true,\n })}\n ref={(el) => (this.footer = el)}\n >\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'bottom' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n <div className={styles.contentWrapper()}>{this.props.footer}</div>\n </div>\n );\n };\n\n private renderMenuSeparatorWithNoMargin = () => {\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ menuSeparatorMarginY: '0' }, this.theme)}>\n <MenuSeparator />\n </ThemeContext.Provider>\n );\n };\n\n private setInitialSelection = () => {\n for (let i = this.getProps().initialSelectedItemIndex; i > -1; i--) {\n this.down();\n }\n };\n\n private shouldRecalculateMaxHeight = (prevProps: MenuProps): boolean => {\n const { header, footer, children } = this.props;\n const maxHeight = this.getProps().maxHeight;\n const prevMaxHeight = prevProps.maxHeight;\n const prevHeader = prevProps.header;\n const prevFooter = prevProps.footer;\n const prevChildrenCount = React.Children.count(prevProps.children);\n\n return (\n maxHeight !== prevMaxHeight ||\n footer !== prevFooter ||\n header !== prevHeader ||\n React.Children.count(children) !== prevChildrenCount\n );\n };\n\n private calculateMaxHeight = () => {\n const maxHeight = this.getProps().maxHeight;\n let parsedMaxHeight = maxHeight;\n const rootNode = getRootNode(this);\n\n if (typeof maxHeight === 'string' && isBrowser(globalObject) && rootNode) {\n const rootElementMaxHeight = globalObject.getComputedStyle?.(rootNode).maxHeight;\n\n if (rootElementMaxHeight) {\n parsedMaxHeight = parseFloat(rootElementMaxHeight);\n }\n }\n\n const calculatedMaxHeight =\n typeof parsedMaxHeight === 'number'\n ? parsedMaxHeight +\n ((this.header && getDOMRect(this.header).height) || 0) +\n ((this.footer && getDOMRect(this.footer).height) || 0)\n : maxHeight;\n\n this.setState({\n maxHeight: calculatedMaxHeight || 'none',\n });\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private scrollToSelected = () => {\n const highlightedItem = this.menuNavigation.highlightedItem;\n if (this.scrollContainer && highlightedItem) {\n const rootNode = getRootNode(highlightedItem);\n // TODO: Remove this check once IF-647 is resolved\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n this.scrollContainer.scrollTo(rootNode);\n }\n }\n };\n\n private scrollToTop = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToTop();\n }\n };\n\n private scrollToBottom = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToBottom();\n }\n };\n\n private scroll = (nextIndex: number) => {\n switch (nextIndex) {\n case 0:\n this.scrollToTop?.();\n break;\n case this.menuNavigation.items.length - 1:\n this.scrollToBottom?.();\n break;\n default:\n this.scrollToSelected?.();\n }\n };\n\n private move(step: number) {\n if (this.unmounted) {\n // NOTE workaround, because `ComboBox` call `process.nextTick` in reducer\n return;\n }\n const nextIndex = this.menuNavigation.move(step, this.getProps().cyclicSelection);\n this.scroll(nextIndex);\n }\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isNonNullable).length;\n }\n\n private handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\n if (typeof this.props.onKeyDown === 'function') {\n this.props.onKeyDown(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (isKeyArrowUp(event)) {\n event.preventDefault();\n this.up();\n } else if (isKeyArrowDown(event)) {\n event.preventDefault();\n this.down();\n } else if (isKeyEnter(event)) {\n this.menuNavigation.select(event);\n }\n };\n\n private getStyle = (props: MenuProps): CSSProperties => {\n if (props.align === 'right') {\n return {\n maxWidth: props.width,\n minWidth: props.width,\n maxHeight: this.state.maxHeight,\n };\n }\n\n return {\n width: props.width,\n maxHeight: this.state.maxHeight,\n };\n };\n\n private handleScrollStateChange = (scrollState: ScrollContainerScrollState) => {\n if (this.state.scrollState !== scrollState) {\n this.setState({ scrollState });\n }\n };\n\n private setEnableIconPadding = (isIconPaddingEnabled: boolean) => {\n !this.getProps().preventIconsOffset && this.setState({ enableIconPadding: isIconPaddingEnabled });\n };\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, (child) => {\n ret.push(child);\n });\n return ret;\n}\n\nconst getAlignRightClass = (props: MenuProps) => {\n if (props.align === 'right') {\n return cx({\n [styles.alignRight()]: !isIE11,\n [styles.alignRightIE11()]: isIE11,\n [styles.alignRightIE11FixAutoWidth()]: isIE11 && props.width === 'auto',\n });\n }\n\n return null;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","globalObject","isBrowser","isKeyArrowDown","isKeyArrowUp","isKeyEnter","MenuSeparator","ThemeFactory","getDOMRect","responsiveLayout","isNonNullable","ScrollContainer","MenuItemDataTids","ThemeContext","cx","getRootNode","rootNode","isIE11","createPropsGetter","isInstanceOf","CommonWrapper","styles","MenuNavigation","MenuContext","MenuDataTids","root","Menu","_class","_Menu","_React$PureComponent","_this","_len","arguments","length","args","Array","_key","call","apply","concat","getProps","defaultProps","state","highlightedIndex","maxHeight","scrollState","enableIconPadding","unmounted","contentRef","createRef","menuNavigation","content","focusOnRootElement","HTMLElement","focus","renderHeader","_cx","createElement","className","wrapper","headerWrapper","ref","el","header","contentWrapper","props","menuSeparatorWrapper","theme","renderMenuSeparatorWithNoMargin","renderFooter","_cx2","footerWrapper","footer","Provider","value","create","menuSeparatorMarginY","setInitialSelection","i","initialSelectedItemIndex","down","shouldRecalculateMaxHeight","prevProps","_this$props","children","prevMaxHeight","prevHeader","prevFooter","prevChildrenCount","Children","count","calculateMaxHeight","parsedMaxHeight","rootElementMaxHeight","getComputedStyle","parseFloat","calculatedMaxHeight","height","setState","refScrollContainer","scrollContainer","scrollToSelected","highlightedItem","scrollTo","scrollToTop","scrollToBottom","scroll","nextIndex","items","handleKeyDown","event","onKeyDown","defaultPrevented","preventDefault","up","select","getStyle","align","maxWidth","width","minWidth","handleScrollStateChange","setEnableIconPadding","isIconPaddingEnabled","preventIconsOffset","_inheritsLoose","_proto","prototype","componentWillUnmount","componentDidMount","componentDidUpdate","render","_this2","Consumer","renderMain","move","enter","_this$menuNavigation$","navigate","reset","hasHighlightedItem","highlightItem","index","highlightByIndex","_cx3","_cx4","isEmpty","_this$getProps","hasMargin","preventWindowScroll","offsetY","top","scrollContainerScrollBarOffsetY","right","bottom","isMobile","isMobileLayout","_extends","rootNodeRef","setRootNode","getAlignRightClass","mobileRoot","shadow","style","id","tabIndex","onScrollStateChange","disabled","disableScrollContainer","scrollContainerMobile","navigation","onItemClick","step","cyclicSelection","childrenToArray","filter","PureComponent","__KONTUR_REACT_UI__","displayName","ret","forEach","child","push","_cx5","alignRight","alignRightIE11","alignRightIE11FixAutoWidth"],"sources":["Menu.tsx"],"sourcesContent":["import type { CSSProperties, HTMLAttributes } from 'react';\nimport React from 'react';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { isKeyArrowDown, isKeyArrowUp, isKeyEnter } from '../../lib/events/keyboard/identifiers';\nimport { MenuSeparator } from '../../components/MenuSeparator';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\nimport { responsiveLayout } from '../../components/ResponsiveLayout/decorator';\nimport { isNonNullable } from '../../lib/utils';\nimport type { ScrollContainerScrollState } from '../../components/ScrollContainer';\nimport { ScrollContainer } from '../../components/ScrollContainer';\nimport type { MenuItem } from '../../components/MenuItem';\nimport { MenuItemDataTids } from '../../components/MenuItem';\nimport type { Nullable } from '../../typings/utility-types';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { getRootNode, rootNode } from '../../lib/rootNode';\nimport { isIE11 } from '../../lib/client';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\nimport { isInstanceOf } from '../../lib/isInstanceOf';\nimport type { CommonProps } from '../CommonWrapper';\nimport { CommonWrapper } from '../CommonWrapper';\n\nimport { styles } from './Menu.styles';\nimport { MenuNavigation } from './MenuNavigation';\nimport { MenuContext } from './MenuContext';\n\nexport interface MenuProps extends CommonProps, Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n children: React.ReactNode;\n hasMargin?: boolean;\n /**\n * Максимальная высота применяется только для скролл контейнера\n *\n * Высота `header` и `footer` в нее не включены\n */\n maxHeight?: number | string;\n onItemClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n width?: number | string;\n preventWindowScroll?: boolean;\n /**\n * Отключение кастомного скролла контейнера\n */\n disableScrollContainer?: boolean;\n align?: 'left' | 'right';\n /**\n * Предотвращает выравнивание текста всех пунктов меню относительно друг друга.\n * Так, если хотя бы у одного пункта меню есть иконка, текст в остальных пунктах меню будет выровнен относительно пункта меню с иконкой\n */\n preventIconsOffset?: boolean;\n onKeyDown?: (event: React.KeyboardEvent<HTMLElement>) => void;\n\n header?: React.ReactNode;\n footer?: React.ReactNode;\n /**\n * Циклический перебор айтемов меню (по-дефолтну включен)\n */\n cyclicSelection?: boolean;\n initialSelectedItemIndex?: number;\n}\n\nexport interface MenuState {\n highlightedIndex: number; // TODO unused variable, remove in next major release\n maxHeight: number | string;\n scrollState: ScrollContainerScrollState;\n enableIconPadding: boolean;\n}\n\nexport const MenuDataTids = {\n root: 'Menu__root',\n} as const;\n\ntype DefaultProps = Required<\n Pick<\n MenuProps,\n | 'align'\n | 'width'\n | 'hasMargin'\n | 'maxHeight'\n | 'preventWindowScroll'\n | 'cyclicSelection'\n | 'initialSelectedItemIndex'\n >\n>;\n\n@responsiveLayout\n@rootNode\nexport class Menu extends React.PureComponent<MenuProps, MenuState> {\n public static __KONTUR_REACT_UI__ = 'Menu';\n public static displayName = 'Menu';\n\n public static defaultProps: DefaultProps = {\n align: 'left',\n width: 'auto',\n maxHeight: 300,\n hasMargin: true,\n preventWindowScroll: true,\n cyclicSelection: true,\n initialSelectedItemIndex: -1,\n };\n\n private getProps = createPropsGetter(Menu.defaultProps);\n\n public state: MenuState = {\n highlightedIndex: -1,\n maxHeight: this.getProps().maxHeight || 'none',\n scrollState: 'top',\n enableIconPadding: false,\n };\n\n private theme!: Theme;\n private scrollContainer: Nullable<ScrollContainer>;\n private isMobileLayout!: boolean;\n private unmounted = false;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private header: Nullable<HTMLDivElement>;\n private footer: Nullable<HTMLDivElement>;\n private contentRef = React.createRef<HTMLDivElement>();\n private menuNavigation: MenuNavigation<MenuItem> = new MenuNavigation(this.contentRef, MenuItemDataTids.content);\n\n public componentWillUnmount() {\n this.unmounted = true;\n }\n\n public componentDidMount() {\n this.setInitialSelection();\n this.calculateMaxHeight();\n this.unmounted = false;\n }\n\n public componentDidUpdate(prevProps: MenuProps) {\n if (this.shouldRecalculateMaxHeight(prevProps)) {\n this.calculateMaxHeight();\n }\n\n if (prevProps.maxHeight !== this.getProps().maxHeight) {\n this.setState({\n maxHeight: this.props.maxHeight || 'none',\n });\n }\n }\n\n public focus() {\n this.focusOnRootElement();\n }\n\n private focusOnRootElement = (): void => {\n const rootNode = getRootNode(this);\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n rootNode?.focus();\n }\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 /**\n * @public\n */\n public up() {\n this.move(-1);\n }\n\n /**\n * @public\n */\n public down() {\n this.move(1);\n }\n\n /**\n * @public\n */\n public enter(event: React.SyntheticEvent<HTMLElement>) {\n this.menuNavigation.highlightedItem?.navigate();\n return this.menuNavigation.select(event);\n }\n\n /**\n * @public\n */\n public reset() {\n this.menuNavigation.reset();\n }\n\n /**\n * @public\n */\n public hasHighlightedItem() {\n return !!this.menuNavigation.highlightedItem;\n }\n\n public highlightItem(index: number) {\n this.menuNavigation.highlightByIndex(index);\n }\n\n private renderMain() {\n if (this.isEmpty()) {\n return null;\n }\n const { hasMargin, maxHeight, preventWindowScroll } = this.getProps();\n\n const offsetY = {\n top: `${this.theme.scrollContainerScrollBarOffsetY}`,\n right: 0,\n bottom: `${this.theme.scrollContainerScrollBarOffsetY}`,\n };\n\n const isMobile = this.isMobileLayout;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={MenuDataTids.root}\n className={cx(getAlignRightClass(this.props), {\n [styles.root(this.theme)]: true,\n [styles.hasMargin(this.theme)]: hasMargin,\n [styles.mobileRoot(this.theme)]: isMobile,\n [styles.shadow(this.theme)]: !isMobile,\n })}\n style={this.getStyle(this.props)}\n id={this.props.id}\n onKeyDown={this.handleKeyDown}\n tabIndex={0}\n >\n {this.props.header && this.renderHeader()}\n <ScrollContainer\n ref={this.refScrollContainer}\n maxHeight={maxHeight}\n preventWindowScroll={preventWindowScroll}\n onScrollStateChange={this.handleScrollStateChange}\n disabled={this.props.disableScrollContainer}\n offsetY={offsetY}\n >\n <div\n className={cx({\n [styles.scrollContainer(this.theme)]: true,\n [styles.scrollContainerMobile(this.theme)]: isMobile,\n })}\n ref={this.contentRef}\n >\n <MenuContext.Provider\n value={{\n navigation: this.menuNavigation,\n onItemClick: this.props.onItemClick,\n enableIconPadding: this.state.enableIconPadding,\n setEnableIconPadding: this.setEnableIconPadding,\n }}\n >\n {this.props.children}\n </MenuContext.Provider>\n </div>\n </ScrollContainer>\n {this.props.footer && this.renderFooter()}\n </div>\n </CommonWrapper>\n );\n }\n\n private renderHeader = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.headerWrapper()]: true,\n })}\n ref={(el) => (this.header = el)}\n >\n <div className={styles.contentWrapper()}>{this.props.header}</div>\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'top' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n </div>\n );\n };\n\n private renderFooter = () => {\n return (\n <div\n className={cx({\n [styles.wrapper()]: true,\n [styles.footerWrapper()]: true,\n })}\n ref={(el) => (this.footer = el)}\n >\n <div className={styles.menuSeparatorWrapper(this.theme)}>\n {this.state.scrollState !== 'bottom' && this.renderMenuSeparatorWithNoMargin()}\n </div>\n <div className={styles.contentWrapper()}>{this.props.footer}</div>\n </div>\n );\n };\n\n private renderMenuSeparatorWithNoMargin = () => {\n return (\n <ThemeContext.Provider value={ThemeFactory.create({ menuSeparatorMarginY: '0' }, this.theme)}>\n <MenuSeparator />\n </ThemeContext.Provider>\n );\n };\n\n private setInitialSelection = () => {\n for (let i = this.getProps().initialSelectedItemIndex; i > -1; i--) {\n this.down();\n }\n };\n\n private shouldRecalculateMaxHeight = (prevProps: MenuProps): boolean => {\n const { header, footer, children } = this.props;\n const maxHeight = this.getProps().maxHeight;\n const prevMaxHeight = prevProps.maxHeight;\n const prevHeader = prevProps.header;\n const prevFooter = prevProps.footer;\n const prevChildrenCount = React.Children.count(prevProps.children);\n\n return (\n maxHeight !== prevMaxHeight ||\n footer !== prevFooter ||\n header !== prevHeader ||\n React.Children.count(children) !== prevChildrenCount\n );\n };\n\n private calculateMaxHeight = () => {\n const maxHeight = this.getProps().maxHeight;\n let parsedMaxHeight = maxHeight;\n const rootNode = getRootNode(this);\n\n if (typeof maxHeight === 'string' && isBrowser(globalObject) && rootNode) {\n const rootElementMaxHeight = globalObject.getComputedStyle?.(rootNode).maxHeight;\n\n if (rootElementMaxHeight) {\n parsedMaxHeight = parseFloat(rootElementMaxHeight);\n }\n }\n\n const calculatedMaxHeight =\n typeof parsedMaxHeight === 'number'\n ? parsedMaxHeight +\n ((this.header && getDOMRect(this.header).height) || 0) +\n ((this.footer && getDOMRect(this.footer).height) || 0)\n : maxHeight;\n\n this.setState({\n maxHeight: calculatedMaxHeight || 'none',\n });\n };\n\n private refScrollContainer = (scrollContainer: Nullable<ScrollContainer>) => {\n this.scrollContainer = scrollContainer;\n };\n\n private scrollToSelected = () => {\n const highlightedItem = this.menuNavigation.highlightedItem;\n if (this.scrollContainer && highlightedItem) {\n const rootNode = getRootNode(highlightedItem);\n // TODO: Remove this check once IF-647 is resolved\n if (isInstanceOf(rootNode, globalObject.HTMLElement)) {\n this.scrollContainer.scrollTo(rootNode);\n }\n }\n };\n\n private scrollToTop = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToTop();\n }\n };\n\n private scrollToBottom = () => {\n if (this.scrollContainer) {\n this.scrollContainer.scrollToBottom();\n }\n };\n\n private scroll = (nextIndex: number) => {\n switch (nextIndex) {\n case 0:\n this.scrollToTop?.();\n break;\n case this.menuNavigation.items.length - 1:\n this.scrollToBottom?.();\n break;\n default:\n this.scrollToSelected?.();\n }\n };\n\n private move(step: number) {\n if (this.unmounted) {\n // NOTE workaround, because `ComboBox` call `process.nextTick` in reducer\n return;\n }\n const nextIndex = this.menuNavigation.move(step, this.getProps().cyclicSelection);\n this.scroll(nextIndex);\n }\n\n private isEmpty() {\n const { children } = this.props;\n return !children || !childrenToArray(children).filter(isNonNullable).length;\n }\n\n private handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\n if (typeof this.props.onKeyDown === 'function') {\n this.props.onKeyDown(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (isKeyArrowUp(event)) {\n event.preventDefault();\n this.up();\n } else if (isKeyArrowDown(event)) {\n event.preventDefault();\n this.down();\n } else if (isKeyEnter(event)) {\n this.menuNavigation.select(event);\n }\n };\n\n private getStyle = (props: MenuProps): CSSProperties => {\n if (props.align === 'right') {\n return {\n maxWidth: props.width,\n minWidth: props.width,\n maxHeight: this.state.maxHeight,\n };\n }\n\n return {\n width: props.width,\n maxHeight: this.state.maxHeight,\n };\n };\n\n private handleScrollStateChange = (scrollState: ScrollContainerScrollState) => {\n if (this.state.scrollState !== scrollState) {\n this.setState({ scrollState });\n }\n };\n\n private setEnableIconPadding = (isIconPaddingEnabled: boolean) => {\n !this.getProps().preventIconsOffset && this.setState({ enableIconPadding: isIconPaddingEnabled });\n };\n}\n\nfunction childrenToArray(children: React.ReactNode): React.ReactNode[] {\n const ret: React.ReactNode[] = [];\n // Use forEach instead of map to avoid cloning for key unifying.\n React.Children.forEach(children, (child) => {\n ret.push(child);\n });\n return ret;\n}\n\nconst getAlignRightClass = (props: MenuProps) => {\n if (props.align === 'right') {\n return cx({\n [styles.alignRight()]: !isIE11,\n [styles.alignRightIE11()]: isIE11,\n [styles.alignRightIE11FixAutoWidth()]: isIE11 && props.width === 'auto',\n });\n }\n\n return null;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import type { HTMLAttributes } from 'react';
2
2
  import React from 'react';
3
3
  import type { ScrollContainerScrollState } from '../../components/ScrollContainer';
4
+ import type { TGetRootNode } from '../../lib/rootNode';
4
5
  import type { CommonProps } from '../CommonWrapper';
5
6
  export interface MenuProps extends CommonProps, Pick<HTMLAttributes<HTMLDivElement>, 'id'> {
6
7
  children: React.ReactNode;
@@ -53,6 +54,7 @@ export declare class Menu extends React.PureComponent<MenuProps, MenuState> {
53
54
  private scrollContainer;
54
55
  private isMobileLayout;
55
56
  private unmounted;
57
+ getRootNode: TGetRootNode;
56
58
  private setRootNode;
57
59
  private header;
58
60
  private footer;
@@ -1 +1 @@
1
- {"version":3,"names":["React","Transition","ThemeContext","RenderContainer","HideBodyVerticalScroll","ZIndex","RenderLayer","rootNode","jsStyles","MobilePopupHeader","MobilePopupFooter","MobilePopupDataTids","root","container","MobilePopup","_class","_MobilePopup","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","close","props","onCloseRequest","_inheritsLoose","_proto","prototype","render","_this2","createElement","Consumer","theme","renderMain","content","id","className","zIndex","priority","opened","onExited","onClose","mountOnEnter","unmountOnExit","timeout","wrapper","onClickOutside","ref","setRootNode","caption","headerChildComponent","children","footerChildComponent","onClick","bottomIndent","bg","withoutRenderContainer","Component","__KONTUR_REACT_UI__","displayName","defaultRootNode"],"sources":["MobilePopup.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport React from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { RenderContainer } from '../RenderContainer';\nimport { HideBodyVerticalScroll } from '../HideBodyVerticalScroll';\nimport { ZIndex } from '../ZIndex';\nimport { RenderLayer } from '../RenderLayer';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\n\nimport { jsStyles } from './MobilePopup.styles';\nimport { MobilePopupHeader } from './MobilePopupHeader';\nimport { MobilePopupFooter } from './MobilePopupFooter';\n\ninterface MobilePopupProps extends Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n /**\n * Функция, вызываемая при закрытии всплывающего окна\n */\n onClose?: () => void;\n /**\n * Заголовок всплывающего окна, располагается в шапке\n */\n caption?: string;\n /**\n * Шапка всплывающего окна\n */\n headerChildComponent?: React.ReactNode;\n /**\n * Подвал всплывающего окна\n */\n footerChildComponent?: React.ReactNode;\n /**\n * Позволяет получить контент всплывающего окна без обёртки в виде `RenderContainer`\n */\n withoutRenderContainer?: boolean;\n /**\n * Функция, вызываемая при клике по вуали\n */\n onCloseRequest?: () => void;\n /**\n * Позволяет контролировать текущее состояние всплывающего окна\n */\n opened: boolean;\n children?: React.ReactNode;\n}\n\nexport const MobilePopupDataTids = {\n root: 'MobilePopup__root',\n container: 'MobilePopup__container',\n} as const;\n\n@rootNode\nexport class MobilePopup extends React.Component<MobilePopupProps> {\n public static __KONTUR_REACT_UI__ = 'MobileMenuHeader';\n public static displayName = 'MobileMenuHeader';\n\n // see #2873 and #2895\n public static readonly defaultRootNode = null;\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const content = (\n <ZIndex id={this.props.id} className={jsStyles.zIndex()} priority={'MobilePopup'}>\n <Transition in={this.props.opened} onExited={this.props.onClose} mountOnEnter unmountOnExit timeout={0}>\n <div className={jsStyles.wrapper()}>\n <RenderLayer onClickOutside={this.close}>\n <div\n ref={this.setRootNode}\n data-tid={MobilePopupDataTids.container}\n className={jsStyles.container(this.theme)}\n >\n <div data-tid={MobilePopupDataTids.root} className={jsStyles.root(this.theme)}>\n <MobilePopupHeader caption={this.props.caption}>{this.props.headerChildComponent}</MobilePopupHeader>\n <div className={jsStyles.content(this.theme)}>{this.props.children}</div>\n <MobilePopupFooter>{this.props.footerChildComponent}</MobilePopupFooter>\n </div>\n <div onClick={this.close} className={jsStyles.bottomIndent()} />\n </div>\n </RenderLayer>\n <div className={jsStyles.bg()} />\n <HideBodyVerticalScroll />\n </div>\n </Transition>\n </ZIndex>\n );\n\n if (this.props.withoutRenderContainer) {\n return content;\n }\n\n return <RenderContainer>{content}</RenderContainer>;\n }\n\n public close = () => {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n };\n}\n"],"mappings":";AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,wBAAwB;;;AAGnD,SAASC,YAAY,QAAQ,gCAAgC;AAC7D,SAASC,eAAe,QAAQ,oBAAoB;AACpD,SAASC,sBAAsB,QAAQ,2BAA2B;AAClE,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,WAAW,QAAQ,gBAAgB;;AAE5C,SAASC,QAAQ,QAAQ,oBAAoB;;AAE7C,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,iBAAiB,QAAQ,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCvD,OAAO,IAAMC,mBAAmB,GAAG;EACjCC,IAAI,EAAE,mBAAmB;EACzBC,SAAS,EAAE;AACb,CAAU;;AAEV;AACaC,WAAW,GADvBP,QAAQ,CAAAQ,MAAA,IAAAC,YAAA,0BAAAC,gBAAA,YAAAH,YAAA,OAAAI,KAAA,UAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA,KAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA,GAAAN,KAAA,GAAAD,gBAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,gBAAA,SAAAU,MAAA,CAAAL,IAAA,WAAAJ,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuDAU,KAAK,GAAG,YAAM;MACnB,IAAIV,KAAA,CAAKW,KAAK,CAACC,cAAc,EAAE;QAC7BZ,KAAA,CAAKW,KAAK,CAACC,cAAc,CAAC,CAAC;MAC7B;IACF,CAAC,QAAAZ,KAAA,EAAAa,cAAA,CAAAjB,WAAA,EAAAG,gBAAA,MAAAe,MAAA,GAAAlB,WAAA,CAAAmB,SAAA,CAAAD,MAAA,CAhDME,MAAM,GAAb,SAAAA,OAAA,EAAgB,KAAAC,MAAA,QACd,oBACEnC,KAAA,CAAAoC,aAAA,CAAClC,YAAY,CAACmC,QAAQ,QACnB,UAACC,KAAK,EAAK,CACVH,MAAI,CAACG,KAAK,GAAGA,KAAK,CAClB,OAAOH,MAAI,CAACI,UAAU,CAAC,CAAC,CAC1B,CACqB,CAAC,CAE5B,CAAC,CAAAP,MAAA,CAEMO,UAAU,GAAjB,SAAAA,WAAA,EAAoB,CAClB,IAAMC,OAAO,gBACXxC,KAAA,CAAAoC,aAAA,CAAC/B,MAAM,IAACoC,EAAE,EAAE,IAAI,CAACZ,KAAK,CAACY,EAAG,EAACC,SAAS,EAAElC,QAAQ,CAACmC,MAAM,CAAC,CAAE,EAACC,QAAQ,EAAE,aAAc,iBAC/E5C,KAAA,CAAAoC,aAAA,CAACnC,UAAU,IAAC,MAAI,IAAI,CAAC4B,KAAK,CAACgB,MAAO,EAACC,QAAQ,EAAE,IAAI,CAACjB,KAAK,CAACkB,OAAQ,EAACC,YAAY,QAACC,aAAa,QAACC,OAAO,EAAE,CAAE,iBACrGlD,KAAA,CAAAoC,aAAA,UAAKM,SAAS,EAAElC,QAAQ,CAAC2C,OAAO,CAAC,CAAE,iBACjCnD,KAAA,CAAAoC,aAAA,CAAC9B,WAAW,IAAC8C,cAAc,EAAE,IAAI,CAACxB,KAAM,iBACtC5B,KAAA,CAAAoC,aAAA,UACEiB,GAAG,EAAE,IAAI,CAACC,WAAY,EACtB,YAAU3C,mBAAmB,CAACE,SAAU,EACxC6B,SAAS,EAAElC,QAAQ,CAACK,SAAS,CAAC,IAAI,CAACyB,KAAK,CAAE,iBAE1CtC,KAAA,CAAAoC,aAAA,UAAK,YAAUzB,mBAAmB,CAACC,IAAK,EAAC8B,SAAS,EAAElC,QAAQ,CAACI,IAAI,CAAC,IAAI,CAAC0B,KAAK,CAAE,iBAC5EtC,KAAA,CAAAoC,aAAA,CAAC3B,iBAAiB,IAAC8C,OAAO,EAAE,IAAI,CAAC1B,KAAK,CAAC0B,OAAQ,IAAE,IAAI,CAAC1B,KAAK,CAAC2B,oBAAwC,CAAC,eACrGxD,KAAA,CAAAoC,aAAA,UAAKM,SAAS,EAAElC,QAAQ,CAACgC,OAAO,CAAC,IAAI,CAACF,KAAK,CAAE,IAAE,IAAI,CAACT,KAAK,CAAC4B,QAAc,CAAC,eACzEzD,KAAA,CAAAoC,aAAA,CAAC1B,iBAAiB,QAAE,IAAI,CAACmB,KAAK,CAAC6B,oBAAwC,CACpE,CAAC,eACN1D,KAAA,CAAAoC,aAAA,UAAKuB,OAAO,EAAE,IAAI,CAAC/B,KAAM,EAACc,SAAS,EAAElC,QAAQ,CAACoD,YAAY,CAAC,CAAE,EAAE,CAC5D,CACM,CAAC,eACd5D,KAAA,CAAAoC,aAAA,UAAKM,SAAS,EAAElC,QAAQ,CAACqD,EAAE,CAAC,CAAE,EAAE,CAAC,eACjC7D,KAAA,CAAAoC,aAAA,CAAChC,sBAAsB,MAAE,CACtB,CACK,CACN,CACT,CAED,IAAI,IAAI,CAACyB,KAAK,CAACiC,sBAAsB,EAAE,CACrC,OAAOtB,OAAO,CAChB,CAEA,oBAAOxC,KAAA,CAAAoC,aAAA,CAACjC,eAAe,QAAEqC,OAAyB,CAAC,CACrD,CAAC,QAAA1B,WAAA,GApD8Bd,KAAK,CAAC+D,SAAS,GAAA/C,YAAA,CAChCgD,mBAAmB,GAAG,kBAAkB,EAAAhD,YAAA,CACxCiD,WAAW,GAAG,kBAAkB,EAAAjD,YAAA,CAGvBkD,eAAe,GAAG,IAAI,EAAAlD,YAAA,MAAAD,MAAA","ignoreList":[]}
1
+ {"version":3,"names":["React","Transition","ThemeContext","RenderContainer","HideBodyVerticalScroll","ZIndex","RenderLayer","rootNode","jsStyles","MobilePopupHeader","MobilePopupFooter","MobilePopupDataTids","root","container","MobilePopup","_class","_MobilePopup","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","close","props","onCloseRequest","_inheritsLoose","_proto","prototype","render","_this2","createElement","Consumer","theme","renderMain","content","id","className","zIndex","priority","opened","onExited","onClose","mountOnEnter","unmountOnExit","timeout","wrapper","onClickOutside","ref","setRootNode","caption","headerChildComponent","children","footerChildComponent","onClick","bottomIndent","bg","withoutRenderContainer","Component","__KONTUR_REACT_UI__","displayName","defaultRootNode"],"sources":["MobilePopup.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport React from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport type { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { RenderContainer } from '../RenderContainer';\nimport { HideBodyVerticalScroll } from '../HideBodyVerticalScroll';\nimport { ZIndex } from '../ZIndex';\nimport { RenderLayer } from '../RenderLayer';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\n\nimport { jsStyles } from './MobilePopup.styles';\nimport { MobilePopupHeader } from './MobilePopupHeader';\nimport { MobilePopupFooter } from './MobilePopupFooter';\n\ninterface MobilePopupProps extends Pick<HTMLAttributes<HTMLDivElement>, 'id'> {\n /**\n * Функция, вызываемая при закрытии всплывающего окна\n */\n onClose?: () => void;\n /**\n * Заголовок всплывающего окна, располагается в шапке\n */\n caption?: string;\n /**\n * Шапка всплывающего окна\n */\n headerChildComponent?: React.ReactNode;\n /**\n * Подвал всплывающего окна\n */\n footerChildComponent?: React.ReactNode;\n /**\n * Позволяет получить контент всплывающего окна без обёртки в виде `RenderContainer`\n */\n withoutRenderContainer?: boolean;\n /**\n * Функция, вызываемая при клике по вуали\n */\n onCloseRequest?: () => void;\n /**\n * Позволяет контролировать текущее состояние всплывающего окна\n */\n opened: boolean;\n children?: React.ReactNode;\n}\n\nexport const MobilePopupDataTids = {\n root: 'MobilePopup__root',\n container: 'MobilePopup__container',\n} as const;\n\n@rootNode\nexport class MobilePopup extends React.Component<MobilePopupProps> {\n public static __KONTUR_REACT_UI__ = 'MobileMenuHeader';\n public static displayName = 'MobileMenuHeader';\n\n // see #2873 and #2895\n public static readonly defaultRootNode = null;\n\n private theme!: Theme;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n const content = (\n <ZIndex id={this.props.id} className={jsStyles.zIndex()} priority={'MobilePopup'}>\n <Transition in={this.props.opened} onExited={this.props.onClose} mountOnEnter unmountOnExit timeout={0}>\n <div className={jsStyles.wrapper()}>\n <RenderLayer onClickOutside={this.close}>\n <div\n ref={this.setRootNode}\n data-tid={MobilePopupDataTids.container}\n className={jsStyles.container(this.theme)}\n >\n <div data-tid={MobilePopupDataTids.root} className={jsStyles.root(this.theme)}>\n <MobilePopupHeader caption={this.props.caption}>{this.props.headerChildComponent}</MobilePopupHeader>\n <div className={jsStyles.content(this.theme)}>{this.props.children}</div>\n <MobilePopupFooter>{this.props.footerChildComponent}</MobilePopupFooter>\n </div>\n <div onClick={this.close} className={jsStyles.bottomIndent()} />\n </div>\n </RenderLayer>\n <div className={jsStyles.bg()} />\n <HideBodyVerticalScroll />\n </div>\n </Transition>\n </ZIndex>\n );\n\n if (this.props.withoutRenderContainer) {\n return content;\n }\n\n return <RenderContainer>{content}</RenderContainer>;\n }\n\n public close = () => {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import type { HTMLAttributes } from 'react';
2
2
  import React from 'react';
3
+ import type { TGetRootNode } from '../../lib/rootNode';
3
4
  interface MobilePopupProps extends Pick<HTMLAttributes<HTMLDivElement>, 'id'> {
4
5
  /**
5
6
  * Функция, вызываемая при закрытии всплывающего окна
@@ -40,6 +41,7 @@ export declare class MobilePopup extends React.Component<MobilePopupProps> {
40
41
  static displayName: string;
41
42
  static readonly defaultRootNode: null;
42
43
  private theme;
44
+ getRootNode: TGetRootNode;
43
45
  private setRootNode;
44
46
  render(): React.JSX.Element;
45
47
  renderMain(): React.JSX.Element;