@skbkontur/react-ui 4.3.0 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (567) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/cjs/components/Autocomplete/Autocomplete.js +3 -1
  3. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  4. package/cjs/components/Checkbox/Checkbox.js +4 -2
  5. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  6. package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -1
  7. package/cjs/components/Checkbox/Checkbox.styles.js +1 -1
  8. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  9. package/cjs/components/CurrencyInput/CurrencyInput.js +10 -4
  10. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  11. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +3 -1
  12. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js +14 -2
  13. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js.map +1 -1
  14. package/cjs/components/DateInput/DateFragmentsView.d.ts +1 -1
  15. package/cjs/components/DateInput/DateFragmentsView.js +10 -1
  16. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  17. package/cjs/components/DateInput/DateInput.d.ts +1 -1
  18. package/cjs/components/DateInput/DateInput.js +1 -1
  19. package/cjs/components/DateInput/DateInput.js.map +1 -1
  20. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js +1 -2
  21. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  22. package/cjs/components/DateInput/helpers/SelectionHelpers.js +2 -2
  23. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  24. package/cjs/components/DatePicker/DatePicker.d.ts +1 -1
  25. package/cjs/components/DatePicker/DatePicker.js +11 -3
  26. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  27. package/cjs/components/DatePicker/Picker.js +5 -1
  28. package/cjs/components/DatePicker/Picker.js.map +1 -1
  29. package/cjs/components/FileUploader/FileUploader.d.ts +2 -1
  30. package/cjs/components/FileUploader/FileUploader.js +16 -3
  31. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  32. package/cjs/components/FileUploader/FileUploader.md +8 -1
  33. package/cjs/components/FxInput/FxInput.js +3 -1
  34. package/cjs/components/FxInput/FxInput.js.map +1 -1
  35. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +2 -2
  36. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  37. package/cjs/components/Hint/Hint.d.ts +1 -1
  38. package/cjs/components/Hint/Hint.js.map +1 -1
  39. package/cjs/components/Hint/Hint.md +14 -0
  40. package/cjs/components/Input/Input.js +5 -2
  41. package/cjs/components/Input/Input.js.map +1 -1
  42. package/cjs/components/Input/Input.md +5 -1
  43. package/cjs/components/Input/Input.styles.d.ts +1 -0
  44. package/cjs/components/Input/Input.styles.js +17 -10
  45. package/cjs/components/Input/Input.styles.js.map +1 -1
  46. package/cjs/components/Kebab/Kebab.d.ts +1 -4
  47. package/cjs/components/Kebab/Kebab.js.map +1 -1
  48. package/cjs/components/Link/Link.d.ts +1 -3
  49. package/cjs/components/Link/Link.js +1 -1
  50. package/cjs/components/Link/Link.js.map +1 -1
  51. package/cjs/components/Loader/Loader.d.ts +2 -1
  52. package/cjs/components/Loader/Loader.js +1 -0
  53. package/cjs/components/Loader/Loader.js.map +1 -1
  54. package/cjs/components/Loader/__stories__/LoaderAndButton.js +6 -0
  55. package/cjs/components/Loader/__stories__/LoaderAndButton.js.map +1 -1
  56. package/cjs/components/MenuItem/MenuItem.js +3 -1
  57. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  58. package/cjs/components/Modal/Modal.js +2 -2
  59. package/cjs/components/Modal/Modal.js.map +1 -1
  60. package/cjs/components/Modal/Modal.styles.d.ts +2 -2
  61. package/cjs/components/Modal/Modal.styles.js +2 -2
  62. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  63. package/cjs/components/Modal/ModalBody.js +2 -2
  64. package/cjs/components/Modal/ModalBody.js.map +1 -1
  65. package/cjs/components/Paging/Paging.d.ts +1 -1
  66. package/cjs/components/Paging/Paging.js +1 -1
  67. package/cjs/components/Paging/Paging.js.map +1 -1
  68. package/cjs/components/Paging/PagingDefaultComponent.d.ts +2 -2
  69. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -1
  70. package/cjs/components/PasswordInput/PasswordInput.js +7 -5
  71. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  72. package/cjs/components/Radio/Radio.js +3 -1
  73. package/cjs/components/Radio/Radio.js.map +1 -1
  74. package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +6 -5
  75. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +5 -9
  76. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  77. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +31 -0
  78. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +2 -2
  79. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  80. package/cjs/components/ResponsiveLayout/decorator.d.ts +1 -1
  81. package/cjs/components/ResponsiveLayout/types.d.ts +9 -1
  82. package/cjs/components/ResponsiveLayout/useResponsiveLayout.d.ts +2 -2
  83. package/cjs/components/ResponsiveLayout/useResponsiveLayout.js +31 -15
  84. package/cjs/components/ResponsiveLayout/useResponsiveLayout.js.map +1 -1
  85. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +1 -1
  86. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js +4 -4
  87. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -1
  88. package/cjs/components/ScrollContainer/ScrollContainer.js +1 -1
  89. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  90. package/cjs/components/Select/Item.d.ts +4 -2
  91. package/cjs/components/Select/Item.js +3 -0
  92. package/cjs/components/Select/Item.js.map +1 -1
  93. package/cjs/components/Select/Select.js +2 -0
  94. package/cjs/components/Select/Select.js.map +1 -1
  95. package/cjs/components/SidePage/SidePageFooter.d.ts +6 -4
  96. package/cjs/components/SidePage/SidePageFooter.js +4 -0
  97. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  98. package/cjs/components/Spinner/Spinner.js +1 -1
  99. package/cjs/components/Spinner/Spinner.js.map +1 -1
  100. package/cjs/components/Spinner/Spinner.styles.d.ts +1 -1
  101. package/cjs/components/Spinner/Spinner.styles.js +7 -7
  102. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  103. package/cjs/components/Tabs/Indicator.d.ts +1 -1
  104. package/cjs/components/Tabs/Indicator.js +1 -1
  105. package/cjs/components/Tabs/Indicator.js.map +1 -1
  106. package/cjs/components/Tabs/Tabs.js.map +1 -1
  107. package/cjs/components/Textarea/Textarea.js +3 -1
  108. package/cjs/components/Textarea/Textarea.js.map +1 -1
  109. package/cjs/components/Textarea/TextareaCounter.d.ts +2 -2
  110. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  111. package/cjs/components/Toast/Toast.js +1 -1
  112. package/cjs/components/Toast/Toast.js.map +1 -1
  113. package/cjs/components/Token/Token.styles.js +2 -1
  114. package/cjs/components/Token/Token.styles.js.map +1 -1
  115. package/cjs/components/TokenInput/TokenInput.d.ts +3 -0
  116. package/cjs/components/TokenInput/TokenInput.js +57 -15
  117. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  118. package/cjs/components/TokenInput/TokenInput.md +26 -0
  119. package/cjs/components/TokenInput/TokenInput.styles.js +2 -1
  120. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  121. package/cjs/components/TokenInput/TokenInputMenu.d.ts +2 -1
  122. package/cjs/components/TokenInput/TokenInputMenu.js +1 -1
  123. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  124. package/cjs/components/Tooltip/Tooltip.d.ts +2 -2
  125. package/cjs/components/Tooltip/Tooltip.js +2 -2
  126. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  127. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +1 -1
  128. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  129. package/cjs/hooks/useEffectWithoutInitCall.d.ts +2 -2
  130. package/cjs/hooks/useEffectWithoutInitCall.js +2 -2
  131. package/cjs/hooks/useEffectWithoutInitCall.js.map +1 -1
  132. package/cjs/hooks/useMemoObject.d.ts +2 -1
  133. package/cjs/hooks/useMemoObject.js +2 -0
  134. package/cjs/hooks/useMemoObject.js.map +1 -1
  135. package/cjs/internal/BGRuler.d.ts +1 -1
  136. package/cjs/internal/BGRuler.js.map +1 -1
  137. package/cjs/internal/Calendar/MonthViewModel.d.ts +1 -1
  138. package/cjs/internal/Calendar/config.d.ts +1 -8
  139. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +1 -1
  140. package/cjs/internal/CommonWrapper/CommonWrapper.js +5 -4
  141. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  142. package/cjs/internal/ComponentTable.d.ts +2 -2
  143. package/cjs/internal/ComponentTable.js +3 -1
  144. package/cjs/internal/ComponentTable.js.map +1 -1
  145. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -2
  146. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +8 -8
  147. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  148. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +4 -5
  149. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  150. package/cjs/internal/DataTids/DataTids.d.ts +5 -5
  151. package/cjs/internal/DataTids/DataTids.js +4 -0
  152. package/cjs/internal/DataTids/DataTids.js.map +1 -1
  153. package/cjs/internal/DateSelect/DateSelect.js +1 -1
  154. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  155. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +1 -1
  156. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  157. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
  158. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
  159. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +2 -1
  160. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  161. package/cjs/internal/InputLikeText/InputLikeText.js +4 -2
  162. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  163. package/cjs/internal/InternalMenu/InternalMenu.js +21 -9
  164. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  165. package/cjs/internal/MaskedInput/MaskedInput.d.ts +1 -0
  166. package/cjs/internal/MaskedInput/MaskedInput.js +13 -5
  167. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  168. package/cjs/internal/Menu/Menu.js +7 -3
  169. package/cjs/internal/Menu/Menu.js.map +1 -1
  170. package/cjs/internal/MobilePopup/MobilePopup.js +1 -1
  171. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  172. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +1 -1
  173. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  174. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  175. package/cjs/internal/Popup/Popup.d.ts +1 -1
  176. package/cjs/internal/Popup/Popup.js +20 -15
  177. package/cjs/internal/Popup/Popup.js.map +1 -1
  178. package/cjs/internal/Popup/PopupHelper.d.ts +1 -1
  179. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  180. package/cjs/internal/Popup/PopupPin.d.ts +1 -1
  181. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  182. package/cjs/internal/RenderLayer/RenderLayer.d.ts +1 -1
  183. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  184. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +11 -6
  185. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js +7 -0
  186. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js.map +1 -1
  187. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +7 -6
  188. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js +2 -3
  189. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js.map +1 -1
  190. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +6 -4
  191. package/cjs/internal/ThemePlayground/FxInputPlayground.js +5 -5
  192. package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +1 -1
  193. package/cjs/internal/ThemePlayground/HintPlayground.d.ts +1 -1
  194. package/cjs/internal/ThemePlayground/HintPlayground.js.map +1 -1
  195. package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +6 -6
  196. package/cjs/internal/ThemePlayground/PagingPlayground.js +5 -2
  197. package/cjs/internal/ThemePlayground/PagingPlayground.js.map +1 -1
  198. package/cjs/internal/ThemePlayground/Playground.d.ts +1 -1
  199. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  200. package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +9 -6
  201. package/cjs/internal/ThemePlayground/SelectPlayground.js +6 -0
  202. package/cjs/internal/ThemePlayground/SelectPlayground.js.map +1 -1
  203. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +2 -2
  204. package/cjs/internal/ThemePlayground/SizesGroup.js +2 -0
  205. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  206. package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +9 -8
  207. package/cjs/internal/ThemePlayground/SwitcherPlayground.js +6 -1
  208. package/cjs/internal/ThemePlayground/SwitcherPlayground.js.map +1 -1
  209. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +14 -4
  210. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  211. package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +1 -4
  212. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  213. package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +2 -7
  214. package/cjs/internal/ThemePlayground/TogglePlayground.js +4 -10
  215. package/cjs/internal/ThemePlayground/TogglePlayground.js.map +1 -1
  216. package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +6 -4
  217. package/cjs/internal/ThemePlayground/TokenInputPlayground.js +3 -0
  218. package/cjs/internal/ThemePlayground/TokenInputPlayground.js.map +1 -1
  219. package/cjs/internal/ThemePlayground/VariableValue.d.ts +1 -4
  220. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  221. package/cjs/internal/ThemePlayground/helpers.d.ts +1 -1
  222. package/cjs/internal/ThemePlayground/helpers.js +4 -2
  223. package/cjs/internal/ThemePlayground/helpers.js.map +1 -1
  224. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  225. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  226. package/cjs/internal/ZIndex/ZIndex.js +2 -9
  227. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  228. package/cjs/internal/themes/DefaultTheme.d.ts +2 -0
  229. package/cjs/internal/themes/DefaultTheme.js +8 -2
  230. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  231. package/cjs/lib/ConditionalHandler.js.map +1 -1
  232. package/cjs/lib/InstanceWithAnchorElement.d.ts +1 -1
  233. package/cjs/lib/InstanceWithAnchorElement.js.map +1 -1
  234. package/cjs/lib/ModalStack.js +2 -2
  235. package/cjs/lib/ModalStack.js.map +1 -1
  236. package/cjs/lib/SSRSafe.d.ts +2 -1
  237. package/cjs/lib/SSRSafe.js +9 -1
  238. package/cjs/lib/SSRSafe.js.map +1 -1
  239. package/cjs/lib/animation/index.js +1 -0
  240. package/cjs/lib/animation/index.js.map +1 -1
  241. package/cjs/lib/callChildRef/callChildRef.js +1 -1
  242. package/cjs/lib/callChildRef/callChildRef.js.map +1 -1
  243. package/cjs/lib/createPropsGetter.d.ts +1 -1
  244. package/cjs/lib/createPropsGetter.js +1 -0
  245. package/cjs/lib/createPropsGetter.js.map +1 -1
  246. package/cjs/lib/date/InternalDateCalculator.d.ts +1 -1
  247. package/cjs/lib/date/InternalDateCalculator.js +1 -1
  248. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  249. package/cjs/lib/date/InternalDateValidator.d.ts +1 -1
  250. package/cjs/lib/date/InternalDateValidator.js +9 -2
  251. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  252. package/cjs/lib/extractKeyboardAction.d.ts +1 -1
  253. package/cjs/lib/extractKeyboardAction.js.map +1 -1
  254. package/cjs/lib/filterProps.js +0 -1
  255. package/cjs/lib/filterProps.js.map +1 -1
  256. package/cjs/lib/listenFocusOutside.d.ts +1 -1
  257. package/cjs/lib/listenFocusOutside.js.map +1 -1
  258. package/cjs/lib/locale/useLocaleForControl.d.ts +1 -1
  259. package/cjs/lib/locale/useLocaleForControl.js.map +1 -1
  260. package/cjs/lib/memo.d.ts +3 -1
  261. package/cjs/lib/memo.js +3 -3
  262. package/cjs/lib/memo.js.map +1 -1
  263. package/cjs/lib/net/fetch.js +2 -2
  264. package/cjs/lib/net/fetch.js.map +1 -1
  265. package/cjs/lib/reactGetTextContent.js +0 -1
  266. package/cjs/lib/reactGetTextContent.js.map +1 -1
  267. package/cjs/lib/rootNode/getRootNode.d.ts +3 -3
  268. package/cjs/lib/rootNode/getRootNode.js +7 -7
  269. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  270. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +9 -9
  271. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  272. package/cjs/lib/styles/ColorFactory.js +2 -2
  273. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  274. package/cjs/lib/styles/ColorFunctions.js.map +1 -1
  275. package/cjs/lib/theming/AnimationKeyframes.d.ts +3 -5
  276. package/cjs/lib/theming/AnimationKeyframes.js +8 -22
  277. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  278. package/cjs/lib/theming/Emotion.js +1 -0
  279. package/cjs/lib/theming/Emotion.js.map +1 -1
  280. package/cjs/lib/theming/ThemeFactory.d.ts +1 -1
  281. package/cjs/lib/theming/ThemeFactory.js +3 -1
  282. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  283. package/cjs/lib/theming/ThemeHelpers.d.ts +2 -2
  284. package/cjs/lib/theming/ThemeHelpers.js +1 -1
  285. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  286. package/cjs/lib/utils.d.ts +3 -1
  287. package/cjs/lib/utils.js +5 -2
  288. package/cjs/lib/utils.js.map +1 -1
  289. package/cjs/lib/withClassWrapper.js +1 -4
  290. package/cjs/lib/withClassWrapper.js.map +1 -1
  291. package/cjs/typings/event-types.d.ts +2 -2
  292. package/components/Autocomplete/Autocomplete/Autocomplete.js +4 -1
  293. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  294. package/components/Checkbox/Checkbox/Checkbox.js +5 -2
  295. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  296. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +1 -1
  297. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  298. package/components/Checkbox/Checkbox.styles.d.ts +1 -1
  299. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +15 -3
  300. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  301. package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js +4 -2
  302. package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js.map +1 -1
  303. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +3 -1
  304. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +11 -1
  305. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  306. package/components/DateInput/DateFragmentsView.d.ts +1 -1
  307. package/components/DateInput/DateInput/DateInput.js +1 -1
  308. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  309. package/components/DateInput/DateInput.d.ts +1 -1
  310. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js +0 -1
  311. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
  312. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +2 -2
  313. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  314. package/components/DatePicker/DatePicker/DatePicker.js +13 -12
  315. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  316. package/components/DatePicker/DatePicker.d.ts +1 -1
  317. package/components/DatePicker/Picker/Picker.js +5 -1
  318. package/components/DatePicker/Picker/Picker.js.map +1 -1
  319. package/components/FileUploader/FileUploader/FileUploader.js +9 -4
  320. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  321. package/components/FileUploader/FileUploader.d.ts +2 -1
  322. package/components/FileUploader/FileUploader.md +8 -1
  323. package/components/FxInput/FxInput/FxInput.js +4 -1
  324. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  325. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  326. package/components/GlobalLoader/GlobalLoaderView.d.ts +2 -2
  327. package/components/Hint/Hint/Hint.js.map +1 -1
  328. package/components/Hint/Hint.d.ts +1 -1
  329. package/components/Hint/Hint.md +14 -0
  330. package/components/Input/Input/Input.js +5 -2
  331. package/components/Input/Input/Input.js.map +1 -1
  332. package/components/Input/Input.md +5 -1
  333. package/components/Input/Input.styles/Input.styles.js +13 -10
  334. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  335. package/components/Input/Input.styles.d.ts +1 -0
  336. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  337. package/components/Kebab/Kebab.d.ts +1 -4
  338. package/components/Link/Link/Link.js +1 -1
  339. package/components/Link/Link/Link.js.map +1 -1
  340. package/components/Link/Link.d.ts +1 -3
  341. package/components/Loader/Loader/Loader.js.map +1 -1
  342. package/components/Loader/Loader.d.ts +2 -1
  343. package/components/Loader/__stories__/LoaderAndButton/LoaderAndButton.js.map +1 -1
  344. package/components/MenuItem/MenuItem/MenuItem.js +4 -1
  345. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  346. package/components/Modal/Modal/Modal.js +2 -2
  347. package/components/Modal/Modal/Modal.js.map +1 -1
  348. package/components/Modal/Modal.styles/Modal.styles.js +2 -2
  349. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  350. package/components/Modal/Modal.styles.d.ts +2 -2
  351. package/components/Modal/ModalBody/ModalBody.js +2 -2
  352. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  353. package/components/Paging/Paging/Paging.js +1 -1
  354. package/components/Paging/Paging/Paging.js.map +1 -1
  355. package/components/Paging/Paging.d.ts +1 -1
  356. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -1
  357. package/components/Paging/PagingDefaultComponent.d.ts +2 -2
  358. package/components/PasswordInput/PasswordInput/PasswordInput.js +7 -8
  359. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  360. package/components/Radio/Radio/Radio.js +4 -1
  361. package/components/Radio/Radio/Radio.js.map +1 -1
  362. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +5 -8
  363. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  364. package/components/ResponsiveLayout/ResponsiveLayout.d.ts +6 -5
  365. package/components/ResponsiveLayout/ResponsiveLayout.md +31 -0
  366. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +3 -1
  367. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  368. package/components/ResponsiveLayout/decorator.d.ts +1 -1
  369. package/components/ResponsiveLayout/types.d.ts +9 -1
  370. package/components/ResponsiveLayout/useResponsiveLayout/useResponsiveLayout.js +42 -17
  371. package/components/ResponsiveLayout/useResponsiveLayout/useResponsiveLayout.js.map +1 -1
  372. package/components/ResponsiveLayout/useResponsiveLayout.d.ts +2 -2
  373. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +1 -1
  374. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  375. package/components/ScrollContainer/ScrollContainer.d.ts +1 -1
  376. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js +4 -4
  377. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js.map +1 -1
  378. package/components/Select/Item/Item.js.map +1 -1
  379. package/components/Select/Item.d.ts +4 -2
  380. package/components/Select/Select/Select.js.map +1 -1
  381. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  382. package/components/SidePage/SidePageFooter.d.ts +6 -4
  383. package/components/Spinner/Spinner/Spinner.js +1 -1
  384. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  385. package/components/Spinner/Spinner.styles/Spinner.styles.js +3 -3
  386. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  387. package/components/Spinner/Spinner.styles.d.ts +1 -1
  388. package/components/Tabs/Indicator/Indicator.js +1 -1
  389. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  390. package/components/Tabs/Indicator.d.ts +1 -1
  391. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  392. package/components/Textarea/Textarea/Textarea.js +4 -1
  393. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  394. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  395. package/components/Textarea/TextareaCounter.d.ts +2 -2
  396. package/components/Toast/Toast/Toast.js +1 -1
  397. package/components/Toast/Toast/Toast.js.map +1 -1
  398. package/components/Token/Token.styles/Token.styles.js +1 -1
  399. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  400. package/components/TokenInput/TokenInput/TokenInput.js +82 -19
  401. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  402. package/components/TokenInput/TokenInput.d.ts +3 -0
  403. package/components/TokenInput/TokenInput.md +26 -0
  404. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
  405. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  406. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +1 -1
  407. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  408. package/components/TokenInput/TokenInputMenu.d.ts +2 -1
  409. package/components/Tooltip/Tooltip/Tooltip.js +2 -2
  410. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  411. package/components/Tooltip/Tooltip.d.ts +2 -2
  412. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  413. package/components/TooltipMenu/TooltipMenu.d.ts +1 -1
  414. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js +2 -2
  415. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js.map +1 -1
  416. package/hooks/useEffectWithoutInitCall.d.ts +2 -2
  417. package/hooks/useMemoObject/useMemoObject.js.map +1 -1
  418. package/hooks/useMemoObject.d.ts +2 -1
  419. package/internal/BGRuler/BGRuler.js.map +1 -1
  420. package/internal/BGRuler.d.ts +1 -1
  421. package/internal/Calendar/MonthViewModel.d.ts +1 -1
  422. package/internal/Calendar/config.d.ts +1 -8
  423. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +3 -2
  424. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  425. package/internal/CommonWrapper/CommonWrapper.d.ts +1 -1
  426. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  427. package/internal/ComponentTable.d.ts +2 -2
  428. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +14 -17
  429. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  430. package/internal/CustomComboBox/ComboBoxMenu.d.ts +2 -2
  431. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +4 -5
  432. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  433. package/internal/DataTids/DataTids/DataTids.js.map +1 -1
  434. package/internal/DataTids/DataTids.d.ts +5 -5
  435. package/internal/DateSelect/DateSelect/DateSelect.js +1 -1
  436. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  437. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  438. package/internal/DropdownContainer/DropdownContainer.d.ts +1 -1
  439. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
  440. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
  441. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +2 -1
  442. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  443. package/internal/InputLikeText/InputLikeText/InputLikeText.js +5 -2
  444. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  445. package/internal/InternalMenu/InternalMenu/InternalMenu.js +17 -7
  446. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  447. package/internal/MaskedInput/MaskedInput/MaskedInput.js +13 -6
  448. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  449. package/internal/MaskedInput/MaskedInput.d.ts +1 -0
  450. package/internal/Menu/Menu/Menu.js +6 -1
  451. package/internal/Menu/Menu/Menu.js.map +1 -1
  452. package/internal/MobilePopup/MobilePopup/MobilePopup.js +1 -1
  453. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  454. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +1 -1
  455. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  456. package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  457. package/internal/Popup/Popup/Popup.js +20 -12
  458. package/internal/Popup/Popup/Popup.js.map +1 -1
  459. package/internal/Popup/Popup.d.ts +1 -1
  460. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  461. package/internal/Popup/PopupHelper.d.ts +1 -1
  462. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  463. package/internal/Popup/PopupPin.d.ts +1 -1
  464. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  465. package/internal/RenderLayer/RenderLayer.d.ts +1 -1
  466. package/internal/ThemePlayground/AnotherInputsPlayground/AnotherInputsPlayground.js.map +1 -1
  467. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +11 -6
  468. package/internal/ThemePlayground/CurrencyInputPlayground/CurrencyInputPlayground.js.map +1 -1
  469. package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +7 -6
  470. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js +10 -6
  471. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js.map +1 -1
  472. package/internal/ThemePlayground/FxInputPlayground.d.ts +6 -4
  473. package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +1 -1
  474. package/internal/ThemePlayground/HintPlayground.d.ts +1 -1
  475. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js +2 -2
  476. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js.map +1 -1
  477. package/internal/ThemePlayground/PagingPlayground.d.ts +6 -6
  478. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  479. package/internal/ThemePlayground/Playground.d.ts +1 -1
  480. package/internal/ThemePlayground/SelectPlayground/SelectPlayground.js.map +1 -1
  481. package/internal/ThemePlayground/SelectPlayground.d.ts +9 -6
  482. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  483. package/internal/ThemePlayground/SizesGroup.d.ts +2 -2
  484. package/internal/ThemePlayground/SwitcherPlayground/SwitcherPlayground.js.map +1 -1
  485. package/internal/ThemePlayground/SwitcherPlayground.d.ts +9 -8
  486. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +13 -3
  487. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  488. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  489. package/internal/ThemePlayground/ThemeEditor.d.ts +1 -4
  490. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js +5 -17
  491. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js.map +1 -1
  492. package/internal/ThemePlayground/TogglePlayground.d.ts +2 -7
  493. package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js.map +1 -1
  494. package/internal/ThemePlayground/TokenInputPlayground.d.ts +6 -4
  495. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  496. package/internal/ThemePlayground/VariableValue.d.ts +1 -4
  497. package/internal/ThemePlayground/helpers/helpers.js +0 -1
  498. package/internal/ThemePlayground/helpers/helpers.js.map +1 -1
  499. package/internal/ThemePlayground/helpers.d.ts +1 -1
  500. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  501. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  502. package/internal/ZIndex/ZIndex/ZIndex.js +6 -3
  503. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  504. package/internal/themes/DefaultTheme/DefaultTheme.js +16 -6
  505. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  506. package/internal/themes/DefaultTheme.d.ts +2 -0
  507. package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
  508. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js.map +1 -1
  509. package/lib/InstanceWithAnchorElement.d.ts +1 -1
  510. package/lib/ModalStack/ModalStack.js +2 -2
  511. package/lib/ModalStack/ModalStack.js.map +1 -1
  512. package/lib/SSRSafe/SSRSafe.js +7 -0
  513. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  514. package/lib/SSRSafe.d.ts +2 -1
  515. package/lib/animation/index/index.js +1 -1
  516. package/lib/animation/index/index.js.map +1 -1
  517. package/lib/callChildRef/callChildRef/callChildRef.js +1 -1
  518. package/lib/callChildRef/callChildRef/callChildRef.js.map +1 -1
  519. package/lib/createPropsGetter/createPropsGetter.js +1 -0
  520. package/lib/createPropsGetter/createPropsGetter.js.map +1 -1
  521. package/lib/createPropsGetter.d.ts +1 -1
  522. package/lib/date/InternalDateCalculator/InternalDateCalculator.js +1 -2
  523. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  524. package/lib/date/InternalDateCalculator.d.ts +1 -1
  525. package/lib/date/InternalDateValidator/InternalDateValidator.js +8 -2
  526. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  527. package/lib/date/InternalDateValidator.d.ts +1 -1
  528. package/lib/extractKeyboardAction/extractKeyboardAction.js.map +1 -1
  529. package/lib/extractKeyboardAction.d.ts +1 -1
  530. package/lib/filterProps/filterProps.js +0 -1
  531. package/lib/filterProps/filterProps.js.map +1 -1
  532. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  533. package/lib/listenFocusOutside.d.ts +1 -1
  534. package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +1 -1
  535. package/lib/locale/useLocaleForControl.d.ts +1 -1
  536. package/lib/memo/memo.js +2 -4
  537. package/lib/memo/memo.js.map +1 -1
  538. package/lib/memo.d.ts +3 -1
  539. package/lib/net/fetch/fetch.js +2 -2
  540. package/lib/net/fetch/fetch.js.map +1 -1
  541. package/lib/reactGetTextContent/reactGetTextContent.js +0 -1
  542. package/lib/reactGetTextContent/reactGetTextContent.js.map +1 -1
  543. package/lib/rootNode/getRootNode/getRootNode.js +8 -8
  544. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  545. package/lib/rootNode/getRootNode.d.ts +3 -3
  546. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  547. package/lib/rootNode/rootNodeDecorator.d.ts +9 -9
  548. package/lib/styles/ColorFactory/ColorFactory.js +3 -1
  549. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  550. package/lib/styles/ColorFunctions/ColorFunctions.js.map +1 -1
  551. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +8 -14
  552. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  553. package/lib/theming/AnimationKeyframes.d.ts +3 -5
  554. package/lib/theming/Emotion/Emotion.js.map +1 -1
  555. package/lib/theming/ThemeFactory/ThemeFactory.js +4 -1
  556. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  557. package/lib/theming/ThemeFactory.d.ts +1 -1
  558. package/lib/theming/ThemeHelpers/ThemeHelpers.js +1 -1
  559. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  560. package/lib/theming/ThemeHelpers.d.ts +2 -2
  561. package/lib/utils/utils.js +2 -2
  562. package/lib/utils/utils.js.map +1 -1
  563. package/lib/utils.d.ts +3 -1
  564. package/lib/withClassWrapper/withClassWrapper.js +1 -4
  565. package/lib/withClassWrapper/withClassWrapper.js.map +1 -1
  566. package/package.json +3 -20
  567. package/typings/event-types.d.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["TokenInput.styles.ts"],"names":["mixins","inputAndHelperCommonStyles","t","css","tokenInputInputPaddingRight","tokenInputInputPaddingLeft","tokenInputLineHeight","tokenInputFontSize","inputAndHelperCommonEditingStyles","tokenMarginY","tokenMarginX","tokenPaddingX","tokenLineHeight","styles","label","tokenInputBg","tokenInputShadow","tokenInputBorderWidth","tokenInputBorderColor","tokenInputBorderTopColor","tokenInputPaddingY","tokenInputPaddingX","tokenInputBorderRadius","warning","tokenInputBorderColorWarning","tokenInputOutlineWidth","error","tokenInputBorderColorError","labelFocused","tokenInputBorderColorFocus","labelDisabled","tokenInputDisabledBg","tokenInputDisabledBorderColor","input","tokenInputTextColor","tokenInputPlaceholderColor","tokenInputPlaceholderColorDisabled","tokenInputPlaceholderColorLight","helperContainer","helperText","helperTextEditing","tokenFontSize","tokenLegacyTextShift","inputDisabled","tokenInputTextColorDisabled","inputEditing","reservedInput"],"mappings":"4QAAA,oD;;;AAGA,IAAMA,MAAM,GAAG;AACbC,EAAAA,0BADa,sCACcC,CADd,EACwB;AACnC,eAAOC,YAAP;AACeD,IAAAA,CAAC,CAACE,2BADjB,EACkDF,CAAC,CAACG,0BADpD;AAEiBH,IAAAA,CAAC,CAACI,oBAFnB;AAGeJ,IAAAA,CAAC,CAACK,kBAHjB;;AAKD,GAPY;AAQbC,EAAAA,iCARa,6CAQqBN,CARrB,EAQ+B;AAC1C,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACO,YADd,EAC8BP,CAAC,CAACQ,YADhC;AAEeR,IAAAA,CAAC,CAACE,2BAFjB,EAEkDF,CAAC,CAACS,aAFpD;AAGiBT,IAAAA,CAAC,CAACU,eAHnB;;AAKD,GAdY,EAAf;;;AAiBO,IAAMC,MAAM,GAAG,2BAAa;AACjCC,EAAAA,KADiC,iBAC3BZ,CAD2B,EACjB;AACd,eAAOC,YAAP;AACsBD,IAAAA,CAAC,CAACa,YADxB;AAEgBb,IAAAA,CAAC,CAACc,gBAFlB;AAGYd,IAAAA,CAAC,CAACe,qBAHd,EAG6Cf,CAAC,CAACgB,qBAH/C;AAIsBhB,IAAAA,CAAC,CAACiB,wBAJxB;;;AAOajB,IAAAA,CAAC,CAACkB,kBAPf,EAOqClB,CAAC,CAACmB,kBAPvC;;;;;;AAamBnB,IAAAA,CAAC,CAACoB,sBAbrB;;AAeD,GAjBgC;;AAmBjCC,EAAAA,OAnBiC,mBAmBzBrB,CAnByB,EAmBf;AAChB,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACe,qBADd,EAC6Cf,CAAC,CAACsB,4BAD/C;AAEsBtB,IAAAA,CAAC,CAACuB,sBAFxB,EAEkDvB,CAAC,CAACsB,4BAFpD;;AAID,GAxBgC;;AA0BjCE,EAAAA,KA1BiC,iBA0B3BxB,CA1B2B,EA0BjB;AACd,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACe,qBADd,EAC6Cf,CAAC,CAACyB,0BAD/C;AAEsBzB,IAAAA,CAAC,CAACuB,sBAFxB,EAEkDvB,CAAC,CAACyB,0BAFpD;;AAID,GA/BgC;;AAiCjCC,EAAAA,YAjCiC,wBAiCpB1B,CAjCoB,EAiCV;AACrB,eAAOC,YAAP;AACYD,IAAAA,CAAC,CAACe,qBADd,EAC6Cf,CAAC,CAAC2B,0BAD/C;AAEsB3B,IAAAA,CAAC,CAACuB,sBAFxB,EAEkDvB,CAAC,CAAC2B,0BAFpD;;AAID,GAtCgC;;AAwCjCC,EAAAA,aAxCiC,yBAwCnB5B,CAxCmB,EAwCT;AACtB,eAAOC,YAAP;AACgBD,IAAAA,CAAC,CAAC6B,oBADlB;AAEkB7B,IAAAA,CAAC,CAAC8B,6BAFpB;;;AAKD,GA9CgC;;AAgDjCC,EAAAA,KAhDiC,iBAgD3B/B,CAhD2B,EAgDjB;AACd,eAAOC,YAAP;;;;;;;;;AASYD,IAAAA,CAAC,CAACO,YATd,EASgCP,CAAC,CAACO,YATlC;;;AAYYP,IAAAA,CAAC,CAACI,oBAZd;;;;;AAiBWJ,IAAAA,CAAC,CAACgC,mBAjBb;;;;AAqBIlC,IAAAA,MAAM,CAACC,0BAAP,CAAkCC,CAAlC,CArBJ;;;;;;AA2BaA,IAAAA,CAAC,CAACiC,0BA3Bf;AA4B+BjC,IAAAA,CAAC,CAACiC,0BA5BjC;;;AA+BajC,IAAAA,CAAC,CAACkC,kCA/Bf;AAgC+BlC,IAAAA,CAAC,CAACkC,kCAhCjC;;;AAmCalC,IAAAA,CAAC,CAACmC,+BAnCf;AAoC+BnC,IAAAA,CAAC,CAACmC,+BApCjC;;;;;;;;;;AA8CD,GA/FgC;;AAiGjCC,EAAAA,eAjGiC,2BAiGjBpC,CAjGiB,EAiGP;AACxB,eAAOC,YAAP;;;;;;AAMaD,IAAAA,CAAC,CAACkB,kBANf,EAMqClB,CAAC,CAACmB,kBANvC;;;AASD,GA3GgC;;AA6GjCkB,EAAAA,UA7GiC,sBA6GtBrC,CA7GsB,EA6GZ;AACnB,eAAOC,YAAP;;;;;;;;AAQIH,IAAAA,MAAM,CAACC,0BAAP,CAAkCC,CAAlC,CARJ;;AAUD,GAxHgC;;AA0HjCsC,EAAAA,iBA1HiC,6BA0HftC,CA1He,EA0HL;AAC1B,eAAOC,YAAP;AACIH,IAAAA,MAAM,CAACQ,iCAAP,CAAyCN,CAAzC,CADJ;;AAGeA,IAAAA,CAAC,CAACuC,aAHjB;AAIoBvC,IAAAA,CAAC,CAACwC,oBAJtB;;AAMD,GAjIgC;;AAmIjCC,EAAAA,aAnIiC,yBAmInBzC,CAnImB,EAmIT;AACtB,eAAOC,YAAP;;;;AAIWD,IAAAA,CAAC,CAAC0C,2BAJb;;AAMD,GA1IgC;;AA4IjCC,EAAAA,YA5IiC,wBA4IpB3C,CA5IoB,EA4IV;AACrB,eAAOC,YAAP;AACIH,IAAAA,MAAM,CAACQ,iCAAP,CAAyCN,CAAzC,CADJ;;AAGD,GAhJgC;;AAkJjC4C,EAAAA,aAlJiC,yBAkJnB5C,CAlJmB,EAkJT;AACtB,eAAOC,YAAP;;AAEgBD,IAAAA,CAAC,CAACI,oBAFlB;AAGiBJ,IAAAA,CAAC,CAACI,oBAHnB;AAIeJ,IAAAA,CAAC,CAACK,kBAJjB;AAKYL,IAAAA,CAAC,CAACO,YALd,EAKgCP,CAAC,CAACO,YALlC;AAMeP,IAAAA,CAAC,CAACE,2BANjB,EAMkDF,CAAC,CAACG,0BANpD;AAOWH,IAAAA,CAAC,CAAC0C,2BAPb;;;AAUD,GA7JgC,EAAb,CAAf,C","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nconst mixins = {\n inputAndHelperCommonStyles(t: Theme) {\n return css`\n padding: 0 ${t.tokenInputInputPaddingRight} 0 ${t.tokenInputInputPaddingLeft};\n line-height: ${t.tokenInputLineHeight};\n font-size: ${t.tokenInputFontSize};\n `;\n },\n inputAndHelperCommonEditingStyles(t: Theme) {\n return css`\n margin: ${t.tokenMarginY} ${t.tokenMarginX};\n padding: 0 ${t.tokenInputInputPaddingRight} 0 ${t.tokenPaddingX};\n line-height: ${t.tokenLineHeight};\n `;\n },\n};\n\nexport const styles = memoizeStyle({\n label(t: Theme) {\n return css`\n background-color: ${t.tokenInputBg};\n box-shadow: ${t.tokenInputShadow};\n border: ${t.tokenInputBorderWidth} solid ${t.tokenInputBorderColor};\n border-top-color: ${t.tokenInputBorderTopColor};\n box-sizing: border-box;\n cursor: text;\n padding: ${t.tokenInputPaddingY} ${t.tokenInputPaddingX};\n display: flex;\n flex-wrap: wrap;\n align-items: start;\n outline: none;\n position: relative;\n border-radius: ${t.tokenInputBorderRadius};\n `;\n },\n\n warning(t: Theme) {\n return css`\n border: ${t.tokenInputBorderWidth} solid ${t.tokenInputBorderColorWarning};\n box-shadow: 0 0 0 ${t.tokenInputOutlineWidth} ${t.tokenInputBorderColorWarning};\n `;\n },\n\n error(t: Theme) {\n return css`\n border: ${t.tokenInputBorderWidth} solid ${t.tokenInputBorderColorError};\n box-shadow: 0 0 0 ${t.tokenInputOutlineWidth} ${t.tokenInputBorderColorError};\n `;\n },\n\n labelFocused(t: Theme) {\n return css`\n border: ${t.tokenInputBorderWidth} solid ${t.tokenInputBorderColorFocus};\n box-shadow: 0 0 0 ${t.tokenInputOutlineWidth} ${t.tokenInputBorderColorFocus};\n `;\n },\n\n labelDisabled(t: Theme) {\n return css`\n background: ${t.tokenInputDisabledBg};\n border-color: ${t.tokenInputDisabledBorderColor};\n box-shadow: none;\n `;\n },\n\n input(t: Theme) {\n return css`\n min-width: 0;\n max-width: 100%;\n width: 50px;\n background: transparent;\n border: none;\n box-shadow: none;\n outline: none;\n font-family: inherit;\n margin: ${t.tokenMarginY} 0 ${t.tokenMarginY} 0;\n overflow: hidden;\n resize: none;\n height: ${t.tokenInputLineHeight};\n -webkit-appearance: none;\n text-overflow: clip;\n background-clip: padding-box;\n transition: background-color 0.15s ease-in;\n color: ${t.tokenInputTextColor};\n box-sizing: border-box;\n word-break: break-all;\n\n ${mixins.inputAndHelperCommonStyles(t)};\n\n &::-ms-clear {\n display: none;\n }\n &::placeholder {\n color: ${t.tokenInputPlaceholderColor};\n -webkit-text-fill-color: ${t.tokenInputPlaceholderColor};\n }\n &:disabled::placeholder {\n color: ${t.tokenInputPlaceholderColorDisabled};\n -webkit-text-fill-color: ${t.tokenInputPlaceholderColorDisabled};\n }\n &:focus::placeholder {\n color: ${t.tokenInputPlaceholderColorLight};\n -webkit-text-fill-color: ${t.tokenInputPlaceholderColorLight};\n }\n /* fix firefox placeholder opacity */\n &:-moz-placeholder {\n opacity: 1;\n }\n &::-moz-placeholder {\n opacity: 1;\n }\n `;\n },\n\n helperContainer(t: Theme) {\n return css`\n display: flex;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n padding: ${t.tokenInputPaddingY} ${t.tokenInputPaddingX};\n visibility: hidden;\n `;\n },\n\n helperText(t: Theme) {\n return css`\n max-width: 100%;\n word-break: break-all;\n\n // don't collapse spaces\n // so they get counted in width\n white-space: pre-wrap;\n\n ${mixins.inputAndHelperCommonStyles(t)}\n `;\n },\n\n helperTextEditing(t: Theme) {\n return css`\n ${mixins.inputAndHelperCommonEditingStyles(t)};\n\n font-size: ${t.tokenFontSize};\n padding-bottom: ${t.tokenLegacyTextShift};\n `;\n },\n\n inputDisabled(t: Theme) {\n return css`\n pointer-events: none;\n /* fix text color in safari */\n -webkit-text-fill-color: currentcolor;\n color: ${t.tokenInputTextColorDisabled};\n `;\n },\n\n inputEditing(t: Theme) {\n return css`\n ${mixins.inputAndHelperCommonEditingStyles(t)};\n `;\n },\n\n reservedInput(t: Theme) {\n return css`\n min-width: 2px;\n min-height: ${t.tokenInputLineHeight};\n line-height: ${t.tokenInputLineHeight};\n font-size: ${t.tokenInputFontSize};\n margin: ${t.tokenMarginY} 0 ${t.tokenMarginY} 0;\n padding: 0 ${t.tokenInputInputPaddingRight} 0 ${t.tokenInputInputPaddingLeft};\n color: ${t.tokenInputTextColorDisabled};\n word-break: break-all;\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["TokenInput.styles.ts"],"names":["mixins","inputAndHelperCommonStyles","t","css","tokenInputInputPaddingRight","tokenInputInputPaddingLeft","tokenInputLineHeight","tokenInputFontSize","inputAndHelperCommonEditingStyles","tokenMarginY","tokenMarginX","tokenPaddingX","tokenLineHeight","styles","label","tokenInputBg","tokenInputShadow","tokenInputBorderWidth","tokenInputBorderColor","tokenInputBorderTopColor","tokenInputPaddingY","tokenInputPaddingX","tokenInputBorderRadius","warning","tokenInputBorderColorWarning","tokenInputOutlineWidth","error","tokenInputBorderColorError","labelFocused","tokenInputBorderColorFocus","labelDisabled","tokenInputDisabledBg","tokenInputDisabledBorderColor","input","tokenInputTextColor","tokenInputPlaceholderColor","tokenInputPlaceholderColorDisabled","tokenInputPlaceholderColorLight","helperContainer","helperText","helperTextEditing","tokenFontSize","tokenLegacyTextShift","inputDisabled","tokenInputTextColorDisabled","inputEditing","reservedInput"],"mappings":"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","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nconst mixins = {\n inputAndHelperCommonStyles(t: Theme) {\n return css`\n padding: 0 ${t.tokenInputInputPaddingRight} 0 ${t.tokenInputInputPaddingLeft};\n line-height: ${t.tokenInputLineHeight};\n font-size: ${t.tokenInputFontSize};\n `;\n },\n inputAndHelperCommonEditingStyles(t: Theme) {\n return css`\n margin: ${t.tokenMarginY} ${t.tokenMarginX};\n padding: 0 ${t.tokenInputInputPaddingRight} 0 ${t.tokenPaddingX};\n line-height: ${t.tokenLineHeight};\n `;\n },\n};\n\nexport const styles = memoizeStyle({\n label(t: Theme) {\n return css`\n background-color: ${t.tokenInputBg};\n box-shadow: ${t.tokenInputShadow};\n border: ${t.tokenInputBorderWidth} solid ${t.tokenInputBorderColor};\n border-top-color: ${t.tokenInputBorderTopColor};\n box-sizing: border-box;\n cursor: text;\n padding: ${t.tokenInputPaddingY} ${t.tokenInputPaddingX};\n display: flex;\n flex-wrap: wrap;\n align-items: start;\n outline: none;\n position: relative;\n border-radius: ${t.tokenInputBorderRadius};\n `;\n },\n\n warning(t: Theme) {\n return css`\n border: ${t.tokenInputBorderWidth} solid ${t.tokenInputBorderColorWarning};\n box-shadow: 0 0 0 ${t.tokenInputOutlineWidth} ${t.tokenInputBorderColorWarning};\n `;\n },\n\n error(t: Theme) {\n return css`\n border: ${t.tokenInputBorderWidth} solid ${t.tokenInputBorderColorError};\n box-shadow: 0 0 0 ${t.tokenInputOutlineWidth} ${t.tokenInputBorderColorError};\n `;\n },\n\n labelFocused(t: Theme) {\n return css`\n border: ${t.tokenInputBorderWidth} solid ${t.tokenInputBorderColorFocus};\n box-shadow: 0 0 0 ${t.tokenInputOutlineWidth} ${t.tokenInputBorderColorFocus};\n `;\n },\n\n labelDisabled(t: Theme) {\n return css`\n background: ${t.tokenInputDisabledBg};\n border-color: ${t.tokenInputDisabledBorderColor};\n box-shadow: none;\n cursor: default;\n `;\n },\n\n input(t: Theme) {\n return css`\n min-width: 0;\n max-width: 100%;\n width: 50px;\n background: transparent;\n border: none;\n box-shadow: none;\n outline: none;\n font-family: inherit;\n margin: ${t.tokenMarginY} 0 ${t.tokenMarginY} 0;\n overflow: hidden;\n resize: none;\n height: ${t.tokenInputLineHeight};\n -webkit-appearance: none;\n text-overflow: clip;\n background-clip: padding-box;\n transition: background-color 0.15s ease-in;\n color: ${t.tokenInputTextColor};\n box-sizing: border-box;\n word-break: break-all;\n\n ${mixins.inputAndHelperCommonStyles(t)};\n\n &::-ms-clear {\n display: none;\n }\n &::placeholder {\n color: ${t.tokenInputPlaceholderColor};\n -webkit-text-fill-color: ${t.tokenInputPlaceholderColor};\n }\n &:disabled::placeholder {\n color: ${t.tokenInputPlaceholderColorDisabled};\n -webkit-text-fill-color: ${t.tokenInputPlaceholderColorDisabled};\n }\n &:focus::placeholder {\n color: ${t.tokenInputPlaceholderColorLight};\n -webkit-text-fill-color: ${t.tokenInputPlaceholderColorLight};\n }\n /* fix firefox placeholder opacity */\n &:-moz-placeholder {\n opacity: 1;\n }\n &::-moz-placeholder {\n opacity: 1;\n }\n `;\n },\n\n helperContainer(t: Theme) {\n return css`\n display: flex;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n padding: ${t.tokenInputPaddingY} ${t.tokenInputPaddingX};\n visibility: hidden;\n `;\n },\n\n helperText(t: Theme) {\n return css`\n max-width: 100%;\n word-break: break-all;\n\n // don't collapse spaces\n // so they get counted in width\n white-space: pre-wrap;\n\n ${mixins.inputAndHelperCommonStyles(t)}\n `;\n },\n\n helperTextEditing(t: Theme) {\n return css`\n ${mixins.inputAndHelperCommonEditingStyles(t)};\n\n font-size: ${t.tokenFontSize};\n padding-bottom: ${t.tokenLegacyTextShift};\n `;\n },\n\n inputDisabled(t: Theme) {\n return css`\n pointer-events: none;\n /* fix text color in safari */\n -webkit-text-fill-color: currentcolor;\n color: ${t.tokenInputTextColorDisabled};\n `;\n },\n\n inputEditing(t: Theme) {\n return css`\n ${mixins.inputAndHelperCommonEditingStyles(t)};\n `;\n },\n\n reservedInput(t: Theme) {\n return css`\n min-width: 2px;\n min-height: ${t.tokenInputLineHeight};\n line-height: ${t.tokenInputLineHeight};\n font-size: ${t.tokenInputFontSize};\n margin: ${t.tokenMarginY} 0 ${t.tokenMarginY} 0;\n padding: 0 ${t.tokenInputInputPaddingRight} 0 ${t.tokenInputInputPaddingLeft};\n color: ${t.tokenInputTextColorDisabled};\n word-break: break-all;\n `;\n },\n});\n"]}
@@ -1,8 +1,9 @@
1
1
  import React from 'react';
2
+ import { PopupProps } from '../../internal/Popup';
2
3
  import { ComboBoxMenuProps } from '../../internal/CustomComboBox';
3
4
  import { TokenInputMenuAlign, TokenInputProps } from './TokenInput';
4
5
  export interface TokenInputMenuProps<T> extends ComboBoxMenuProps<T> {
5
- anchorElement: HTMLElement;
6
+ anchorElement: PopupProps['anchorElement'];
6
7
  menuWidth: TokenInputProps<string>['menuWidth'];
7
8
  menuAlign: TokenInputMenuAlign;
8
9
  }
@@ -99,4 +99,4 @@ TokenInputMenu = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.d
99
99
  return paddingY + outlineWidth + marginY;
100
100
  };_this.
101
101
 
102
- menuRef = function (node) {return _this.menu = node;};return _this;}var _proto = TokenInputMenu.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ popupMargin: _this2.getPopupMargin() + 'px' }, theme) }, _this2.renderMain());});};_proto.renderMain = function renderMain() {var _this$props = this.props,loading = _this$props.loading,maxMenuHeight = _this$props.maxMenuHeight,renderTotalCount = _this$props.renderTotalCount,totalCount = _this$props.totalCount,opened = _this$props.opened,items = _this$props.items,renderNotFound = _this$props.renderNotFound,renderItem = _this$props.renderItem,onValueChange = _this$props.onValueChange,renderAddButton = _this$props.renderAddButton,anchorElement = _this$props.anchorElement,menuWidth = _this$props.menuWidth,menuAlign = _this$props.menuAlign;return /*#__PURE__*/_react.default.createElement(_Popup.Popup, { "data-tid": _TokenInput.TokenInputDataTids.tokenInputMenu, opened: opened, positions: ['bottom left', 'top left'], anchorElement: anchorElement, popupOffset: menuAlign === 'left' ? 0 : 5, margin: menuAlign === 'left' ? 1 : undefined, hasShadow: true, width: menuAlign === 'cursor' ? 'auto' : menuWidth, withoutMobile: true }, /*#__PURE__*/_react.default.createElement(_CustomComboBox.ComboBoxMenu, { items: items, loading: loading, maxMenuHeight: maxMenuHeight, onValueChange: onValueChange, opened: opened, refMenu: this.menuRef, renderTotalCount: renderTotalCount, renderItem: renderItem, renderNotFound: renderNotFound, totalCount: totalCount, renderAddButton: renderAddButton }));};return TokenInputMenu;}(_react.default.Component);exports.TokenInputMenu = TokenInputMenu;TokenInputMenu.__KONTUR_REACT_UI__ = 'TokenInputMenu';
102
+ menuRef = function (node) {return _this.menu = node;};return _this;}var _proto = TokenInputMenu.prototype;_proto.render = function render() {var _this2 = this;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Consumer, null, function (theme) {_this2.theme = theme;return /*#__PURE__*/_react.default.createElement(_ThemeContext.ThemeContext.Provider, { value: _ThemeFactory.ThemeFactory.create({ popupMargin: _this2.getPopupMargin() + 'px' }, theme) }, _this2.renderMain());});};_proto.renderMain = function renderMain() {var _this$props = this.props,loading = _this$props.loading,maxMenuHeight = _this$props.maxMenuHeight,renderTotalCount = _this$props.renderTotalCount,totalCount = _this$props.totalCount,opened = _this$props.opened,items = _this$props.items,renderNotFound = _this$props.renderNotFound,renderItem = _this$props.renderItem,onValueChange = _this$props.onValueChange,renderAddButton = _this$props.renderAddButton,anchorElement = _this$props.anchorElement,menuWidth = _this$props.menuWidth,menuAlign = _this$props.menuAlign;return /*#__PURE__*/_react.default.createElement(_Popup.Popup, { "data-tid": _TokenInput.TokenInputDataTids.tokenInputMenu, opened: !!opened, positions: ['bottom left', 'top left'], anchorElement: anchorElement, popupOffset: menuAlign === 'left' ? 0 : 5, margin: menuAlign === 'left' ? 1 : undefined, hasShadow: true, width: menuAlign === 'cursor' ? 'auto' : menuWidth, withoutMobile: true }, /*#__PURE__*/_react.default.createElement(_CustomComboBox.ComboBoxMenu, { items: items, loading: loading, maxMenuHeight: maxMenuHeight, onValueChange: onValueChange, opened: opened, refMenu: this.menuRef, renderTotalCount: renderTotalCount, renderItem: renderItem, renderNotFound: renderNotFound, totalCount: totalCount, renderAddButton: renderAddButton }));};return TokenInputMenu;}(_react.default.Component);exports.TokenInputMenu = TokenInputMenu;TokenInputMenu.__KONTUR_REACT_UI__ = 'TokenInputMenu';
@@ -1 +1 @@
1
- {"version":3,"sources":["TokenInputMenu.tsx"],"names":["TokenInputMenu","menu","getMenuRef","getPopupMargin","paddingY","parseInt","theme","tokenInputPaddingY","outlineWidth","controlOutlineWidth","marginY","tokenMarginY","menuRef","node","render","ThemeFactory","create","popupMargin","renderMain","props","loading","maxMenuHeight","renderTotalCount","totalCount","opened","items","renderNotFound","renderItem","onValueChange","renderAddButton","anchorElement","menuWidth","menuAlign","TokenInputDataTids","tokenInputMenu","undefined","React","Component","__KONTUR_REACT_UI__"],"mappings":"0PAAA;;AAEA;AACA;AACA;;;AAGA;;AAEA,0C;;;;;;;;AAQaA,c;;;;;AAKHC,IAAAA,I,GAAoB,I;;;;;;;;;;;;;;;;;;;;;;;;AAwBrBC,IAAAA,U,GAAa,oBAAkB,MAAKD,IAAvB,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDZE,IAAAA,c,GAAiB,YAAc;AACrC,UAAMC,QAAQ,GAAGC,QAAQ,CAAC,MAAKC,KAAL,CAAWC,kBAAZ,EAAgC,EAAhC,CAAR,IAA+C,CAAhE;AACA,UAAMC,YAAY,GAAGH,QAAQ,CAAC,MAAKC,KAAL,CAAWG,mBAAZ,EAAiC,EAAjC,CAAR,IAAgD,CAArE;AACA,UAAMC,OAAO,GAAGL,QAAQ,CAAC,MAAKC,KAAL,CAAWK,YAAZ,EAA0B,EAA1B,CAAR,IAAyC,CAAzD;AACA,aAAOP,QAAQ,GAAGI,YAAX,GAA0BE,OAAjC;AACD,K;;AAEOE,IAAAA,O,GAAU,UAACC,IAAD,UAAgB,MAAKZ,IAAL,GAAYY,IAA5B,E,4DA7EXC,M,GAAP,kBAAgB,mBACd,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAACR,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,oBACE,6BAAC,0BAAD,CAAc,QAAd,IACE,KAAK,EAAES,2BAAaC,MAAb,CACL,EACEC,WAAW,EAAE,MAAI,CAACd,cAAL,KAAwB,IADvC,EADK,EAILG,KAJK,CADT,IAQG,MAAI,CAACY,UAAL,EARH,CADF,CAYD,CAfH,CADF,CAmBD,C,QAIOA,U,GAAR,sBAAqB,CACnB,kBAcI,KAAKC,KAdT,CACEC,OADF,eACEA,OADF,CAEEC,aAFF,eAEEA,aAFF,CAGEC,gBAHF,eAGEA,gBAHF,CAIEC,UAJF,eAIEA,UAJF,CAKEC,MALF,eAKEA,MALF,CAMEC,KANF,eAMEA,KANF,CAOEC,cAPF,eAOEA,cAPF,CAQEC,UARF,eAQEA,UARF,CASEC,aATF,eASEA,aATF,CAUEC,eAVF,eAUEA,eAVF,CAWEC,aAXF,eAWEA,aAXF,CAYEC,SAZF,eAYEA,SAZF,CAaEC,SAbF,eAaEA,SAbF,CAgBA,oBACE,6BAAC,YAAD,IACE,YAAUC,+BAAmBC,cAD/B,EAEE,MAAM,EAAEV,MAFV,EAGE,SAAS,EAAE,CAAC,aAAD,EAAgB,UAAhB,CAHb,EAIE,aAAa,EAAEM,aAJjB,EAKE,WAAW,EAAEE,SAAS,KAAK,MAAd,GAAuB,CAAvB,GAA2B,CAL1C,EAME,MAAM,EAAEA,SAAS,KAAK,MAAd,GAAuB,CAAvB,GAA2BG,SANrC,EAOE,SAAS,MAPX,EAQE,KAAK,EAAEH,SAAS,KAAK,QAAd,GAAyB,MAAzB,GAAkCD,SAR3C,EASE,aAAa,MATf,iBAWE,6BAAC,4BAAD,IACE,KAAK,EAAEN,KADT,EAEE,OAAO,EAAEL,OAFX,EAGE,aAAa,EAAEC,aAHjB,EAIE,aAAa,EAAEO,aAJjB,EAKE,MAAM,EAAEJ,MALV,EAME,OAAO,EAAE,KAAKZ,OANhB,EAOE,gBAAgB,EAAEU,gBAPpB,EAQE,UAAU,EAAEK,UARd,EASE,cAAc,EAAED,cATlB,EAUE,UAAU,EAAEH,UAVd,EAWE,eAAe,EAAEM,eAXnB,GAXF,CADF,CA2BD,C,yBA3E6CO,eAAMC,S,0CAAzCrC,c,CACGsC,mB,GAAsB,gB","sourcesContent":["import React from 'react';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Popup } from '../../internal/Popup';\nimport { ComboBoxMenu, ComboBoxMenuProps } from '../../internal/CustomComboBox';\nimport { Menu } from '../../internal/Menu';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { TokenInputDataTids, TokenInputMenuAlign, TokenInputProps } from './TokenInput';\n\nexport interface TokenInputMenuProps<T> extends ComboBoxMenuProps<T> {\n anchorElement: HTMLElement;\n menuWidth: TokenInputProps<string>['menuWidth'];\n menuAlign: TokenInputMenuAlign;\n}\n\nexport class TokenInputMenu<T = string> extends React.Component<TokenInputMenuProps<T>> {\n public static __KONTUR_REACT_UI__ = 'TokenInputMenu';\n\n private theme!: Theme;\n\n private menu: Menu | null = null;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupMargin: this.getPopupMargin() + 'px',\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public getMenuRef = (): any | null => this.menu;\n\n private renderMain() {\n const {\n loading,\n maxMenuHeight,\n renderTotalCount,\n totalCount,\n opened,\n items,\n renderNotFound,\n renderItem,\n onValueChange,\n renderAddButton,\n anchorElement,\n menuWidth,\n menuAlign,\n } = this.props;\n\n return (\n <Popup\n data-tid={TokenInputDataTids.tokenInputMenu}\n opened={opened!}\n positions={['bottom left', 'top left']}\n anchorElement={anchorElement}\n popupOffset={menuAlign === 'left' ? 0 : 5}\n margin={menuAlign === 'left' ? 1 : undefined}\n hasShadow\n width={menuAlign === 'cursor' ? 'auto' : menuWidth}\n withoutMobile\n >\n <ComboBoxMenu\n items={items}\n loading={loading}\n maxMenuHeight={maxMenuHeight}\n onValueChange={onValueChange}\n opened={opened}\n refMenu={this.menuRef}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem}\n renderNotFound={renderNotFound}\n totalCount={totalCount}\n renderAddButton={renderAddButton}\n />\n </Popup>\n );\n }\n\n private getPopupMargin = (): number => {\n const paddingY = parseInt(this.theme.tokenInputPaddingY, 10) || 0;\n const outlineWidth = parseInt(this.theme.controlOutlineWidth, 10) || 0;\n const marginY = parseInt(this.theme.tokenMarginY, 10) || 0;\n return paddingY + outlineWidth + marginY;\n };\n\n private menuRef = (node: any) => (this.menu = node);\n}\n"]}
1
+ {"version":3,"sources":["TokenInputMenu.tsx"],"names":["TokenInputMenu","menu","getMenuRef","getPopupMargin","paddingY","parseInt","theme","tokenInputPaddingY","outlineWidth","controlOutlineWidth","marginY","tokenMarginY","menuRef","node","render","ThemeFactory","create","popupMargin","renderMain","props","loading","maxMenuHeight","renderTotalCount","totalCount","opened","items","renderNotFound","renderItem","onValueChange","renderAddButton","anchorElement","menuWidth","menuAlign","TokenInputDataTids","tokenInputMenu","undefined","React","Component","__KONTUR_REACT_UI__"],"mappings":"0PAAA;;AAEA;AACA;AACA;;;AAGA;;AAEA,0C;;;;;;;;AAQaA,c;;;;;AAKHC,IAAAA,I,GAAoB,I;;;;;;;;;;;;;;;;;;;;;;;;AAwBrBC,IAAAA,U,GAAa,oBAAkB,MAAKD,IAAvB,E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDZE,IAAAA,c,GAAiB,YAAc;AACrC,UAAMC,QAAQ,GAAGC,QAAQ,CAAC,MAAKC,KAAL,CAAWC,kBAAZ,EAAgC,EAAhC,CAAR,IAA+C,CAAhE;AACA,UAAMC,YAAY,GAAGH,QAAQ,CAAC,MAAKC,KAAL,CAAWG,mBAAZ,EAAiC,EAAjC,CAAR,IAAgD,CAArE;AACA,UAAMC,OAAO,GAAGL,QAAQ,CAAC,MAAKC,KAAL,CAAWK,YAAZ,EAA0B,EAA1B,CAAR,IAAyC,CAAzD;AACA,aAAOP,QAAQ,GAAGI,YAAX,GAA0BE,OAAjC;AACD,K;;AAEOE,IAAAA,O,GAAU,UAACC,IAAD,UAAgB,MAAKZ,IAAL,GAAYY,IAA5B,E,4DA7EXC,M,GAAP,kBAAgB,mBACd,oBACE,6BAAC,0BAAD,CAAc,QAAd,QACG,UAACR,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,oBACE,6BAAC,0BAAD,CAAc,QAAd,IACE,KAAK,EAAES,2BAAaC,MAAb,CACL,EACEC,WAAW,EAAE,MAAI,CAACd,cAAL,KAAwB,IADvC,EADK,EAILG,KAJK,CADT,IAQG,MAAI,CAACY,UAAL,EARH,CADF,CAYD,CAfH,CADF,CAmBD,C,QAIOA,U,GAAR,sBAAqB,CACnB,kBAcI,KAAKC,KAdT,CACEC,OADF,eACEA,OADF,CAEEC,aAFF,eAEEA,aAFF,CAGEC,gBAHF,eAGEA,gBAHF,CAIEC,UAJF,eAIEA,UAJF,CAKEC,MALF,eAKEA,MALF,CAMEC,KANF,eAMEA,KANF,CAOEC,cAPF,eAOEA,cAPF,CAQEC,UARF,eAQEA,UARF,CASEC,aATF,eASEA,aATF,CAUEC,eAVF,eAUEA,eAVF,CAWEC,aAXF,eAWEA,aAXF,CAYEC,SAZF,eAYEA,SAZF,CAaEC,SAbF,eAaEA,SAbF,CAgBA,oBACE,6BAAC,YAAD,IACE,YAAUC,+BAAmBC,cAD/B,EAEE,MAAM,EAAE,CAAC,CAACV,MAFZ,EAGE,SAAS,EAAE,CAAC,aAAD,EAAgB,UAAhB,CAHb,EAIE,aAAa,EAAEM,aAJjB,EAKE,WAAW,EAAEE,SAAS,KAAK,MAAd,GAAuB,CAAvB,GAA2B,CAL1C,EAME,MAAM,EAAEA,SAAS,KAAK,MAAd,GAAuB,CAAvB,GAA2BG,SANrC,EAOE,SAAS,MAPX,EAQE,KAAK,EAAEH,SAAS,KAAK,QAAd,GAAyB,MAAzB,GAAkCD,SAR3C,EASE,aAAa,MATf,iBAWE,6BAAC,4BAAD,IACE,KAAK,EAAEN,KADT,EAEE,OAAO,EAAEL,OAFX,EAGE,aAAa,EAAEC,aAHjB,EAIE,aAAa,EAAEO,aAJjB,EAKE,MAAM,EAAEJ,MALV,EAME,OAAO,EAAE,KAAKZ,OANhB,EAOE,gBAAgB,EAAEU,gBAPpB,EAQE,UAAU,EAAEK,UARd,EASE,cAAc,EAAED,cATlB,EAUE,UAAU,EAAEH,UAVd,EAWE,eAAe,EAAEM,eAXnB,GAXF,CADF,CA2BD,C,yBA3E6CO,eAAMC,S,0CAAzCrC,c,CACGsC,mB,GAAsB,gB","sourcesContent":["import React from 'react';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Popup, PopupProps } from '../../internal/Popup';\nimport { ComboBoxMenu, ComboBoxMenuProps } from '../../internal/CustomComboBox';\nimport { Menu } from '../../internal/Menu';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { TokenInputDataTids, TokenInputMenuAlign, TokenInputProps } from './TokenInput';\n\nexport interface TokenInputMenuProps<T> extends ComboBoxMenuProps<T> {\n anchorElement: PopupProps['anchorElement'];\n menuWidth: TokenInputProps<string>['menuWidth'];\n menuAlign: TokenInputMenuAlign;\n}\n\nexport class TokenInputMenu<T = string> extends React.Component<TokenInputMenuProps<T>> {\n public static __KONTUR_REACT_UI__ = 'TokenInputMenu';\n\n private theme!: Theme;\n\n private menu: Menu | null = null;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupMargin: this.getPopupMargin() + 'px',\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public getMenuRef = (): any | null => this.menu;\n\n private renderMain() {\n const {\n loading,\n maxMenuHeight,\n renderTotalCount,\n totalCount,\n opened,\n items,\n renderNotFound,\n renderItem,\n onValueChange,\n renderAddButton,\n anchorElement,\n menuWidth,\n menuAlign,\n } = this.props;\n\n return (\n <Popup\n data-tid={TokenInputDataTids.tokenInputMenu}\n opened={!!opened}\n positions={['bottom left', 'top left']}\n anchorElement={anchorElement}\n popupOffset={menuAlign === 'left' ? 0 : 5}\n margin={menuAlign === 'left' ? 1 : undefined}\n hasShadow\n width={menuAlign === 'cursor' ? 'auto' : menuWidth}\n withoutMobile\n >\n <ComboBoxMenu\n items={items}\n loading={loading}\n maxMenuHeight={maxMenuHeight}\n onValueChange={onValueChange}\n opened={opened}\n refMenu={this.menuRef}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem}\n renderNotFound={renderNotFound}\n totalCount={totalCount}\n renderAddButton={renderAddButton}\n />\n </Popup>\n );\n }\n\n private getPopupMargin = (): number => {\n const paddingY = parseInt(this.theme.tokenInputPaddingY, 10) || 0;\n const outlineWidth = parseInt(this.theme.controlOutlineWidth, 10) || 0;\n const marginY = parseInt(this.theme.tokenMarginY, 10) || 0;\n return paddingY + outlineWidth + marginY;\n };\n\n private menuRef = (node: any) => (this.menu = node);\n}\n"]}
@@ -69,7 +69,7 @@ export interface TooltipProps extends CommonProps {
69
69
  * Хэндлер, вызываемый при клике по крестику или
70
70
  * снаружи тултипа
71
71
  */
72
- onCloseRequest?: () => void;
72
+ onCloseRequest?: (event?: Event | React.MouseEvent) => void;
73
73
  /**
74
74
  * Хэндлер, вызываемый при закрытии тултипа
75
75
  */
@@ -130,7 +130,7 @@ export declare class Tooltip extends React.PureComponent<TooltipProps, TooltipSt
130
130
  render(): JSX.Element;
131
131
  renderContent: () => JSX.Element | null;
132
132
  renderCloseButton(): JSX.Element | null;
133
- getAnchorElement: () => Nullable<HTMLElement>;
133
+ getAnchorElement: () => Nullable<Element>;
134
134
  /**
135
135
  * Программно открывает тултип.
136
136
  * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>
@@ -526,7 +526,7 @@ Tooltip = (0, _rootNode.rootNode)(_class = (0, _decorator.responsiveLayout)(_cla
526
526
  _this.clickedOutside = _this.isClickOutsideContent(event);
527
527
  if (_this.clickedOutside) {
528
528
  if (_this.props.onCloseRequest) {
529
- _this.props.onCloseRequest();
529
+ _this.props.onCloseRequest(event);
530
530
  }
531
531
  _this.close();
532
532
  }
@@ -571,7 +571,7 @@ Tooltip = (0, _rootNode.rootNode)(_class = (0, _decorator.responsiveLayout)(_cla
571
571
  }
572
572
 
573
573
  if (_this.props.onCloseRequest) {
574
- _this.props.onCloseRequest();
574
+ _this.props.onCloseRequest(event);
575
575
  }
576
576
 
577
577
  _this.close();
@@ -1 +1 @@
1
- {"version":3,"sources":["Tooltip.tsx"],"names":["TooltipDataTids","root","content","Positions","Tooltip","rootNode","responsiveLayout","getProps","defaultProps","state","opened","focused","hoverTimeout","contentElement","positions","clickedOutside","popupRef","React","createRef","renderContent","props","render","refContent","styles","tooltipContent","theme","renderCloseButton","getAnchorElement","current","anchorElement","mobileCloseHandler","trigger","close","node","open","setState","handleMouseEnter","event","isHoverAnchor","target","clearHoverTimeout","window","setTimeout","delay","handleMouseLeave","isMobileLayout","relatedTarget","handleClick","handleClickOutsideAnchor","isClickOutsideContent","onCloseRequest","handleFocus","handleBlur","handleCloseButtonClick","stopPropagation","onCloseClick","defaultPrevented","componentDidUpdate","prevProps","allowedPositions","pos","posChanged","allowedChanged","componentWillUnmount","ThemeFactory","create","popupPinOffset","tooltipPinOffset","popupMargin","tooltipMargin","popupBorder","tooltipBorder","popupBorderRadius","tooltipBorderRadius","popupPinSize","tooltipPinSize","popupPinOffsetX","tooltipPinOffsetX","popupPinOffsetY","tooltipPinOffsetY","renderMain","hasCross","closeButton","undefined","triggersWithoutCloseButton","includes","cross","show","hide","getPopupAndLayerProps","popupProps","layerProps","active","children","popup","renderPopup","disableAnimations","setRootNode","getPositions","onOpen","onClose","index","indexOf","Error","join","slice","useWrapper","onClickOutside","onMouseEnter","onMouseLeave","onClick","onFocus","onBlur","clearTimeout","Element","PureComponent","__KONTUR_REACT_UI__","propTypes","propName","componentName","Array","isArray","DefaultPosition","isTestEnv"],"mappings":"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","sourcesContent":["import React from 'react';\nimport warning from 'warning';\nimport isEqual from 'lodash.isequal';\n\nimport { isNullable } from '../../lib/utils';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { DefaultPosition, Popup, PopupProps, PopupPositionsType } from '../../internal/Popup';\nimport { RenderLayer, RenderLayerProps } from '../../internal/RenderLayer';\nimport { CrossIcon } from '../../internal/icons/CrossIcon';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Tooltip.styles';\n\nexport type TooltipTrigger =\n /** Наведение на children и на тултип */\n | 'hover'\n /** Клик на children */\n | 'click'\n /** Фокус на children */\n | 'focus'\n /** Наведение на children и на тултип и фокус на children */\n | 'hover&focus'\n /** Просто открыт */\n | 'opened'\n /** Просто закрыт */\n | 'closed'\n /** Наведение ТОЛЬКО на children, а не на тултип */\n | 'hoverAnchor'\n /** Управление через публичные функции show и hide */\n | 'manual';\n\nexport interface TooltipProps extends CommonProps {\n /**\n * Относительно какого элемента позиционировать тултип\n */\n anchorElement?: HTMLElement;\n\n /**\n * Если не указан `anchorElement` то тултип будет позиционироваться\n * относительно дочерних элементов\n */\n children?: React.ReactNode;\n\n className?: string;\n\n /**\n * Показывать крестик для закрытия тултипа. По-умолчанию крестик\n * показывается если проп *trigger* не `hover` и не `focus`.\n */\n closeButton?: boolean;\n\n /**\n * Функция, которая возвращает содержимое тултипа.\n *\n * Если эта функция вернула `null`, то тултип не показывается.\n */\n render?: Nullable<() => React.ReactNode>;\n\n /**\n * Значение по умолчанию: `\"top left\"`.\n */\n pos?: PopupPositionsType;\n\n /**\n * Триггер открытия тултипа\n * ```ts\n * type TooltipTrigger =\n * | 'hover'\n * | 'click'\n * | 'focus'\n * | 'hover&focus'\n * | 'opened'\n * | 'closed'\n * | 'hoverAnchor'\n * | 'manual';\n * ```\n */\n trigger?: TooltipTrigger;\n\n /**\n * Хэндлер, вызываемый при клике по крестику\n */\n onCloseClick?: React.MouseEventHandler<HTMLElement>;\n\n /**\n * Хэндлер, вызываемый при клике по крестику или\n * снаружи тултипа\n */\n onCloseRequest?: () => void;\n\n /**\n * Хэндлер, вызываемый при закрытии тултипа\n */\n onClose?: () => void;\n\n /**\n * Хэндлер, вызываемый при открытии тултипа\n */\n onOpen?: () => void;\n\n /**\n * Список позиций, которые тултип будет занимать.\n * Если положение тултипа в определенной позиции\n * будет выходить за край экрана, то будет выбрана\n * следующая позиция. Обязательно должен включать\n * позицию указанную в `pos`\n */\n allowedPositions?: PopupPositionsType[];\n\n /**\n * Флаг отключения анимации.\n * @default false\n */\n disableAnimations?: boolean;\n\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n}\n\nexport interface TooltipState {\n opened: boolean;\n focused: boolean;\n}\n\nexport const TooltipDataTids = {\n root: 'Tooltip__root',\n content: 'Tooltip__content',\n} as const;\n\nconst Positions: PopupPositionsType[] = [\n 'right bottom',\n 'right middle',\n 'right top',\n 'top right',\n 'top center',\n 'top left',\n 'left top',\n 'left middle',\n 'left bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n];\n\ntype DefaultProps = Required<\n Pick<TooltipProps, 'pos' | 'trigger' | 'allowedPositions' | 'disableAnimations' | 'useWrapper'>\n>;\n\n@rootNode\n@responsiveLayout\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n\n private isMobileLayout!: boolean;\n\n public static propTypes = {\n children(props: TooltipProps, propName: keyof TooltipProps, componentName: string) {\n const children = props[propName];\n warning(\n children || props.anchorElement,\n `[${componentName}]: you must provide either 'children' or 'anchorElement' prop for ${componentName} to work properly`,\n );\n warning(\n !(Array.isArray(children) && props.useWrapper === false),\n `[${componentName}]: you provided multiple children, but useWrapper={false} - forcing wrapper <span/> for positioning to work correctly`,\n );\n },\n };\n\n public static defaultProps: DefaultProps = {\n pos: DefaultPosition,\n trigger: 'hover',\n allowedPositions: Positions,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n private getProps = createPropsGetter(Tooltip.defaultProps);\n\n public static delay = 100;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private theme!: Theme;\n private hoverTimeout: Nullable<number> = null;\n private contentElement: Nullable<HTMLElement> = null;\n private positions: Nullable<PopupPositionsType[]> = null;\n private clickedOutside = true;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n public componentDidUpdate(prevProps: TooltipProps) {\n const { trigger, allowedPositions, pos } = this.getProps();\n if (trigger === 'closed' && this.state.opened) {\n this.close();\n }\n const posChanged = prevProps.pos !== pos;\n const allowedChanged = !isEqual(prevProps.allowedPositions, allowedPositions);\n\n if (posChanged || allowedChanged) {\n this.positions = null;\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.tooltipPinOffset,\n popupMargin: theme.tooltipMargin,\n popupBorder: theme.tooltipBorder,\n popupBorderRadius: theme.tooltipBorderRadius,\n popupPinSize: theme.tooltipPinSize,\n popupPinOffsetX: theme.tooltipPinOffsetX,\n popupPinOffsetY: theme.tooltipPinOffsetY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderContent = () => {\n const content = this.props.render ? this.props.render() : null;\n if (isNullable(content)) {\n return null;\n }\n\n return (\n <div ref={this.refContent} className={styles.tooltipContent(this.theme)} data-tid={TooltipDataTids.content}>\n {content}\n {this.renderCloseButton()}\n </div>\n );\n };\n\n public renderCloseButton() {\n const hasCross =\n this.props.closeButton === undefined\n ? !Tooltip.triggersWithoutCloseButton.includes(this.getProps().trigger)\n : this.props.closeButton;\n\n if (!hasCross || this.isMobileLayout) {\n return null;\n }\n\n return (\n <div className={styles.cross(this.theme)} onClick={this.handleCloseButtonClick}>\n <CrossIcon />\n </div>\n );\n }\n\n public getAnchorElement = (): Nullable<HTMLElement> => {\n return this.popupRef.current?.anchorElement;\n };\n\n /**\n * Программно открывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public show() {\n if (this.state.opened) {\n return;\n }\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(true, `Function 'show' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.open();\n }\n\n /**\n * Программно закрывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public hide() {\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(true, `Function 'hide' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.close();\n }\n\n private renderMain() {\n const props = this.props;\n const content = this.renderContent();\n const { popupProps, layerProps = { active: false } } = this.getPopupAndLayerProps();\n const anchorElement = props.children || props.anchorElement;\n const popup = this.renderPopup(anchorElement, popupProps, content);\n\n if (this.isMobileLayout) {\n return popup;\n }\n\n return (\n <RenderLayer {...layerProps} getAnchorElement={this.getAnchorElement}>\n {popup}\n </RenderLayer>\n );\n }\n\n private renderPopup(\n anchorElement: React.ReactNode | HTMLElement,\n popupProps: Partial<PopupProps>,\n content: JSX.Element | null,\n ) {\n const { disableAnimations, trigger } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n data-tid={TooltipDataTids.root}\n anchorElement={anchorElement}\n hasPin\n hasShadow\n maxWidth=\"none\"\n opened={this.state.opened}\n disableAnimations={disableAnimations}\n positions={this.getPositions()}\n ignoreHover={trigger === 'hoverAnchor'}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n mobileOnCloseRequest={this.mobileCloseHandler}\n tryPreserveFirstRenderedPosition\n ref={this.popupRef}\n {...popupProps}\n >\n {content}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private mobileCloseHandler = () => {\n const trigger = this.getProps().trigger;\n if (trigger === 'manual' || trigger === 'closed' || trigger === 'opened') {\n return;\n }\n\n this.close();\n };\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\n };\n\n private getPositions() {\n if (!this.positions) {\n const { allowedPositions, pos } = this.getProps();\n const index = allowedPositions.indexOf(pos);\n if (index === -1) {\n throw new Error('Unexpected position passed to Tooltip. Expected one of: ' + allowedPositions.join(', '));\n }\n\n this.positions = [...allowedPositions.slice(index), ...allowedPositions.slice(0, index)];\n }\n\n return this.positions;\n }\n\n private getPopupAndLayerProps(): {\n layerProps?: Partial<RenderLayerProps>;\n popupProps: Partial<PopupProps>;\n } {\n const props = this.props;\n const useWrapper = !!props.children && this.getProps().useWrapper;\n const trigger = this.getProps().trigger;\n\n switch (trigger) {\n case 'opened':\n return {\n layerProps: {\n active: true,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n opened: true,\n useWrapper,\n },\n };\n\n case 'closed':\n return {\n popupProps: {\n opened: false,\n useWrapper,\n },\n };\n\n case 'hoverAnchor':\n case 'hover':\n return {\n popupProps: {\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n case 'manual':\n return {\n popupProps: {\n useWrapper,\n },\n };\n case 'click':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onClick: this.handleClick,\n useWrapper,\n },\n };\n\n case 'focus':\n return {\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n useWrapper,\n },\n };\n\n case 'hover&focus':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n\n default:\n throw new Error('Unknown trigger specified: ' + trigger);\n }\n }\n\n private open = () => this.setState({ opened: true });\n\n private close = () => this.setState({ opened: false });\n\n private clearHoverTimeout() {\n if (this.hoverTimeout) {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = null;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n const isHoverAnchor = this.getProps().trigger === 'hoverAnchor';\n if (isHoverAnchor && event.target === this.contentElement) {\n return;\n }\n\n this.clearHoverTimeout();\n\n this.hoverTimeout = window.setTimeout(this.open, Tooltip.delay);\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (this.isMobileLayout) {\n return;\n }\n const trigger = this.getProps().trigger;\n if (\n (trigger === 'hover&focus' && this.state.focused) ||\n (trigger === 'hover' && event.relatedTarget === this.contentElement)\n ) {\n return;\n }\n\n this.clearHoverTimeout();\n\n if (trigger === 'hoverAnchor') {\n this.close();\n } else {\n this.hoverTimeout = window.setTimeout(this.close, Tooltip.delay);\n }\n };\n\n private handleClick = () => {\n this.open();\n };\n\n private handleClickOutsideAnchor = (event: Event) => {\n this.clickedOutside = this.isClickOutsideContent(event);\n if (this.clickedOutside) {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n this.close();\n }\n };\n\n private isClickOutsideContent(event: Event) {\n if (this.contentElement && event.target instanceof Element) {\n return !containsTargetOrRenderContainer(event.target)(this.contentElement);\n }\n\n return true;\n }\n\n private handleFocus = () => {\n this.setState({ focused: true });\n this.open();\n };\n\n private handleBlur = () => {\n const trigger = this.getProps().trigger;\n if (trigger === 'hover&focus' && this.clickedOutside) {\n this.close();\n }\n\n if (trigger === 'focus') {\n this.close();\n }\n\n this.clickedOutside = true;\n this.setState({ focused: false });\n };\n\n private handleCloseButtonClick = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n\n if (this.props.onCloseClick) {\n this.props.onCloseClick(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n\n this.close();\n };\n}\n"]}
1
+ {"version":3,"sources":["Tooltip.tsx"],"names":["TooltipDataTids","root","content","Positions","Tooltip","rootNode","responsiveLayout","getProps","defaultProps","state","opened","focused","hoverTimeout","contentElement","positions","clickedOutside","popupRef","React","createRef","renderContent","props","render","refContent","styles","tooltipContent","theme","renderCloseButton","getAnchorElement","current","anchorElement","mobileCloseHandler","trigger","close","node","open","setState","handleMouseEnter","event","isHoverAnchor","target","clearHoverTimeout","window","setTimeout","delay","handleMouseLeave","isMobileLayout","relatedTarget","handleClick","handleClickOutsideAnchor","isClickOutsideContent","onCloseRequest","handleFocus","handleBlur","handleCloseButtonClick","stopPropagation","onCloseClick","defaultPrevented","componentDidUpdate","prevProps","allowedPositions","pos","posChanged","allowedChanged","componentWillUnmount","ThemeFactory","create","popupPinOffset","tooltipPinOffset","popupMargin","tooltipMargin","popupBorder","tooltipBorder","popupBorderRadius","tooltipBorderRadius","popupPinSize","tooltipPinSize","popupPinOffsetX","tooltipPinOffsetX","popupPinOffsetY","tooltipPinOffsetY","renderMain","hasCross","closeButton","undefined","triggersWithoutCloseButton","includes","cross","show","hide","getPopupAndLayerProps","popupProps","layerProps","active","children","popup","renderPopup","disableAnimations","setRootNode","getPositions","onOpen","onClose","index","indexOf","Error","join","slice","useWrapper","onClickOutside","onMouseEnter","onMouseLeave","onClick","onFocus","onBlur","clearTimeout","Element","PureComponent","__KONTUR_REACT_UI__","propTypes","propName","componentName","Array","isArray","DefaultPosition","isTestEnv"],"mappings":"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","sourcesContent":["import React from 'react';\nimport warning from 'warning';\nimport isEqual from 'lodash.isequal';\n\nimport { isNullable } from '../../lib/utils';\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { DefaultPosition, Popup, PopupProps, PopupPositionsType } from '../../internal/Popup';\nimport { RenderLayer, RenderLayerProps } from '../../internal/RenderLayer';\nimport { CrossIcon } from '../../internal/icons/CrossIcon';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nimport { styles } from './Tooltip.styles';\n\nexport type TooltipTrigger =\n /** Наведение на children и на тултип */\n | 'hover'\n /** Клик на children */\n | 'click'\n /** Фокус на children */\n | 'focus'\n /** Наведение на children и на тултип и фокус на children */\n | 'hover&focus'\n /** Просто открыт */\n | 'opened'\n /** Просто закрыт */\n | 'closed'\n /** Наведение ТОЛЬКО на children, а не на тултип */\n | 'hoverAnchor'\n /** Управление через публичные функции show и hide */\n | 'manual';\n\nexport interface TooltipProps extends CommonProps {\n /**\n * Относительно какого элемента позиционировать тултип\n */\n anchorElement?: HTMLElement;\n\n /**\n * Если не указан `anchorElement` то тултип будет позиционироваться\n * относительно дочерних элементов\n */\n children?: React.ReactNode;\n\n className?: string;\n\n /**\n * Показывать крестик для закрытия тултипа. По-умолчанию крестик\n * показывается если проп *trigger* не `hover` и не `focus`.\n */\n closeButton?: boolean;\n\n /**\n * Функция, которая возвращает содержимое тултипа.\n *\n * Если эта функция вернула `null`, то тултип не показывается.\n */\n render?: Nullable<() => React.ReactNode>;\n\n /**\n * Значение по умолчанию: `\"top left\"`.\n */\n pos?: PopupPositionsType;\n\n /**\n * Триггер открытия тултипа\n * ```ts\n * type TooltipTrigger =\n * | 'hover'\n * | 'click'\n * | 'focus'\n * | 'hover&focus'\n * | 'opened'\n * | 'closed'\n * | 'hoverAnchor'\n * | 'manual';\n * ```\n */\n trigger?: TooltipTrigger;\n\n /**\n * Хэндлер, вызываемый при клике по крестику\n */\n onCloseClick?: React.MouseEventHandler<HTMLElement>;\n\n /**\n * Хэндлер, вызываемый при клике по крестику или\n * снаружи тултипа\n */\n onCloseRequest?: (event?: Event | React.MouseEvent) => void;\n\n /**\n * Хэндлер, вызываемый при закрытии тултипа\n */\n onClose?: () => void;\n\n /**\n * Хэндлер, вызываемый при открытии тултипа\n */\n onOpen?: () => void;\n\n /**\n * Список позиций, которые тултип будет занимать.\n * Если положение тултипа в определенной позиции\n * будет выходить за край экрана, то будет выбрана\n * следующая позиция. Обязательно должен включать\n * позицию указанную в `pos`\n */\n allowedPositions?: PopupPositionsType[];\n\n /**\n * Флаг отключения анимации.\n * @default false\n */\n disableAnimations?: boolean;\n\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper?: boolean;\n}\n\nexport interface TooltipState {\n opened: boolean;\n focused: boolean;\n}\n\nexport const TooltipDataTids = {\n root: 'Tooltip__root',\n content: 'Tooltip__content',\n} as const;\n\nconst Positions: PopupPositionsType[] = [\n 'right bottom',\n 'right middle',\n 'right top',\n 'top right',\n 'top center',\n 'top left',\n 'left top',\n 'left middle',\n 'left bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n];\n\ntype DefaultProps = Required<\n Pick<TooltipProps, 'pos' | 'trigger' | 'allowedPositions' | 'disableAnimations' | 'useWrapper'>\n>;\n\n@rootNode\n@responsiveLayout\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n\n private isMobileLayout!: boolean;\n\n public static propTypes = {\n children(props: TooltipProps, propName: keyof TooltipProps, componentName: string) {\n const children = props[propName];\n warning(\n children || props.anchorElement,\n `[${componentName}]: you must provide either 'children' or 'anchorElement' prop for ${componentName} to work properly`,\n );\n warning(\n !(Array.isArray(children) && props.useWrapper === false),\n `[${componentName}]: you provided multiple children, but useWrapper={false} - forcing wrapper <span/> for positioning to work correctly`,\n );\n },\n };\n\n public static defaultProps: DefaultProps = {\n pos: DefaultPosition,\n trigger: 'hover',\n allowedPositions: Positions,\n disableAnimations: isTestEnv,\n useWrapper: false,\n };\n\n private getProps = createPropsGetter(Tooltip.defaultProps);\n\n public static delay = 100;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private theme!: Theme;\n private hoverTimeout: Nullable<number> = null;\n private contentElement: Nullable<HTMLElement> = null;\n private positions: Nullable<PopupPositionsType[]> = null;\n private clickedOutside = true;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n public componentDidUpdate(prevProps: TooltipProps) {\n const { trigger, allowedPositions, pos } = this.getProps();\n if (trigger === 'closed' && this.state.opened) {\n this.close();\n }\n const posChanged = prevProps.pos !== pos;\n const allowedChanged = !isEqual(prevProps.allowedPositions, allowedPositions);\n\n if (posChanged || allowedChanged) {\n this.positions = null;\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.tooltipPinOffset,\n popupMargin: theme.tooltipMargin,\n popupBorder: theme.tooltipBorder,\n popupBorderRadius: theme.tooltipBorderRadius,\n popupPinSize: theme.tooltipPinSize,\n popupPinOffsetX: theme.tooltipPinOffsetX,\n popupPinOffsetY: theme.tooltipPinOffsetY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderContent = () => {\n const content = this.props.render ? this.props.render() : null;\n if (isNullable(content)) {\n return null;\n }\n\n return (\n <div ref={this.refContent} className={styles.tooltipContent(this.theme)} data-tid={TooltipDataTids.content}>\n {content}\n {this.renderCloseButton()}\n </div>\n );\n };\n\n public renderCloseButton() {\n const hasCross =\n this.props.closeButton === undefined\n ? !Tooltip.triggersWithoutCloseButton.includes(this.getProps().trigger)\n : this.props.closeButton;\n\n if (!hasCross || this.isMobileLayout) {\n return null;\n }\n\n return (\n <div className={styles.cross(this.theme)} onClick={this.handleCloseButtonClick}>\n <CrossIcon />\n </div>\n );\n }\n\n public getAnchorElement = (): Nullable<Element> => {\n return this.popupRef.current?.anchorElement;\n };\n\n /**\n * Программно открывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public show() {\n if (this.state.opened) {\n return;\n }\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(true, `Function 'show' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.open();\n }\n\n /**\n * Программно закрывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public hide() {\n const trigger = this.getProps().trigger;\n if (trigger === 'opened' || trigger === 'closed') {\n warning(true, `Function 'hide' is not supported with trigger specified '${trigger}'`);\n return;\n }\n this.close();\n }\n\n private renderMain() {\n const props = this.props;\n const content = this.renderContent();\n const { popupProps, layerProps = { active: false } } = this.getPopupAndLayerProps();\n const anchorElement = props.children || props.anchorElement;\n const popup = this.renderPopup(anchorElement, popupProps, content);\n\n if (this.isMobileLayout) {\n return popup;\n }\n\n return (\n <RenderLayer {...layerProps} getAnchorElement={this.getAnchorElement}>\n {popup}\n </RenderLayer>\n );\n }\n\n private renderPopup(\n anchorElement: React.ReactNode | HTMLElement,\n popupProps: Partial<PopupProps>,\n content: JSX.Element | null,\n ) {\n const { disableAnimations, trigger } = this.getProps();\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n data-tid={TooltipDataTids.root}\n anchorElement={anchorElement}\n hasPin\n hasShadow\n maxWidth=\"none\"\n opened={this.state.opened}\n disableAnimations={disableAnimations}\n positions={this.getPositions()}\n ignoreHover={trigger === 'hoverAnchor'}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n mobileOnCloseRequest={this.mobileCloseHandler}\n tryPreserveFirstRenderedPosition\n ref={this.popupRef}\n {...popupProps}\n >\n {content}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private mobileCloseHandler = () => {\n const trigger = this.getProps().trigger;\n if (trigger === 'manual' || trigger === 'closed' || trigger === 'opened') {\n return;\n }\n\n this.close();\n };\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\n };\n\n private getPositions() {\n if (!this.positions) {\n const { allowedPositions, pos } = this.getProps();\n const index = allowedPositions.indexOf(pos);\n if (index === -1) {\n throw new Error('Unexpected position passed to Tooltip. Expected one of: ' + allowedPositions.join(', '));\n }\n\n this.positions = [...allowedPositions.slice(index), ...allowedPositions.slice(0, index)];\n }\n\n return this.positions;\n }\n\n private getPopupAndLayerProps(): {\n layerProps?: Partial<RenderLayerProps>;\n popupProps: Partial<PopupProps>;\n } {\n const props = this.props;\n const useWrapper = !!props.children && this.getProps().useWrapper;\n const trigger = this.getProps().trigger;\n\n switch (trigger) {\n case 'opened':\n return {\n layerProps: {\n active: true,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n opened: true,\n useWrapper,\n },\n };\n\n case 'closed':\n return {\n popupProps: {\n opened: false,\n useWrapper,\n },\n };\n\n case 'hoverAnchor':\n case 'hover':\n return {\n popupProps: {\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n case 'manual':\n return {\n popupProps: {\n useWrapper,\n },\n };\n case 'click':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onClick: this.handleClick,\n useWrapper,\n },\n };\n\n case 'focus':\n return {\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n useWrapper,\n },\n };\n\n case 'hover&focus':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n\n default:\n throw new Error('Unknown trigger specified: ' + trigger);\n }\n }\n\n private open = () => this.setState({ opened: true });\n\n private close = () => this.setState({ opened: false });\n\n private clearHoverTimeout() {\n if (this.hoverTimeout) {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = null;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n const isHoverAnchor = this.getProps().trigger === 'hoverAnchor';\n if (isHoverAnchor && event.target === this.contentElement) {\n return;\n }\n\n this.clearHoverTimeout();\n\n this.hoverTimeout = window.setTimeout(this.open, Tooltip.delay);\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (this.isMobileLayout) {\n return;\n }\n const trigger = this.getProps().trigger;\n if (\n (trigger === 'hover&focus' && this.state.focused) ||\n (trigger === 'hover' && event.relatedTarget === this.contentElement)\n ) {\n return;\n }\n\n this.clearHoverTimeout();\n\n if (trigger === 'hoverAnchor') {\n this.close();\n } else {\n this.hoverTimeout = window.setTimeout(this.close, Tooltip.delay);\n }\n };\n\n private handleClick = () => {\n this.open();\n };\n\n private handleClickOutsideAnchor = (event: Event) => {\n this.clickedOutside = this.isClickOutsideContent(event);\n if (this.clickedOutside) {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest(event);\n }\n this.close();\n }\n };\n\n private isClickOutsideContent(event: Event) {\n if (this.contentElement && event.target instanceof Element) {\n return !containsTargetOrRenderContainer(event.target)(this.contentElement);\n }\n\n return true;\n }\n\n private handleFocus = () => {\n this.setState({ focused: true });\n this.open();\n };\n\n private handleBlur = () => {\n const trigger = this.getProps().trigger;\n if (trigger === 'hover&focus' && this.clickedOutside) {\n this.close();\n }\n\n if (trigger === 'focus') {\n this.close();\n }\n\n this.clickedOutside = true;\n this.setState({ focused: false });\n };\n\n private handleCloseButtonClick = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n\n if (this.props.onCloseClick) {\n this.props.onCloseClick(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest(event);\n }\n\n this.close();\n };\n}\n"]}
@@ -4,7 +4,7 @@ import { MenuItemProps } from '../MenuItem';
4
4
  import { MenuHeaderProps } from '../MenuHeader';
5
5
  import { PopupPositionsType } from '../../internal/Popup';
6
6
  import { CommonProps } from '../../internal/CommonWrapper';
7
- export declare type TooltipMenuChildType = React.ReactElement<MenuItemProps | {} | MenuHeaderProps>;
7
+ export declare type TooltipMenuChildType = React.ReactElement<MenuItemProps | unknown | MenuHeaderProps>;
8
8
  export interface TooltipMenuProps extends CommonProps, Pick<PopupMenuProps, 'onOpen' | 'onClose'> {
9
9
  children?: TooltipMenuChildType | TooltipMenuChildType[];
10
10
  /** Максимальная высота меню */
@@ -1 +1 @@
1
- {"version":3,"sources":["TooltipMenu.tsx"],"names":["TooltipMenuDataTids","root","TooltipMenu","rootNode","props","getProps","defaultProps","caption","isProductionEnv","Error","render","theme","ThemeFactory","create","popupPinOffset","tooltipMenuPinOffset","popupMargin","tooltipMenuMargin","popupPinSize","tooltipMenuPinSize","renderMain","setRootNode","menuMaxHeight","menuWidth","header","footer","positions","onOpen","onClose","disableAnimations","children","React","Component","__KONTUR_REACT_UI__","isTestEnv"],"mappings":"uWAAA;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CO,IAAMA,mBAAmB,GAAG;AACjCC,EAAAA,IAAI,EAAE,mBAD2B,EAA5B,C;;;;;AAMP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;AAEaC,W,OADZC,kB;;;;;;;;;;AAWC,uBAAYC,KAAZ,EAAqC;AACnC,wCAAMA,KAAN,UADmC,MAF7BC,QAE6B,GAFlB,0CAAkBH,WAAW,CAACI,YAA9B,CAEkB;;AAGnC,QAAI,CAACF,KAAK,CAACG,OAAP,IAAkB,CAACC,mCAAvB,EAAwC;AACtC,YAAM,IAAIC,KAAJ,CAAU,+BAAV,CAAN;AACD,KALkC;AAMpC,G;;AAEMC,EAAAA,M,GAAP,kBAAgB;AACd;AACE,mCAAC,0BAAD,CAAc,QAAd;AACG,gBAACC,KAAD,EAAW;AACV;AACE,uCAAC,0BAAD,CAAc,QAAd;AACE,YAAA,KAAK,EAAEC,2BAAaC,MAAb;AACL;AACEC,cAAAA,cAAc,EAAEH,KAAK,CAACI,oBADxB;AAEEC,cAAAA,WAAW,EAAEL,KAAK,CAACM,iBAFrB;AAGEC,cAAAA,YAAY,EAAEP,KAAK,CAACQ,kBAHtB,EADK;;AAMLR,YAAAA,KANK,CADT;;;AAUG,UAAA,MAAI,CAACS,UAAL,EAVH,CADF;;;AAcD,OAhBH,CADF;;;AAoBD,G;;AAEMA,EAAAA,U,GAAP,sBAAoB;AAClB,QAAI,CAAC,KAAKhB,KAAL,CAAWG,OAAhB,EAAyB;AACvB,aAAO,IAAP;AACD;;AAED;AACE,mCAAC,4BAAD,2BAAe,WAAW,EAAE,KAAKc,WAAjC,IAAkD,KAAKjB,KAAvD;AACE,mCAAC,oBAAD;AACE,oBAAUJ,mBAAmB,CAACC,IADhC;AAEE,QAAA,aAAa,EAAE,KAAKG,KAAL,CAAWkB,aAF5B;AAGE,QAAA,SAAS,EAAE,KAAKlB,KAAL,CAAWmB,SAHxB;AAIE,QAAA,OAAO,EAAE,KAAKnB,KAAL,CAAWG,OAJtB;AAKE,QAAA,MAAM,EAAE,KAAKH,KAAL,CAAWoB,MALrB;AAME,QAAA,MAAM,EAAE,KAAKpB,KAAL,CAAWqB,MANrB;AAOE,QAAA,SAAS,EAAE,KAAKrB,KAAL,CAAWsB,SAPxB;AAQE,QAAA,MAAM,EAAE,KAAKtB,KAAL,CAAWuB,MARrB;AASE,QAAA,OAAO,EAAE,KAAKvB,KAAL,CAAWwB,OATtB;AAUE,QAAA,WAAW,MAVb;AAWE,QAAA,iBAAiB,EAAE,KAAKvB,QAAL,GAAgBwB,iBAXrC;;AAaG,WAAKzB,KAAL,CAAW0B,QAbd,CADF,CADF;;;;AAmBD,G,sBAjE8BC,eAAMC,S,WACvBC,mB,GAAsB,a,UAGtB3B,Y,GAA6B,EACzCuB,iBAAiB,EAAEK,6BADsB,E","sourcesContent":["import React from 'react';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { PopupMenu, PopupMenuProps } from '../../internal/PopupMenu';\nimport { MenuItemProps } from '../MenuItem';\nimport { isProductionEnv, isTestEnv } from '../../lib/currentEnvironment';\nimport { MenuHeaderProps } from '../MenuHeader';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nexport type TooltipMenuChildType = React.ReactElement<MenuItemProps | {} | MenuHeaderProps>;\n\nexport interface TooltipMenuProps extends CommonProps, Pick<PopupMenuProps, 'onOpen' | 'onClose'> {\n children?: TooltipMenuChildType | TooltipMenuChildType[];\n /** Максимальная высота меню */\n menuMaxHeight?: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо `caption`,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: PopupMenuProps['caption'];\n /**\n * Произвольный элемент, который будет отрендерен в шапке меню.\n *\n * _Примечание_: контрол [`MenuHeader`](#/Components/MenuHeader) передаётся только в `children` меню-контролов. Не стоит передавать `MenuHeader` в `header`.\n */\n header?: React.ReactNode;\n /**\n * Произвольный элемент, который будет отрендерен в подвале меню.\n *\n * Перед элементом переданным в `footer` будет отрендерен [`MenuSeparator`](#/Components/MenuSeparator).\n */\n footer?: React.ReactNode;\n /** Список позиций доступных для расположения выпадашки относительно `caption`.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n */\n positions?: PopupPositionsType[];\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n}\n\nexport const TooltipMenuDataTids = {\n root: 'TooltipMenu__root',\n} as const;\n\ntype DefaultProps = Required<Pick<TooltipMenuProps, 'disableAnimations'>>;\n\n/**\n * Меню, раскрывающееся по клику на переданный в `caption` элемент.\n *\n * Положение меню задаётся с помощью массива `positions` и работает так:\n * первое значение в массиве - дефолтная позиция, меню раскроется на этой позиции, если оно не будет выходить за пределы `viewport`,\n * если раскрыться в дефолтной позиции не получится - будет использована следующая позиция, и так далее, пока не будет достигнут конец массива. Если все положения из списка будут выходить за пределы `viewport`, в качестве положения будет использовано первое значение в массиве.\n *\n * Если меню должно раскрываться только в одну сторону - массив `positions` должен содержать только один элемент: сторону, в которую должно открываться меню.\n *\n * Если массив `positions` не передан (или передан пустой массив), будут использованы всевозможные значения.\n */\n@rootNode\nexport class TooltipMenu extends React.Component<TooltipMenuProps> {\n public static __KONTUR_REACT_UI__ = 'TooltipMenu';\n private setRootNode!: TSetRootNode;\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(TooltipMenu.defaultProps);\n\n constructor(props: TooltipMenuProps) {\n super(props);\n\n if (!props.caption && !isProductionEnv) {\n throw new Error('Prop \"caption\" is required!!!');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.tooltipMenuPinOffset,\n popupMargin: theme.tooltipMenuMargin,\n popupPinSize: theme.tooltipMenuPinSize,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n if (!this.props.caption) {\n return null;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n data-tid={TooltipMenuDataTids.root}\n menuMaxHeight={this.props.menuMaxHeight}\n menuWidth={this.props.menuWidth}\n caption={this.props.caption}\n header={this.props.header}\n footer={this.props.footer}\n positions={this.props.positions}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n popupHasPin\n disableAnimations={this.getProps().disableAnimations}\n >\n {this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n}\n"]}
1
+ {"version":3,"sources":["TooltipMenu.tsx"],"names":["TooltipMenuDataTids","root","TooltipMenu","rootNode","props","getProps","defaultProps","caption","isProductionEnv","Error","render","theme","ThemeFactory","create","popupPinOffset","tooltipMenuPinOffset","popupMargin","tooltipMenuMargin","popupPinSize","tooltipMenuPinSize","renderMain","setRootNode","menuMaxHeight","menuWidth","header","footer","positions","onOpen","onClose","disableAnimations","children","React","Component","__KONTUR_REACT_UI__","isTestEnv"],"mappings":"uWAAA;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA,gE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CO,IAAMA,mBAAmB,GAAG;AACjCC,EAAAA,IAAI,EAAE,mBAD2B,EAA5B,C;;;;;AAMP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;AAEaC,W,OADZC,kB;;;;;;;;;;AAWC,uBAAYC,KAAZ,EAAqC;AACnC,wCAAMA,KAAN,UADmC,MAF7BC,QAE6B,GAFlB,0CAAkBH,WAAW,CAACI,YAA9B,CAEkB;;AAGnC,QAAI,CAACF,KAAK,CAACG,OAAP,IAAkB,CAACC,mCAAvB,EAAwC;AACtC,YAAM,IAAIC,KAAJ,CAAU,+BAAV,CAAN;AACD,KALkC;AAMpC,G;;AAEMC,EAAAA,M,GAAP,kBAAgB;AACd;AACE,mCAAC,0BAAD,CAAc,QAAd;AACG,gBAACC,KAAD,EAAW;AACV;AACE,uCAAC,0BAAD,CAAc,QAAd;AACE,YAAA,KAAK,EAAEC,2BAAaC,MAAb;AACL;AACEC,cAAAA,cAAc,EAAEH,KAAK,CAACI,oBADxB;AAEEC,cAAAA,WAAW,EAAEL,KAAK,CAACM,iBAFrB;AAGEC,cAAAA,YAAY,EAAEP,KAAK,CAACQ,kBAHtB,EADK;;AAMLR,YAAAA,KANK,CADT;;;AAUG,UAAA,MAAI,CAACS,UAAL,EAVH,CADF;;;AAcD,OAhBH,CADF;;;AAoBD,G;;AAEMA,EAAAA,U,GAAP,sBAAoB;AAClB,QAAI,CAAC,KAAKhB,KAAL,CAAWG,OAAhB,EAAyB;AACvB,aAAO,IAAP;AACD;;AAED;AACE,mCAAC,4BAAD,2BAAe,WAAW,EAAE,KAAKc,WAAjC,IAAkD,KAAKjB,KAAvD;AACE,mCAAC,oBAAD;AACE,oBAAUJ,mBAAmB,CAACC,IADhC;AAEE,QAAA,aAAa,EAAE,KAAKG,KAAL,CAAWkB,aAF5B;AAGE,QAAA,SAAS,EAAE,KAAKlB,KAAL,CAAWmB,SAHxB;AAIE,QAAA,OAAO,EAAE,KAAKnB,KAAL,CAAWG,OAJtB;AAKE,QAAA,MAAM,EAAE,KAAKH,KAAL,CAAWoB,MALrB;AAME,QAAA,MAAM,EAAE,KAAKpB,KAAL,CAAWqB,MANrB;AAOE,QAAA,SAAS,EAAE,KAAKrB,KAAL,CAAWsB,SAPxB;AAQE,QAAA,MAAM,EAAE,KAAKtB,KAAL,CAAWuB,MARrB;AASE,QAAA,OAAO,EAAE,KAAKvB,KAAL,CAAWwB,OATtB;AAUE,QAAA,WAAW,MAVb;AAWE,QAAA,iBAAiB,EAAE,KAAKvB,QAAL,GAAgBwB,iBAXrC;;AAaG,WAAKzB,KAAL,CAAW0B,QAbd,CADF,CADF;;;;AAmBD,G,sBAjE8BC,eAAMC,S,WACvBC,mB,GAAsB,a,UAGtB3B,Y,GAA6B,EACzCuB,iBAAiB,EAAEK,6BADsB,E","sourcesContent":["import React from 'react';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { PopupMenu, PopupMenuProps } from '../../internal/PopupMenu';\nimport { MenuItemProps } from '../MenuItem';\nimport { isProductionEnv, isTestEnv } from '../../lib/currentEnvironment';\nimport { MenuHeaderProps } from '../MenuHeader';\nimport { PopupPositionsType } from '../../internal/Popup';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { createPropsGetter } from '../../lib/createPropsGetter';\n\nexport type TooltipMenuChildType = React.ReactElement<MenuItemProps | unknown | MenuHeaderProps>;\n\nexport interface TooltipMenuProps extends CommonProps, Pick<PopupMenuProps, 'onOpen' | 'onClose'> {\n children?: TooltipMenuChildType | TooltipMenuChildType[];\n /** Максимальная высота меню */\n menuMaxHeight?: number | string;\n /** Ширина меню */\n menuWidth?: number | string;\n /**\n * Элемент или функция возвращающая элемент,\n * если передана, используется вместо `caption`,\n * в таком случае управлять открытием и закрытием меню\n * придется в этой функции\n */\n caption: PopupMenuProps['caption'];\n /**\n * Произвольный элемент, который будет отрендерен в шапке меню.\n *\n * _Примечание_: контрол [`MenuHeader`](#/Components/MenuHeader) передаётся только в `children` меню-контролов. Не стоит передавать `MenuHeader` в `header`.\n */\n header?: React.ReactNode;\n /**\n * Произвольный элемент, который будет отрендерен в подвале меню.\n *\n * Перед элементом переданным в `footer` будет отрендерен [`MenuSeparator`](#/Components/MenuSeparator).\n */\n footer?: React.ReactNode;\n /** Список позиций доступных для расположения выпадашки относительно `caption`.\n *\n * Если во всех позициях выпадашка вылезает за пределы `viewport`, будет использована первая из этого списка.\n *\n * **Возможные значения**: `top left`, `top center`, `top right`, `right top`, `right middle`, `right bottom`, `bottom left`, `bottom center`, `bottom right`, `left top`, `left middle`, `left bottom`\n */\n positions?: PopupPositionsType[];\n /**\n * Не показывать анимацию\n */\n disableAnimations?: boolean;\n}\n\nexport const TooltipMenuDataTids = {\n root: 'TooltipMenu__root',\n} as const;\n\ntype DefaultProps = Required<Pick<TooltipMenuProps, 'disableAnimations'>>;\n\n/**\n * Меню, раскрывающееся по клику на переданный в `caption` элемент.\n *\n * Положение меню задаётся с помощью массива `positions` и работает так:\n * первое значение в массиве - дефолтная позиция, меню раскроется на этой позиции, если оно не будет выходить за пределы `viewport`,\n * если раскрыться в дефолтной позиции не получится - будет использована следующая позиция, и так далее, пока не будет достигнут конец массива. Если все положения из списка будут выходить за пределы `viewport`, в качестве положения будет использовано первое значение в массиве.\n *\n * Если меню должно раскрываться только в одну сторону - массив `positions` должен содержать только один элемент: сторону, в которую должно открываться меню.\n *\n * Если массив `positions` не передан (или передан пустой массив), будут использованы всевозможные значения.\n */\n@rootNode\nexport class TooltipMenu extends React.Component<TooltipMenuProps> {\n public static __KONTUR_REACT_UI__ = 'TooltipMenu';\n private setRootNode!: TSetRootNode;\n\n public static defaultProps: DefaultProps = {\n disableAnimations: isTestEnv,\n };\n\n private getProps = createPropsGetter(TooltipMenu.defaultProps);\n\n constructor(props: TooltipMenuProps) {\n super(props);\n\n if (!props.caption && !isProductionEnv) {\n throw new Error('Prop \"caption\" is required!!!');\n }\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.tooltipMenuPinOffset,\n popupMargin: theme.tooltipMenuMargin,\n popupPinSize: theme.tooltipMenuPinSize,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderMain() {\n if (!this.props.caption) {\n return null;\n }\n\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <PopupMenu\n data-tid={TooltipMenuDataTids.root}\n menuMaxHeight={this.props.menuMaxHeight}\n menuWidth={this.props.menuWidth}\n caption={this.props.caption}\n header={this.props.header}\n footer={this.props.footer}\n positions={this.props.positions}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n popupHasPin\n disableAnimations={this.getProps().disableAnimations}\n >\n {this.props.children}\n </PopupMenu>\n </CommonWrapper>\n );\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
- import React from 'react';
2
- export declare const useEffectWithoutInitCall: (effect: () => void, deps: React.DependencyList) => void;
1
+ import { DependencyList } from 'react';
2
+ export declare const useEffectWithoutInitCall: (effect: () => void, deps: DependencyList) => void;
@@ -1,9 +1,9 @@
1
- "use strict";exports.__esModule = true;exports.useEffectWithoutInitCall = void 0;var _react = _interopRequireWildcard(require("react"));function _getRequireWildcardCache(nodeInterop) {if (typeof WeakMap !== "function") return null;var cacheBabelInterop = new WeakMap();var cacheNodeInterop = new WeakMap();return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {return nodeInterop ? cacheNodeInterop : cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj, nodeInterop) {if (!nodeInterop && obj && obj.__esModule) {return obj;}if (obj === null || typeof obj !== "object" && typeof obj !== "function") {return { default: obj };}var cache = _getRequireWildcardCache(nodeInterop);if (cache && cache.has(obj)) {return cache.get(obj);}var newObj = {};var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var key in obj) {if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;if (desc && (desc.get || desc.set)) {Object.defineProperty(newObj, key, desc);} else {newObj[key] = obj[key];}}}newObj.default = obj;if (cache) {cache.set(obj, newObj);}return newObj;}
1
+ "use strict";exports.__esModule = true;exports.useEffectWithoutInitCall = void 0;var _react = require("react");
2
2
 
3
3
  var useEffectWithoutInitCall = function useEffectWithoutInitCall(effect, deps) {
4
4
  var isInitialRenderRef = (0, _react.useRef)(true);
5
5
 
6
- _react.default.useEffect(function () {
6
+ (0, _react.useEffect)(function () {
7
7
  if (isInitialRenderRef.current) {
8
8
  isInitialRenderRef.current = false;
9
9
  } else {
@@ -1 +1 @@
1
- {"version":3,"sources":["useEffectWithoutInitCall.ts"],"names":["useEffectWithoutInitCall","effect","deps","isInitialRenderRef","React","useEffect","current"],"mappings":"iFAAA,uD;;AAEO,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,MAAD,EAAqBC,IAArB,EAA8C;AACpF,MAAMC,kBAAkB,GAAG,mBAAO,IAAP,CAA3B;;AAEAC,iBAAMC,SAAN,CAAgB,YAAM;AACpB,QAAIF,kBAAkB,CAACG,OAAvB,EAAgC;AAC9BH,MAAAA,kBAAkB,CAACG,OAAnB,GAA6B,KAA7B;AACD,KAFD,MAEO;AACLL,MAAAA,MAAM;AACP;AACF,GAND,EAMGC,IANH;AAOD,CAVM,C","sourcesContent":["import React, { DependencyList, useRef } from 'react';\n\nexport const useEffectWithoutInitCall = (effect: () => void, deps: DependencyList) => {\n const isInitialRenderRef = useRef(true);\n\n React.useEffect(() => {\n if (isInitialRenderRef.current) {\n isInitialRenderRef.current = false;\n } else {\n effect();\n }\n }, deps);\n};\n"]}
1
+ {"version":3,"sources":["useEffectWithoutInitCall.ts"],"names":["useEffectWithoutInitCall","effect","deps","isInitialRenderRef","current"],"mappings":"iFAAA;;AAEO,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,MAAD,EAAqBC,IAArB,EAA8C;AACpF,MAAMC,kBAAkB,GAAG,mBAAO,IAAP,CAA3B;;AAEA,wBAAU,YAAM;AACd,QAAIA,kBAAkB,CAACC,OAAvB,EAAgC;AAC9BD,MAAAA,kBAAkB,CAACC,OAAnB,GAA6B,KAA7B;AACD,KAFD,MAEO;AACLH,MAAAA,MAAM;AACP;AACF,GAND,EAMGC,IANH;AAOD,CAVM,C","sourcesContent":["import { useEffect, DependencyList, useRef } from 'react';\n\nexport const useEffectWithoutInitCall = (effect: () => void, deps: DependencyList) => {\n const isInitialRenderRef = useRef(true);\n\n useEffect(() => {\n if (isInitialRenderRef.current) {\n isInitialRenderRef.current = false;\n } else {\n effect();\n }\n }, deps);\n};\n"]}
@@ -1 +1,2 @@
1
- export declare const useMemoObject: <TObject extends object>(objectValue: TObject) => TObject;
1
+ import { AnyObject } from '../lib/utils';
2
+ export declare const useMemoObject: <TObject extends AnyObject>(objectValue: TObject) => TObject;
@@ -1,5 +1,7 @@
1
1
  "use strict";exports.__esModule = true;exports.useMemoObject = void 0;var _react = require("react");
2
2
 
3
+
4
+
3
5
  var useMemoObject = function useMemoObject(objectValue) {
4
6
  return (0, _react.useMemo)(function () {return objectValue;}, Object.values(objectValue));
5
7
  };exports.useMemoObject = useMemoObject;
@@ -1 +1 @@
1
- {"version":3,"sources":["useMemoObject.ts"],"names":["useMemoObject","objectValue","Object","values"],"mappings":"sEAAA;;AAEO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAAyBC,WAAzB,EAAkD;AAC7E,SAAO,oBAAiB,oBAAMA,WAAN,EAAjB,EAAoCC,MAAM,CAACC,MAAP,CAAcF,WAAd,CAApC,CAAP;AACD,CAFM,C","sourcesContent":["import { useMemo } from 'react';\n\nexport const useMemoObject = <TObject extends object>(objectValue: TObject) => {\n return useMemo<TObject>(() => objectValue, Object.values(objectValue));\n};\n"]}
1
+ {"version":3,"sources":["useMemoObject.ts"],"names":["useMemoObject","objectValue","Object","values"],"mappings":"sEAAA;;;;AAIO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAA4BC,WAA5B,EAAqD;AAChF,SAAO,oBAAiB,oBAAMA,WAAN,EAAjB,EAAoCC,MAAM,CAACC,MAAP,CAAcF,WAAd,CAApC,CAAP;AACD,CAFM,C","sourcesContent":["import { useMemo } from 'react';\n\nimport { AnyObject } from '../lib/utils';\n\nexport const useMemoObject = <TObject extends AnyObject>(objectValue: TObject) => {\n return useMemo<TObject>(() => objectValue, Object.values(objectValue));\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- interface BGRulerProps {
2
+ export interface BGRulerProps {
3
3
  width?: string | number;
4
4
  height?: string | number;
5
5
  top?: string | number;
@@ -1 +1 @@
1
- {"version":3,"sources":["BGRuler.tsx"],"names":["BGRuler","getProps","defaultProps","iframe","componentDidMount","contentWindow","addEventListener","update","componentWillUnmount","removeEventListener","forceUpdate","iframeRef","ref","render","props","width","bottom","height","top","left","right","color","wrapper","position","overflow","border","visibility","marks","backgroundSize","backgroundRepeat","highMarks","backgroundImage","middleMarks","shortMarks","rulerWidth","labels","Array","Math","ceil","fill","map","value","index","label","fontFamily","fontSize","lineHeight","React","Component"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { getDOMRect } from '../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../lib/createPropsGetter';\n\ninterface BGRulerProps {\n width?: string | number;\n height?: string | number;\n top?: string | number;\n bottom?: string | number;\n right?: string | number;\n left?: string | number;\n color?: string;\n}\n\ntype DefaultProps = Required<Pick<BGRulerProps, 'height' | 'top' | 'left' | 'right' | 'color'>>;\n\n/**\n * Компонент рисует пиксельную линейку на заднем фоне.\n * Помогает контролировать размеры элементов при скриншотном тестировании.\n *\n * @see FxInput/__stories__/FxInput.stories.tsx\n */\nexport class BGRuler extends React.Component<BGRulerProps> {\n public static defaultProps: DefaultProps = {\n height: 20,\n top: 0,\n left: 0,\n right: 0,\n color: '#333',\n };\n\n private getProps = createPropsGetter(BGRuler.defaultProps);\n\n private iframe: HTMLIFrameElement | null = null;\n\n public componentDidMount = () => {\n if (this.iframe && this.iframe.contentWindow) {\n this.iframe.contentWindow.addEventListener('resize', this.update, true);\n }\n this.update();\n };\n\n public componentWillUnmount = () => {\n if (this.iframe && this.iframe.contentWindow) {\n this.iframe.contentWindow.removeEventListener('resize', this.update, true);\n }\n };\n\n public update = () => {\n this.forceUpdate();\n };\n\n public render() {\n const { width, bottom } = this.props;\n const { height, top, left, right, color } = this.getProps();\n const wrapper: React.CSSProperties = {\n position: 'absolute',\n width,\n height,\n top,\n bottom,\n left,\n right,\n overflow: 'hidden',\n };\n const iframe: React.CSSProperties = {\n position: 'absolute',\n width: '100%',\n height: '100%',\n border: 0,\n visibility: 'hidden',\n };\n const marks: React.CSSProperties = {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n backgroundSize: '100px 20px',\n backgroundRepeat: 'repeat-x',\n };\n const highMarks: React.CSSProperties = {\n ...marks,\n height: '100%',\n backgroundImage: `linear-gradient(90deg, ${color} 0, ${color} 1px, transparent 1px)`,\n };\n const middleMarks: React.CSSProperties = {\n ...marks,\n height: '75%',\n backgroundImage: `linear-gradient(90deg, transparent 0, transparent 49px, ${color} 49px, ${color} 50px, transparent 50px)`,\n };\n const shortMarks: React.CSSProperties = {\n ...marks,\n height: '40%',\n backgroundImage: `\n linear-gradient(90deg, transparent 0, transparent 9px, ${color} 9px, ${color} 10px, transparent 10px),\n linear-gradient(90deg, transparent 0, transparent 19px, ${color} 19px, ${color} 20px, transparent 20px),\n linear-gradient(90deg, transparent 0, transparent 29px, ${color} 29px, ${color} 30px, transparent 30px),\n linear-gradient(90deg, transparent 0, transparent 39px, ${color} 39px, ${color} 40px, transparent 40px),\n linear-gradient(90deg, transparent 0, transparent 59px, ${color} 59px, ${color} 60px, transparent 60px),\n linear-gradient(90deg, transparent 0, transparent 69px, ${color} 69px, ${color} 70px, transparent 70px),\n linear-gradient(90deg, transparent 0, transparent 79px, ${color} 79px, ${color} 80px, transparent 80px),\n linear-gradient(90deg, transparent 0, transparent 89px, ${color} 89px, ${color} 90px, transparent 90px)\n `,\n };\n const rulerWidth = getDOMRect(this.iframe).width;\n const labels = Array(Math.ceil(rulerWidth / 100) + 1)\n .fill(null)\n .map((value, index) => {\n const label: React.CSSProperties = {\n position: 'absolute',\n fontFamily: 'Arial',\n fontSize: 10,\n lineHeight: 1,\n color,\n bottom: -1,\n left: index * 100 + 5,\n };\n return (\n <span key={index} style={label}>\n {index * 100}\n </span>\n );\n });\n return (\n <div style={wrapper}>\n <div style={highMarks} />\n <div style={middleMarks} />\n <div style={shortMarks} />\n {labels}\n <iframe title=\"BGRuler\" style={iframe} ref={this.iframeRef} />\n </div>\n );\n }\n\n private iframeRef = (ref: HTMLIFrameElement | null) => {\n this.iframe = ref;\n };\n}\n"]}
1
+ {"version":3,"sources":["BGRuler.tsx"],"names":["BGRuler","getProps","defaultProps","iframe","componentDidMount","contentWindow","addEventListener","update","componentWillUnmount","removeEventListener","forceUpdate","iframeRef","ref","render","props","width","bottom","height","top","left","right","color","wrapper","position","overflow","border","visibility","marks","backgroundSize","backgroundRepeat","highMarks","backgroundImage","middleMarks","shortMarks","rulerWidth","labels","Array","Math","ceil","fill","map","value","index","label","fontFamily","fontSize","lineHeight","React","Component"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { getDOMRect } from '../lib/dom/getDOMRect';\nimport { createPropsGetter } from '../lib/createPropsGetter';\n\nexport interface BGRulerProps {\n width?: string | number;\n height?: string | number;\n top?: string | number;\n bottom?: string | number;\n right?: string | number;\n left?: string | number;\n color?: string;\n}\n\ntype DefaultProps = Required<Pick<BGRulerProps, 'height' | 'top' | 'left' | 'right' | 'color'>>;\n\n/**\n * Компонент рисует пиксельную линейку на заднем фоне.\n * Помогает контролировать размеры элементов при скриншотном тестировании.\n *\n * @see FxInput/__stories__/FxInput.stories.tsx\n */\nexport class BGRuler extends React.Component<BGRulerProps> {\n public static defaultProps: DefaultProps = {\n height: 20,\n top: 0,\n left: 0,\n right: 0,\n color: '#333',\n };\n\n private getProps = createPropsGetter(BGRuler.defaultProps);\n\n private iframe: HTMLIFrameElement | null = null;\n\n public componentDidMount = () => {\n if (this.iframe && this.iframe.contentWindow) {\n this.iframe.contentWindow.addEventListener('resize', this.update, true);\n }\n this.update();\n };\n\n public componentWillUnmount = () => {\n if (this.iframe && this.iframe.contentWindow) {\n this.iframe.contentWindow.removeEventListener('resize', this.update, true);\n }\n };\n\n public update = () => {\n this.forceUpdate();\n };\n\n public render() {\n const { width, bottom } = this.props;\n const { height, top, left, right, color } = this.getProps();\n const wrapper: React.CSSProperties = {\n position: 'absolute',\n width,\n height,\n top,\n bottom,\n left,\n right,\n overflow: 'hidden',\n };\n const iframe: React.CSSProperties = {\n position: 'absolute',\n width: '100%',\n height: '100%',\n border: 0,\n visibility: 'hidden',\n };\n const marks: React.CSSProperties = {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n backgroundSize: '100px 20px',\n backgroundRepeat: 'repeat-x',\n };\n const highMarks: React.CSSProperties = {\n ...marks,\n height: '100%',\n backgroundImage: `linear-gradient(90deg, ${color} 0, ${color} 1px, transparent 1px)`,\n };\n const middleMarks: React.CSSProperties = {\n ...marks,\n height: '75%',\n backgroundImage: `linear-gradient(90deg, transparent 0, transparent 49px, ${color} 49px, ${color} 50px, transparent 50px)`,\n };\n const shortMarks: React.CSSProperties = {\n ...marks,\n height: '40%',\n backgroundImage: `\n linear-gradient(90deg, transparent 0, transparent 9px, ${color} 9px, ${color} 10px, transparent 10px),\n linear-gradient(90deg, transparent 0, transparent 19px, ${color} 19px, ${color} 20px, transparent 20px),\n linear-gradient(90deg, transparent 0, transparent 29px, ${color} 29px, ${color} 30px, transparent 30px),\n linear-gradient(90deg, transparent 0, transparent 39px, ${color} 39px, ${color} 40px, transparent 40px),\n linear-gradient(90deg, transparent 0, transparent 59px, ${color} 59px, ${color} 60px, transparent 60px),\n linear-gradient(90deg, transparent 0, transparent 69px, ${color} 69px, ${color} 70px, transparent 70px),\n linear-gradient(90deg, transparent 0, transparent 79px, ${color} 79px, ${color} 80px, transparent 80px),\n linear-gradient(90deg, transparent 0, transparent 89px, ${color} 89px, ${color} 90px, transparent 90px)\n `,\n };\n const rulerWidth = getDOMRect(this.iframe).width;\n const labels = Array(Math.ceil(rulerWidth / 100) + 1)\n .fill(null)\n .map((value, index) => {\n const label: React.CSSProperties = {\n position: 'absolute',\n fontFamily: 'Arial',\n fontSize: 10,\n lineHeight: 1,\n color,\n bottom: -1,\n left: index * 100 + 5,\n };\n return (\n <span key={index} style={label}>\n {index * 100}\n </span>\n );\n });\n return (\n <div style={wrapper}>\n <div style={highMarks} />\n <div style={middleMarks} />\n <div style={shortMarks} />\n {labels}\n <iframe title=\"BGRuler\" style={iframe} ref={this.iframeRef} />\n </div>\n );\n }\n\n private iframeRef = (ref: HTMLIFrameElement | null) => {\n this.iframe = ref;\n };\n}\n"]}
@@ -1,7 +1,7 @@
1
1
  import { Theme } from '../../lib/theming/Theme';
2
2
  import { DayCellViewModel } from './DayCellViewModel';
3
3
  export declare class MonthViewModel {
4
- static create: (month: number, year: number) => MonthViewModel;
4
+ static create: (...args: number[]) => any;
5
5
  readonly daysCount: number;
6
6
  readonly offset: number;
7
7
  readonly month: number;
@@ -1,9 +1,2 @@
1
1
  import { Theme } from '../../lib/theming/Theme';
2
- export declare const themeConfig: (t: Theme) => {
3
- DAY_SIZE: number;
4
- MONTH_TITLE_HEIGHT: number;
5
- MONTH_TITLE_OFFSET_HEIGHT: number;
6
- WRAPPER_HEIGHT: number;
7
- MONTH_BOTTOM_MARGIN: number;
8
- MAX_MONTHS_TO_APPEND_ON_SCROLL: number;
9
- };
2
+ export declare const themeConfig: (t: Theme) => any;
@@ -16,7 +16,7 @@ export interface CommonProps {
16
16
  children?: React.ReactNode;
17
17
  }
18
18
  interface CommonPropsRootNodeRef {
19
- rootNodeRef?: (instance: Nullable<HTMLElement>) => void;
19
+ rootNodeRef?: (instance: Nullable<Element>) => void;
20
20
  }
21
21
  export declare type NotCommonProps<P> = Omit<P, keyof CommonProps>;
22
22
  export declare type CommonWrapperProps<P> = P & {
@@ -57,6 +57,7 @@ CommonWrapper = (0, _rootNode.rootNode)(_class = /*#__PURE__*/function (_React$C
57
57
 
58
58
 
59
59
 
60
+
60
61
  ref = function (instance) {var _this$rootNodeSubscri, _this$child;
61
62
  _this.setRootNode(instance);
62
63
  _this.props.rootNodeRef == null ? void 0 : _this.props.rootNodeRef((0, _rootNode.getRootNode)(instance));
@@ -75,8 +76,8 @@ CommonWrapper = (0, _rootNode.rootNode)(_class = /*#__PURE__*/function (_React$C
75
76
 
76
77
  var originalRef = (_this$child = _this.child) == null ? void 0 : _this$child.ref;
77
78
  originalRef && (0, _callChildRef.callChildRef)(originalRef, instance);
78
- };return _this;}var _proto = CommonWrapper.prototype;_proto.render = function render() {var _extractCommonProps = extractCommonProps(this.props),_extractCommonProps$ = _extractCommonProps[0],className = _extractCommonProps$.className,style = _extractCommonProps$.style,children = _extractCommonProps$.children,rootNodeRef = _extractCommonProps$.rootNodeRef,dataProps = (0, _objectWithoutPropertiesLoose2.default)(_extractCommonProps$, _excluded),rest = (0, _extends2.default)({}, _extractCommonProps[1]);this.child = (0, _utils.isFunction)(children) ? children(rest) : children;return /*#__PURE__*/_react.default.isValidElement(this.child) ? /*#__PURE__*/_react.default.cloneElement(this.child, (0, _extends2.default)({ ref: (0, _utils.isRefableElement)(this.child) ? this.ref : null, className: (0, _Emotion.cx)(this.child.props.className, className), style: (0, _extends2.default)({}, this.child.props.style, style) }, dataProps)) : this.child;};return CommonWrapper;}(_react.default.Component)) || _class;exports.CommonWrapper = CommonWrapper;
79
-
79
+ };return _this;}var _proto = CommonWrapper.prototype;_proto.render = function render() {// eslint-disable-next-line @typescript-eslint/no-unused-vars
80
+ var _extractCommonProps = extractCommonProps(this.props),_extractCommonProps$ = _extractCommonProps[0],className = _extractCommonProps$.className,style = _extractCommonProps$.style,children = _extractCommonProps$.children,rootNodeRef = _extractCommonProps$.rootNodeRef,dataProps = (0, _objectWithoutPropertiesLoose2.default)(_extractCommonProps$, _excluded),rest = (0, _extends2.default)({}, _extractCommonProps[1]);this.child = (0, _utils.isFunction)(children) ? children(rest) : children;return /*#__PURE__*/_react.default.isValidElement(this.child) ? /*#__PURE__*/_react.default.cloneElement(this.child, (0, _extends2.default)({ ref: (0, _utils.isRefableElement)(this.child) ? this.ref : null, className: (0, _Emotion.cx)(this.child.props.className, className), style: (0, _extends2.default)({}, this.child.props.style, style) }, dataProps)) : this.child;};return CommonWrapper;}(_react.default.Component)) || _class;exports.CommonWrapper = CommonWrapper;
80
81
 
81
82
  var extractCommonProps = function extractCommonProps(
82
83
  props)
@@ -86,10 +87,10 @@ props)
86
87
 
87
88
  for (var key in props) {
88
89
  if (isCommonProp(key)) {
89
- // @ts-ignore
90
+ // @ts-expect-error: See: https://github.com/skbkontur/retail-ui/pull/2257#discussion_r565275843 and https://github.com/skbkontur/retail-ui/pull/2257#discussion_r569542736.
90
91
  common[key] = props[key];
91
92
  } else {
92
- // @ts-ignore
93
+ // @ts-expect-error: Read the comment above.
93
94
  rest[key] = props[key];
94
95
  }
95
96
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["CommonWrapper.tsx"],"names":["CommonWrapper","rootNode","rootNodeSubscription","ref","instance","setRootNode","props","rootNodeRef","remove","addRootNodeChangeListener","node","originalRef","child","render","extractCommonProps","className","style","children","dataProps","rest","isValidElement","React","cloneElement","Component","common","key","isCommonProp","name","indexOf"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { isFunction, isRefableElement } from '../../lib/utils';\nimport { cx } from '../../lib/theming/Emotion';\nimport { Nullable } from '../../typings/utility-types';\nimport { getRootNode, rootNode, TSetRootNode, TRootNodeSubscription, isInstanceWithRootNode } from '../../lib/rootNode';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\n\nexport interface CommonProps {\n /**\n * HTML-атрибут `class`.\n */\n className?: React.HTMLAttributes<HTMLElement>['className'];\n /**\n * HTML-атрибут `style`.\n */\n style?: React.HTMLAttributes<HTMLElement>['style'];\n /**\n * На равне с data-tid транслируются любые data-атрибуты. Они попадают на корневой элемент.\n */\n 'data-tid'?: string;\n children?: React.ReactNode;\n}\n\ninterface CommonPropsRootNodeRef {\n rootNodeRef?: (instance: Nullable<HTMLElement>) => void;\n}\n\nexport type NotCommonProps<P> = Omit<P, keyof CommonProps>;\n\nexport type CommonWrapperProps<P> = P & {\n children: React.ReactNode | ((rest: CommonWrapperRestProps<P>) => React.ReactNode);\n};\nexport type CommonWrapperRestProps<P> = Omit<NotCommonProps<P>, 'children'>;\n\n@rootNode\nexport class CommonWrapper<P extends CommonProps & CommonPropsRootNodeRef> extends React.Component<\n CommonWrapperProps<P> & CommonPropsRootNodeRef\n> {\n private child: React.ReactNode;\n private setRootNode!: TSetRootNode;\n private rootNodeSubscription: Nullable<TRootNodeSubscription> = null;\n\n render() {\n const [{ className, style, children, rootNodeRef, ...dataProps }, { ...rest }] = extractCommonProps(this.props);\n this.child = isFunction(children) ? children(rest) : children;\n return React.isValidElement<CommonProps & React.RefAttributes<any>>(this.child)\n ? React.cloneElement(this.child, {\n ref: isRefableElement(this.child) ? this.ref : null,\n className: cx(this.child.props.className, className),\n style: {\n ...this.child.props.style,\n ...style,\n },\n ...dataProps,\n })\n : this.child;\n }\n\n private ref = (instance: Nullable<React.ReactInstance>) => {\n this.setRootNode(instance);\n this.props.rootNodeRef?.(getRootNode(instance));\n\n // refs are called when instances change\n // so we have to renew or remove old subscription\n this.rootNodeSubscription?.remove();\n this.rootNodeSubscription = null;\n\n if (instance && isInstanceWithRootNode(instance)) {\n this.rootNodeSubscription = instance.addRootNodeChangeListener?.((node) => {\n this.setRootNode(node);\n this.props.rootNodeRef?.(node);\n });\n }\n\n const originalRef = (this.child as React.RefAttributes<any>)?.ref;\n originalRef && callChildRef(originalRef, instance);\n };\n}\n\nconst extractCommonProps = <P extends CommonProps & CommonPropsRootNodeRef>(\n props: P,\n): [CommonProps & CommonPropsRootNodeRef, NotCommonProps<P>] => {\n const common = {} as CommonProps & CommonPropsRootNodeRef;\n const rest = {} as NotCommonProps<P>;\n\n for (const key in props) {\n if (isCommonProp(key)) {\n // @ts-ignore\n common[key] = props[key];\n } else {\n // @ts-ignore\n rest[key] = props[key];\n }\n }\n\n return [common, rest];\n};\n\nconst isCommonProp = (name: string) => {\n switch (true) {\n case name === 'className':\n case name === 'style':\n case name === 'rootNodeRef':\n case name === 'children':\n case name.indexOf('data-') === 0: // все data-атрибуты\n return true;\n default:\n return false;\n }\n};\n"]}
1
+ {"version":3,"sources":["CommonWrapper.tsx"],"names":["CommonWrapper","rootNode","rootNodeSubscription","ref","instance","setRootNode","props","rootNodeRef","remove","addRootNodeChangeListener","node","originalRef","child","render","extractCommonProps","className","style","children","dataProps","rest","isValidElement","React","cloneElement","Component","common","key","isCommonProp","name","indexOf"],"mappings":"ucAAA;;AAEA;AACA;;AAEA;AACA,mE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BaA,a,OADZC,kB;;;;;AAMSC,IAAAA,oB,GAAwD,I;;;;;;;;;;;;;;;;;;;AAmBxDC,IAAAA,G,GAAM,UAACC,QAAD,EAA6C;AACzD,YAAKC,WAAL,CAAiBD,QAAjB;AACA,YAAKE,KAAL,CAAWC,WAAX,0BAAKD,KAAL,CAAWC,WAAX,CAAyB,2BAAYH,QAAZ,CAAzB;;AAEA;AACA;AACA,qCAAKF,oBAAL,2CAA2BM,MAA3B;AACA,YAAKN,oBAAL,GAA4B,IAA5B;;AAEA,UAAIE,QAAQ,IAAI,sCAAuBA,QAAvB,CAAhB,EAAkD;AAChD,cAAKF,oBAAL,GAA4BE,QAAQ,CAACK,yBAArC,oBAA4BL,QAAQ,CAACK,yBAAT,CAAqC,UAACC,IAAD,EAAU;AACzE,gBAAKL,WAAL,CAAiBK,IAAjB;AACA,gBAAKJ,KAAL,CAAWC,WAAX,0BAAKD,KAAL,CAAWC,WAAX,CAAyBG,IAAzB;AACD,SAH2B,CAA5B;AAID;;AAED,UAAMC,WAAW,kBAAI,MAAKC,KAAT,qBAAG,YAA0CT,GAA9D;AACAQ,MAAAA,WAAW,IAAI,gCAAaA,WAAb,EAA0BP,QAA1B,CAAf;AACD,K,2DAnCDS,M,GAAA,kBAAS,CACP;AACA,8BAAiFC,kBAAkB,CAAC,KAAKR,KAAN,CAAnG,+CAASS,SAAT,wBAASA,SAAT,CAAoBC,KAApB,wBAAoBA,KAApB,CAA2BC,QAA3B,wBAA2BA,QAA3B,CAAqCV,WAArC,wBAAqCA,WAArC,CAAqDW,SAArD,gFAAuEC,IAAvE,sDACA,KAAKP,KAAL,GAAa,uBAAWK,QAAX,IAAuBA,QAAQ,CAACE,IAAD,CAA/B,GAAwCF,QAArD,CACA,OAAO,4BAAMG,cAAN,CAA6D,KAAKR,KAAlE,iBACHS,eAAMC,YAAN,CAAmB,KAAKV,KAAxB,2BACET,GAAG,EAAE,6BAAiB,KAAKS,KAAtB,IAA+B,KAAKT,GAApC,GAA0C,IADjD,EAEEY,SAAS,EAAE,iBAAG,KAAKH,KAAL,CAAWN,KAAX,CAAiBS,SAApB,EAA+BA,SAA/B,CAFb,EAGEC,KAAK,6BACA,KAAKJ,KAAL,CAAWN,KAAX,CAAiBU,KADjB,EAEAA,KAFA,CAHP,IAOKE,SAPL,EADG,GAUH,KAAKN,KAVT,CAWD,C,wBAtBgFS,eAAME,S;;AA6CzF,IAAMT,kBAAkB,GAAG,SAArBA,kBAAqB;AACzBR,KADyB;AAEqC;AAC9D,MAAMkB,MAAM,GAAG,EAAf;AACA,MAAML,IAAI,GAAG,EAAb;;AAEA,OAAK,IAAMM,GAAX,IAAkBnB,KAAlB,EAAyB;AACvB,QAAIoB,YAAY,CAACD,GAAD,CAAhB,EAAuB;AACrB;AACAD,MAAAA,MAAM,CAACC,GAAD,CAAN,GAAcnB,KAAK,CAACmB,GAAD,CAAnB;AACD,KAHD,MAGO;AACL;AACAN,MAAAA,IAAI,CAACM,GAAD,CAAJ,GAAYnB,KAAK,CAACmB,GAAD,CAAjB;AACD;AACF;;AAED,SAAO,CAACD,MAAD,EAASL,IAAT,CAAP;AACD,CAjBD;;AAmBA,IAAMO,YAAY,GAAG,SAAfA,YAAe,CAACC,IAAD,EAAkB;AACrC,UAAQ,IAAR;AACE,SAAKA,IAAI,KAAK,WAAd;AACA,SAAKA,IAAI,KAAK,OAAd;AACA,SAAKA,IAAI,KAAK,aAAd;AACA,SAAKA,IAAI,KAAK,UAAd;AACA,SAAKA,IAAI,CAACC,OAAL,CAAa,OAAb,MAA0B,CAA/B,EAAkC;AAChC,aAAO,IAAP;AACF;AACE,aAAO,KAAP,CARJ;;AAUD,CAXD","sourcesContent":["import React from 'react';\n\nimport { isFunction, isRefableElement } from '../../lib/utils';\nimport { cx } from '../../lib/theming/Emotion';\nimport { Nullable } from '../../typings/utility-types';\nimport { getRootNode, rootNode, TSetRootNode, TRootNodeSubscription, isInstanceWithRootNode } from '../../lib/rootNode';\nimport { callChildRef } from '../../lib/callChildRef/callChildRef';\n\nexport interface CommonProps {\n /**\n * HTML-атрибут `class`.\n */\n className?: React.HTMLAttributes<HTMLElement>['className'];\n /**\n * HTML-атрибут `style`.\n */\n style?: React.HTMLAttributes<HTMLElement>['style'];\n /**\n * На равне с data-tid транслируются любые data-атрибуты. Они попадают на корневой элемент.\n */\n 'data-tid'?: string;\n children?: React.ReactNode;\n}\n\ninterface CommonPropsRootNodeRef {\n rootNodeRef?: (instance: Nullable<Element>) => void;\n}\n\nexport type NotCommonProps<P> = Omit<P, keyof CommonProps>;\n\nexport type CommonWrapperProps<P> = P & {\n children: React.ReactNode | ((rest: CommonWrapperRestProps<P>) => React.ReactNode);\n};\nexport type CommonWrapperRestProps<P> = Omit<NotCommonProps<P>, 'children'>;\n\n@rootNode\nexport class CommonWrapper<P extends CommonProps & CommonPropsRootNodeRef> extends React.Component<\n CommonWrapperProps<P> & CommonPropsRootNodeRef\n> {\n private child: React.ReactNode;\n private setRootNode!: TSetRootNode;\n private rootNodeSubscription: Nullable<TRootNodeSubscription> = null;\n\n render() {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [{ className, style, children, rootNodeRef, ...dataProps }, { ...rest }] = extractCommonProps(this.props);\n this.child = isFunction(children) ? children(rest) : children;\n return React.isValidElement<CommonProps & React.RefAttributes<any>>(this.child)\n ? React.cloneElement(this.child, {\n ref: isRefableElement(this.child) ? this.ref : null,\n className: cx(this.child.props.className, className),\n style: {\n ...this.child.props.style,\n ...style,\n },\n ...dataProps,\n })\n : this.child;\n }\n\n private ref = (instance: Nullable<React.ReactInstance>) => {\n this.setRootNode(instance);\n this.props.rootNodeRef?.(getRootNode(instance));\n\n // refs are called when instances change\n // so we have to renew or remove old subscription\n this.rootNodeSubscription?.remove();\n this.rootNodeSubscription = null;\n\n if (instance && isInstanceWithRootNode(instance)) {\n this.rootNodeSubscription = instance.addRootNodeChangeListener?.((node) => {\n this.setRootNode(node);\n this.props.rootNodeRef?.(node);\n });\n }\n\n const originalRef = (this.child as React.RefAttributes<any>)?.ref;\n originalRef && callChildRef(originalRef, instance);\n };\n}\n\nconst extractCommonProps = <P extends CommonProps & CommonPropsRootNodeRef>(\n props: P,\n): [CommonProps & CommonPropsRootNodeRef, NotCommonProps<P>] => {\n const common = {} as CommonProps & CommonPropsRootNodeRef;\n const rest = {} as NotCommonProps<P>;\n\n for (const key in props) {\n if (isCommonProp(key)) {\n // @ts-expect-error: See: https://github.com/skbkontur/retail-ui/pull/2257#discussion_r565275843 and https://github.com/skbkontur/retail-ui/pull/2257#discussion_r569542736.\n common[key] = props[key];\n } else {\n // @ts-expect-error: Read the comment above.\n rest[key] = props[key];\n }\n }\n\n return [common, rest];\n};\n\nconst isCommonProp = (name: string) => {\n switch (true) {\n case name === 'className':\n case name === 'style':\n case name === 'rootNodeRef':\n case name === 'children':\n case name.indexOf('data-') === 0: // все data-атрибуты\n return true;\n default:\n return false;\n }\n};\n"]}
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import { DefaultizeProps } from '../lib/utils';
3
- declare type StatePropsObject<P, S> = {
3
+ interface StatePropsObject<P, S> {
4
4
  props?: Partial<P>;
5
5
  state?: Partial<S>;
6
- };
6
+ }
7
7
  export declare type StatePropsCombinations<P, S> = Array<StatePropsObject<P, S>>;
8
8
  export declare type StateType<C> = C extends React.Component<any, infer S> | React.ComponentClass<any, infer S> ? S : never;
9
9
  export interface ComponentTableProps<C, P, S> {
@@ -44,6 +44,9 @@ var renderPropsDesc = function renderPropsDesc(props) {
44
44
 
45
45
 
46
46
 
47
+
48
+
49
+
47
50
  // Known limitation: Don't work when component have `propTypes` static field
48
51
  var ComponentTable = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoose2.default)(ComponentTable, _React$Component);function ComponentTable() {var _this;for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {args[_key] = arguments[_key];}_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;_this.
49
52
 
@@ -82,7 +85,6 @@ var ComponentTable = /*#__PURE__*/function (_React$Component) {(0, _inheritsLoos
82
85
  cols.map(function (_ref3, colIndex) {var _ref3$props = _ref3.props,colProps = _ref3$props === void 0 ? {} : _ref3$props,_ref3$state = _ref3.state,colState = _ref3$state === void 0 ? {} : _ref3$state;return /*#__PURE__*/(
83
86
  _react.default.createElement("td", { key: colIndex }, /*#__PURE__*/
84
87
 
85
-
86
88
  _react.default.createElement(Component, (0, _extends2.default)({},
87
89
  presetProps,
88
90
  rowProps,