@skbkontur/react-ui 0.0.0-a8f1c3e7a1 → 0.0.0-aa4659ca48

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 (1206) hide show
  1. package/CHANGELOG.md +217 -0
  2. package/README.md +7 -7
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +17 -26
  4. package/cjs/components/Autocomplete/Autocomplete.js +61 -56
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Button/ArrowLeftIcon.d.ts +1 -1
  7. package/cjs/components/Button/ArrowRightIcon.d.ts +1 -1
  8. package/cjs/components/Button/Button.d.ts +27 -14
  9. package/cjs/components/Button/Button.js +44 -20
  10. package/cjs/components/Button/Button.js.map +1 -1
  11. package/cjs/components/Button/Button.mixins.d.ts +0 -1
  12. package/cjs/components/Button/Button.mixins.js +2 -9
  13. package/cjs/components/Button/Button.mixins.js.map +1 -1
  14. package/cjs/components/Button/Button.styles.d.ts +3 -3
  15. package/cjs/components/Button/Button.styles.js +48 -58
  16. package/cjs/components/Button/Button.styles.js.map +1 -1
  17. package/cjs/components/Button/ButtonArrow.js +13 -14
  18. package/cjs/components/Button/ButtonArrow.js.map +1 -1
  19. package/cjs/components/Calendar/Calendar.d.ts +2 -0
  20. package/cjs/components/Calendar/Calendar.js +1 -0
  21. package/cjs/components/Calendar/Calendar.js.map +1 -1
  22. package/cjs/components/Center/Center.d.ts +2 -0
  23. package/cjs/components/Center/Center.js +1 -0
  24. package/cjs/components/Center/Center.js.map +1 -1
  25. package/cjs/components/Checkbox/Checkbox.d.ts +7 -16
  26. package/cjs/components/Checkbox/Checkbox.js +24 -54
  27. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  28. package/cjs/components/Checkbox/Checkbox.styles.d.ts +0 -3
  29. package/cjs/components/Checkbox/Checkbox.styles.js +16 -43
  30. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  31. package/cjs/components/Checkbox/CheckedIcon.d.ts +1 -1
  32. package/cjs/components/Checkbox/IndeterminateIcon.d.ts +1 -1
  33. package/cjs/components/ComboBox/ComboBox.d.ts +22 -3
  34. package/cjs/components/ComboBox/ComboBox.js +26 -1
  35. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  36. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +15 -45
  37. package/cjs/components/CurrencyInput/CurrencyInput.js +17 -55
  38. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  39. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +1 -1
  40. package/cjs/components/CurrencyInput/CursorHelper.js +5 -2
  41. package/cjs/components/CurrencyInput/CursorHelper.js.map +1 -1
  42. package/cjs/components/CurrencyInput/constants.js +1 -2
  43. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  44. package/cjs/components/CurrencyLabel/CurrencyLabel.js +21 -28
  45. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  46. package/cjs/components/DateInput/CalendarIcon.d.ts +1 -1
  47. package/cjs/components/DateInput/DateInput.d.ts +5 -2
  48. package/cjs/components/DateInput/DateInput.js +7 -25
  49. package/cjs/components/DateInput/DateInput.js.map +1 -1
  50. package/cjs/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  51. package/cjs/components/DateInput/helpers/InternalDateMediator.js +1 -10
  52. package/cjs/components/DateInput/helpers/InternalDateMediator.js.map +1 -1
  53. package/cjs/components/DatePicker/DatePicker.d.ts +8 -35
  54. package/cjs/components/DatePicker/DatePicker.js +6 -60
  55. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  56. package/cjs/components/DateRangePicker/DateRangePicker.d.ts +34 -28
  57. package/cjs/components/DateRangePicker/DateRangePicker.js +24 -1
  58. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  59. package/cjs/components/DateRangePicker/DateRangePickerInput.js +2 -2
  60. package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  61. package/cjs/components/Dropdown/Dropdown.d.ts +2 -47
  62. package/cjs/components/Dropdown/Dropdown.js +2 -82
  63. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  64. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  65. package/cjs/components/DropdownMenu/DropdownMenu.js +3 -1
  66. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  67. package/cjs/components/FileUploader/FileUploader.js +1 -0
  68. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  69. package/cjs/components/FileUploader/UploadIcon.d.ts +1 -1
  70. package/cjs/components/FxInput/FxInput.d.ts +25 -21
  71. package/cjs/components/FxInput/FxInput.js +129 -68
  72. package/cjs/components/FxInput/FxInput.js.map +1 -1
  73. package/cjs/components/FxInput/FxInputRestoreBtn.js +2 -3
  74. package/cjs/components/FxInput/FxInputRestoreBtn.js.map +1 -1
  75. package/cjs/components/FxInput/MathFunctionIcon.d.ts +1 -1
  76. package/cjs/components/FxInput/UndoIcon.d.ts +1 -1
  77. package/cjs/components/Gapped/Gapped.d.ts +2 -15
  78. package/cjs/components/Gapped/Gapped.js +1 -25
  79. package/cjs/components/Gapped/Gapped.js.map +1 -1
  80. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  81. package/cjs/components/GlobalLoader/GlobalLoader.js +1 -0
  82. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  83. package/cjs/components/GlobalLoader/useParams.d.ts +2 -2
  84. package/cjs/components/Group/Group.d.ts +4 -4
  85. package/cjs/components/Group/Group.js +80 -41
  86. package/cjs/components/Group/Group.js.map +1 -1
  87. package/cjs/components/Group/Group.styles.d.ts +1 -1
  88. package/cjs/components/Group/Group.styles.js +7 -7
  89. package/cjs/components/Group/Group.styles.js.map +1 -1
  90. package/cjs/components/Hint/Hint.d.ts +2 -0
  91. package/cjs/components/Hint/Hint.js +1 -0
  92. package/cjs/components/Hint/Hint.js.map +1 -1
  93. package/cjs/components/Input/Input.d.ts +33 -66
  94. package/cjs/components/Input/Input.js +31 -181
  95. package/cjs/components/Input/Input.js.map +1 -1
  96. package/cjs/components/Input/Input.styles.d.ts +0 -7
  97. package/cjs/components/Input/Input.styles.js +14 -76
  98. package/cjs/components/Input/Input.styles.js.map +1 -1
  99. package/cjs/components/Input/InputLayout/InputLayout.d.ts +1 -0
  100. package/cjs/components/Input/InputLayout/InputLayout.js +4 -2
  101. package/cjs/components/Input/InputLayout/InputLayout.js.map +1 -1
  102. package/cjs/components/Kebab/Kebab.d.ts +4 -2
  103. package/cjs/components/Kebab/Kebab.js +9 -29
  104. package/cjs/components/Kebab/Kebab.js.map +1 -1
  105. package/cjs/components/Kebab/KebabIcon.d.ts +1 -1
  106. package/cjs/components/Link/Link.d.ts +12 -10
  107. package/cjs/components/Link/Link.js +11 -2
  108. package/cjs/components/Link/Link.js.map +1 -1
  109. package/cjs/components/Loader/Loader.d.ts +7 -36
  110. package/cjs/components/Loader/Loader.js +9 -59
  111. package/cjs/components/Loader/Loader.js.map +1 -1
  112. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  113. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +107 -78
  114. package/cjs/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  115. package/cjs/components/MaskedInput/FixedIMaskInput.js +3 -2
  116. package/cjs/components/MaskedInput/FixedIMaskInput.js.map +1 -1
  117. package/cjs/components/MaskedInput/MaskedInput.d.ts +9 -0
  118. package/cjs/components/MaskedInput/MaskedInput.js +44 -9
  119. package/cjs/components/MaskedInput/MaskedInput.js.map +1 -1
  120. package/cjs/components/MenuFooter/MenuFooter.d.ts +1 -1
  121. package/cjs/components/MenuFooter/MenuFooter.js +0 -1
  122. package/cjs/components/MenuFooter/MenuFooter.js.map +1 -1
  123. package/cjs/components/MenuHeader/MenuHeader.d.ts +1 -1
  124. package/cjs/components/MenuHeader/MenuHeader.js +0 -1
  125. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  126. package/cjs/components/MenuItem/MenuItem.d.ts +2 -17
  127. package/cjs/components/MenuItem/MenuItem.js +5 -34
  128. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  129. package/cjs/components/MenuItem/MenuItem.styles.d.ts +1 -2
  130. package/cjs/components/MenuItem/MenuItem.styles.js +12 -17
  131. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  132. package/cjs/components/MiniModal/MiniModal.styles.d.ts +1 -1
  133. package/cjs/components/MiniModal/MiniModal.styles.js +4 -2
  134. package/cjs/components/MiniModal/MiniModal.styles.js.map +1 -1
  135. package/cjs/components/MiniModal/MiniModalBody.js +10 -2
  136. package/cjs/components/MiniModal/MiniModalBody.js.map +1 -1
  137. package/cjs/components/Modal/Modal.d.ts +1 -1
  138. package/cjs/components/Modal/Modal.js +2 -18
  139. package/cjs/components/Modal/Modal.js.map +1 -1
  140. package/cjs/components/Modal/Modal.styles.d.ts +8 -21
  141. package/cjs/components/Modal/Modal.styles.js +82 -168
  142. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  143. package/cjs/components/Modal/ModalBody.d.ts +2 -0
  144. package/cjs/components/Modal/ModalBody.js +2 -6
  145. package/cjs/components/Modal/ModalBody.js.map +1 -1
  146. package/cjs/components/Modal/ModalClose.js +1 -6
  147. package/cjs/components/Modal/ModalClose.js.map +1 -1
  148. package/cjs/components/Modal/ModalFooter.js +2 -5
  149. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  150. package/cjs/components/Modal/ModalHeader.d.ts +5 -0
  151. package/cjs/components/Modal/ModalHeader.js +9 -7
  152. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  153. package/cjs/components/Paging/DotsIcon.d.ts +3 -0
  154. package/cjs/components/Paging/DotsIcon.js +13 -0
  155. package/cjs/components/Paging/DotsIcon.js.map +1 -0
  156. package/cjs/components/Paging/ForwardIcon.d.ts +4 -1
  157. package/cjs/components/Paging/ForwardIcon.js +13 -1
  158. package/cjs/components/Paging/ForwardIcon.js.map +1 -1
  159. package/cjs/components/Paging/NavigationHelper.js +5 -7
  160. package/cjs/components/Paging/NavigationHelper.js.map +1 -1
  161. package/cjs/components/Paging/Paging.d.ts +14 -3
  162. package/cjs/components/Paging/Paging.js +116 -58
  163. package/cjs/components/Paging/Paging.js.map +1 -1
  164. package/cjs/components/Paging/Paging.styles.d.ts +16 -1
  165. package/cjs/components/Paging/Paging.styles.js +123 -28
  166. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  167. package/cjs/components/Paging/PagingHelper.d.ts +1 -1
  168. package/cjs/components/Paging/PagingHelper.js +18 -11
  169. package/cjs/components/Paging/PagingHelper.js.map +1 -1
  170. package/cjs/components/PasswordInput/ClosedIcon.d.ts +1 -1
  171. package/cjs/components/PasswordInput/OpenedIcon.d.ts +1 -1
  172. package/cjs/components/PasswordInput/PasswordInput.d.ts +10 -18
  173. package/cjs/components/PasswordInput/PasswordInput.js +22 -46
  174. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  175. package/cjs/components/Radio/Radio.d.ts +4 -1
  176. package/cjs/components/Radio/Radio.js +9 -10
  177. package/cjs/components/Radio/Radio.js.map +1 -1
  178. package/cjs/components/Radio/Radio.styles.d.ts +0 -2
  179. package/cjs/components/Radio/Radio.styles.js +19 -31
  180. package/cjs/components/Radio/Radio.styles.js.map +1 -1
  181. package/cjs/components/RadioGroup/RadioGroup.d.ts +2 -1
  182. package/cjs/components/RadioGroup/RadioGroup.js +1 -15
  183. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  184. package/cjs/components/RadioGroup/RadioGroup.styles.d.ts +0 -1
  185. package/cjs/components/RadioGroup/RadioGroup.styles.js +5 -10
  186. package/cjs/components/RadioGroup/RadioGroup.styles.js.map +1 -1
  187. package/cjs/components/ResponsiveLayout/decorator.d.ts +4 -2
  188. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +3 -14
  189. package/cjs/components/ScrollContainer/ScrollContainer.helpers.d.ts +1 -1
  190. package/cjs/components/ScrollContainer/ScrollContainer.js +3 -19
  191. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  192. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -1
  193. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +10 -20
  194. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  195. package/cjs/components/Select/ArrowDownIcon.d.ts +1 -1
  196. package/cjs/components/Select/Select.d.ts +4 -1
  197. package/cjs/components/Select/Select.js +10 -6
  198. package/cjs/components/Select/Select.js.map +1 -1
  199. package/cjs/components/SidePage/SidePage.js +5 -12
  200. package/cjs/components/SidePage/SidePage.js.map +1 -1
  201. package/cjs/components/SidePage/SidePage.styles.d.ts +2 -7
  202. package/cjs/components/SidePage/SidePage.styles.js +41 -74
  203. package/cjs/components/SidePage/SidePage.styles.js.map +1 -1
  204. package/cjs/components/SidePage/SidePageBody.d.ts +2 -0
  205. package/cjs/components/SidePage/SidePageBody.js +1 -0
  206. package/cjs/components/SidePage/SidePageBody.js.map +1 -1
  207. package/cjs/components/SidePage/SidePageCloseButton.js +3 -7
  208. package/cjs/components/SidePage/SidePageCloseButton.js.map +1 -1
  209. package/cjs/components/SidePage/SidePageContainer.d.ts +2 -0
  210. package/cjs/components/SidePage/SidePageContainer.js +1 -0
  211. package/cjs/components/SidePage/SidePageContainer.js.map +1 -1
  212. package/cjs/components/SidePage/SidePageFooter.d.ts +2 -0
  213. package/cjs/components/SidePage/SidePageFooter.js +1 -0
  214. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  215. package/cjs/components/SidePage/SidePageHeader.d.ts +10 -7
  216. package/cjs/components/SidePage/SidePageHeader.js +31 -51
  217. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  218. package/cjs/components/SingleToast/SingleToast.d.ts +17 -4
  219. package/cjs/components/SingleToast/SingleToast.js +28 -5
  220. package/cjs/components/SingleToast/SingleToast.js.map +1 -1
  221. package/cjs/components/Spinner/Spinner.d.ts +2 -18
  222. package/cjs/components/Spinner/Spinner.js +2 -33
  223. package/cjs/components/Spinner/Spinner.js.map +1 -1
  224. package/cjs/components/Spinner/Spinner.styles.js +10 -15
  225. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  226. package/cjs/components/Sticky/Sticky.d.ts +2 -13
  227. package/cjs/components/Sticky/Sticky.js +4 -30
  228. package/cjs/components/Sticky/Sticky.js.map +1 -1
  229. package/cjs/components/Switcher/Switcher.d.ts +6 -21
  230. package/cjs/components/Switcher/Switcher.js +8 -26
  231. package/cjs/components/Switcher/Switcher.js.map +1 -1
  232. package/cjs/components/Switcher/Switcher.styles.d.ts +1 -1
  233. package/cjs/components/Switcher/Switcher.styles.js +14 -17
  234. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  235. package/cjs/components/Tabs/Indicator.d.ts +2 -0
  236. package/cjs/components/Tabs/Indicator.js +1 -0
  237. package/cjs/components/Tabs/Indicator.js.map +1 -1
  238. package/cjs/components/Tabs/Tab.d.ts +2 -0
  239. package/cjs/components/Tabs/Tab.js +1 -0
  240. package/cjs/components/Tabs/Tab.js.map +1 -1
  241. package/cjs/components/Tabs/Tabs.d.ts +2 -0
  242. package/cjs/components/Tabs/Tabs.js +1 -0
  243. package/cjs/components/Tabs/Tabs.js.map +1 -1
  244. package/cjs/components/Textarea/Textarea.d.ts +10 -47
  245. package/cjs/components/Textarea/Textarea.js +28 -66
  246. package/cjs/components/Textarea/Textarea.js.map +1 -1
  247. package/cjs/components/Textarea/Textarea.styles.js +3 -2
  248. package/cjs/components/Textarea/Textarea.styles.js.map +1 -1
  249. package/cjs/components/Textarea/TextareaCounter.js +2 -13
  250. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  251. package/cjs/components/Toast/Toast.d.ts +30 -16
  252. package/cjs/components/Toast/Toast.js +57 -52
  253. package/cjs/components/Toast/Toast.js.map +1 -1
  254. package/cjs/components/Toast/ToastView.d.ts +7 -15
  255. package/cjs/components/Toast/ToastView.js +19 -22
  256. package/cjs/components/Toast/ToastView.js.map +1 -1
  257. package/cjs/components/Toast/ToastView.styles.d.ts +4 -0
  258. package/cjs/components/Toast/ToastView.styles.js +43 -9
  259. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  260. package/cjs/components/Toggle/Toggle.d.ts +4 -11
  261. package/cjs/components/Toggle/Toggle.js +4 -14
  262. package/cjs/components/Toggle/Toggle.js.map +1 -1
  263. package/cjs/components/Token/Token.d.ts +2 -0
  264. package/cjs/components/Token/Token.js +1 -0
  265. package/cjs/components/Token/Token.js.map +1 -1
  266. package/cjs/components/TokenInput/TokenInput.d.ts +9 -3
  267. package/cjs/components/TokenInput/TokenInput.js +74 -58
  268. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  269. package/cjs/components/Tooltip/Tooltip.d.ts +14 -10
  270. package/cjs/components/Tooltip/Tooltip.js +96 -19
  271. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  272. package/cjs/components/Tooltip/Tooltip.styles.d.ts +7 -1
  273. package/cjs/components/Tooltip/Tooltip.styles.js +50 -12
  274. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  275. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  276. package/cjs/components/TooltipMenu/TooltipMenu.js +4 -2
  277. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  278. package/cjs/components/__stories__/Form.js +95 -0
  279. package/cjs/components/__stories__/Form.js.map +1 -0
  280. package/cjs/index.d.ts +2 -0
  281. package/cjs/index.js +1 -0
  282. package/cjs/index.js.map +1 -1
  283. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  284. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js +16 -7
  285. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  286. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  287. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js +27 -9
  288. package/cjs/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -1
  289. package/cjs/internal/ClearCrossIcon/CrossIcon.d.ts +1 -1
  290. package/cjs/internal/CloseButtonIcon/CrossIcon.d.ts +1 -1
  291. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  292. package/cjs/internal/CommonWrapper/CommonWrapper.js +1 -0
  293. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  294. package/cjs/internal/CommonWrapper/types.d.ts +1 -1
  295. package/cjs/internal/CommonWrapper/types.js.map +1 -1
  296. package/cjs/internal/ComponentTable.js +2 -3
  297. package/cjs/internal/ComponentTable.js.map +1 -1
  298. package/cjs/internal/CustomComboBox/ArrowDownIcon.d.ts +1 -1
  299. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +1 -1
  300. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  301. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
  302. package/cjs/internal/CustomComboBox/ComboBoxView.js +48 -6
  303. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  304. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +12 -6
  305. package/cjs/internal/CustomComboBox/CustomComboBox.js +12 -10
  306. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  307. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.d.ts +0 -1
  308. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +18 -24
  309. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  310. package/cjs/internal/DateSelect/DateSelect.d.ts +0 -10
  311. package/cjs/internal/DateSelect/DateSelect.js +2 -19
  312. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  313. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +2 -2
  314. package/cjs/internal/FileUploaderControl/FileUploaderFile/DeleteIcon.d.ts +1 -1
  315. package/cjs/internal/FileUploaderControl/FileUploaderFile/ErrorIcon.d.ts +1 -1
  316. package/cjs/internal/FileUploaderControl/FileUploaderFile/OkIcon.d.ts +1 -1
  317. package/cjs/internal/FocusControlWrapper/FocusControlWrapper.stories.d.ts +3 -2
  318. package/cjs/internal/FocusTrap/FocusTrap.d.ts +2 -0
  319. package/cjs/internal/FocusTrap/FocusTrap.js +1 -0
  320. package/cjs/internal/FocusTrap/FocusTrap.js.map +1 -1
  321. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +1 -1
  322. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js +1 -0
  323. package/cjs/internal/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  324. package/cjs/internal/InputLikeText/InputLikeText.d.ts +4 -13
  325. package/cjs/internal/InputLikeText/InputLikeText.js +17 -111
  326. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  327. package/cjs/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  328. package/cjs/internal/InputLikeText/InputLikeText.styles.js +12 -4
  329. package/cjs/internal/InputLikeText/InputLikeText.styles.js.map +1 -1
  330. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
  331. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +235 -0
  332. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  333. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  334. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +10 -0
  335. package/cjs/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
  336. package/cjs/internal/Menu/Menu.d.ts +4 -3
  337. package/cjs/internal/Menu/Menu.js +4 -10
  338. package/cjs/internal/Menu/Menu.js.map +1 -1
  339. package/cjs/internal/Menu/Menu.styles.d.ts +0 -2
  340. package/cjs/internal/Menu/Menu.styles.js +9 -23
  341. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  342. package/cjs/internal/MobilePopup/MobilePopup.d.ts +2 -0
  343. package/cjs/internal/MobilePopup/MobilePopup.js +1 -0
  344. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  345. package/cjs/internal/Popup/Popup.d.ts +41 -61
  346. package/cjs/internal/Popup/Popup.js +58 -118
  347. package/cjs/internal/Popup/Popup.js.map +1 -1
  348. package/cjs/internal/Popup/PopupPin.d.ts +16 -42
  349. package/cjs/internal/Popup/PopupPin.js +130 -224
  350. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  351. package/cjs/internal/Popup/PopupPin.styles.d.ts +5 -1
  352. package/cjs/internal/Popup/PopupPin.styles.js +25 -3
  353. package/cjs/internal/Popup/PopupPin.styles.js.map +1 -1
  354. package/cjs/internal/PopupMenu/PopupMenu.d.ts +2 -0
  355. package/cjs/internal/PopupMenu/PopupMenu.js +1 -0
  356. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  357. package/cjs/internal/PopupMenu/validatePositions.js +5 -2
  358. package/cjs/internal/PopupMenu/validatePositions.js.map +1 -1
  359. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  360. package/cjs/internal/RenderContainer/RenderInnerContainer.js +0 -9
  361. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  362. package/cjs/internal/RenderLayer/RenderLayer.d.ts +2 -3
  363. package/cjs/internal/RenderLayer/RenderLayer.js +3 -12
  364. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  365. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  366. package/cjs/internal/ResizeDetector/ResizeDetector.js +8 -1
  367. package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  368. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +1 -0
  369. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js +7 -1
  370. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
  371. package/cjs/internal/SpinnerIcon/SpinnerIcon.d.ts +1 -2
  372. package/cjs/internal/SpinnerIcon/SpinnerIcon.js +1 -55
  373. package/cjs/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
  374. package/cjs/internal/ThemePlayground/HintPlayground.js +7 -4
  375. package/cjs/internal/ThemePlayground/HintPlayground.js.map +1 -1
  376. package/cjs/internal/ThemePlayground/Playground.js +5 -1
  377. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  378. package/cjs/internal/ThemePlayground/Playground.styles.js +5 -8
  379. package/cjs/internal/ThemePlayground/Playground.styles.js.map +1 -1
  380. package/cjs/internal/ThemePlayground/ShowcaseGroup.js +12 -1
  381. package/cjs/internal/ThemePlayground/ShowcaseGroup.js.map +1 -1
  382. package/cjs/internal/ThemePlayground/helpers.d.ts +1 -1
  383. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  384. package/cjs/internal/ZIndex/ZIndex.d.ts +3 -3
  385. package/cjs/internal/ZIndex/ZIndex.js +5 -1
  386. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  387. package/cjs/internal/icons2022/LoadingIcon.d.ts +1 -1
  388. package/cjs/internal/icons2022/LoadingIcon.js +0 -1
  389. package/cjs/internal/icons2022/LoadingIcon.js.map +1 -1
  390. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  391. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js +16 -0
  392. package/cjs/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.js.map +1 -0
  393. package/cjs/internal/icons2022/iconSizer.d.ts +1 -1
  394. package/cjs/internal/themes/BasicTheme.d.ts +86 -57
  395. package/cjs/internal/themes/BasicTheme.js +144 -67
  396. package/cjs/internal/themes/BasicTheme.js.map +1 -1
  397. package/cjs/internal/themes/DarkTheme6_0.d.ts +1 -0
  398. package/cjs/internal/themes/DarkTheme6_0.js +575 -0
  399. package/cjs/internal/themes/DarkTheme6_0.js.map +1 -0
  400. package/cjs/internal/themes/LightTheme6_0.d.ts +1 -0
  401. package/cjs/internal/themes/{LightTheme5_0.js → LightTheme6_0.js} +4 -4
  402. package/cjs/internal/themes/{LightTheme5_0.js.map → LightTheme6_0.js.map} +1 -1
  403. package/cjs/lib/blink.d.ts +15 -0
  404. package/cjs/lib/blink.js +65 -0
  405. package/cjs/lib/blink.js.map +1 -0
  406. package/cjs/lib/client.d.ts +0 -2
  407. package/cjs/lib/client.js +1 -3
  408. package/cjs/lib/client.js.map +1 -1
  409. package/cjs/lib/createPropsGetter.d.ts +1 -1
  410. package/cjs/lib/currentEnvironment.js +0 -1
  411. package/cjs/lib/currentEnvironment.js.map +1 -1
  412. package/cjs/lib/date/InternalDate.js +5 -4
  413. package/cjs/lib/date/InternalDate.js.map +1 -1
  414. package/cjs/lib/date/InternalDateGetter.d.ts +1 -1
  415. package/cjs/lib/date/InternalDateGetter.js +2 -2
  416. package/cjs/lib/date/InternalDateGetter.js.map +1 -1
  417. package/cjs/lib/delay.mts +3 -0
  418. package/cjs/lib/dom/getDOMRect.d.ts +1 -1
  419. package/cjs/lib/dom/getScrollWidth.js +4 -2
  420. package/cjs/lib/dom/getScrollWidth.js.map +1 -1
  421. package/cjs/lib/events/MouseDrag.js +1 -7
  422. package/cjs/lib/events/MouseDrag.js.map +1 -1
  423. package/cjs/lib/events/keyboard/identifiers.js +2 -10
  424. package/cjs/lib/events/keyboard/identifiers.js.map +1 -1
  425. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -7
  426. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +0 -5
  427. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +1 -13
  428. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  429. package/cjs/lib/forwardRefAndName.d.ts +1 -1
  430. package/cjs/lib/forwardRefAndName.js +0 -1
  431. package/cjs/lib/forwardRefAndName.js.map +1 -1
  432. package/cjs/lib/listenFocusOutside.js +3 -1
  433. package/cjs/lib/listenFocusOutside.js.map +1 -1
  434. package/cjs/lib/locale/decorators.d.ts +3 -2
  435. package/cjs/lib/needsPolyfillPlaceholder.js +1 -3
  436. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -1
  437. package/cjs/lib/rootNode/getRootNode.js +2 -2
  438. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  439. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +3 -2
  440. package/cjs/lib/rootNode/rootNodeDecorator.js +1 -0
  441. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  442. package/cjs/lib/size/SizeControlContext.d.ts +6 -0
  443. package/cjs/lib/size/SizeControlContext.js +16 -0
  444. package/cjs/lib/size/SizeControlContext.js.map +1 -0
  445. package/cjs/lib/size/SizeDecorator.d.ts +33 -0
  446. package/cjs/lib/size/SizeDecorator.js +41 -0
  447. package/cjs/lib/size/SizeDecorator.js.map +1 -0
  448. package/cjs/lib/size/constants.d.ts +2 -0
  449. package/cjs/lib/size/constants.js +3 -0
  450. package/cjs/lib/size/constants.js.map +1 -0
  451. package/cjs/lib/size/index.d.ts +1 -0
  452. package/cjs/lib/size/index.js +1 -0
  453. package/cjs/lib/size/index.js.map +1 -0
  454. package/cjs/lib/size/useSizeControl.d.ts +2 -0
  455. package/cjs/lib/size/useSizeControl.js +10 -0
  456. package/cjs/lib/size/useSizeControl.js.map +1 -0
  457. package/cjs/lib/styles/Mixins.js +1 -3
  458. package/cjs/lib/styles/Mixins.js.map +1 -1
  459. package/cjs/lib/theming/Emotion.d.ts +7 -7
  460. package/cjs/lib/theming/ThemeHelpers.js +1 -1
  461. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  462. package/cjs/lib/theming/ThemeVersions.d.ts +1 -1
  463. package/cjs/lib/theming/ThemeVersions.js.map +1 -1
  464. package/cjs/lib/theming/themes/DarkTheme.d.ts +1 -3
  465. package/cjs/lib/theming/themes/DarkTheme.js +3 -7
  466. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  467. package/cjs/lib/theming/themes/LightTheme.d.ts +1 -3
  468. package/cjs/lib/theming/themes/LightTheme.js +3 -7
  469. package/cjs/lib/theming/themes/LightTheme.js.map +1 -1
  470. package/cjs/lib/typeGuards.js +1 -1
  471. package/cjs/lib/typeGuards.js.map +1 -1
  472. package/cjs/lib/utils.d.ts +20 -5
  473. package/cjs/lib/utils.js +39 -16
  474. package/cjs/lib/utils.js.map +1 -1
  475. package/cjs/lib/withClassWrapper.js +5 -2
  476. package/cjs/lib/withClassWrapper.js.map +1 -1
  477. package/cjs/test-setup.d.ts +1 -0
  478. package/cjs/vitest.config.d.ts +2 -0
  479. package/components/Autocomplete/Autocomplete/Autocomplete.js +49 -47
  480. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  481. package/components/Autocomplete/Autocomplete.d.ts +17 -26
  482. package/components/Button/ArrowLeftIcon.d.ts +1 -1
  483. package/components/Button/ArrowRightIcon.d.ts +1 -1
  484. package/components/Button/Button/Button.js +45 -27
  485. package/components/Button/Button/Button.js.map +1 -1
  486. package/components/Button/Button.d.ts +27 -14
  487. package/components/Button/Button.mixins/Button.mixins.js +1 -4
  488. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  489. package/components/Button/Button.mixins.d.ts +0 -1
  490. package/components/Button/Button.styles/Button.styles.js +29 -29
  491. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  492. package/components/Button/Button.styles.d.ts +3 -3
  493. package/components/Button/ButtonArrow/ButtonArrow.js +1 -3
  494. package/components/Button/ButtonArrow/ButtonArrow.js.map +1 -1
  495. package/components/Calendar/Calendar/Calendar.js.map +1 -1
  496. package/components/Calendar/Calendar.d.ts +2 -0
  497. package/components/Center/Center/Center.js.map +1 -1
  498. package/components/Center/Center.d.ts +2 -0
  499. package/components/Checkbox/Checkbox/Checkbox.js +17 -43
  500. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  501. package/components/Checkbox/Checkbox.d.ts +7 -16
  502. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +16 -25
  503. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  504. package/components/Checkbox/Checkbox.styles.d.ts +0 -3
  505. package/components/Checkbox/CheckedIcon.d.ts +1 -1
  506. package/components/Checkbox/IndeterminateIcon.d.ts +1 -1
  507. package/components/ComboBox/ComboBox/ComboBox.js +2 -1
  508. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  509. package/components/ComboBox/ComboBox.d.ts +22 -3
  510. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +20 -61
  511. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  512. package/components/CurrencyInput/CurrencyInput.d.ts +15 -45
  513. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +1 -1
  514. package/components/CurrencyInput/CursorHelper/CursorHelper.js +3 -1
  515. package/components/CurrencyInput/CursorHelper/CursorHelper.js.map +1 -1
  516. package/components/CurrencyInput/constants/constants.js +0 -1
  517. package/components/CurrencyInput/constants/constants.js.map +1 -1
  518. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +10 -22
  519. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  520. package/components/DateInput/CalendarIcon.d.ts +1 -1
  521. package/components/DateInput/DateInput/DateInput.js +14 -24
  522. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  523. package/components/DateInput/DateInput.d.ts +5 -2
  524. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js +2 -2
  525. package/components/DateInput/helpers/InternalDateMediator/InternalDateMediator.js.map +1 -1
  526. package/components/DateInput/helpers/InternalDateMediator.d.ts +1 -1
  527. package/components/DatePicker/DatePicker/DatePicker.js +1 -32
  528. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  529. package/components/DatePicker/DatePicker.d.ts +8 -35
  530. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +14 -1
  531. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  532. package/components/DateRangePicker/DateRangePicker.d.ts +34 -28
  533. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +2 -2
  534. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
  535. package/components/Dropdown/Dropdown/Dropdown.js +1 -47
  536. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  537. package/components/Dropdown/Dropdown.d.ts +2 -47
  538. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +4 -3
  539. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  540. package/components/DropdownMenu/DropdownMenu.d.ts +4 -2
  541. package/components/FileUploader/FileUploader/FileUploader.js +1 -0
  542. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  543. package/components/FileUploader/UploadIcon.d.ts +1 -1
  544. package/components/FxInput/FxInput/FxInput.js +112 -72
  545. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  546. package/components/FxInput/FxInput.d.ts +25 -21
  547. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js +2 -2
  548. package/components/FxInput/FxInputRestoreBtn/FxInputRestoreBtn.js.map +1 -1
  549. package/components/FxInput/MathFunctionIcon.d.ts +1 -1
  550. package/components/FxInput/UndoIcon.d.ts +1 -1
  551. package/components/Gapped/Gapped/Gapped.js +1 -16
  552. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  553. package/components/Gapped/Gapped.d.ts +2 -15
  554. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  555. package/components/GlobalLoader/GlobalLoader.d.ts +2 -0
  556. package/components/GlobalLoader/useParams.d.ts +2 -2
  557. package/components/Group/Group/Group.js +68 -37
  558. package/components/Group/Group/Group.js.map +1 -1
  559. package/components/Group/Group.d.ts +4 -4
  560. package/components/Group/Group.styles/Group.styles.js +5 -5
  561. package/components/Group/Group.styles/Group.styles.js.map +1 -1
  562. package/components/Group/Group.styles.d.ts +1 -1
  563. package/components/Hint/Hint/Hint.js.map +1 -1
  564. package/components/Hint/Hint.d.ts +2 -0
  565. package/components/Input/Input/Input.js +42 -166
  566. package/components/Input/Input/Input.js.map +1 -1
  567. package/components/Input/Input.d.ts +33 -66
  568. package/components/Input/Input.styles/Input.styles.js +15 -37
  569. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  570. package/components/Input/Input.styles.d.ts +0 -7
  571. package/components/Input/InputLayout/InputLayout/InputLayout.js +5 -2
  572. package/components/Input/InputLayout/InputLayout/InputLayout.js.map +1 -1
  573. package/components/Input/InputLayout/InputLayout.d.ts +1 -0
  574. package/components/Kebab/Kebab/Kebab.js +8 -26
  575. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  576. package/components/Kebab/Kebab.d.ts +4 -2
  577. package/components/Kebab/KebabIcon.d.ts +1 -1
  578. package/components/Link/Link/Link.js +5 -2
  579. package/components/Link/Link/Link.js.map +1 -1
  580. package/components/Link/Link.d.ts +12 -10
  581. package/components/Loader/Loader/Loader.js +4 -37
  582. package/components/Loader/Loader/Loader.js.map +1 -1
  583. package/components/Loader/Loader.d.ts +7 -36
  584. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js +81 -66
  585. package/components/MaskedInput/ColorableInputElement/ColorableInputElement/ColorableInputElement.js.map +1 -1
  586. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.d.ts +1 -0
  587. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js +3 -2
  588. package/components/MaskedInput/FixedIMaskInput/FixedIMaskInput.js.map +1 -1
  589. package/components/MaskedInput/MaskedInput/MaskedInput.js +29 -7
  590. package/components/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  591. package/components/MaskedInput/MaskedInput.d.ts +9 -0
  592. package/components/MenuFooter/MenuFooter/MenuFooter.js +0 -2
  593. package/components/MenuFooter/MenuFooter/MenuFooter.js.map +1 -1
  594. package/components/MenuFooter/MenuFooter.d.ts +1 -1
  595. package/components/MenuHeader/MenuHeader/MenuHeader.js +0 -2
  596. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  597. package/components/MenuHeader/MenuHeader.d.ts +1 -1
  598. package/components/MenuItem/MenuItem/MenuItem.js +3 -17
  599. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  600. package/components/MenuItem/MenuItem.d.ts +2 -17
  601. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +12 -15
  602. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  603. package/components/MenuItem/MenuItem.styles.d.ts +1 -2
  604. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js +2 -2
  605. package/components/MiniModal/MiniModal.styles/MiniModal.styles.js.map +1 -1
  606. package/components/MiniModal/MiniModal.styles.d.ts +1 -1
  607. package/components/MiniModal/MiniModalBody/MiniModalBody.js +11 -5
  608. package/components/MiniModal/MiniModalBody/MiniModalBody.js.map +1 -1
  609. package/components/Modal/Modal/Modal.js +8 -16
  610. package/components/Modal/Modal/Modal.js.map +1 -1
  611. package/components/Modal/Modal.d.ts +1 -1
  612. package/components/Modal/Modal.styles/Modal.styles.js +55 -95
  613. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  614. package/components/Modal/Modal.styles.d.ts +8 -21
  615. package/components/Modal/ModalBody/ModalBody.js +1 -3
  616. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  617. package/components/Modal/ModalBody.d.ts +2 -0
  618. package/components/Modal/ModalClose/ModalClose.js +1 -3
  619. package/components/Modal/ModalClose/ModalClose.js.map +1 -1
  620. package/components/Modal/ModalFooter/ModalFooter.js +2 -4
  621. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  622. package/components/Modal/ModalHeader/ModalHeader.js +4 -4
  623. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  624. package/components/Modal/ModalHeader.d.ts +5 -0
  625. package/components/Paging/DotsIcon/DotsIcon.js +14 -0
  626. package/components/Paging/DotsIcon/DotsIcon.js.map +1 -0
  627. package/components/Paging/DotsIcon/package.json +6 -0
  628. package/components/Paging/DotsIcon.d.ts +3 -0
  629. package/components/Paging/ForwardIcon/ForwardIcon.js +15 -1
  630. package/components/Paging/ForwardIcon/ForwardIcon.js.map +1 -1
  631. package/components/Paging/ForwardIcon.d.ts +4 -1
  632. package/components/Paging/NavigationHelper/NavigationHelper.js +4 -7
  633. package/components/Paging/NavigationHelper/NavigationHelper.js.map +1 -1
  634. package/components/Paging/Paging/Paging.js +89 -57
  635. package/components/Paging/Paging/Paging.js.map +1 -1
  636. package/components/Paging/Paging.d.ts +14 -3
  637. package/components/Paging/Paging.styles/Paging.styles.js +61 -16
  638. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  639. package/components/Paging/Paging.styles.d.ts +16 -1
  640. package/components/Paging/PagingHelper/PagingHelper.js +16 -8
  641. package/components/Paging/PagingHelper/PagingHelper.js.map +1 -1
  642. package/components/Paging/PagingHelper.d.ts +1 -1
  643. package/components/PasswordInput/ClosedIcon.d.ts +1 -1
  644. package/components/PasswordInput/OpenedIcon.d.ts +1 -1
  645. package/components/PasswordInput/PasswordInput/PasswordInput.js +17 -37
  646. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  647. package/components/PasswordInput/PasswordInput.d.ts +10 -18
  648. package/components/Radio/Radio/Radio.js +10 -11
  649. package/components/Radio/Radio/Radio.js.map +1 -1
  650. package/components/Radio/Radio.d.ts +4 -1
  651. package/components/Radio/Radio.styles/Radio.styles.js +19 -25
  652. package/components/Radio/Radio.styles/Radio.styles.js.map +1 -1
  653. package/components/Radio/Radio.styles.d.ts +0 -2
  654. package/components/RadioGroup/RadioGroup/RadioGroup.js +18 -23
  655. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  656. package/components/RadioGroup/RadioGroup.d.ts +2 -1
  657. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js +5 -8
  658. package/components/RadioGroup/RadioGroup.styles/RadioGroup.styles.js.map +1 -1
  659. package/components/RadioGroup/RadioGroup.styles.d.ts +0 -1
  660. package/components/ResponsiveLayout/decorator.d.ts +4 -2
  661. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +2 -15
  662. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  663. package/components/ScrollContainer/ScrollContainer.d.ts +3 -14
  664. package/components/ScrollContainer/ScrollContainer.helpers.d.ts +1 -1
  665. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +10 -13
  666. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  667. package/components/ScrollContainer/ScrollContainer.styles.d.ts +0 -1
  668. package/components/Select/ArrowDownIcon.d.ts +1 -1
  669. package/components/Select/Select/Select.js +14 -13
  670. package/components/Select/Select/Select.js.map +1 -1
  671. package/components/Select/Select.d.ts +4 -1
  672. package/components/SidePage/SidePage/SidePage.js +6 -11
  673. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  674. package/components/SidePage/SidePage.styles/SidePage.styles.js +27 -43
  675. package/components/SidePage/SidePage.styles/SidePage.styles.js.map +1 -1
  676. package/components/SidePage/SidePage.styles.d.ts +2 -7
  677. package/components/SidePage/SidePageBody/SidePageBody.js.map +1 -1
  678. package/components/SidePage/SidePageBody.d.ts +2 -0
  679. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js +1 -3
  680. package/components/SidePage/SidePageCloseButton/SidePageCloseButton.js.map +1 -1
  681. package/components/SidePage/SidePageContainer/SidePageContainer.js.map +1 -1
  682. package/components/SidePage/SidePageContainer.d.ts +2 -0
  683. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  684. package/components/SidePage/SidePageFooter.d.ts +2 -0
  685. package/components/SidePage/SidePageHeader/SidePageHeader.js +32 -65
  686. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  687. package/components/SidePage/SidePageHeader.d.ts +10 -7
  688. package/components/SingleToast/SingleToast/SingleToast.js +23 -14
  689. package/components/SingleToast/SingleToast/SingleToast.js.map +1 -1
  690. package/components/SingleToast/SingleToast.d.ts +17 -4
  691. package/components/Spinner/Spinner/Spinner.js +1 -19
  692. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  693. package/components/Spinner/Spinner.d.ts +2 -18
  694. package/components/Spinner/Spinner.styles/Spinner.styles.js +2 -3
  695. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  696. package/components/Sticky/Sticky/Sticky.js +6 -21
  697. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  698. package/components/Sticky/Sticky.d.ts +2 -13
  699. package/components/Switcher/Switcher/Switcher.js +14 -22
  700. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  701. package/components/Switcher/Switcher.d.ts +6 -21
  702. package/components/Switcher/Switcher.styles/Switcher.styles.js +9 -11
  703. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  704. package/components/Switcher/Switcher.styles.d.ts +1 -1
  705. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  706. package/components/Tabs/Indicator.d.ts +2 -0
  707. package/components/Tabs/Tab/Tab.js.map +1 -1
  708. package/components/Tabs/Tab.d.ts +2 -0
  709. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  710. package/components/Tabs/Tabs.d.ts +2 -0
  711. package/components/Textarea/Textarea/Textarea.js +26 -60
  712. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  713. package/components/Textarea/Textarea.d.ts +10 -47
  714. package/components/Textarea/Textarea.styles/Textarea.styles.js +1 -1
  715. package/components/Textarea/Textarea.styles/Textarea.styles.js.map +1 -1
  716. package/components/Textarea/TextareaCounter/TextareaCounter.js +1 -11
  717. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  718. package/components/Toast/Toast/Toast.js +46 -41
  719. package/components/Toast/Toast/Toast.js.map +1 -1
  720. package/components/Toast/Toast.d.ts +30 -16
  721. package/components/Toast/ToastView/ToastView.js +20 -22
  722. package/components/Toast/ToastView/ToastView.js.map +1 -1
  723. package/components/Toast/ToastView.d.ts +7 -15
  724. package/components/Toast/ToastView.styles/ToastView.styles.js +17 -5
  725. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  726. package/components/Toast/ToastView.styles.d.ts +4 -0
  727. package/components/Toggle/Toggle/Toggle.js +11 -20
  728. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  729. package/components/Toggle/Toggle.d.ts +4 -11
  730. package/components/Token/Token/Token.js.map +1 -1
  731. package/components/Token/Token.d.ts +2 -0
  732. package/components/TokenInput/TokenInput/TokenInput.js +106 -88
  733. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  734. package/components/TokenInput/TokenInput.d.ts +9 -3
  735. package/components/Tooltip/Tooltip/Tooltip.js +96 -48
  736. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  737. package/components/Tooltip/Tooltip.d.ts +14 -10
  738. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js +22 -4
  739. package/components/Tooltip/Tooltip.styles/Tooltip.styles.js.map +1 -1
  740. package/components/Tooltip/Tooltip.styles.d.ts +7 -1
  741. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +4 -3
  742. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  743. package/components/TooltipMenu/TooltipMenu.d.ts +4 -2
  744. package/components/__stories__/Form/Form.js +98 -0
  745. package/components/__stories__/Form/Form.js.map +1 -0
  746. package/components/__stories__/Form/package.json +6 -0
  747. package/index.d.ts +2 -0
  748. package/index.js +2 -0
  749. package/index.js.map +1 -1
  750. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js +21 -7
  751. package/internal/ClearCrossIcon/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  752. package/internal/ClearCrossIcon/ClearCrossIcon.d.ts +1 -0
  753. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js +14 -5
  754. package/internal/ClearCrossIcon/ClearCrossIcon.styles/ClearCrossIcon.styles.js.map +1 -1
  755. package/internal/ClearCrossIcon/ClearCrossIcon.styles.d.ts +3 -0
  756. package/internal/ClearCrossIcon/CrossIcon.d.ts +1 -1
  757. package/internal/CloseButtonIcon/CrossIcon.d.ts +1 -1
  758. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  759. package/internal/CommonWrapper/CommonWrapper.d.ts +2 -0
  760. package/internal/CommonWrapper/types/types.js.map +1 -1
  761. package/internal/CommonWrapper/types.d.ts +1 -1
  762. package/internal/ComponentTable/ComponentTable.js +0 -2
  763. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  764. package/internal/CustomComboBox/ArrowDownIcon.d.ts +1 -1
  765. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +0 -1
  766. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  767. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +69 -40
  768. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  769. package/internal/CustomComboBox/ComboBoxView.d.ts +12 -4
  770. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +18 -19
  771. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  772. package/internal/CustomComboBox/CustomComboBox.d.ts +12 -6
  773. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +18 -23
  774. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  775. package/internal/CustomComboBox/CustomComboBoxReducer.d.ts +0 -1
  776. package/internal/DateSelect/DateSelect/DateSelect.js +2 -11
  777. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  778. package/internal/DateSelect/DateSelect.d.ts +0 -10
  779. package/internal/FileUploaderControl/FileUploaderControlProvider.d.ts +2 -2
  780. package/internal/FileUploaderControl/FileUploaderFile/DeleteIcon.d.ts +1 -1
  781. package/internal/FileUploaderControl/FileUploaderFile/ErrorIcon.d.ts +1 -1
  782. package/internal/FileUploaderControl/FileUploaderFile/OkIcon.d.ts +1 -1
  783. package/internal/FocusControlWrapper/FocusControlWrapper.stories.d.ts +3 -2
  784. package/internal/FocusTrap/FocusTrap/FocusTrap.js.map +1 -1
  785. package/internal/FocusTrap/FocusTrap.d.ts +2 -0
  786. package/internal/IgnoreLayerClick/IgnoreLayerClick/IgnoreLayerClick.js.map +1 -1
  787. package/internal/IgnoreLayerClick/IgnoreLayerClick.d.ts +1 -1
  788. package/internal/InputLikeText/InputLikeText/InputLikeText.js +22 -115
  789. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  790. package/internal/InputLikeText/InputLikeText.d.ts +4 -13
  791. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js +7 -4
  792. package/internal/InputLikeText/InputLikeText.styles/InputLikeText.styles.js.map +1 -1
  793. package/internal/InputLikeText/InputLikeText.styles.d.ts +1 -0
  794. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js +249 -0
  795. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -0
  796. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout/package.json +6 -0
  797. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.d.ts +37 -0
  798. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js +8 -0
  799. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/InternalTextareaWithLayout.styles.js.map +1 -0
  800. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles/package.json +6 -0
  801. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  802. package/internal/Menu/Menu/Menu.js +2 -5
  803. package/internal/Menu/Menu/Menu.js.map +1 -1
  804. package/internal/Menu/Menu.d.ts +4 -3
  805. package/internal/Menu/Menu.styles/Menu.styles.js +9 -15
  806. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  807. package/internal/Menu/Menu.styles.d.ts +0 -2
  808. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  809. package/internal/MobilePopup/MobilePopup.d.ts +2 -0
  810. package/internal/Popup/Popup/Popup.js +29 -94
  811. package/internal/Popup/Popup/Popup.js.map +1 -1
  812. package/internal/Popup/Popup.d.ts +41 -61
  813. package/internal/Popup/PopupPin/PopupPin.js +115 -172
  814. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  815. package/internal/Popup/PopupPin.d.ts +16 -42
  816. package/internal/Popup/PopupPin.styles/PopupPin.styles.js +15 -3
  817. package/internal/Popup/PopupPin.styles/PopupPin.styles.js.map +1 -1
  818. package/internal/Popup/PopupPin.styles.d.ts +5 -1
  819. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  820. package/internal/PopupMenu/PopupMenu.d.ts +2 -0
  821. package/internal/PopupMenu/validatePositions/validatePositions.js +3 -1
  822. package/internal/PopupMenu/validatePositions/validatePositions.js.map +1 -1
  823. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +0 -8
  824. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  825. package/internal/RenderContainer/RenderInnerContainer.d.ts +0 -6
  826. package/internal/RenderLayer/RenderLayer/RenderLayer.js +3 -11
  827. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  828. package/internal/RenderLayer/RenderLayer.d.ts +2 -3
  829. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js +1 -1
  830. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
  831. package/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  832. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js +4 -1
  833. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js.map +1 -1
  834. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +1 -0
  835. package/internal/SpinnerIcon/SpinnerIcon/SpinnerIcon.js +0 -41
  836. package/internal/SpinnerIcon/SpinnerIcon/SpinnerIcon.js.map +1 -1
  837. package/internal/SpinnerIcon/SpinnerIcon.d.ts +1 -2
  838. package/internal/ThemePlayground/HintPlayground/HintPlayground.js +10 -8
  839. package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +1 -1
  840. package/internal/ThemePlayground/Playground/Playground.js +8 -5
  841. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  842. package/internal/ThemePlayground/Playground.styles/Playground.styles.js +4 -4
  843. package/internal/ThemePlayground/Playground.styles/Playground.styles.js.map +1 -1
  844. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js +6 -1
  845. package/internal/ThemePlayground/ShowcaseGroup/ShowcaseGroup.js.map +1 -1
  846. package/internal/ThemePlayground/helpers.d.ts +1 -1
  847. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  848. package/internal/ZIndex/ZIndex/ZIndex.js +8 -10
  849. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  850. package/internal/ZIndex/ZIndex.d.ts +3 -3
  851. package/internal/icons2022/LoadingIcon/LoadingIcon.js +0 -1
  852. package/internal/icons2022/LoadingIcon/LoadingIcon.js.map +1 -1
  853. package/internal/icons2022/LoadingIcon.d.ts +1 -1
  854. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js +21 -0
  855. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/UiMenuDots3HIcon16Regular.js.map +1 -0
  856. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular/package.json +6 -0
  857. package/internal/icons2022/UiMenuDots3HIcon/UiMenuDots3HIcon16Regular.d.ts +2 -0
  858. package/internal/icons2022/iconSizer.d.ts +1 -1
  859. package/internal/themes/BasicTheme/BasicTheme.js +176 -103
  860. package/internal/themes/BasicTheme/BasicTheme.js.map +1 -1
  861. package/internal/themes/BasicTheme.d.ts +86 -57
  862. package/internal/themes/DarkTheme6_0/DarkTheme6_0.js +409 -0
  863. package/internal/themes/DarkTheme6_0/DarkTheme6_0.js.map +1 -0
  864. package/internal/themes/DarkTheme6_0/package.json +6 -0
  865. package/internal/themes/DarkTheme6_0.d.ts +1 -0
  866. package/internal/themes/{LightTheme5_0/LightTheme5_0.js → LightTheme6_0/LightTheme6_0.js} +5 -5
  867. package/internal/themes/{LightTheme5_0/LightTheme5_0.js.map → LightTheme6_0/LightTheme6_0.js.map} +1 -1
  868. package/internal/themes/LightTheme6_0/package.json +6 -0
  869. package/internal/themes/LightTheme6_0.d.ts +1 -0
  870. package/lib/blink/blink.js +63 -0
  871. package/lib/blink/blink.js.map +1 -0
  872. package/lib/blink/package.json +6 -0
  873. package/lib/blink.d.ts +15 -0
  874. package/lib/client/client.js +0 -2
  875. package/lib/client/client.js.map +1 -1
  876. package/lib/client.d.ts +0 -2
  877. package/lib/createPropsGetter.d.ts +1 -1
  878. package/lib/currentEnvironment/currentEnvironment.js +2 -3
  879. package/lib/currentEnvironment/currentEnvironment.js.map +1 -1
  880. package/lib/date/InternalDate/InternalDate.js +5 -4
  881. package/lib/date/InternalDate/InternalDate.js.map +1 -1
  882. package/lib/date/InternalDateGetter/InternalDateGetter.js +2 -2
  883. package/lib/date/InternalDateGetter/InternalDateGetter.js.map +1 -1
  884. package/lib/date/InternalDateGetter.d.ts +1 -1
  885. package/lib/delay.d.mts +1 -0
  886. package/lib/delay.mts +3 -0
  887. package/lib/dom/getDOMRect.d.ts +1 -1
  888. package/lib/dom/getScrollWidth/getScrollWidth.js +3 -1
  889. package/lib/dom/getScrollWidth/getScrollWidth.js.map +1 -1
  890. package/lib/events/MouseDrag/MouseDrag.js +0 -7
  891. package/lib/events/MouseDrag/MouseDrag.js.map +1 -1
  892. package/lib/events/keyboard/identifiers/identifiers.js +1 -10
  893. package/lib/events/keyboard/identifiers/identifiers.js.map +1 -1
  894. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -7
  895. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +1 -7
  896. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  897. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +0 -5
  898. package/lib/forwardRefAndName/forwardRefAndName.js.map +1 -1
  899. package/lib/forwardRefAndName.d.ts +1 -1
  900. package/lib/listenFocusOutside/listenFocusOutside.js +3 -1
  901. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  902. package/lib/locale/decorators.d.ts +3 -2
  903. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +1 -2
  904. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -1
  905. package/lib/rootNode/getRootNode/getRootNode.js +1 -1
  906. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  907. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  908. package/lib/rootNode/rootNodeDecorator.d.ts +3 -2
  909. package/lib/size/SizeControlContext/SizeControlContext.js +7 -0
  910. package/lib/size/SizeControlContext/SizeControlContext.js.map +1 -0
  911. package/lib/size/SizeControlContext/package.json +6 -0
  912. package/lib/size/SizeControlContext.d.ts +6 -0
  913. package/lib/size/SizeDecorator/SizeDecorator.js +41 -0
  914. package/lib/size/SizeDecorator/SizeDecorator.js.map +1 -0
  915. package/lib/size/SizeDecorator/package.json +6 -0
  916. package/lib/size/SizeDecorator.d.ts +33 -0
  917. package/lib/size/constants/constants.js +1 -0
  918. package/lib/size/constants/constants.js.map +1 -0
  919. package/lib/size/constants/package.json +6 -0
  920. package/lib/size/constants.d.ts +2 -0
  921. package/lib/size/index/index.js +1 -0
  922. package/lib/size/index/index.js.map +1 -0
  923. package/{internal/InternalMaskedInput → lib/size}/index/package.json +1 -1
  924. package/lib/size/index.d.ts +1 -0
  925. package/{internal/InternalMaskedInput → lib/size}/package.json +1 -1
  926. package/lib/size/useSizeControl/package.json +6 -0
  927. package/lib/size/useSizeControl/useSizeControl.js +7 -0
  928. package/lib/size/useSizeControl/useSizeControl.js.map +1 -0
  929. package/lib/size/useSizeControl.d.ts +2 -0
  930. package/lib/styles/Mixins/Mixins.js +1 -1
  931. package/lib/styles/Mixins/Mixins.js.map +1 -1
  932. package/lib/theming/Emotion.d.ts +7 -7
  933. package/lib/theming/ThemeHelpers/ThemeHelpers.js +1 -1
  934. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  935. package/lib/theming/ThemeVersions/ThemeVersions.js.map +1 -1
  936. package/lib/theming/ThemeVersions.d.ts +1 -1
  937. package/lib/theming/themes/DarkTheme/DarkTheme.js +3 -7
  938. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  939. package/lib/theming/themes/DarkTheme.d.ts +1 -3
  940. package/lib/theming/themes/LightTheme/LightTheme.js +3 -7
  941. package/lib/theming/themes/LightTheme/LightTheme.js.map +1 -1
  942. package/lib/theming/themes/LightTheme.d.ts +1 -3
  943. package/lib/typeGuards/typeGuards.js +1 -1
  944. package/lib/typeGuards/typeGuards.js.map +1 -1
  945. package/lib/utils/utils.js +32 -14
  946. package/lib/utils/utils.js.map +1 -1
  947. package/lib/utils.d.ts +20 -5
  948. package/lib/withClassWrapper/withClassWrapper.js +3 -1
  949. package/lib/withClassWrapper/withClassWrapper.js.map +1 -1
  950. package/package.json +23 -39
  951. package/test-setup.d.ts +1 -0
  952. package/vitest.config.d.ts +2 -0
  953. package/cjs/components/Autocomplete/Autocomplete.md +0 -113
  954. package/cjs/components/Button/Button.md +0 -261
  955. package/cjs/components/Calendar/Calendar.md +0 -276
  956. package/cjs/components/Calendar/CalendarDay.md +0 -70
  957. package/cjs/components/Center/Center.md +0 -26
  958. package/cjs/components/Checkbox/Checkbox.md +0 -171
  959. package/cjs/components/ComboBox/ComboBox.md +0 -574
  960. package/cjs/components/CurrencyInput/CurrencyInput.md +0 -39
  961. package/cjs/components/CurrencyLabel/CurrencyLabel.md +0 -29
  962. package/cjs/components/DateInput/DateInput.md +0 -111
  963. package/cjs/components/DatePicker/DatePicker.md +0 -368
  964. package/cjs/components/Dropdown/Dropdown.md +0 -45
  965. package/cjs/components/DropdownMenu/DropdownMenu.md +0 -290
  966. package/cjs/components/FileUploader/FileUploader.md +0 -131
  967. package/cjs/components/FxInput/FxInput.md +0 -31
  968. package/cjs/components/Gapped/Gapped.md +0 -44
  969. package/cjs/components/GlobalLoader/GlobalLoader.md +0 -97
  970. package/cjs/components/Group/Group.md +0 -19
  971. package/cjs/components/Hint/Hint.md +0 -86
  972. package/cjs/components/Input/Input.md +0 -86
  973. package/cjs/components/Input/InputLayout/PolyfillPlaceholder.d.ts +0 -10
  974. package/cjs/components/Input/InputLayout/PolyfillPlaceholder.js +0 -46
  975. package/cjs/components/Input/InputLayout/PolyfillPlaceholder.js.map +0 -1
  976. package/cjs/components/Kebab/Kebab.md +0 -306
  977. package/cjs/components/Link/Link.md +0 -182
  978. package/cjs/components/Loader/Loader.md +0 -33
  979. package/cjs/components/MaskedInput/MaskedInput.md +0 -114
  980. package/cjs/components/MenuFooter/MenuFooter.md +0 -27
  981. package/cjs/components/MenuHeader/MenuHeader.md +0 -35
  982. package/cjs/components/MenuItem/MenuItem.md +0 -139
  983. package/cjs/components/MenuSeparator/MenuSeparator.md +0 -14
  984. package/cjs/components/MiniModal/MiniModal.md +0 -231
  985. package/cjs/components/Modal/Modal.md +0 -56
  986. package/cjs/components/Paging/Paging.md +0 -57
  987. package/cjs/components/PasswordInput/PasswordInput.md +0 -29
  988. package/cjs/components/Radio/Radio.md +0 -57
  989. package/cjs/components/RadioGroup/RadioGroup.md +0 -44
  990. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  991. package/cjs/components/ScrollContainer/ScrollContainer.md +0 -224
  992. package/cjs/components/Select/Select.md +0 -113
  993. package/cjs/components/SidePage/SidePage.md +0 -65
  994. package/cjs/components/SingleToast/SingleToast.md +0 -36
  995. package/cjs/components/Spinner/Spinner.md +0 -36
  996. package/cjs/components/Spinner/SpinnerFallbackAnimation.d.ts +0 -25
  997. package/cjs/components/Spinner/SpinnerFallbackAnimation.js +0 -197
  998. package/cjs/components/Spinner/SpinnerFallbackAnimation.js.map +0 -1
  999. package/cjs/components/Sticky/Sticky.md +0 -28
  1000. package/cjs/components/Switcher/Switcher.md +0 -111
  1001. package/cjs/components/Tabs/Tab.md +0 -73
  1002. package/cjs/components/Tabs/Tabs.md +0 -54
  1003. package/cjs/components/Textarea/Textarea.md +0 -58
  1004. package/cjs/components/Toast/Toast.md +0 -69
  1005. package/cjs/components/Toast/ToastStatic.d.ts +0 -10
  1006. package/cjs/components/Toast/ToastStatic.js +0 -53
  1007. package/cjs/components/Toast/ToastStatic.js.map +0 -1
  1008. package/cjs/components/Toggle/Toggle.md +0 -110
  1009. package/cjs/components/Token/Token.md +0 -48
  1010. package/cjs/components/TokenInput/TokenInput.md +0 -277
  1011. package/cjs/components/Tooltip/Tooltip.md +0 -322
  1012. package/cjs/components/TooltipMenu/TooltipMenu.md +0 -241
  1013. package/cjs/internal/DataTids/DATATIDS.md +0 -12
  1014. package/cjs/internal/DataTids/DataTids.d.ts +0 -12
  1015. package/cjs/internal/DataTids/DataTids.js +0 -50
  1016. package/cjs/internal/DataTids/DataTids.js.map +0 -1
  1017. package/cjs/internal/DataTids/DataTids.styles.d.ts +0 -7
  1018. package/cjs/internal/DataTids/DataTids.styles.js +0 -42
  1019. package/cjs/internal/DataTids/DataTids.styles.js.map +0 -1
  1020. package/cjs/internal/DataTids/componentsDataTids.d.ts +0 -5
  1021. package/cjs/internal/DataTids/componentsDataTids.js +0 -15
  1022. package/cjs/internal/DataTids/componentsDataTids.js.map +0 -1
  1023. package/cjs/internal/InputLikeText/HiddenInput.d.ts +0 -13
  1024. package/cjs/internal/InputLikeText/HiddenInput.js +0 -43
  1025. package/cjs/internal/InputLikeText/HiddenInput.js.map +0 -1
  1026. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.d.ts +0 -50
  1027. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js +0 -241
  1028. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.js.map +0 -1
  1029. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.d.ts +0 -6
  1030. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.js +0 -30
  1031. package/cjs/internal/InternalMaskedInput/InternalMaskedInput.styles.js.map +0 -1
  1032. package/cjs/internal/InternalMaskedInput/index.d.ts +0 -1
  1033. package/cjs/internal/InternalMaskedInput/index.js +0 -1
  1034. package/cjs/internal/InternalMaskedInput/index.js.map +0 -1
  1035. package/cjs/internal/ThemePlayground/Playground.md +0 -7
  1036. package/cjs/internal/themes/BasicLightTheme.d.ts +0 -5
  1037. package/cjs/internal/themes/BasicLightTheme.js +0 -6
  1038. package/cjs/internal/themes/BasicLightTheme.js.map +0 -1
  1039. package/cjs/internal/themes/DarkTheme5_0.d.ts +0 -1
  1040. package/cjs/internal/themes/DarkTheme5_0.js +0 -570
  1041. package/cjs/internal/themes/DarkTheme5_0.js.map +0 -1
  1042. package/cjs/internal/themes/DarkTheme5_1.d.ts +0 -1
  1043. package/cjs/internal/themes/DarkTheme5_1.js +0 -41
  1044. package/cjs/internal/themes/DarkTheme5_1.js.map +0 -1
  1045. package/cjs/internal/themes/DarkTheme5_2.d.ts +0 -1
  1046. package/cjs/internal/themes/DarkTheme5_2.js +0 -29
  1047. package/cjs/internal/themes/DarkTheme5_2.js.map +0 -1
  1048. package/cjs/internal/themes/LightTheme5_0.d.ts +0 -1
  1049. package/cjs/internal/themes/LightTheme5_1.d.ts +0 -1
  1050. package/cjs/internal/themes/LightTheme5_1.js +0 -41
  1051. package/cjs/internal/themes/LightTheme5_1.js.map +0 -1
  1052. package/cjs/internal/themes/LightTheme5_2.d.ts +0 -1
  1053. package/cjs/internal/themes/LightTheme5_2.js +0 -27
  1054. package/cjs/internal/themes/LightTheme5_2.js.map +0 -1
  1055. package/cjs/lib/SSRSafe.d.ts +0 -2
  1056. package/cjs/lib/SSRSafe.js +0 -5
  1057. package/cjs/lib/SSRSafe.js.map +0 -1
  1058. package/cjs/lib/events/fixClickFocusIE.d.ts +0 -1
  1059. package/cjs/lib/events/fixClickFocusIE.js +0 -20
  1060. package/cjs/lib/events/fixClickFocusIE.js.map +0 -1
  1061. package/cjs/lib/events/stopPropagation.d.ts +0 -1
  1062. package/cjs/lib/events/stopPropagation.js +0 -7
  1063. package/cjs/lib/events/stopPropagation.js.map +0 -1
  1064. package/cjs/lib/events/tabListener.d.ts +0 -1
  1065. package/cjs/lib/events/tabListener.js +0 -2
  1066. package/cjs/lib/events/tabListener.js.map +0 -1
  1067. package/cjs/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  1068. package/cjs/lib/locale/LOCALECONTEXT.md +0 -222
  1069. package/cjs/lib/theming/ThemeContext.md +0 -265
  1070. package/components/Autocomplete/Autocomplete.md +0 -113
  1071. package/components/Button/Button.md +0 -261
  1072. package/components/Calendar/Calendar.md +0 -276
  1073. package/components/Calendar/CalendarDay.md +0 -70
  1074. package/components/Center/Center.md +0 -26
  1075. package/components/Checkbox/Checkbox.md +0 -171
  1076. package/components/ComboBox/ComboBox.md +0 -574
  1077. package/components/CurrencyInput/CurrencyInput.md +0 -39
  1078. package/components/CurrencyLabel/CurrencyLabel.md +0 -29
  1079. package/components/DateInput/DateInput.md +0 -111
  1080. package/components/DatePicker/DatePicker.md +0 -368
  1081. package/components/Dropdown/Dropdown.md +0 -45
  1082. package/components/DropdownMenu/DropdownMenu.md +0 -290
  1083. package/components/FileUploader/FileUploader.md +0 -131
  1084. package/components/FxInput/FxInput.md +0 -31
  1085. package/components/Gapped/Gapped.md +0 -44
  1086. package/components/GlobalLoader/GlobalLoader.md +0 -97
  1087. package/components/Group/Group.md +0 -19
  1088. package/components/Hint/Hint.md +0 -86
  1089. package/components/Input/Input.md +0 -86
  1090. package/components/Input/InputLayout/PolyfillPlaceholder/PolyfillPlaceholder.js +0 -29
  1091. package/components/Input/InputLayout/PolyfillPlaceholder/PolyfillPlaceholder.js.map +0 -1
  1092. package/components/Input/InputLayout/PolyfillPlaceholder/package.json +0 -6
  1093. package/components/Input/InputLayout/PolyfillPlaceholder.d.ts +0 -10
  1094. package/components/Kebab/Kebab.md +0 -306
  1095. package/components/Link/Link.md +0 -182
  1096. package/components/Loader/Loader.md +0 -33
  1097. package/components/MaskedInput/MaskedInput.md +0 -114
  1098. package/components/MenuFooter/MenuFooter.md +0 -27
  1099. package/components/MenuHeader/MenuHeader.md +0 -35
  1100. package/components/MenuItem/MenuItem.md +0 -139
  1101. package/components/MenuSeparator/MenuSeparator.md +0 -14
  1102. package/components/MiniModal/MiniModal.md +0 -231
  1103. package/components/Modal/Modal.md +0 -56
  1104. package/components/Paging/Paging.md +0 -57
  1105. package/components/PasswordInput/PasswordInput.md +0 -29
  1106. package/components/Radio/Radio.md +0 -57
  1107. package/components/RadioGroup/RadioGroup.md +0 -44
  1108. package/components/ResponsiveLayout/ResponsiveLayout.md +0 -75
  1109. package/components/ScrollContainer/ScrollContainer.md +0 -224
  1110. package/components/Select/Select.md +0 -113
  1111. package/components/SidePage/SidePage.md +0 -65
  1112. package/components/SingleToast/SingleToast.md +0 -36
  1113. package/components/Spinner/Spinner.md +0 -36
  1114. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js +0 -146
  1115. package/components/Spinner/SpinnerFallbackAnimation/SpinnerFallbackAnimation.js.map +0 -1
  1116. package/components/Spinner/SpinnerFallbackAnimation/package.json +0 -6
  1117. package/components/Spinner/SpinnerFallbackAnimation.d.ts +0 -25
  1118. package/components/Sticky/Sticky.md +0 -28
  1119. package/components/Switcher/Switcher.md +0 -111
  1120. package/components/Tabs/Tab.md +0 -73
  1121. package/components/Tabs/Tabs.md +0 -54
  1122. package/components/Textarea/Textarea.md +0 -58
  1123. package/components/Toast/Toast.md +0 -69
  1124. package/components/Toast/ToastStatic/ToastStatic.js +0 -39
  1125. package/components/Toast/ToastStatic/ToastStatic.js.map +0 -1
  1126. package/components/Toast/ToastStatic/package.json +0 -6
  1127. package/components/Toast/ToastStatic.d.ts +0 -10
  1128. package/components/Toggle/Toggle.md +0 -110
  1129. package/components/Token/Token.md +0 -48
  1130. package/components/TokenInput/TokenInput.md +0 -277
  1131. package/components/Tooltip/Tooltip.md +0 -322
  1132. package/components/TooltipMenu/TooltipMenu.md +0 -241
  1133. package/internal/DataTids/DATATIDS.md +0 -12
  1134. package/internal/DataTids/DataTids/DataTids.js +0 -69
  1135. package/internal/DataTids/DataTids/DataTids.js.map +0 -1
  1136. package/internal/DataTids/DataTids/package.json +0 -6
  1137. package/internal/DataTids/DataTids.d.ts +0 -12
  1138. package/internal/DataTids/DataTids.styles/DataTids.styles.js +0 -20
  1139. package/internal/DataTids/DataTids.styles/DataTids.styles.js.map +0 -1
  1140. package/internal/DataTids/DataTids.styles/package.json +0 -6
  1141. package/internal/DataTids/DataTids.styles.d.ts +0 -7
  1142. package/internal/DataTids/componentsDataTids/componentsDataTids.js +0 -12
  1143. package/internal/DataTids/componentsDataTids/componentsDataTids.js.map +0 -1
  1144. package/internal/DataTids/componentsDataTids/package.json +0 -6
  1145. package/internal/DataTids/componentsDataTids.d.ts +0 -5
  1146. package/internal/InputLikeText/HiddenInput/HiddenInput.js +0 -42
  1147. package/internal/InputLikeText/HiddenInput/HiddenInput.js.map +0 -1
  1148. package/internal/InputLikeText/HiddenInput/package.json +0 -6
  1149. package/internal/InputLikeText/HiddenInput.d.ts +0 -13
  1150. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js +0 -191
  1151. package/internal/InternalMaskedInput/InternalMaskedInput/InternalMaskedInput.js.map +0 -1
  1152. package/internal/InternalMaskedInput/InternalMaskedInput/package.json +0 -6
  1153. package/internal/InternalMaskedInput/InternalMaskedInput.d.ts +0 -50
  1154. package/internal/InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js +0 -14
  1155. package/internal/InternalMaskedInput/InternalMaskedInput.styles/InternalMaskedInput.styles.js.map +0 -1
  1156. package/internal/InternalMaskedInput/InternalMaskedInput.styles/package.json +0 -6
  1157. package/internal/InternalMaskedInput/InternalMaskedInput.styles.d.ts +0 -6
  1158. package/internal/InternalMaskedInput/index/index.js +0 -1
  1159. package/internal/InternalMaskedInput/index/index.js.map +0 -1
  1160. package/internal/InternalMaskedInput/index.d.ts +0 -1
  1161. package/internal/ThemePlayground/Playground.md +0 -7
  1162. package/internal/themes/BasicLightTheme/BasicLightTheme.js +0 -6
  1163. package/internal/themes/BasicLightTheme/BasicLightTheme.js.map +0 -1
  1164. package/internal/themes/BasicLightTheme/package.json +0 -6
  1165. package/internal/themes/BasicLightTheme.d.ts +0 -5
  1166. package/internal/themes/DarkTheme5_0/DarkTheme5_0.js +0 -409
  1167. package/internal/themes/DarkTheme5_0/DarkTheme5_0.js.map +0 -1
  1168. package/internal/themes/DarkTheme5_0/package.json +0 -6
  1169. package/internal/themes/DarkTheme5_0.d.ts +0 -1
  1170. package/internal/themes/DarkTheme5_1/DarkTheme5_1.js +0 -52
  1171. package/internal/themes/DarkTheme5_1/DarkTheme5_1.js.map +0 -1
  1172. package/internal/themes/DarkTheme5_1/package.json +0 -6
  1173. package/internal/themes/DarkTheme5_1.d.ts +0 -1
  1174. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js +0 -27
  1175. package/internal/themes/DarkTheme5_2/DarkTheme5_2.js.map +0 -1
  1176. package/internal/themes/DarkTheme5_2/package.json +0 -6
  1177. package/internal/themes/DarkTheme5_2.d.ts +0 -1
  1178. package/internal/themes/LightTheme5_0/package.json +0 -6
  1179. package/internal/themes/LightTheme5_0.d.ts +0 -1
  1180. package/internal/themes/LightTheme5_1/LightTheme5_1.js +0 -52
  1181. package/internal/themes/LightTheme5_1/LightTheme5_1.js.map +0 -1
  1182. package/internal/themes/LightTheme5_1/package.json +0 -6
  1183. package/internal/themes/LightTheme5_1.d.ts +0 -1
  1184. package/internal/themes/LightTheme5_2/LightTheme5_2.js +0 -27
  1185. package/internal/themes/LightTheme5_2/LightTheme5_2.js.map +0 -1
  1186. package/internal/themes/LightTheme5_2/package.json +0 -6
  1187. package/internal/themes/LightTheme5_2.d.ts +0 -1
  1188. package/lib/SSRSafe/SSRSafe.js +0 -4
  1189. package/lib/SSRSafe/SSRSafe.js.map +0 -1
  1190. package/lib/SSRSafe/package.json +0 -6
  1191. package/lib/SSRSafe.d.ts +0 -2
  1192. package/lib/events/fixClickFocusIE/fixClickFocusIE.js +0 -18
  1193. package/lib/events/fixClickFocusIE/fixClickFocusIE.js.map +0 -1
  1194. package/lib/events/fixClickFocusIE/package.json +0 -6
  1195. package/lib/events/fixClickFocusIE.d.ts +0 -1
  1196. package/lib/events/stopPropagation/package.json +0 -6
  1197. package/lib/events/stopPropagation/stopPropagation.js +0 -7
  1198. package/lib/events/stopPropagation/stopPropagation.js.map +0 -1
  1199. package/lib/events/stopPropagation.d.ts +0 -1
  1200. package/lib/events/tabListener/package.json +0 -6
  1201. package/lib/events/tabListener/tabListener.js +0 -2
  1202. package/lib/events/tabListener/tabListener.js.map +0 -1
  1203. package/lib/events/tabListener.d.ts +0 -1
  1204. package/lib/featureFlagsContext/FEATUREFLAGSCONTEXT.md +0 -64
  1205. package/lib/locale/LOCALECONTEXT.md +0 -222
  1206. package/lib/theming/ThemeContext.md +0 -265
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- var _excluded = ["mask", "maskChar", "formatChars", "alwaysShowMask", "colored", "imaskProps", "unmask", "onValueChange", "onUnexpectedInput", "onChange", "element", "className"];
3
+ var _excluded = ["mask", "maskChar", "formatChars", "alwaysShowMask", "colored", "imaskProps", "unmask", "onValueChange", "onUnexpectedInput", "onChange", "onBeforePasteValue", "element", "className", "maxLength"];
4
4
  import React, { useImperativeHandle, useRef, useState, useEffect, useContext } from 'react';
5
5
  import { forwardRefAndName } from "../../../lib/forwardRefAndName";
6
6
  import { cx } from "../../../lib/theming/Emotion";
@@ -11,6 +11,20 @@ import { globalClasses, styles } from "../MaskedInput.styles";
11
11
  import { getDefinitions, getMaskChar } from "../MaskedInput.helpers";
12
12
  import { ColorableInputElement } from "../ColorableInputElement";
13
13
  import { FixedIMaskInput } from "../FixedIMaskInput";
14
+ export var getSafeMaskInputType = function getSafeMaskInputType(type) {
15
+ if (!type) {
16
+ return type;
17
+ }
18
+ switch (type) {
19
+ case 'number':
20
+ case 'date':
21
+ case 'time':
22
+ case 'password':
23
+ return 'text';
24
+ default:
25
+ return type;
26
+ }
27
+ };
14
28
 
15
29
  /**
16
30
  * Интерфейс пропсов наследуется от `Input`.
@@ -31,8 +45,10 @@ export var MaskedInput = forwardRefAndName('MaskedInput', function MaskedInput(p
31
45
  onValueChange = props.onValueChange,
32
46
  onUnexpectedInput = props.onUnexpectedInput,
33
47
  onChange = props.onChange,
48
+ onBeforePasteValue = props.onBeforePasteValue,
34
49
  element = props.element,
35
50
  className = props.className,
51
+ maxLength = props.maxLength,
36
52
  inputProps = _objectWithoutPropertiesLoose(props, _excluded);
37
53
  var theme = useContext(ThemeContext);
38
54
  var inputRef = useRef(null);
@@ -61,10 +77,6 @@ export var MaskedInput = forwardRefAndName('MaskedInput', function MaskedInput(p
61
77
  }
62
78
  }, []);
63
79
  var imaskProps = getCompatibleIMaskProps();
64
-
65
- // TODO: Удалить в следующем мажоре
66
- // Селекторы могут ожидать определённый порядок классов
67
- var uiFontGlobalClassesRoot = 'react-ui-ui-font-root';
68
80
  return /*#__PURE__*/(
69
81
  React.createElement(Input, _extends({
70
82
  ref: inputRef
@@ -73,10 +85,12 @@ export var MaskedInput = forwardRefAndName('MaskedInput', function MaskedInput(p
73
85
  onBlur: handleBlur,
74
86
  onInput: handleInput,
75
87
  onKeyDown: handleKeyDown,
76
- className: cx(globalClasses.root, uiFontGlobalClassesRoot, className, styles.root(theme)),
88
+ onPaste: handlePaste,
89
+ className: cx(globalClasses.root, className, styles.root(theme)),
77
90
  element: colored ? /*#__PURE__*/
78
91
  React.createElement(ColorableInputElement, {
79
- showOnFocus: false
92
+ showOnFocus: false,
93
+ alwaysShowMask: alwaysShowMask
80
94
  }, /*#__PURE__*/
81
95
  React.createElement(FixedIMaskInput, _extends({}, imaskProps, {
82
96
  onAccept: handleAccept
@@ -87,6 +101,14 @@ export var MaskedInput = forwardRefAndName('MaskedInput', function MaskedInput(p
87
101
  }))
88
102
  }))
89
103
  );
104
+ function handlePaste(event) {
105
+ if (onBeforePasteValue && onValueChange) {
106
+ var _event$clipboardData$, _event$clipboardData;
107
+ event.preventDefault();
108
+ onValueChange == null || onValueChange(onBeforePasteValue((_event$clipboardData$ = (_event$clipboardData = event.clipboardData) == null ? void 0 : _event$clipboardData.getData('text')) != null ? _event$clipboardData$ : ''));
109
+ }
110
+ props.onPaste == null || props.onPaste(event);
111
+ }
90
112
  function getCompatibleIMaskProps() {
91
113
  return _extends({
92
114
  mask: mask.replace(/0/g, '{\\0}'),
@@ -1 +1 @@
1
- {"version":3,"names":["React","useImperativeHandle","useRef","useState","useEffect","useContext","forwardRefAndName","cx","Input","isKeyBackspace","isKeyDelete","ThemeContext","globalClasses","styles","getDefinitions","getMaskChar","ColorableInputElement","FixedIMaskInput","MaskedInput","props","ref","mask","maskChar","formatChars","_props$alwaysShowMask","alwaysShowMask","_props$colored","colored","_props$imaskProps","imaskProps","customIMaskProps","_props$unmask","unmask","onValueChange","onUnexpectedInput","onChange","element","className","inputProps","_objectWithoutPropertiesLoose","_excluded","theme","inputRef","_useState","focused","setFocused","prevValue","value","String","defaultValue","prevSelectionStart","current","Object","assign","selectAll","_inputRef$current","_inputRef$current2","focus","delaySelectAll","_inputRef$current3","input","selectionStart","getCompatibleIMaskProps","uiFontGlobalClassesRoot","createElement","_extends","onFocus","handleFocus","onBlur","handleBlur","onInput","handleInput","onKeyDown","handleKeyDown","root","showOnFocus","onAccept","handleAccept","replace","placeholderChar","definitions","eager","overwrite","lazy","disabled","_len","arguments","length","args","Array","_key","e","_e$currentTarget","currentTarget","handleUnexpectedInput","_inputRef$current4","selectAllOnFocus","_inputRef$current5","blink","bind","undefined","_e$currentTarget2","selectionEnd"],"sources":["MaskedInput.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState, useEffect, useContext } from 'react';\nimport type { IMaskInputProps } from '@skbkontur/react-imask';\nimport type { Ref } from 'react';\n\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { InputProps, InputType } from '../Input';\nimport { Input } from '../Input';\nimport { isKeyBackspace, isKeyDelete } from '../../lib/events/keyboard/identifiers';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { globalClasses, styles } from './MaskedInput.styles';\nimport { getDefinitions, getMaskChar } from './MaskedInput.helpers';\nimport { ColorableInputElement } from './ColorableInputElement';\nimport { FixedIMaskInput } from './FixedIMaskInput';\n\nexport interface MaskedProps {\n /** Паттерн маски */\n mask: string;\n\n /** Устанавливает символ маски\n * @default _ */\n maskChar?: string;\n\n /** Задает словарь символов-регулярок для задания маски.\n * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' } */\n formatChars?: Record<string, string>;\n\n /** Включает показ символов маски.\n * @default false */\n alwaysShowMask?: boolean;\n\n /** Задает обработчик неправильного ввода.\n * Вторым агрументом будет передан метод вспыхивания акцентным цветом.\n *\n * Если обработчик не задан, то инпут вспыхивает по-умолчанию.\n * @param value значение инпута.\n * @param blink вспыхнуть акцентным цвтетом.\n */\n onUnexpectedInput?: (value: string, blink: () => void) => void;\n\n /** Убирает из value символы, не введённые пользователем\n * @default false */\n unmask?: boolean;\n\n /** Раскрашивает символы маски.\n * @default true\n * @ignore */\n colored?: boolean;\n\n /** Задает пропы для компонента `IMaskInput`. Необходимы для юнит-тестов\n * @ignore */\n imaskProps?: IMaskInputProps<HTMLInputElement>;\n}\n\nexport type MaskInputType = Exclude<InputType, 'number' | 'date' | 'time' | 'password'>;\n\nexport interface MaskedInputProps\n extends MaskedProps,\n Omit<\n InputProps,\n 'showClearIcon' | 'mask' | 'maxLength' | 'type' | 'alwaysShowMask' | 'onUnexpectedInput' | 'maskChar'\n > {\n type?: MaskInputType;\n}\n\n/**\n * Интерфейс пропсов наследуется от `Input`.\n * Из пропсов `Input` исключены некоторые не применимые к полю с маской пропсы и сокращен список возможных значений в type.\n */\nexport const MaskedInput = forwardRefAndName(\n 'MaskedInput',\n function MaskedInput(props: MaskedInputProps, ref: Ref<Input | null>) {\n const {\n mask,\n maskChar,\n formatChars,\n alwaysShowMask = false,\n colored = true,\n imaskProps: customIMaskProps = {},\n unmask = false,\n onValueChange,\n onUnexpectedInput,\n onChange,\n element,\n className,\n ...inputProps\n } = props;\n const theme = useContext(ThemeContext);\n\n const inputRef = useRef<Input>(null);\n\n const [focused, setFocused] = useState(false);\n const prevValue = useRef<string>(props.value || String(props.defaultValue) || '');\n const prevSelectionStart = useRef<number | null>(null);\n\n useImperativeHandle(\n ref,\n () =>\n inputRef.current &&\n Object.assign(inputRef.current, {\n selectAll: () => {\n inputRef.current?.focus();\n inputRef.current?.delaySelectAll();\n },\n }),\n [],\n );\n\n useEffect(() => {\n // Для корректной работы onUnexpectedInput надо знать предыдущий value,\n // но imask при монтировании не вызывает onAccept, если value невалиден или laze=false.\n // Поэтому актуальный value при монтировании надо получать вручную\n if (inputRef.current?.input) {\n prevValue.current = inputRef.current.input.value;\n prevSelectionStart.current = inputRef.current.input.selectionStart;\n }\n }, []);\n\n const imaskProps = getCompatibleIMaskProps();\n\n // TODO: Удалить в следующем мажоре\n // Селекторы могут ожидать определённый порядок классов\n const uiFontGlobalClassesRoot = 'react-ui-ui-font-root';\n\n return (\n <Input\n ref={inputRef}\n {...inputProps}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onInput={handleInput}\n onKeyDown={handleKeyDown}\n className={cx(globalClasses.root, uiFontGlobalClassesRoot, className, styles.root(theme))}\n element={\n colored ? (\n <ColorableInputElement showOnFocus={false}>\n <FixedIMaskInput {...imaskProps} onAccept={handleAccept} />\n </ColorableInputElement>\n ) : (\n <FixedIMaskInput {...imaskProps} onAccept={handleAccept} />\n )\n }\n />\n );\n\n function getCompatibleIMaskProps(): IMaskInputProps<HTMLInputElement> {\n return {\n mask: mask.replace(/0/g, '{\\\\0}') as any,\n placeholderChar: getMaskChar(maskChar),\n definitions: getDefinitions(formatChars),\n // FIXME: Должно быть eager=true, но в imask ломается удаление по delete\n eager: 'append',\n overwrite: 'shift',\n lazy: !alwaysShowMask && (props.disabled || !focused),\n unmask,\n ...customIMaskProps,\n } as IMaskInputProps<HTMLInputElement>;\n }\n\n function handleAccept(...args: Parameters<Required<IMaskInputProps<HTMLInputElement>>['onAccept']>) {\n const [value, , e] = args;\n\n // Метод onAccept может вызываться при монтировании, если не задан проп defaultValue.\n // Но нативный input никогда не вызывает onChange при монтировании.\n // Наше событие onValueChange в Input вывается в тех же случаях, что и нативный onChange,\n // поэтому чтобы сохранить консинстентность будем ориентироваться на наличие аргумента e.\n // Он содержит нативное событие, вызвавшее изменение.\n e && onValueChange?.(value);\n !e && (prevValue.current = value);\n }\n\n /**\n * Отслеживаем неожиданные нажатия\n * handleAccept не вызывается когда значение с маской не меняется\n * Сначала вызывается handleAccept, затем handleInput\n */\n function handleInput(e: React.ChangeEvent<HTMLInputElement>) {\n const { value, selectionStart } = e.currentTarget;\n\n // При вводе неожиданных символов или удалении каретка может перепрыгивать фиксированные символы.\n // Такие случаи не расцениваем как неожиданный ввод, т.к. пользователь может намеренно их вводить.\n if (prevValue.current === value && selectionStart === prevSelectionStart.current) {\n handleUnexpectedInput(value);\n }\n prevValue.current = value;\n prevSelectionStart.current = selectionStart;\n\n props.onInput?.(e);\n }\n\n function handleFocus(e: React.FocusEvent<HTMLInputElement>) {\n setFocused(true);\n props.onFocus?.(e);\n\n // Если value из пропов отличается от value, которое получит input после обработки,\n // то imask будет ставить каретку за последним валидным символом.\n props.selectAllOnFocus && inputRef.current?.delaySelectAll();\n }\n\n function handleUnexpectedInput(value: string) {\n const blink = inputRef.current?.blink.bind(inputRef.current) || (() => undefined);\n onUnexpectedInput ? onUnexpectedInput(value, blink) : blink();\n }\n\n function handleBlur(e: React.FocusEvent<HTMLInputElement>) {\n setFocused(false);\n props.onBlur?.(e);\n }\n\n function handleKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\n const { value, selectionStart, selectionEnd } = e.currentTarget;\n\n if (\n (isKeyBackspace(e) && selectionStart === 0 && selectionEnd === 0) ||\n (isKeyDelete(e) && prevSelectionStart.current === value.length)\n ) {\n // Случаи, когда нажатие клавиш не тригерит `onInput`\n handleUnexpectedInput(value);\n prevValue.current = e.currentTarget.value;\n }\n prevSelectionStart.current = selectionStart;\n\n props.onKeyDown?.(e);\n }\n },\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useImperativeHandle","useRef","useState","useEffect","useContext","forwardRefAndName","cx","Input","isKeyBackspace","isKeyDelete","ThemeContext","globalClasses","styles","getDefinitions","getMaskChar","ColorableInputElement","FixedIMaskInput","getSafeMaskInputType","type","MaskedInput","props","ref","mask","maskChar","formatChars","_props$alwaysShowMask","alwaysShowMask","_props$colored","colored","_props$imaskProps","imaskProps","customIMaskProps","_props$unmask","unmask","onValueChange","onUnexpectedInput","onChange","onBeforePasteValue","element","className","maxLength","inputProps","_objectWithoutPropertiesLoose","_excluded","theme","inputRef","_useState","focused","setFocused","prevValue","value","String","defaultValue","prevSelectionStart","current","Object","assign","selectAll","_inputRef$current","_inputRef$current2","focus","delaySelectAll","_inputRef$current3","input","selectionStart","getCompatibleIMaskProps","createElement","_extends","onFocus","handleFocus","onBlur","handleBlur","onInput","handleInput","onKeyDown","handleKeyDown","onPaste","handlePaste","root","showOnFocus","onAccept","handleAccept","event","_event$clipboardData$","_event$clipboardData","preventDefault","clipboardData","getData","replace","placeholderChar","definitions","eager","overwrite","lazy","disabled","_len","arguments","length","args","Array","_key","e","_e$currentTarget","currentTarget","handleUnexpectedInput","_inputRef$current4","selectAllOnFocus","_inputRef$current5","blink","bind","undefined","_e$currentTarget2","selectionEnd"],"sources":["MaskedInput.tsx"],"sourcesContent":["import React, { useImperativeHandle, useRef, useState, useEffect, useContext } from 'react';\nimport type { IMaskInputProps } from '@skbkontur/react-imask';\nimport type { Ref } from 'react';\n\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { InputProps, InputType } from '../Input';\nimport { Input } from '../Input';\nimport { isKeyBackspace, isKeyDelete } from '../../lib/events/keyboard/identifiers';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { globalClasses, styles } from './MaskedInput.styles';\nimport { getDefinitions, getMaskChar } from './MaskedInput.helpers';\nimport { ColorableInputElement } from './ColorableInputElement';\nimport { FixedIMaskInput } from './FixedIMaskInput';\n\nexport type MaskedInputOnBeforePasteValue = (value: string) => string;\n\nexport interface MaskedProps {\n /** Паттерн маски */\n mask: string;\n\n /** Устанавливает символ маски\n * @default _ */\n maskChar?: string;\n\n /** Задает словарь символов-регулярок для задания маски.\n * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' } */\n formatChars?: Record<string, string>;\n\n /** Включает показ символов маски.\n * @default false */\n alwaysShowMask?: boolean;\n\n /** Задает обработчик неправильного ввода.\n * Вторым агрументом будет передан метод вспыхивания акцентным цветом.\n *\n * Если обработчик не задан, то инпут вспыхивает по-умолчанию.\n * @param value значение инпута.\n * @param blink вспыхнуть акцентным цвтетом.\n */\n onUnexpectedInput?: (value: string, blink: () => void) => void;\n\n /** Задает обработчик вставки значения в инпут.\n * В value будет передано значение из буфера обмена.\n * Возвращаемое значение будет использовано как значение инпута.\n * Используется для фильтрации значения при вставке из буфера обмена.\n * @param value значение вставки.\n */\n onBeforePasteValue?: MaskedInputOnBeforePasteValue;\n\n /** Убирает из value символы, не введённые пользователем\n * @default false */\n unmask?: boolean;\n\n /** Раскрашивает символы маски.\n * @default true\n * @ignore */\n colored?: boolean;\n\n /** Задает пропы для компонента `IMaskInput`. Необходимы для юнит-тестов\n * @ignore */\n imaskProps?: IMaskInputProps<HTMLInputElement>;\n}\n\nexport type MaskInputType = Exclude<InputType, 'number' | 'date' | 'time' | 'password'>;\n\nexport const getSafeMaskInputType = (type?: InputType): MaskInputType | undefined => {\n if (!type) {\n return type;\n }\n\n switch (type) {\n case 'number':\n case 'date':\n case 'time':\n case 'password':\n return 'text';\n default:\n return type;\n }\n};\n\nexport interface MaskedInputProps\n extends MaskedProps,\n Omit<\n InputProps,\n 'showClearIcon' | 'mask' | 'maxLength' | 'type' | 'alwaysShowMask' | 'onUnexpectedInput' | 'maskChar'\n > {\n type?: MaskInputType;\n}\n\n/**\n * Интерфейс пропсов наследуется от `Input`.\n * Из пропсов `Input` исключены некоторые не применимые к полю с маской пропсы и сокращен список возможных значений в type.\n */\nexport const MaskedInput = forwardRefAndName(\n 'MaskedInput',\n function MaskedInput(props: MaskedInputProps, ref: Ref<Input | null>) {\n const {\n mask,\n maskChar,\n formatChars,\n alwaysShowMask = false,\n colored = true,\n imaskProps: customIMaskProps = {},\n unmask = false,\n onValueChange,\n onUnexpectedInput,\n onChange,\n onBeforePasteValue,\n element,\n className,\n // @ts-expect-error: могут передавать игнорируя ошибку\n maxLength,\n ...inputProps\n } = props;\n const theme = useContext(ThemeContext);\n\n const inputRef = useRef<Input>(null);\n\n const [focused, setFocused] = useState(false);\n const prevValue = useRef<string>(props.value || String(props.defaultValue) || '');\n const prevSelectionStart = useRef<number | null>(null);\n\n useImperativeHandle(\n ref,\n () =>\n inputRef.current &&\n Object.assign(inputRef.current, {\n selectAll: () => {\n inputRef.current?.focus();\n inputRef.current?.delaySelectAll();\n },\n }),\n [],\n );\n\n useEffect(() => {\n // Для корректной работы onUnexpectedInput надо знать предыдущий value,\n // но imask при монтировании не вызывает onAccept, если value невалиден или laze=false.\n // Поэтому актуальный value при монтировании надо получать вручную\n if (inputRef.current?.input) {\n prevValue.current = inputRef.current.input.value;\n prevSelectionStart.current = inputRef.current.input.selectionStart;\n }\n }, []);\n\n const imaskProps = getCompatibleIMaskProps();\n\n return (\n <Input\n ref={inputRef}\n {...inputProps}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onInput={handleInput}\n onKeyDown={handleKeyDown}\n onPaste={handlePaste}\n className={cx(globalClasses.root, className, styles.root(theme))}\n element={\n colored ? (\n <ColorableInputElement showOnFocus={false} alwaysShowMask={alwaysShowMask}>\n <FixedIMaskInput {...imaskProps} onAccept={handleAccept} />\n </ColorableInputElement>\n ) : (\n <FixedIMaskInput {...imaskProps} onAccept={handleAccept} />\n )\n }\n />\n );\n\n function handlePaste(event: React.ClipboardEvent<HTMLInputElement>) {\n if (onBeforePasteValue && onValueChange) {\n event.preventDefault();\n onValueChange?.(onBeforePasteValue(event.clipboardData?.getData('text') ?? ''));\n }\n\n props.onPaste?.(event);\n }\n\n function getCompatibleIMaskProps(): IMaskInputProps<HTMLInputElement> {\n return {\n mask: mask.replace(/0/g, '{\\\\0}') as any,\n placeholderChar: getMaskChar(maskChar),\n definitions: getDefinitions(formatChars),\n // FIXME: Должно быть eager=true, но в imask ломается удаление по delete\n eager: 'append',\n overwrite: 'shift',\n lazy: !alwaysShowMask && (props.disabled || !focused),\n unmask,\n ...customIMaskProps,\n } as IMaskInputProps<HTMLInputElement>;\n }\n\n function handleAccept(...args: Parameters<Required<IMaskInputProps<HTMLInputElement>>['onAccept']>) {\n const [value, , e] = args;\n\n // Метод onAccept может вызываться при монтировании, если не задан проп defaultValue.\n // Но нативный input никогда не вызывает onChange при монтировании.\n // Наше событие onValueChange в Input вывается в тех же случаях, что и нативный onChange,\n // поэтому чтобы сохранить консинстентность будем ориентироваться на наличие аргумента e.\n // Он содержит нативное событие, вызвавшее изменение.\n e && onValueChange?.(value);\n !e && (prevValue.current = value);\n }\n\n /**\n * Отслеживаем неожиданные нажатия\n * handleAccept не вызывается когда значение с маской не меняется\n * Сначала вызывается handleAccept, затем handleInput\n */\n function handleInput(e: React.ChangeEvent<HTMLInputElement>) {\n const { value, selectionStart } = e.currentTarget;\n\n // При вводе неожиданных символов или удалении каретка может перепрыгивать фиксированные символы.\n // Такие случаи не расцениваем как неожиданный ввод, т.к. пользователь может намеренно их вводить.\n if (prevValue.current === value && selectionStart === prevSelectionStart.current) {\n handleUnexpectedInput(value);\n }\n prevValue.current = value;\n prevSelectionStart.current = selectionStart;\n\n props.onInput?.(e);\n }\n\n function handleFocus(e: React.FocusEvent<HTMLInputElement>) {\n setFocused(true);\n props.onFocus?.(e);\n\n // Если value из пропов отличается от value, которое получит input после обработки,\n // то imask будет ставить каретку за последним валидным символом.\n props.selectAllOnFocus && inputRef.current?.delaySelectAll();\n }\n\n function handleUnexpectedInput(value: string) {\n const blink = inputRef.current?.blink.bind(inputRef.current) || (() => undefined);\n onUnexpectedInput ? onUnexpectedInput(value, blink) : blink();\n }\n\n function handleBlur(e: React.FocusEvent<HTMLInputElement>) {\n setFocused(false);\n props.onBlur?.(e);\n }\n\n function handleKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\n const { value, selectionStart, selectionEnd } = e.currentTarget;\n\n if (\n (isKeyBackspace(e) && selectionStart === 0 && selectionEnd === 0) ||\n (isKeyDelete(e) && prevSelectionStart.current === value.length)\n ) {\n // Случаи, когда нажатие клавиш не тригерит `onInput`\n handleUnexpectedInput(value);\n prevValue.current = e.currentTarget.value;\n }\n prevSelectionStart.current = selectionStart;\n\n props.onKeyDown?.(e);\n }\n },\n);\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import type { IMaskInputProps } from '@skbkontur/react-imask';
2
2
  import type { InputProps, InputType } from '../Input';
3
3
  import { Input } from '../Input';
4
+ export type MaskedInputOnBeforePasteValue = (value: string) => string;
4
5
  export interface MaskedProps {
5
6
  /** Паттерн маски */
6
7
  mask: string;
@@ -21,6 +22,13 @@ export interface MaskedProps {
21
22
  * @param blink вспыхнуть акцентным цвтетом.
22
23
  */
23
24
  onUnexpectedInput?: (value: string, blink: () => void) => void;
25
+ /** Задает обработчик вставки значения в инпут.
26
+ * В value будет передано значение из буфера обмена.
27
+ * Возвращаемое значение будет использовано как значение инпута.
28
+ * Используется для фильтрации значения при вставке из буфера обмена.
29
+ * @param value значение вставки.
30
+ */
31
+ onBeforePasteValue?: MaskedInputOnBeforePasteValue;
24
32
  /** Убирает из value символы, не введённые пользователем
25
33
  * @default false */
26
34
  unmask?: boolean;
@@ -33,6 +41,7 @@ export interface MaskedProps {
33
41
  imaskProps?: IMaskInputProps<HTMLInputElement>;
34
42
  }
35
43
  export type MaskInputType = Exclude<InputType, 'number' | 'date' | 'time' | 'password'>;
44
+ export declare const getSafeMaskInputType: (type?: InputType) => MaskInputType | undefined;
36
45
  export interface MaskedInputProps extends MaskedProps, Omit<InputProps, 'showClearIcon' | 'mask' | 'maxLength' | 'type' | 'alwaysShowMask' | 'onUnexpectedInput' | 'maskChar'> {
37
46
  type?: MaskInputType;
38
47
  }
@@ -60,8 +60,6 @@ var MenuFooter = forwardRefAndName('MenuFooter', function MenuFooter(_ref, ref)
60
60
  }, children))
61
61
  );
62
62
  });
63
-
64
- //@ts-ignore
65
63
  MenuFooter.__MENU_FOOTER__ = true;
66
64
  export { MenuFooter };
67
65
  export var isMenuFooter = function isMenuFooter(child) {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useContext","ThemeContext","CommonWrapper","cx","forwardRefAndName","styles","MenuFooterDataTids","root","MenuFooter","_ref","ref","_cx","id","_ref$_enableIconPaddi","_enableIconPadding","children","_ref$size","size","rest","_objectWithoutPropertiesLoose","_excluded","theme","getRootSizeClassName","rootLarge","rootMedium","rootSmall","getWithLeftPaddingSizeClassName","withLeftPaddingSmall","withLeftPaddingMedium","createElement","className","__MENU_FOOTER__","isMenuFooter","child","isValidElement","Object","prototype","hasOwnProperty","call","type"],"sources":["MenuFooter.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\nimport React, { useContext } from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { SizeProp } from '../../lib/types/props';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\n\nimport { styles } from './MenuFooter.styles';\n\nexport interface MenuFooterProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Добавляет отступ иконке. */\n _enableIconPadding?: boolean;\n\n /** @ignore */\n children: ReactNode;\n\n /** Задает размер. */\n size?: SizeProp;\n}\n\nexport const MenuFooterDataTids = {\n root: 'MenuFooter__root',\n} as const;\n\n/**\n * Футер меню `MenuFooter`.\n *\n * `MenuFooter`, в отличие от `MenuItem` нельзя затаргетить с клавиатуры.\n *\n * Сущности, в которых может быть использован `MenuFooter`: DropdownMenu, Kebab, TooltipMenu и Select.\n */\n\nconst MenuFooter = forwardRefAndName(\n 'MenuFooter',\n function MenuFooter(\n { id, _enableIconPadding = false, children, size = 'small', ...rest }: MenuFooterProps,\n ref: React.Ref<HTMLDivElement>,\n ) {\n const theme = useContext(ThemeContext);\n function getRootSizeClassName() {\n switch (size) {\n case 'large':\n return styles.rootLarge(theme);\n case 'medium':\n return styles.rootMedium(theme);\n case 'small':\n default:\n return styles.rootSmall(theme);\n }\n }\n function getWithLeftPaddingSizeClassName() {\n switch (size) {\n case 'large':\n return styles.withLeftPaddingSmall(theme);\n case 'medium':\n return styles.withLeftPaddingMedium(theme);\n case 'small':\n default:\n return styles.withLeftPaddingSmall(theme);\n }\n }\n\n return (\n <CommonWrapper {...rest}>\n <div\n id={id}\n ref={ref}\n data-tid={MenuFooterDataTids.root}\n className={cx(getRootSizeClassName(), {\n [styles.root(theme)]: true,\n [getWithLeftPaddingSizeClassName()]: _enableIconPadding,\n })}\n >\n {children}\n </div>\n </CommonWrapper>\n );\n },\n);\n\n//@ts-ignore\nMenuFooter.__MENU_FOOTER__ = true;\n\nexport { MenuFooter };\n\nexport const isMenuFooter = (child: React.ReactNode): child is React.ReactElement<MenuFooterProps> => {\n return React.isValidElement<MenuFooterProps>(child)\n ? Object.prototype.hasOwnProperty.call(child.type, '__MENU_FOOTER__')\n : false;\n};\n"],"mappings":";AACA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;;AAEzC,SAASC,YAAY,QAAQ,gCAAgC;;AAE7D,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,EAAE,QAAQ,2BAA2B;;AAE9C,SAASC,iBAAiB,QAAQ,6BAA6B;;AAE/D,SAASC,MAAM,QAAQ,qBAAqB;;;;;;;;;;;;;AAa5C,OAAO,IAAMC,kBAAkB,GAAG;EAChCC,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,UAAU,GAAGJ,iBAAiB;EAClC,YAAY;EACZ,SAASI,UAAUA,CAAAC,IAAA;;EAEjBC,GAA8B;EAC9B,KAAAC,GAAA,KAFEC,EAAE,GAAAH,IAAA,CAAFG,EAAE,CAAAC,qBAAA,GAAAJ,IAAA,CAAEK,kBAAkB,CAAlBA,kBAAkB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA,CAAEE,QAAQ,GAAAN,IAAA,CAARM,QAAQ,CAAAC,SAAA,GAAAP,IAAA,CAAEQ,IAAI,CAAJA,IAAI,GAAAD,SAAA,cAAG,OAAO,GAAAA,SAAA,CAAKE,IAAI,GAAAC,6BAAA,CAAAV,IAAA,EAAAW,SAAA;IAGnE,IAAMC,KAAK,GAAGrB,UAAU,CAACC,YAAY,CAAC;IACtC,SAASqB,oBAAoBA,CAAA,EAAG;MAC9B,QAAQL,IAAI;QACV,KAAK,OAAO;UACV,OAAOZ,MAAM,CAACkB,SAAS,CAACF,KAAK,CAAC;QAChC,KAAK,QAAQ;UACX,OAAOhB,MAAM,CAACmB,UAAU,CAACH,KAAK,CAAC;QACjC,KAAK,OAAO;QACZ;UACE,OAAOhB,MAAM,CAACoB,SAAS,CAACJ,KAAK,CAAC;MAClC;IACF;IACA,SAASK,+BAA+BA,CAAA,EAAG;MACzC,QAAQT,IAAI;QACV,KAAK,OAAO;UACV,OAAOZ,MAAM,CAACsB,oBAAoB,CAACN,KAAK,CAAC;QAC3C,KAAK,QAAQ;UACX,OAAOhB,MAAM,CAACuB,qBAAqB,CAACP,KAAK,CAAC;QAC5C,KAAK,OAAO;QACZ;UACE,OAAOhB,MAAM,CAACsB,oBAAoB,CAACN,KAAK,CAAC;MAC7C;IACF;;IAEA;MACEtB,KAAA,CAAA8B,aAAA,CAAC3B,aAAa,EAAKgB,IAAI;MACrBnB,KAAA,CAAA8B,aAAA;QACEjB,EAAE,EAAEA,EAAG;QACPF,GAAG,EAAEA,GAAI;QACT,YAAUJ,kBAAkB,CAACC,IAAK;QAClCuB,SAAS,EAAE3B,EAAE,CAACmB,oBAAoB,CAAC,CAAC,GAAAX,GAAA,OAAAA,GAAA;QACjCN,MAAM,CAACE,IAAI,CAACc,KAAK,CAAC,IAAG,IAAI,EAAAV,GAAA;QACzBe,+BAA+B,CAAC,CAAC,IAAGZ,kBAAkB,EAAAH,GAAA;QACxD,CAAE;;MAEFI;MACE;MACQ,CAAC;;EAEpB;AACF,CAAC;;AAED;AACAP,UAAU,CAACuB,eAAe,GAAG,IAAI;;AAEjC,SAASvB,UAAU;;AAEnB,OAAO,IAAMwB,YAAY,GAAG,SAAfA,YAAYA,CAAIC,KAAsB,EAAmD;EACpG,OAAO,aAAAlC,KAAK,CAACmC,cAAc,CAAkBD,KAAK,CAAC;EAC/CE,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACL,KAAK,CAACM,IAAI,EAAE,iBAAiB,CAAC;EACnE,KAAK;AACX,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useContext","ThemeContext","CommonWrapper","cx","forwardRefAndName","styles","MenuFooterDataTids","root","MenuFooter","_ref","ref","_cx","id","_ref$_enableIconPaddi","_enableIconPadding","children","_ref$size","size","rest","_objectWithoutPropertiesLoose","_excluded","theme","getRootSizeClassName","rootLarge","rootMedium","rootSmall","getWithLeftPaddingSizeClassName","withLeftPaddingSmall","withLeftPaddingMedium","createElement","className","__MENU_FOOTER__","isMenuFooter","child","isValidElement","Object","prototype","hasOwnProperty","call","type"],"sources":["MenuFooter.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\nimport React, { useContext } from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { SizeProp } from '../../lib/types/props';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\n\nimport { styles } from './MenuFooter.styles';\n\nexport interface MenuFooterProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Добавляет отступ иконке. */\n _enableIconPadding?: boolean;\n\n /** @ignore */\n children: ReactNode;\n\n /** Задает размер. */\n size?: SizeProp;\n}\n\nexport const MenuFooterDataTids = {\n root: 'MenuFooter__root',\n} as const;\n\n/**\n * Футер меню `MenuFooter`.\n *\n * `MenuFooter`, в отличие от `MenuItem` нельзя затаргетить с клавиатуры.\n *\n * Сущности, в которых может быть использован `MenuFooter`: DropdownMenu, Kebab, TooltipMenu и Select.\n */\n\nconst MenuFooter = forwardRefAndName(\n 'MenuFooter',\n function MenuFooter(\n { id, _enableIconPadding = false, children, size = 'small', ...rest }: MenuFooterProps,\n ref: React.Ref<HTMLDivElement>,\n ) {\n const theme = useContext(ThemeContext);\n function getRootSizeClassName() {\n switch (size) {\n case 'large':\n return styles.rootLarge(theme);\n case 'medium':\n return styles.rootMedium(theme);\n case 'small':\n default:\n return styles.rootSmall(theme);\n }\n }\n function getWithLeftPaddingSizeClassName() {\n switch (size) {\n case 'large':\n return styles.withLeftPaddingSmall(theme);\n case 'medium':\n return styles.withLeftPaddingMedium(theme);\n case 'small':\n default:\n return styles.withLeftPaddingSmall(theme);\n }\n }\n\n return (\n <CommonWrapper {...rest}>\n <div\n id={id}\n ref={ref}\n data-tid={MenuFooterDataTids.root}\n className={cx(getRootSizeClassName(), {\n [styles.root(theme)]: true,\n [getWithLeftPaddingSizeClassName()]: _enableIconPadding,\n })}\n >\n {children}\n </div>\n </CommonWrapper>\n );\n },\n);\n\n(MenuFooter as any).__MENU_FOOTER__ = true;\n\nexport { MenuFooter };\n\nexport const isMenuFooter = (child: React.ReactNode): child is React.ReactElement<MenuFooterProps> => {\n return React.isValidElement<MenuFooterProps>(child)\n ? Object.prototype.hasOwnProperty.call(child.type, '__MENU_FOOTER__')\n : false;\n};\n"],"mappings":";AACA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;;AAEzC,SAASC,YAAY,QAAQ,gCAAgC;;AAE7D,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,EAAE,QAAQ,2BAA2B;;AAE9C,SAASC,iBAAiB,QAAQ,6BAA6B;;AAE/D,SAASC,MAAM,QAAQ,qBAAqB;;;;;;;;;;;;;AAa5C,OAAO,IAAMC,kBAAkB,GAAG;EAChCC,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,UAAU,GAAGJ,iBAAiB;EAClC,YAAY;EACZ,SAASI,UAAUA,CAAAC,IAAA;;EAEjBC,GAA8B;EAC9B,KAAAC,GAAA,KAFEC,EAAE,GAAAH,IAAA,CAAFG,EAAE,CAAAC,qBAAA,GAAAJ,IAAA,CAAEK,kBAAkB,CAAlBA,kBAAkB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA,CAAEE,QAAQ,GAAAN,IAAA,CAARM,QAAQ,CAAAC,SAAA,GAAAP,IAAA,CAAEQ,IAAI,CAAJA,IAAI,GAAAD,SAAA,cAAG,OAAO,GAAAA,SAAA,CAAKE,IAAI,GAAAC,6BAAA,CAAAV,IAAA,EAAAW,SAAA;IAGnE,IAAMC,KAAK,GAAGrB,UAAU,CAACC,YAAY,CAAC;IACtC,SAASqB,oBAAoBA,CAAA,EAAG;MAC9B,QAAQL,IAAI;QACV,KAAK,OAAO;UACV,OAAOZ,MAAM,CAACkB,SAAS,CAACF,KAAK,CAAC;QAChC,KAAK,QAAQ;UACX,OAAOhB,MAAM,CAACmB,UAAU,CAACH,KAAK,CAAC;QACjC,KAAK,OAAO;QACZ;UACE,OAAOhB,MAAM,CAACoB,SAAS,CAACJ,KAAK,CAAC;MAClC;IACF;IACA,SAASK,+BAA+BA,CAAA,EAAG;MACzC,QAAQT,IAAI;QACV,KAAK,OAAO;UACV,OAAOZ,MAAM,CAACsB,oBAAoB,CAACN,KAAK,CAAC;QAC3C,KAAK,QAAQ;UACX,OAAOhB,MAAM,CAACuB,qBAAqB,CAACP,KAAK,CAAC;QAC5C,KAAK,OAAO;QACZ;UACE,OAAOhB,MAAM,CAACsB,oBAAoB,CAACN,KAAK,CAAC;MAC7C;IACF;;IAEA;MACEtB,KAAA,CAAA8B,aAAA,CAAC3B,aAAa,EAAKgB,IAAI;MACrBnB,KAAA,CAAA8B,aAAA;QACEjB,EAAE,EAAEA,EAAG;QACPF,GAAG,EAAEA,GAAI;QACT,YAAUJ,kBAAkB,CAACC,IAAK;QAClCuB,SAAS,EAAE3B,EAAE,CAACmB,oBAAoB,CAAC,CAAC,GAAAX,GAAA,OAAAA,GAAA;QACjCN,MAAM,CAACE,IAAI,CAACc,KAAK,CAAC,IAAG,IAAI,EAAAV,GAAA;QACzBe,+BAA+B,CAAC,CAAC,IAAGZ,kBAAkB,EAAAH,GAAA;QACxD,CAAE;;MAEFI;MACE;MACQ,CAAC;;EAEpB;AACF,CAAC;;AAEAP,UAAU,CAASuB,eAAe,GAAG,IAAI;;AAE1C,SAASvB,UAAU;;AAEnB,OAAO,IAAMwB,YAAY,GAAG,SAAfA,YAAYA,CAAIC,KAAsB,EAAmD;EACpG,OAAO,aAAAlC,KAAK,CAACmC,cAAc,CAAkBD,KAAK,CAAC;EAC/CE,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACL,KAAK,CAACM,IAAI,EAAE,iBAAiB,CAAC;EACnE,KAAK;AACX,CAAC","ignoreList":[]}
@@ -22,4 +22,4 @@ export declare const MenuFooterDataTids: {
22
22
  */
23
23
  declare const MenuFooter: import("../../lib/forwardRefAndName").ReactUIComponentWithRef<HTMLDivElement, MenuFooterProps> & Record<never, never>;
24
24
  export { MenuFooter };
25
- export declare const isMenuFooter: (child: React.ReactNode) => child is React.ReactElement<MenuFooterProps, string | React.JSXElementConstructor<any>>;
25
+ export declare const isMenuFooter: (child: React.ReactNode) => child is React.ReactElement<MenuFooterProps>;
@@ -62,8 +62,6 @@ var MenuHeader = forwardRefAndName('MenuHeader', function MenuHeader(_ref, ref)
62
62
  }, children))
63
63
  );
64
64
  });
65
-
66
- //@ts-ignore
67
65
  MenuHeader.__MENU_HEADER__ = true;
68
66
  export { MenuHeader };
69
67
  export var isMenuHeader = function isMenuHeader(child) {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useContext","ThemeContext","CommonWrapper","cx","MenuContext","forwardRefAndName","styles","MenuHeaderDataTids","root","MenuHeader","_ref","ref","_cx","id","_ref$_enableIconPaddi","_enableIconPadding","children","_ref$size","size","rest","_objectWithoutPropertiesLoose","_excluded","theme","menuContext","getRootSizeClassName","rootLarge","rootMedium","rootSmall","getWithLeftPaddingSizeClassName","withLeftPaddingSmall","withLeftPaddingMedium","createElement","className","enableIconPadding","__MENU_HEADER__","isMenuHeader","child","isValidElement","Object","prototype","hasOwnProperty","call","type"],"sources":["MenuHeader.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\nimport React, { useContext } from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { SizeProp } from '../../lib/types/props';\nimport { MenuContext } from '../../internal/Menu/MenuContext';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\n\nimport { styles } from './MenuHeader.styles';\n\nexport interface MenuHeaderProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Добавляет отступ иконке. */\n _enableIconPadding?: boolean;\n\n /** @ignore */\n children: ReactNode;\n\n /** Задает размер. */\n size?: SizeProp;\n}\n\nexport const MenuHeaderDataTids = {\n root: 'MenuHeader__root',\n} as const;\n\n/**\n * Заголовок меню `MenuHeader` используется для того, чтобы разделить элементы меню на категории в рамках одного меню.\n *\n * `MenuHeader`, в отличие от `MenuItem` нельзя затаргетить с клавиатуры.\n *\n * Сущности в которых может быть использован `MenuHeader`: DropdownMenu, Kebab, TooltipMenu и Select.\n */\n\nconst MenuHeader = forwardRefAndName(\n 'MenuHeader',\n function MenuHeader(\n { id, _enableIconPadding = false, children, size = 'small', ...rest }: MenuHeaderProps,\n ref: React.Ref<HTMLDivElement>,\n ) {\n const theme = useContext(ThemeContext);\n const menuContext = useContext(MenuContext);\n\n function getRootSizeClassName() {\n switch (size) {\n case 'large':\n return styles.rootLarge(theme);\n case 'medium':\n return styles.rootMedium(theme);\n case 'small':\n default:\n return styles.rootSmall(theme);\n }\n }\n function getWithLeftPaddingSizeClassName() {\n switch (size) {\n case 'large':\n return styles.withLeftPaddingSmall(theme);\n case 'medium':\n return styles.withLeftPaddingMedium(theme);\n case 'small':\n default:\n return styles.withLeftPaddingSmall(theme);\n }\n }\n\n return (\n <CommonWrapper {...rest}>\n <div\n ref={ref}\n id={id}\n data-tid={MenuHeaderDataTids.root}\n className={cx(getRootSizeClassName(), {\n [styles.root(theme)]: true,\n [getWithLeftPaddingSizeClassName()]: menuContext.enableIconPadding || _enableIconPadding,\n })}\n >\n {children}\n </div>\n </CommonWrapper>\n );\n },\n);\n\n//@ts-ignore\nMenuHeader.__MENU_HEADER__ = true;\n\nexport { MenuHeader };\n\nexport const isMenuHeader = (child: React.ReactNode): child is React.ReactElement<MenuHeaderProps> => {\n return React.isValidElement<MenuHeaderProps>(child)\n ? Object.prototype.hasOwnProperty.call(child.type, '__MENU_HEADER__')\n : false;\n};\n"],"mappings":";AACA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;;AAEzC,SAASC,YAAY,QAAQ,gCAAgC;;AAE7D,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,EAAE,QAAQ,2BAA2B;;AAE9C,SAASC,WAAW,QAAQ,iCAAiC;AAC7D,SAASC,iBAAiB,QAAQ,6BAA6B;;AAE/D,SAASC,MAAM,QAAQ,qBAAqB;;;;;;;;;;;;;AAa5C,OAAO,IAAMC,kBAAkB,GAAG;EAChCC,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,UAAU,GAAGJ,iBAAiB;EAClC,YAAY;EACZ,SAASI,UAAUA,CAAAC,IAAA;;EAEjBC,GAA8B;EAC9B,KAAAC,GAAA,KAFEC,EAAE,GAAAH,IAAA,CAAFG,EAAE,CAAAC,qBAAA,GAAAJ,IAAA,CAAEK,kBAAkB,CAAlBA,kBAAkB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA,CAAEE,QAAQ,GAAAN,IAAA,CAARM,QAAQ,CAAAC,SAAA,GAAAP,IAAA,CAAEQ,IAAI,CAAJA,IAAI,GAAAD,SAAA,cAAG,OAAO,GAAAA,SAAA,CAAKE,IAAI,GAAAC,6BAAA,CAAAV,IAAA,EAAAW,SAAA;IAGnE,IAAMC,KAAK,GAAGtB,UAAU,CAACC,YAAY,CAAC;IACtC,IAAMsB,WAAW,GAAGvB,UAAU,CAACI,WAAW,CAAC;;IAE3C,SAASoB,oBAAoBA,CAAA,EAAG;MAC9B,QAAQN,IAAI;QACV,KAAK,OAAO;UACV,OAAOZ,MAAM,CAACmB,SAAS,CAACH,KAAK,CAAC;QAChC,KAAK,QAAQ;UACX,OAAOhB,MAAM,CAACoB,UAAU,CAACJ,KAAK,CAAC;QACjC,KAAK,OAAO;QACZ;UACE,OAAOhB,MAAM,CAACqB,SAAS,CAACL,KAAK,CAAC;MAClC;IACF;IACA,SAASM,+BAA+BA,CAAA,EAAG;MACzC,QAAQV,IAAI;QACV,KAAK,OAAO;UACV,OAAOZ,MAAM,CAACuB,oBAAoB,CAACP,KAAK,CAAC;QAC3C,KAAK,QAAQ;UACX,OAAOhB,MAAM,CAACwB,qBAAqB,CAACR,KAAK,CAAC;QAC5C,KAAK,OAAO;QACZ;UACE,OAAOhB,MAAM,CAACuB,oBAAoB,CAACP,KAAK,CAAC;MAC7C;IACF;;IAEA;MACEvB,KAAA,CAAAgC,aAAA,CAAC7B,aAAa,EAAKiB,IAAI;MACrBpB,KAAA,CAAAgC,aAAA;QACEpB,GAAG,EAAEA,GAAI;QACTE,EAAE,EAAEA,EAAG;QACP,YAAUN,kBAAkB,CAACC,IAAK;QAClCwB,SAAS,EAAE7B,EAAE,CAACqB,oBAAoB,CAAC,CAAC,GAAAZ,GAAA,OAAAA,GAAA;QACjCN,MAAM,CAACE,IAAI,CAACc,KAAK,CAAC,IAAG,IAAI,EAAAV,GAAA;QACzBgB,+BAA+B,CAAC,CAAC,IAAGL,WAAW,CAACU,iBAAiB,IAAIlB,kBAAkB,EAAAH,GAAA;QACzF,CAAE;;MAEFI;MACE;MACQ,CAAC;;EAEpB;AACF,CAAC;;AAED;AACAP,UAAU,CAACyB,eAAe,GAAG,IAAI;;AAEjC,SAASzB,UAAU;;AAEnB,OAAO,IAAM0B,YAAY,GAAG,SAAfA,YAAYA,CAAIC,KAAsB,EAAmD;EACpG,OAAO,aAAArC,KAAK,CAACsC,cAAc,CAAkBD,KAAK,CAAC;EAC/CE,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACL,KAAK,CAACM,IAAI,EAAE,iBAAiB,CAAC;EACnE,KAAK;AACX,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useContext","ThemeContext","CommonWrapper","cx","MenuContext","forwardRefAndName","styles","MenuHeaderDataTids","root","MenuHeader","_ref","ref","_cx","id","_ref$_enableIconPaddi","_enableIconPadding","children","_ref$size","size","rest","_objectWithoutPropertiesLoose","_excluded","theme","menuContext","getRootSizeClassName","rootLarge","rootMedium","rootSmall","getWithLeftPaddingSizeClassName","withLeftPaddingSmall","withLeftPaddingMedium","createElement","className","enableIconPadding","__MENU_HEADER__","isMenuHeader","child","isValidElement","Object","prototype","hasOwnProperty","call","type"],"sources":["MenuHeader.tsx"],"sourcesContent":["import type { HTMLAttributes, ReactNode } from 'react';\nimport React, { useContext } from 'react';\n\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { SizeProp } from '../../lib/types/props';\nimport { MenuContext } from '../../internal/Menu/MenuContext';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName';\n\nimport { styles } from './MenuHeader.styles';\n\nexport interface MenuHeaderProps extends CommonProps, Pick<HTMLAttributes<HTMLElement>, 'id'> {\n /** Добавляет отступ иконке. */\n _enableIconPadding?: boolean;\n\n /** @ignore */\n children: ReactNode;\n\n /** Задает размер. */\n size?: SizeProp;\n}\n\nexport const MenuHeaderDataTids = {\n root: 'MenuHeader__root',\n} as const;\n\n/**\n * Заголовок меню `MenuHeader` используется для того, чтобы разделить элементы меню на категории в рамках одного меню.\n *\n * `MenuHeader`, в отличие от `MenuItem` нельзя затаргетить с клавиатуры.\n *\n * Сущности в которых может быть использован `MenuHeader`: DropdownMenu, Kebab, TooltipMenu и Select.\n */\n\nconst MenuHeader = forwardRefAndName(\n 'MenuHeader',\n function MenuHeader(\n { id, _enableIconPadding = false, children, size = 'small', ...rest }: MenuHeaderProps,\n ref: React.Ref<HTMLDivElement>,\n ) {\n const theme = useContext(ThemeContext);\n const menuContext = useContext(MenuContext);\n\n function getRootSizeClassName() {\n switch (size) {\n case 'large':\n return styles.rootLarge(theme);\n case 'medium':\n return styles.rootMedium(theme);\n case 'small':\n default:\n return styles.rootSmall(theme);\n }\n }\n function getWithLeftPaddingSizeClassName() {\n switch (size) {\n case 'large':\n return styles.withLeftPaddingSmall(theme);\n case 'medium':\n return styles.withLeftPaddingMedium(theme);\n case 'small':\n default:\n return styles.withLeftPaddingSmall(theme);\n }\n }\n\n return (\n <CommonWrapper {...rest}>\n <div\n ref={ref}\n id={id}\n data-tid={MenuHeaderDataTids.root}\n className={cx(getRootSizeClassName(), {\n [styles.root(theme)]: true,\n [getWithLeftPaddingSizeClassName()]: menuContext.enableIconPadding || _enableIconPadding,\n })}\n >\n {children}\n </div>\n </CommonWrapper>\n );\n },\n);\n\n(MenuHeader as any).__MENU_HEADER__ = true;\n\nexport { MenuHeader };\n\nexport const isMenuHeader = (child: React.ReactNode): child is React.ReactElement<MenuHeaderProps> => {\n return React.isValidElement<MenuHeaderProps>(child)\n ? Object.prototype.hasOwnProperty.call(child.type, '__MENU_HEADER__')\n : false;\n};\n"],"mappings":";AACA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;;AAEzC,SAASC,YAAY,QAAQ,gCAAgC;;AAE7D,SAASC,aAAa,QAAQ,8BAA8B;AAC5D,SAASC,EAAE,QAAQ,2BAA2B;;AAE9C,SAASC,WAAW,QAAQ,iCAAiC;AAC7D,SAASC,iBAAiB,QAAQ,6BAA6B;;AAE/D,SAASC,MAAM,QAAQ,qBAAqB;;;;;;;;;;;;;AAa5C,OAAO,IAAMC,kBAAkB,GAAG;EAChCC,IAAI,EAAE;AACR,CAAU;;AAEV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,UAAU,GAAGJ,iBAAiB;EAClC,YAAY;EACZ,SAASI,UAAUA,CAAAC,IAAA;;EAEjBC,GAA8B;EAC9B,KAAAC,GAAA,KAFEC,EAAE,GAAAH,IAAA,CAAFG,EAAE,CAAAC,qBAAA,GAAAJ,IAAA,CAAEK,kBAAkB,CAAlBA,kBAAkB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA,CAAEE,QAAQ,GAAAN,IAAA,CAARM,QAAQ,CAAAC,SAAA,GAAAP,IAAA,CAAEQ,IAAI,CAAJA,IAAI,GAAAD,SAAA,cAAG,OAAO,GAAAA,SAAA,CAAKE,IAAI,GAAAC,6BAAA,CAAAV,IAAA,EAAAW,SAAA;IAGnE,IAAMC,KAAK,GAAGtB,UAAU,CAACC,YAAY,CAAC;IACtC,IAAMsB,WAAW,GAAGvB,UAAU,CAACI,WAAW,CAAC;;IAE3C,SAASoB,oBAAoBA,CAAA,EAAG;MAC9B,QAAQN,IAAI;QACV,KAAK,OAAO;UACV,OAAOZ,MAAM,CAACmB,SAAS,CAACH,KAAK,CAAC;QAChC,KAAK,QAAQ;UACX,OAAOhB,MAAM,CAACoB,UAAU,CAACJ,KAAK,CAAC;QACjC,KAAK,OAAO;QACZ;UACE,OAAOhB,MAAM,CAACqB,SAAS,CAACL,KAAK,CAAC;MAClC;IACF;IACA,SAASM,+BAA+BA,CAAA,EAAG;MACzC,QAAQV,IAAI;QACV,KAAK,OAAO;UACV,OAAOZ,MAAM,CAACuB,oBAAoB,CAACP,KAAK,CAAC;QAC3C,KAAK,QAAQ;UACX,OAAOhB,MAAM,CAACwB,qBAAqB,CAACR,KAAK,CAAC;QAC5C,KAAK,OAAO;QACZ;UACE,OAAOhB,MAAM,CAACuB,oBAAoB,CAACP,KAAK,CAAC;MAC7C;IACF;;IAEA;MACEvB,KAAA,CAAAgC,aAAA,CAAC7B,aAAa,EAAKiB,IAAI;MACrBpB,KAAA,CAAAgC,aAAA;QACEpB,GAAG,EAAEA,GAAI;QACTE,EAAE,EAAEA,EAAG;QACP,YAAUN,kBAAkB,CAACC,IAAK;QAClCwB,SAAS,EAAE7B,EAAE,CAACqB,oBAAoB,CAAC,CAAC,GAAAZ,GAAA,OAAAA,GAAA;QACjCN,MAAM,CAACE,IAAI,CAACc,KAAK,CAAC,IAAG,IAAI,EAAAV,GAAA;QACzBgB,+BAA+B,CAAC,CAAC,IAAGL,WAAW,CAACU,iBAAiB,IAAIlB,kBAAkB,EAAAH,GAAA;QACzF,CAAE;;MAEFI;MACE;MACQ,CAAC;;EAEpB;AACF,CAAC;;AAEAP,UAAU,CAASyB,eAAe,GAAG,IAAI;;AAE1C,SAASzB,UAAU;;AAEnB,OAAO,IAAM0B,YAAY,GAAG,SAAfA,YAAYA,CAAIC,KAAsB,EAAmD;EACpG,OAAO,aAAArC,KAAK,CAACsC,cAAc,CAAkBD,KAAK,CAAC;EAC/CE,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACL,KAAK,CAACM,IAAI,EAAE,iBAAiB,CAAC;EACnE,KAAK;AACX,CAAC","ignoreList":[]}
@@ -22,4 +22,4 @@ export declare const MenuHeaderDataTids: {
22
22
  */
23
23
  declare const MenuHeader: import("../../lib/forwardRefAndName").ReactUIComponentWithRef<HTMLDivElement, MenuHeaderProps> & Record<never, never>;
24
24
  export { MenuHeader };
25
- export declare const isMenuHeader: (child: React.ReactNode) => child is React.ReactElement<MenuHeaderProps, string | React.JSXElementConstructor<any>>;
25
+ export declare const isMenuHeader: (child: React.ReactNode) => child is React.ReactElement<MenuHeaderProps>;
@@ -2,12 +2,10 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import _createClass from "@babel/runtime/helpers/esm/createClass";
4
4
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
5
- var _excluded = ["link", "comment", "icon", "loose", "state", "size", "_enableIconPadding", "component", "onMouseEnter", "onMouseLeave", "isMobile", "href", "disabled", "scrollIntoView", "rel", "isNotSelectable", "children", "className", "style", "data-tid"];
5
+ var _excluded = ["comment", "icon", "loose", "state", "size", "_enableIconPadding", "component", "onMouseEnter", "onMouseLeave", "isMobile", "href", "disabled", "scrollIntoView", "rel", "isNotSelectable", "children", "className", "style", "data-tid"];
6
6
  var _class, _MenuItem;
7
7
  import React from 'react';
8
- import PropTypes from 'prop-types';
9
8
  import { globalObject, isBrowser } from '@skbkontur/global-object';
10
- import { isThemeGTE } from "../../../lib/theming/ThemeHelpers";
11
9
  import { scrollYCenterIntoNearestScrollable } from "../../../lib/dom/scrollYCenterIntoNearestScrollable";
12
10
  import { isExternalLink, isFunction, isNonNullable, isReactUIComponent } from "../../../lib/utils";
13
11
  import { ThemeContext } from "../../../lib/theming/ThemeContext";
@@ -71,7 +69,6 @@ export var MenuItem = rootNode(_class = (_MenuItem = /*#__PURE__*/function (_Rea
71
69
  _this.renderMain = function () {
72
70
  var _cx2, _cx3, _cx4;
73
71
  var _this$props = _this.props,
74
- link = _this$props.link,
75
72
  comment = _this$props.comment,
76
73
  icon = _this$props.icon,
77
74
  loose = _this$props.loose,
@@ -104,8 +101,7 @@ export var MenuItem = rootNode(_class = (_MenuItem = /*#__PURE__*/function (_Rea
104
101
  className: cx((_cx = {}, _cx[styles.icon()] = true, _cx[_this.getIconSizeClassName()] = true, _cx))
105
102
  }, icon);
106
103
  }
107
- var isThemeGTE_5_2 = isThemeGTE(_this.theme, '5.2');
108
- var className = cx((_cx2 = {}, _cx2[styles.root(_this.theme)] = true, _cx2[_this.getRootSizeClassName()] = true, _cx2[styles.rootMobile(_this.theme)] = isMobile, _cx2[styles.loose()] = !!loose, _cx2[styles.hover(_this.theme)] = _this.isHover, _cx2[styles.selected(_this.theme)] = _this.isSelected, _cx2[styles.link(_this.theme)] = !!link, _cx2[_this.getWithIconSizeClassName()] = Boolean(iconElement) || !!_enableIconPadding || _this.context.enableIconPadding, _cx2[styles.nonSelectable()] = isThemeGTE_5_2 && !!isNotSelectable, _cx2[styles.disabled(_this.theme)] = !!disabled, _cx2));
104
+ var className = cx((_cx2 = {}, _cx2[styles.root(_this.theme)] = true, _cx2[_this.getRootSizeClassName()] = true, _cx2[styles.rootMobile(_this.theme)] = isMobile, _cx2[styles.loose()] = !!loose, _cx2[styles.hover(_this.theme)] = _this.isHover, _cx2[styles.selected(_this.theme)] = _this.isSelected, _cx2[_this.getWithIconSizeClassName()] = Boolean(iconElement) || !!_enableIconPadding || _this.context.enableIconPadding, _cx2[styles.nonSelectable()] = !!isNotSelectable, _cx2[styles.disabled(_this.theme)] = !!disabled, _cx2));
109
105
  var content = children;
110
106
  if (isFunction(children)) {
111
107
  content = children(_this.activeState);
@@ -294,15 +290,5 @@ export var MenuItem = rootNode(_class = (_MenuItem = /*#__PURE__*/function (_Rea
294
290
  return this.props.state === 'selected' && !this.state.highlighted;
295
291
  }
296
292
  }]);
297
- }(React.Component), _MenuItem.__KONTUR_REACT_UI__ = 'MenuItem', _MenuItem.displayName = 'MenuItem', _MenuItem.__MENU_ITEM__ = true, _MenuItem.propTypes = {
298
- comment: PropTypes.node,
299
- disabled: PropTypes.bool,
300
- href: PropTypes.string,
301
- icon: PropTypes.node,
302
- loose: PropTypes.bool,
303
- state: PropTypes.string,
304
- target: PropTypes.string,
305
- onClick: PropTypes.func,
306
- size: PropTypes.string
307
- }, _MenuItem.contextType = MenuContext, _MenuItem)) || _class;
293
+ }(React.Component), _MenuItem.__KONTUR_REACT_UI__ = 'MenuItem', _MenuItem.displayName = 'MenuItem', _MenuItem.__MENU_ITEM__ = true, _MenuItem.contextType = MenuContext, _MenuItem)) || _class;
308
294
  export var isMenuItem = isReactUIComponent('MenuItem');
@@ -1 +1 @@
1
- {"version":3,"names":["React","PropTypes","globalObject","isBrowser","isThemeGTE","scrollYCenterIntoNearestScrollable","isExternalLink","isFunction","isNonNullable","isReactUIComponent","ThemeContext","CommonWrapper","cx","rootNode","MenuContext","getVisualStateDataAttributes","styles","MenuItemDataTids","root","content","comment","MenuItem","_class","_MenuItem","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","iconOffsetTop","highlighted","mouseEntered","rootRef","contentRef","createRef","highlight","setState","unhighlight","select","event","handleClick","isEnabled","props","disabled","navigate","href","target","window","open","location","renderMain","_cx2","_cx3","_cx4","_this$props","link","icon","loose","size","_enableIconPadding","component","onMouseEnter","onMouseLeave","isMobile","scrollIntoView","_this$props$rel","rel","isNotSelectable","children","unusedClasses","className","style","dataTid","rest","_objectWithoutPropertiesLoose","_excluded","iconElement","_cx","createElement","top","getIconSizeClassName","isThemeGTE_5_2","theme","getRootSizeClassName","rootMobile","hover","isHover","selected","isSelected","getWithIconSizeClassName","Boolean","context","enableIconPadding","nonSelectable","activeState","Component","getComponent","_extends","rootNodeRef","setRootNode","ref","setRootRef","onMouseOver","handleMouseEnterFix","handleMouseLeave","onClick","undefined","tabIndex","mobileContentWithIcon","commentHover","e","_this$context$navigat","navigation","_this$context$navigat2","onItemClick","element","_this$props2","hasIconAmongItems","_this$context$navigat3","items","some","item","_inheritsLoose","_proto","prototype","render","_this2","Consumer","componentDidMount","getComputedStyle","getPropertyValue","current","_this$context$navigat4","add","_this$context$setEnab","_this$context","setEnableIconPadding","componentWillUnmount","_this$context$navigat5","_this$context$setEnab2","_this$context2","remove","componentDidUpdate","prevProps","_this$context$setEnab3","_this$context3","_this$context$navigat6","_this$context$navigat7","rootLarge","rootMedium","rootSmall","iconLarge","iconMedium","iconSmall","withIconLarge","withIconMedium","withIconSmall","_createClass","key","get","__KONTUR_REACT_UI__","displayName","__MENU_ITEM__","propTypes","node","bool","string","func","contextType","isMenuItem"],"sources":["MenuItem.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers';\nimport type { Nullable } from '../../typings/utility-types';\nimport { scrollYCenterIntoNearestScrollable } from '../../lib/dom/scrollYCenterIntoNearestScrollable';\nimport { isExternalLink, isFunction, isNonNullable, isReactUIComponent } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport type { SizeProp } from '../../lib/types/props';\nimport type { MenuContextType } from '../../internal/Menu/MenuContext';\nimport { MenuContext } from '../../internal/Menu/MenuContext';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './MenuItem.styles';\n\nexport type MenuItemState = null | 'hover' | 'selected' | void;\n\nexport interface MenuItemProps\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Omit<CommonProps, 'children'> {\n /** Добавляет отступ иконке.\n * @ignore */\n _enableIconPadding?: boolean;\n\n /** Добавляет описание для элемента меню. */\n comment?: React.ReactNode;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Добавляет иконку элементу меню. */\n icon?: React.ReactElement<any>;\n /**\n * Меняет цвет текста на синий.\n * @deprecated\n */\n link?: boolean;\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /** @ignore */\n loose?: boolean;\n\n /** @ignore */\n state?: MenuItemState;\n\n /** Задает функцию, которая вызывается при клике. */\n onClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). */\n onMouseEnter?: React.MouseEventHandler;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: React.MouseEventHandler;\n\n /** @ignore */\n children?: React.ReactNode | ((state: MenuItemState) => React.ReactNode);\n\n /** Задает HTML-атрибут `target`. */\n target?: React.AnchorHTMLAttributes<HTMLAnchorElement>['target'];\n\n /** Задает HTML-атрибут `title`. */\n title?: React.AnchorHTMLAttributes<HTMLAnchorElement>['title'];\n\n /** Задает HTML-атрибут `href` - адрес, на который следует перейти. */\n href?: React.AnchorHTMLAttributes<HTMLAnchorElement>['href'];\n\n /** Задает HTML-атрибут `rel`. Для внешних ссылок аттрибут rel по умолчанию равен \"noopener noreferrer\". */\n rel?: React.AnchorHTMLAttributes<HTMLAnchorElement>['rel'];\n\n /** Заменяет корневой элемент, на компонент переданный в проп.\n * По умолчанию корневой элемент рендерится как `button`. <br />Если передан `href`, то вместо `button` рендерится `a`. */\n component?: React.ComponentType<any>;\n\n /** Запрещает выделение и выбор данного пункта меню. */\n isNotSelectable?: boolean;\n\n /** Устанавливает стиль для отображения в мобильной версии. */\n isMobile?: boolean;\n /** @ignore */\n scrollIntoView?: boolean;\n}\n\nexport const MenuItemDataTids = {\n root: 'MenuItem__root',\n content: 'MenuItem__content',\n comment: 'MenuItem__comment',\n} as const;\n\n/**\n * `MenuItem` - это вложенный компонент, задающий базовые стили для элемента меню и позволяющий навигироваться по элементам меню с помощью клавиатуры.\n *\n * Сущности в которых может быть использован `MenuItem`: DropdownMenu, Kebab, TooltipMenu и Select.\n */\n@rootNode\nexport class MenuItem extends React.Component<MenuItemProps> {\n public static __KONTUR_REACT_UI__ = 'MenuItem';\n public static displayName = 'MenuItem';\n public static __MENU_ITEM__ = true;\n\n public static propTypes = {\n comment: PropTypes.node,\n\n disabled: PropTypes.bool,\n\n href: PropTypes.string,\n\n icon: PropTypes.node,\n\n loose: PropTypes.bool,\n\n state: PropTypes.string,\n\n target: PropTypes.string,\n\n onClick: PropTypes.func,\n\n size: PropTypes.string,\n };\n\n public state = {\n iconOffsetTop: 0,\n highlighted: false,\n };\n\n private theme!: Theme;\n private mouseEntered = false;\n private setRootNode!: TSetRootNode;\n private rootRef: Nullable<HTMLElement> = null;\n private contentRef = React.createRef<HTMLElement>();\n static contextType = MenuContext;\n\n public context!: MenuContextType;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public componentDidMount() {\n if (this.props.scrollIntoView && this.rootRef) {\n scrollYCenterIntoNearestScrollable(this.rootRef);\n }\n if (this.rootRef && isBrowser(globalObject)) {\n this.setState({ iconOffsetTop: globalObject.getComputedStyle(this.rootRef).getPropertyValue('padding-top') });\n }\n if (this.contentRef.current && !this.props.isNotSelectable) {\n this.context.navigation?.add(this.contentRef.current, this);\n }\n if (this.props.icon) {\n this.context.setEnableIconPadding?.(true);\n }\n }\n\n public componentWillUnmount() {\n if (this.contentRef.current) {\n !this.props.isNotSelectable && this.context.navigation?.remove(this.contentRef.current);\n this.context.setEnableIconPadding?.(this.hasIconAmongItems());\n }\n }\n\n public componentDidUpdate(prevProps: Readonly<MenuItemProps>) {\n if (prevProps.icon !== this.props.icon) {\n this.context.setEnableIconPadding?.(!!this.props.icon || this.hasIconAmongItems());\n }\n if (this.contentRef.current && prevProps.isNotSelectable !== this.props.isNotSelectable) {\n if (this.props.isNotSelectable) {\n this.unhighlight();\n this.context.navigation?.remove(this.contentRef.current);\n } else {\n this.context.navigation?.add(this.contentRef.current, this);\n }\n }\n }\n\n public highlight = () => {\n this.setState({ highlighted: true });\n };\n\n public unhighlight = () => {\n this.setState({ highlighted: false });\n };\n\n public select = (event: React.SyntheticEvent<HTMLElement>) => {\n this.handleClick(event as React.MouseEvent<HTMLElement>);\n };\n\n public isEnabled = () => {\n return !this.props.disabled;\n };\n\n public navigate = () => {\n if (!this.props.href) {\n return;\n }\n if (this.props.target) {\n window.open(this.props.href, this.props.target);\n } else {\n location.href = this.props.href;\n }\n };\n\n private getRootSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getIconSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.iconLarge(this.theme);\n case 'medium':\n return styles.iconMedium(this.theme);\n case 'small':\n default:\n return styles.iconSmall(this.theme);\n }\n }\n\n private getWithIconSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.withIconLarge(this.theme);\n case 'medium':\n return styles.withIconMedium(this.theme);\n case 'small':\n default:\n return styles.withIconSmall(this.theme);\n }\n }\n\n private renderMain = () => {\n const {\n link,\n comment,\n icon,\n loose,\n state,\n size,\n _enableIconPadding,\n component,\n onMouseEnter,\n onMouseLeave,\n isMobile,\n href,\n disabled,\n scrollIntoView,\n rel = href && isExternalLink(href) ? 'noopener noreferrer' : this.props.rel,\n isNotSelectable,\n children,\n className: unusedClasses,\n style,\n 'data-tid': dataTid,\n ...rest\n } = this.props;\n\n let iconElement = null;\n if (icon) {\n iconElement = (\n <div\n style={{ top: this.state.iconOffsetTop }}\n className={cx({\n [styles.icon()]: true,\n [this.getIconSizeClassName()]: true,\n })}\n >\n {icon}\n </div>\n );\n }\n const isThemeGTE_5_2 = isThemeGTE(this.theme, '5.2');\n\n const className = cx({\n [styles.root(this.theme)]: true,\n [this.getRootSizeClassName()]: true,\n [styles.rootMobile(this.theme)]: isMobile,\n [styles.loose()]: !!loose,\n [styles.hover(this.theme)]: this.isHover,\n [styles.selected(this.theme)]: this.isSelected,\n [styles.link(this.theme)]: !!link,\n [this.getWithIconSizeClassName()]: Boolean(iconElement) || !!_enableIconPadding || this.context.enableIconPadding,\n [styles.nonSelectable()]: isThemeGTE_5_2 && !!isNotSelectable,\n [styles.disabled(this.theme)]: !!disabled,\n });\n\n let content = children;\n if (isFunction(children)) {\n content = children(this.activeState);\n }\n\n const Component = this.getComponent();\n\n return (\n <CommonWrapper\n rootNodeRef={this.setRootNode}\n {...getVisualStateDataAttributes({\n hover: this.isHover,\n selected: this.isSelected,\n })}\n {...this.props}\n >\n <Component\n ref={this.setRootRef}\n data-tid={MenuItemDataTids.root}\n {...rest}\n disabled={disabled}\n state={this.activeState}\n onMouseOver={this.handleMouseEnterFix}\n onMouseLeave={this.handleMouseLeave}\n onClick={this.handleClick}\n className={className}\n href={href}\n rel={href ? rel : undefined}\n tabIndex={-1}\n >\n {iconElement}\n <span\n className={cx({\n [styles.mobileContentWithIcon()]: isMobile && isNonNullable(icon),\n })}\n ref={this.contentRef}\n data-tid={MenuItemDataTids.content}\n >\n {typeof content === 'function' ? content() : content}\n </span>\n {comment && (\n <div\n data-tid={MenuItemDataTids.comment}\n className={cx({\n [styles.comment(this.theme)]: true,\n [styles.commentHover(this.theme)]: this.isHover,\n })}\n >\n {comment}\n </div>\n )}\n </Component>\n </CommonWrapper>\n );\n };\n\n private get activeState() {\n return this.state.highlighted ? 'hover' : this.props.state;\n }\n\n private get isHover(): boolean {\n return (this.state.highlighted || this.props.state === 'hover') && !this.props.disabled;\n }\n\n private get isSelected(): boolean {\n return this.props.state === 'selected' && !this.state.highlighted;\n }\n\n // https://github.com/facebook/react/issues/10109\n // Mouseenter event not triggered when cursor moves from disabled button\n private handleMouseEnterFix = (e: React.MouseEvent<HTMLElement>) => {\n if (!this.mouseEntered) {\n this.mouseEntered = true;\n this.props.onMouseEnter?.(e);\n !this.props.isNotSelectable && this.context.navigation?.highlight(this);\n }\n };\n\n private handleMouseLeave = (e: React.MouseEvent<HTMLElement>) => {\n this.mouseEntered = false;\n this.props.onMouseLeave?.(e);\n !this.props.isNotSelectable && this.context.navigation?.unhighlight();\n };\n\n private handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (this.props.isNotSelectable) {\n return;\n }\n this.props.onClick?.(e);\n this.context.onItemClick?.(e);\n };\n\n private setRootRef = (element: HTMLElement) => {\n this.rootRef = element;\n };\n\n private getComponent = () => {\n const { disabled, component, href } = this.props;\n\n if (component) {\n return component;\n }\n\n if (disabled) {\n return 'button';\n }\n\n if (href) {\n return 'a';\n }\n\n return 'button';\n };\n\n private hasIconAmongItems = () => {\n return Boolean(this.context.navigation?.items.some((item) => item.props.icon));\n };\n}\n\nexport const isMenuItem = isReactUIComponent('MenuItem');\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","globalObject","isBrowser","scrollYCenterIntoNearestScrollable","isExternalLink","isFunction","isNonNullable","isReactUIComponent","ThemeContext","CommonWrapper","cx","rootNode","MenuContext","getVisualStateDataAttributes","styles","MenuItemDataTids","root","content","comment","MenuItem","_class","_MenuItem","_React$Component","_this","_len","arguments","length","args","Array","_key","call","apply","concat","state","iconOffsetTop","highlighted","mouseEntered","rootRef","contentRef","createRef","highlight","setState","unhighlight","select","event","handleClick","isEnabled","props","disabled","navigate","href","target","window","open","location","renderMain","_cx2","_cx3","_cx4","_this$props","icon","loose","size","_enableIconPadding","component","onMouseEnter","onMouseLeave","isMobile","scrollIntoView","_this$props$rel","rel","isNotSelectable","children","unusedClasses","className","style","dataTid","rest","_objectWithoutPropertiesLoose","_excluded","iconElement","_cx","createElement","top","getIconSizeClassName","theme","getRootSizeClassName","rootMobile","hover","isHover","selected","isSelected","getWithIconSizeClassName","Boolean","context","enableIconPadding","nonSelectable","activeState","Component","getComponent","_extends","rootNodeRef","setRootNode","ref","setRootRef","onMouseOver","handleMouseEnterFix","handleMouseLeave","onClick","undefined","tabIndex","mobileContentWithIcon","commentHover","e","_this$context$navigat","navigation","_this$context$navigat2","onItemClick","element","_this$props2","hasIconAmongItems","_this$context$navigat3","items","some","item","_inheritsLoose","_proto","prototype","render","_this2","Consumer","componentDidMount","getComputedStyle","getPropertyValue","current","_this$context$navigat4","add","_this$context$setEnab","_this$context","setEnableIconPadding","componentWillUnmount","_this$context$navigat5","_this$context$setEnab2","_this$context2","remove","componentDidUpdate","prevProps","_this$context$setEnab3","_this$context3","_this$context$navigat6","_this$context$navigat7","rootLarge","rootMedium","rootSmall","iconLarge","iconMedium","iconSmall","withIconLarge","withIconMedium","withIconSmall","_createClass","key","get","__KONTUR_REACT_UI__","displayName","__MENU_ITEM__","contextType","isMenuItem"],"sources":["MenuItem.tsx"],"sourcesContent":["import type { AriaAttributes, HTMLAttributes } from 'react';\nimport React from 'react';\nimport { globalObject, isBrowser } from '@skbkontur/global-object';\n\nimport type { Nullable } from '../../typings/utility-types';\nimport { scrollYCenterIntoNearestScrollable } from '../../lib/dom/scrollYCenterIntoNearestScrollable';\nimport { isExternalLink, isFunction, isNonNullable, isReactUIComponent } from '../../lib/utils';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport type { Theme } from '../../lib/theming/Theme';\nimport type { CommonProps } from '../../internal/CommonWrapper';\nimport { CommonWrapper } from '../../internal/CommonWrapper';\nimport { cx } from '../../lib/theming/Emotion';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode';\nimport { rootNode } from '../../lib/rootNode';\nimport type { SizeProp } from '../../lib/types/props';\nimport type { MenuContextType } from '../../internal/Menu/MenuContext';\nimport { MenuContext } from '../../internal/Menu/MenuContext';\nimport { getVisualStateDataAttributes } from '../../internal/CommonWrapper/utils/getVisualStateDataAttributes';\n\nimport { styles } from './MenuItem.styles';\n\nexport type MenuItemState = null | 'hover' | 'selected' | void;\n\nexport interface MenuItemProps\n extends Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Pick<HTMLAttributes<HTMLElement>, 'id'>,\n Omit<CommonProps, 'children'> {\n /** Добавляет отступ иконке.\n * @ignore */\n _enableIconPadding?: boolean;\n\n /** Добавляет описание для элемента меню. */\n comment?: React.ReactNode;\n\n /** Делает компонент недоступным. */\n disabled?: boolean;\n\n /** Добавляет иконку элементу меню. */\n icon?: React.ReactElement<any>;\n\n /** Задает размер контрола. */\n size?: SizeProp;\n\n /** @ignore */\n loose?: boolean;\n\n /** @ignore */\n state?: MenuItemState;\n\n /** Задает функцию, которая вызывается при клике. */\n onClick?: (event: React.SyntheticEvent<HTMLElement>) => void;\n\n /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). */\n onMouseEnter?: React.MouseEventHandler;\n\n /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */\n onMouseLeave?: React.MouseEventHandler;\n\n /** @ignore */\n children?: React.ReactNode | ((state: MenuItemState) => React.ReactNode);\n\n /** Задает HTML-атрибут `target`. */\n target?: React.AnchorHTMLAttributes<HTMLAnchorElement>['target'];\n\n /** Задает HTML-атрибут `title`. */\n title?: React.AnchorHTMLAttributes<HTMLAnchorElement>['title'];\n\n /** Задает HTML-атрибут `href` - адрес, на который следует перейти. */\n href?: React.AnchorHTMLAttributes<HTMLAnchorElement>['href'];\n\n /** Задает HTML-атрибут `rel`. Для внешних ссылок аттрибут rel по умолчанию равен \"noopener noreferrer\". */\n rel?: React.AnchorHTMLAttributes<HTMLAnchorElement>['rel'];\n\n /** Заменяет корневой элемент, на компонент переданный в проп.\n * По умолчанию корневой элемент рендерится как `button`. <br />Если передан `href`, то вместо `button` рендерится `a`. */\n component?: React.ComponentType<any>;\n\n /** Запрещает выделение и выбор данного пункта меню. */\n isNotSelectable?: boolean;\n\n /** Устанавливает стиль для отображения в мобильной версии. */\n isMobile?: boolean;\n /** @ignore */\n scrollIntoView?: boolean;\n}\n\nexport const MenuItemDataTids = {\n root: 'MenuItem__root',\n content: 'MenuItem__content',\n comment: 'MenuItem__comment',\n} as const;\n\n/**\n * `MenuItem` - это вложенный компонент, задающий базовые стили для элемента меню и позволяющий навигироваться по элементам меню с помощью клавиатуры.\n *\n * Сущности в которых может быть использован `MenuItem`: DropdownMenu, Kebab, TooltipMenu и Select.\n */\n@rootNode\nexport class MenuItem extends React.Component<MenuItemProps> {\n public static __KONTUR_REACT_UI__ = 'MenuItem';\n public static displayName = 'MenuItem';\n public static __MENU_ITEM__ = true;\n\n public state = {\n iconOffsetTop: 0,\n highlighted: false,\n };\n\n private theme!: Theme;\n private mouseEntered = false;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private rootRef: Nullable<HTMLElement> = null;\n private contentRef = React.createRef<HTMLElement>();\n static contextType = MenuContext;\n\n public context!: MenuContextType;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return this.renderMain();\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public componentDidMount() {\n if (this.props.scrollIntoView && this.rootRef) {\n scrollYCenterIntoNearestScrollable(this.rootRef);\n }\n if (this.rootRef && isBrowser(globalObject)) {\n this.setState({ iconOffsetTop: globalObject.getComputedStyle(this.rootRef).getPropertyValue('padding-top') });\n }\n if (this.contentRef.current && !this.props.isNotSelectable) {\n this.context.navigation?.add(this.contentRef.current, this);\n }\n if (this.props.icon) {\n this.context.setEnableIconPadding?.(true);\n }\n }\n\n public componentWillUnmount() {\n if (this.contentRef.current) {\n !this.props.isNotSelectable && this.context.navigation?.remove(this.contentRef.current);\n this.context.setEnableIconPadding?.(this.hasIconAmongItems());\n }\n }\n\n public componentDidUpdate(prevProps: Readonly<MenuItemProps>) {\n if (prevProps.icon !== this.props.icon) {\n this.context.setEnableIconPadding?.(!!this.props.icon || this.hasIconAmongItems());\n }\n if (this.contentRef.current && prevProps.isNotSelectable !== this.props.isNotSelectable) {\n if (this.props.isNotSelectable) {\n this.unhighlight();\n this.context.navigation?.remove(this.contentRef.current);\n } else {\n this.context.navigation?.add(this.contentRef.current, this);\n }\n }\n }\n\n public highlight = () => {\n this.setState({ highlighted: true });\n };\n\n public unhighlight = () => {\n this.setState({ highlighted: false });\n };\n\n public select = (event: React.SyntheticEvent<HTMLElement>) => {\n this.handleClick(event as React.MouseEvent<HTMLElement>);\n };\n\n public isEnabled = () => {\n return !this.props.disabled;\n };\n\n public navigate = () => {\n if (!this.props.href) {\n return;\n }\n if (this.props.target) {\n window.open(this.props.href, this.props.target);\n } else {\n location.href = this.props.href;\n }\n };\n\n private getRootSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.rootLarge(this.theme);\n case 'medium':\n return styles.rootMedium(this.theme);\n case 'small':\n default:\n return styles.rootSmall(this.theme);\n }\n }\n\n private getIconSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.iconLarge(this.theme);\n case 'medium':\n return styles.iconMedium(this.theme);\n case 'small':\n default:\n return styles.iconSmall(this.theme);\n }\n }\n\n private getWithIconSizeClassName() {\n switch (this.props.size) {\n case 'large':\n return styles.withIconLarge(this.theme);\n case 'medium':\n return styles.withIconMedium(this.theme);\n case 'small':\n default:\n return styles.withIconSmall(this.theme);\n }\n }\n\n private renderMain = () => {\n const {\n comment,\n icon,\n loose,\n state,\n size,\n _enableIconPadding,\n component,\n onMouseEnter,\n onMouseLeave,\n isMobile,\n href,\n disabled,\n scrollIntoView,\n rel = href && isExternalLink(href) ? 'noopener noreferrer' : this.props.rel,\n isNotSelectable,\n children,\n className: unusedClasses,\n style,\n 'data-tid': dataTid,\n ...rest\n } = this.props;\n\n let iconElement = null;\n if (icon) {\n iconElement = (\n <div\n style={{ top: this.state.iconOffsetTop }}\n className={cx({\n [styles.icon()]: true,\n [this.getIconSizeClassName()]: true,\n })}\n >\n {icon}\n </div>\n );\n }\n\n const className = cx({\n [styles.root(this.theme)]: true,\n [this.getRootSizeClassName()]: true,\n [styles.rootMobile(this.theme)]: isMobile,\n [styles.loose()]: !!loose,\n [styles.hover(this.theme)]: this.isHover,\n [styles.selected(this.theme)]: this.isSelected,\n [this.getWithIconSizeClassName()]: Boolean(iconElement) || !!_enableIconPadding || this.context.enableIconPadding,\n [styles.nonSelectable()]: !!isNotSelectable,\n [styles.disabled(this.theme)]: !!disabled,\n });\n\n let content = children;\n if (isFunction(children)) {\n content = children(this.activeState);\n }\n\n const Component = this.getComponent();\n\n return (\n <CommonWrapper\n rootNodeRef={this.setRootNode}\n {...getVisualStateDataAttributes({\n hover: this.isHover,\n selected: this.isSelected,\n })}\n {...this.props}\n >\n <Component\n ref={this.setRootRef}\n data-tid={MenuItemDataTids.root}\n {...rest}\n disabled={disabled}\n state={this.activeState}\n onMouseOver={this.handleMouseEnterFix}\n onMouseLeave={this.handleMouseLeave}\n onClick={this.handleClick}\n className={className}\n href={href}\n rel={href ? rel : undefined}\n tabIndex={-1}\n >\n {iconElement}\n <span\n className={cx({\n [styles.mobileContentWithIcon()]: isMobile && isNonNullable(icon),\n })}\n ref={this.contentRef}\n data-tid={MenuItemDataTids.content}\n >\n {typeof content === 'function' ? content() : content}\n </span>\n {comment && (\n <div\n data-tid={MenuItemDataTids.comment}\n className={cx({\n [styles.comment(this.theme)]: true,\n [styles.commentHover(this.theme)]: this.isHover,\n })}\n >\n {comment}\n </div>\n )}\n </Component>\n </CommonWrapper>\n );\n };\n\n private get activeState() {\n return this.state.highlighted ? 'hover' : this.props.state;\n }\n\n private get isHover(): boolean {\n return (this.state.highlighted || this.props.state === 'hover') && !this.props.disabled;\n }\n\n private get isSelected(): boolean {\n return this.props.state === 'selected' && !this.state.highlighted;\n }\n\n // https://github.com/facebook/react/issues/10109\n // Mouseenter event not triggered when cursor moves from disabled button\n private handleMouseEnterFix = (e: React.MouseEvent<HTMLElement>) => {\n if (!this.mouseEntered) {\n this.mouseEntered = true;\n this.props.onMouseEnter?.(e);\n !this.props.isNotSelectable && this.context.navigation?.highlight(this);\n }\n };\n\n private handleMouseLeave = (e: React.MouseEvent<HTMLElement>) => {\n this.mouseEntered = false;\n this.props.onMouseLeave?.(e);\n !this.props.isNotSelectable && this.context.navigation?.unhighlight();\n };\n\n private handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (this.props.isNotSelectable) {\n return;\n }\n this.props.onClick?.(e);\n this.context.onItemClick?.(e);\n };\n\n private setRootRef = (element: HTMLElement) => {\n this.rootRef = element;\n };\n\n private getComponent = () => {\n const { disabled, component, href } = this.props;\n\n if (component) {\n return component;\n }\n\n if (disabled) {\n return 'button';\n }\n\n if (href) {\n return 'a';\n }\n\n return 'button';\n };\n\n private hasIconAmongItems = () => {\n return Boolean(this.context.navigation?.items.some((item) => item.props.icon));\n };\n}\n\nexport const isMenuItem = isReactUIComponent('MenuItem');\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import type { AriaAttributes, HTMLAttributes } from 'react';
2
2
  import React from 'react';
3
- import PropTypes from 'prop-types';
4
3
  import type { CommonProps } from '../../internal/CommonWrapper';
4
+ import type { TGetRootNode } from '../../lib/rootNode';
5
5
  import type { SizeProp } from '../../lib/types/props';
6
6
  import type { MenuContextType } from '../../internal/Menu/MenuContext';
7
7
  export type MenuItemState = null | 'hover' | 'selected' | void;
@@ -15,11 +15,6 @@ export interface MenuItemProps extends Pick<AriaAttributes, 'aria-describedby' |
15
15
  disabled?: boolean;
16
16
  /** Добавляет иконку элементу меню. */
17
17
  icon?: React.ReactElement<any>;
18
- /**
19
- * Меняет цвет текста на синий.
20
- * @deprecated
21
- */
22
- link?: boolean;
23
18
  /** Задает размер контрола. */
24
19
  size?: SizeProp;
25
20
  /** @ignore */
@@ -66,23 +61,13 @@ export declare class MenuItem extends React.Component<MenuItemProps> {
66
61
  static __KONTUR_REACT_UI__: string;
67
62
  static displayName: string;
68
63
  static __MENU_ITEM__: boolean;
69
- static propTypes: {
70
- comment: PropTypes.Requireable<PropTypes.ReactNodeLike>;
71
- disabled: PropTypes.Requireable<boolean>;
72
- href: PropTypes.Requireable<string>;
73
- icon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
74
- loose: PropTypes.Requireable<boolean>;
75
- state: PropTypes.Requireable<string>;
76
- target: PropTypes.Requireable<string>;
77
- onClick: PropTypes.Requireable<(...args: any[]) => any>;
78
- size: PropTypes.Requireable<string>;
79
- };
80
64
  state: {
81
65
  iconOffsetTop: number;
82
66
  highlighted: boolean;
83
67
  };
84
68
  private theme;
85
69
  private mouseEntered;
70
+ getRootNode: TGetRootNode;
86
71
  private setRootNode;
87
72
  private rootRef;
88
73
  private contentRef;
@@ -1,5 +1,5 @@
1
1
  import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
2
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21;
2
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20;
3
3
  import { css, memoizeStyle } from "../../../lib/theming/Emotion";
4
4
  import { resetButton } from "../../../lib/styles/Mixins";
5
5
  import { iconSizeMixin, menuItemSizeMixin, withIconSizeMixin } from "../MenuItem.mixins";
@@ -42,40 +42,37 @@ export var styles = memoizeStyle({
42
42
  nonSelectable: function nonSelectable() {
43
43
  return css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteralLoose(["\n cursor: default;\n "])));
44
44
  },
45
- link: function link(t) {
46
- return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n color: ", ";\n "])), t.menuItemLinkColor);
47
- },
48
45
  loose: function loose() {
49
- return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n padding-left: 15px;\n "])));
46
+ return css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteralLoose(["\n padding-left: 15px;\n "])));
50
47
  },
51
48
  withIconSmall: function withIconSmall(t) {
52
- return css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteralLoose(["\n ", "\n "])), withIconSizeMixin(t.menuItemPaddingForIconSmall));
49
+ return css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteralLoose(["\n ", "\n "])), withIconSizeMixin(t.menuItemPaddingForIconSmall));
53
50
  },
54
51
  withIconMedium: function withIconMedium(t) {
55
- return css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteralLoose(["\n ", "\n "])), withIconSizeMixin(t.menuItemPaddingForIconMedium));
52
+ return css(_templateObject12 || (_templateObject12 = _taggedTemplateLiteralLoose(["\n ", "\n "])), withIconSizeMixin(t.menuItemPaddingForIconMedium));
56
53
  },
57
54
  withIconLarge: function withIconLarge(t) {
58
- return css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteralLoose(["\n ", "\n "])), withIconSizeMixin(t.menuItemPaddingForIconLarge));
55
+ return css(_templateObject13 || (_templateObject13 = _taggedTemplateLiteralLoose(["\n ", "\n "])), withIconSizeMixin(t.menuItemPaddingForIconLarge));
59
56
  },
60
57
  comment: function comment(t) {
61
- return css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["\n color: ", ";\n opacity: ", ";\n white-space: normal;\n padding-top: 4px;\n "])), t.menuItemCommentColor, t.menuItemCommentOpacity);
58
+ return css(_templateObject14 || (_templateObject14 = _taggedTemplateLiteralLoose(["\n color: ", ";\n opacity: ", ";\n white-space: normal;\n padding-top: 4px;\n "])), t.menuItemCommentColor, t.menuItemCommentOpacity);
62
59
  },
63
60
  commentHover: function commentHover(t) {
64
- return css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteralLoose(["\n color: ", ";\n opacity: 0.6;\n "])), t.menuItemCommentColorHover);
61
+ return css(_templateObject15 || (_templateObject15 = _taggedTemplateLiteralLoose(["\n color: ", ";\n opacity: 0.6;\n "])), t.menuItemCommentColorHover);
65
62
  },
66
63
  icon: function icon() {
67
- return css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteralLoose(["\n display: inline-block;\n position: absolute;\n transform: translateY(0px); // icon shifts one pixel up in firefox on medium size without this property\n "])));
64
+ return css(_templateObject16 || (_templateObject16 = _taggedTemplateLiteralLoose(["\n display: inline-block;\n position: absolute;\n transform: translateY(0px); // icon shifts one pixel up in firefox on medium size without this property\n "])));
68
65
  },
69
66
  iconSmall: function iconSmall(t) {
70
- return css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), iconSizeMixin(t.menuItemIconWidthSmall, t.menuItemPaddingXSmall));
67
+ return css(_templateObject17 || (_templateObject17 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), iconSizeMixin(t.menuItemIconWidthSmall, t.menuItemPaddingXSmall));
71
68
  },
72
69
  iconMedium: function iconMedium(t) {
73
- return css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), iconSizeMixin(t.menuItemIconWidthMedium, t.menuItemPaddingXMedium));
70
+ return css(_templateObject18 || (_templateObject18 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), iconSizeMixin(t.menuItemIconWidthMedium, t.menuItemPaddingXMedium));
74
71
  },
75
72
  iconLarge: function iconLarge(t) {
76
- return css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), iconSizeMixin(t.menuItemIconWidthLarge, t.menuItemPaddingXLarge));
73
+ return css(_templateObject19 || (_templateObject19 = _taggedTemplateLiteralLoose(["\n ", ";\n "])), iconSizeMixin(t.menuItemIconWidthLarge, t.menuItemPaddingXLarge));
77
74
  },
78
75
  mobileContentWithIcon: function mobileContentWithIcon() {
79
- return css(_templateObject21 || (_templateObject21 = _taggedTemplateLiteralLoose(["\n margin-left: 8px;\n "])));
76
+ return css(_templateObject20 || (_templateObject20 = _taggedTemplateLiteralLoose(["\n margin-left: 8px;\n "])));
80
77
  }
81
78
  });